OpenStreetMap之路网获取方式
{OpenStreetMap
路网数据获取
}
最近想做一个OD成本路径分析,缺少了路网数据,查看了百度和高德,没有发现路网数据的获取途径,遂想到了知名的OpenStreetMap。OpenStreetMap由一群地图爱好者共同维护,他们上传并维护着包括道路、站点、公共GPS等各类数据,数据丰富多样。OpenStreetMap数据被众多国内外户外导航软件所使用。接下来,笔者将演示如何从OpenStreetMap地图上获取所需要地区的路网数据并在ArcGIS中可视化。
1
城市ID的获取
城市ID的获取方式有两种:第一种:打开OpenStreet官网,导出→查询(例:输入“兰州市”),然后提交,查看关系:
兰州市行政区划如上图所示。并且,左侧出现了兰州市的相关关系内容,可以看到兰州市的边界ID为:2701949;边界ID的获取途径还有另外一种方法:
进入osm overpass api :浏览器中输入:http://www.overpass-api.de/ 选择图中所指示的选项框:
也可以直接输入:http://www.overpass-api.de/query_form.html直接到达目的地:
在框中输入一下代码:
<osm-script><querytype="relation"><has-kvk="boundary"v="administrative"/><has-kvk="name:zh"v="兰州市"/></query><print/></osm-script>点击Query后,浏览器会下载一个名为interpreter的文件,用文本打开后,找到<relation id="2701949">,其中2701949便是兰州市的边界ID。
2
根据城市ID获取路网数据
在第一步的Overpass API中输入下列代码:
<osm-scripttimeout="1800"element-limit="100000000"><union><area-queryref="3602701949"/><recursetype="node-relation"into="rels"/><recursetype="node-way"/><recursetype="way-relation"/></union><union><item/><recursetype="way-node"/></union><printmode="body"/></osm-script>浏览器将会自动下载一个名为interpreter的文件,该文件即为所需的路网数据,该文件不是矢量文件,如果需要在ArcGIS中打开,需要在QGIS中进行格式转换:打开QGIS,图层→添加图层→添加矢量图层:
将下载的interpreter添加到QGIS中:
然后导出为shp,在ArcGIS中打开,即可看到路网数据:
添加天地图在线服务可以看到,精度还是可以的,且路网数据也较丰富,满足一般科研、分析服务。
以上实验都是笔者亲自实践,确保可行,请大家放心使用以上内容,未经过本人同意不得转载
图|小H
文|小H
长按关注更多信息
不关注 就捣蛋
页:
[1]