利用OpenStreetMap获取城市路网数据
1.根据城市名称获取城市ID
进入http://www.overpass-api.de/index.html
点击第二栏的Query -> Query and Convert Forms
在Overpass API Query Form下方的输入框中输入代码:
<osm-script>
<query type="relation">
<has-kv k="boundary" v="administrative"/>
<has-kv k="name:zh" v="海口市"/>
</query>
<print/>
</osm-script>
点击右侧的Query按钮,将名为interprept的文件从浏览器下载到本地,然后用记事本之类的软件打开该文件,找到, 即可拿到所要查询市的ID。如海口市的ID是2784613。
2.根据城市ID获取路网信息
上面的输入框中的代码替换为如下:
<osm-script timeout="1800" element-limit="100000000">
<union>
<area-query ref="3602784613"/>
<recurse type="node-relation" into="rels"/>
<recurse type="node-way"/>
<recurse type="way-relation"/>
</union>
<union>
<item/>
<recurse type="way-node"/>
</union>
<print mode="body"/>
</osm-script>
其中替换ref中360后面的数据,即城市ID,然后点击Query。更加详细讲解查看下面的博客。
https://blog.csdn.net/weixin_40992982/article/details/100174266