记录我下载地图使用过的方法:
1. 指定范围下载(小范围)
在openstreetmap网站上,点击导出,然后框选,导出就行。
这种方法只能下载特别小的范围的地图。超过50000个节点就不可以。会报错
You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm
2. 指定范围下载
当报上面的错误之后,要想下载框选出范围的地图,这点击上图中的“overpass API”
3.下载某个省的地图
如果想下载某个省的地图,则在这个网址下载:http://download.openstreetmap.fr/extracts/asia/china/
4. 下载某个城市的地图
网址:https://link.zhihu.com/?target=http%3A//www.overpass-api.de/index.html
在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>
其中name:zh 代表中文地址。根据需要调整为对应的城市
点击右侧的Query按钮,即可将结果从浏览器下载到本地,文件名为interprept, 用记事本打开该文件,找到<relation id="2110264">, 即可拿到成都市的ID为2110264
2.其次根据城市ID获取城市路网数据:
上面的输入框中的代码替换为如下:
<osm-script timeout="1800" element-limit="100000000">
<union>
<area-query ref="3602110264"/>
<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>
其中<area-query ref="3602110264"/>中3602110264是上一步骤中拿到的ID加上3600000000后得到的数字。 - 点击右侧的Query按钮,即可将结果从浏览器下载到本地,文件名为interprept,打开后即可得到路网数据。
补充获取城市ID号的另一种方法:
(1)在www.openstreetmap.org(osm官网)的搜索框输入城市名,比如武汉
(2)拖动滚动轮到底部,就能看见武汉市的ID号
(3)下图就是武汉市的ID号,下图右边还框选出他的范围
5.
网址:https://extract.bbbike.org/
这个是会把数据发邮箱的,可以搜索也能自己框选。框的形状是固定的,可移动框的中心以及缩放。