如何下载武汉市OSM数据并导出为shp格式
OSM数据下载及常用格式(shp)转换因近期科研需求,需要下载武汉市城市道路数据,虽然已经有好多gis小能手直接贴出了数据下载链接公开“叫卖”,奈何我一涉世未深的穷学生,俗话说穷人有穷人的活法,综合各位大佬有限信息的提示,成功地完成了OSM矢量数据下载与转换,本着授人鱼不如授之以渔的理念,希望将新掌握的这项技能分享给大家,断了诸多老板的财路,还请见谅。OSM数据下载OSM数据,全称OpenS...
·
OSM数据下载及常用格式(shp)转换
因近期科研需求,需要下载武汉市城市道路数据,虽然已经有好多gis小能手直接贴出了数据下载链接公开“叫卖”,奈何我一涉世未深的穷学生,俗话说穷人有穷人的活法,综合各位大佬有限信息的提示,成功地完成了OSM矢量数据下载与转换,本着授人鱼不如授之以渔的理念,希望将新掌握的这项技能分享给大家,断了诸多老板的财路,还请见谅。
OSM数据下载
OSM数据,全称OpenStreetMap,是一个开放的地理数据平台,任何注册用户都可以对该平台下的数据进行编辑、更新和下载,虽然早就听说它的大名,也知道通过它可以免费获取数据,始终止于耳语,今天终于可以动手实践一下了,下面介绍OSM数据下载流程:
- OSM访问门户连接: https://www.openstreetmap.org/;
- 注册并登陆OSM账号 账号注册、登陆 流程在这里就不啰嗦了,不懂的同学出门右转;
- 数据选择与下载;
两种数据下载方法:(建议选择第二种方法)
方法一(适用于数据量小、矩形范围提取的情况)
- 点击OSM主界面左上角的“导出”按钮(下图绿色按钮);
- 选择导出数据范围,如果对数据范围精准度要求较高,可以在窗口左上角输出对应四至的经纬度坐标;如果对精度要求不高,也可以点击“手动选择不同的区域”蓝色超链接字体,拉框选择数据下载区域(如下图所示);
3.数据下载区域选定后,点击蓝色“导出”按钮,在弹出的对话框中选择本地下载路径即可将数据导出(注:这时候的数据格式为xxx.osm,并非我们常见的shp格式,后面会讲怎么转格式,详情请见本文第二部分【OSM格式数据转换】);
4.有时选择范围过大,数据节点过多的时,会出现无法下载的提示(如下图所示),如遇到这种情况,请参见方法二);
方法二(适用于数据量大、按照行政边界提取的情况) - 通过Overpass下载,主页链接:http://www.overpass-api.de/query_form.html;点开链接后进入主界面(如下图所示);
- 在主界面的Overpass API Query Form(即第一个查询框中)输入如下查询代码;
//可以根据不同的查询需要,将第三行的“武汉市”改为自己要查询的城市, 该行无须复制
<query type="relation">
<has-kv k="boundary" v = "administrative"/>
<has-kv k="name" v = "武汉市"/>
</query>
<print mode="body"/>
- 输入完成后,点击查询框右下角的“Query”按钮,选择本地保存路径,即会下载一个默认名称为【Interpreter】的文件,它存储了你所查询城市的基本信息,用记事本打开该文件,搜索“relation id”字段,字段后的数字即为城市id号,
划重点,城市ID号很关键,接下来要用到的,打死也不能告诉别人。如下图所示,我们查询到武汉市的id为3076268,但这个ID仅仅为我所查询城市的行政区边界,如果想得到该市边界内所有的地图数据,我们需要在该id号基础上加3,600,000,000,得到最终的ID值为3603076268;
- 接下来见证奇迹的时刻到了,仿照第二步操作,再次在主界面的Overpass API Query Form(即第一个查询框中)输入如下查询代码(看清楚,这次代码内容变了呦!)
//可以根据不同的查询需要,将第三行的ref=后的“3603076268”改为自己要查询的城市的最终id即可 该行无须复制
<osm-script timeout="1800" element-limit="100000000">
<union>
<area-query ref="3603076268"/>
<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>
- 输入完成后,点击查询框右下角的“Query”按钮,选择本地保存路径(默认名称为【Interpreter】),此时下载的数据便是武汉市行政区划内所有的道路数据,但此时数据格式仍为OSM标准的格式,需要转换为常用的shp格式,详情请见本文第二部分【OSM格式数据转换】;
OSM格式数据转换
- 推荐使用网页版GeoConverter工具,方便快捷,网址链接:https://geoconverter.hsr.ch/
- 打开GeoConverter主页面后,我们下载的OSM数据一般是矢量文件(Vector File)所以我们选择第三个数据转换方式,点击“Vector File to…”链接按钮,会弹出如下界面;
- 点击第一行“Select file*”链接,选择上一步下载的数据(xxx.osm,Interpreter数据均可),点击第二行“Select export format*”链接,在弹出的下拉列表中选择需要的数据格式,这里它提供了多种导出格式,如下图所示;
- 上一步完成后,点击下方字体为蓝色的“Convert”按钮,稍等片刻(根据数据量大小不同等待时间不同)即可完成转换,成功后会有相应提示,如下图绿色框体;点击其中的“DownLoad Result”按钮即可将转换成功后的结果下载至本地”;
- 下图为按照上述步骤,下载的武汉市矢量OSM地图,转换为shp格式后,在Arc GIS中的打开结果;结果文件中共四个图层,一个点图层,两个线图层,一个面图层。
参考CSDN博客:
[1]: https://blog.csdn.net/qq_22634949/article/details/84976133
[2]: https://blog.csdn.net/jianbinzheng/article/details/53649211
为武汉地区的开发者提供学习、交流和合作的平台。社区聚集了众多技术爱好者和专业人士,涵盖了多个领域,包括人工智能、大数据、云计算、区块链等。社区定期举办技术分享、培训和活动,为开发者提供更多的学习和交流机会。
更多推荐
已为社区贡献1条内容
所有评论(0)