如何获取在线地图数据——以OSM为例
OpenStreetMap,简称OSM,是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。尤其值得称道的是,OSM数据开源,可以自由下载使用。
OpenStreetMap包括空间数据以及属性数据。其中空间数据主要包括三种:Nodes、Ways和Relations,这三种原始数据构成了整个地图画面。其中,Nodes定义了空间中点的位置;Ways定义了线或区域,Relations(可选的)定义了元素间的关系。属性数据Tags用于描述上述矢量数据基元。
获取矢量地图数据的途径有很多种,但是往往只能获取到县级尺度,那么是否有方法获取乡镇、街道、建筑等数据呢,这时候OpenStreetMap就能解决这一困扰了。小编接下来介绍如何获取及转换OSM地图数据:
在OSM官网选择自己感兴趣的区域导出数据即可,小编以“中国科学院大学雁栖湖校区”为例,进行介绍和演示。在OSM上找到雁栖湖校区,选择导出,这时候出现了导出选项,OSM提供了两种区域选择的方法,第一种所见的区域即为导出范围,第二种是“手动选择不同区域”,这时候可以选择更大或更小范围的区域。
图1 OSM官网下载地图数据
下载好的数据,可以利用QGIS、ArcGIS Editor for OpenStreetMap插件等实现数据转换,具体见下文。
①在ESRI官网下载相应版本的ArcGIS Editor for OpenStreetMap插件,安装完成后,将其加载到工具箱中。
②选择“Download OSM Data”,下载OSM地图数据,注意需要将数据下载至文件地理数据库中,而非文件夹或者个人地理数据库,否则会报错。另外,如果出现“Unable to locate the osm_domains.xml”,则需要对domains.xml文件进行路径设置:“编辑器”——“选项”——“OpenStreetMap”进行设置。
图2 ArcGIS下载OSM地图数据
图3 在ArcGIS中设置domains.xml文件路径
③下载完成后的数据如图4所示。
④如果是从OSM官网下载的数据,可以在GIS中利用ArcGIS Editor for OpenStreetMap插件实现数据转换,在“Load OSM File”中即可完成,转换后的数据如图6所示。
图4 在ArcGIS中下载完成后的地图数据
图5 在ArcGIS中实现数据转换
图6 转换后的数据
①在OSM官网中,将地图定位到需要下载的区域;
②打开QGIS软件,选择“矢量”——“开放街道地图”——下载数据;
③“范围”设置成“手动”,复制范围坐标——确定。
图7 在QGIS中选择下载范围
④可以在QGIS中加载已经下载好的OSM地图数据;然后通过数据转换,生成shp文件:选择“国科大 lines”,单击右键,另存为,数据格式选择“ESRI Shapefile 文件”,编码选择“UTF-8”。
图8 QGIS中加载下载的OSM地图数据
图9 下载前后数据对比
图10 OSM地图数据格式转换
图11 OSM地图数据转换后在GIS中的展示
往期回顾: