查看: 1303|回复: 0

OpenStreetMap之路网获取方式

[复制链接]
发表于 2023-7-28 06:57:10 | 显示全部楼层 |阅读模式
{

OpenStreetMap

路网数据获取

}
最近想做一个OD成本路径分析,缺少了路网数据,查看了百度和高德,没有发现路网数据的获取途径,遂想到了知名的OpenStreetMap。OpenStreetMap由一群地图爱好者共同维护,他们上传并维护着包括道路、站点、公共GPS等各类数据,数据丰富多样。OpenStreetMap数据被众多国内外户外导航软件所使用。接下来,笔者将演示如何从OpenStreetMap地图上获取所需要地区的路网数据并在ArcGIS中可视化。
1

城市ID的获取

城市ID的获取方式有两种:第一种:打开OpenStreet官网,导出→查询(例:输入“兰州市”),然后提交,查看关系:

兰州市行政区划如上图所示。并且,左侧出现了兰州市的相关关系内容,可以看到兰州市的边界ID为:2701949;边界ID的获取途径还有另外一种方法:

进入osm overpass api :浏览器中输入:http://www.overpass-api.de/ 选择图中所指示的选项框:

OpenStreetMap之路网获取方式-7625

也可以直接输入:http://www.overpass-api.de/query_form.html  直接到达目的地:

OpenStreetMap之路网获取方式-1800

在框中输入一下代码:
<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,图层→添加图层→添加矢量图层:

OpenStreetMap之路网获取方式-9568

将下载的interpreter添加到QGIS中:

OpenStreetMap之路网获取方式-544

然后导出为shp,在ArcGIS中打开,即可看到路网数据:

OpenStreetMap之路网获取方式-7325

添加天地图在线服务可以看到,精度还是可以的,且路网数据也较丰富,满足一般科研、分析服务。
OpenStreetMap之路网获取方式-1918

以上实验都是笔者亲自实践,确保可行,请大家放心使用以上内容,未经过本人同意不得转载

OpenStreetMap之路网获取方式-708

OpenStreetMap之路网获取方式-7395

图|小H

文|小H

长按关注更多信息

不关注 就捣蛋

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表