一、背景

Open street Map 是一个很好的开源数据获取源,本人正在做关于芝加哥的研究需要用到路网数据,因此需要从Open street Map 下载数据。

二、数据下载方法

1.简单粗暴法(适合小范围数据下载)

进入OpenStreetMap官网,在搜索栏里搜索数据的所在位置,点击导出按钮,可调整矩形框的大小,点击Overpass API 下载。下载文件的格式为.osm

2.利用Over pass API 索引下载数据(适合城市尺度的数据下载)

进入Over Pass API官网:

(1)获取城市的ID

点击Frontends 菜单下的 Query and Convert Forms:


在第一个Query Form 里输入:

<osm-script><query type="relation"><has-kv k="boundary" v="administrative"/><has-kv k="name:zh" v="成都市"/></query><print/></osm-script>

v="成都市"这个部分改成任意想要查找的城市名称,比如武汉,芝加哥等。点击Query,下载弹出来的文件为OSM格式,利用记事本打开,找到<relation id="2782246">, 即可拿到成都市的ID为2782246

(2)利用ID下载路网数据

再次在Query Form 里输入:<area-query ref="3602782246"/>改成3,600,000,000+刚刚获取的id号,这里为3602782246,点击Query,即可下载路网数据。格式为OSM格式,后续需要转换为shp格式。这里为啥加3600000000有大神知道吗,我看网上教程都是这么做的,但不知道具体的情况

<osm-script timeout="1800" element-limit="100000000"><union><area-query ref="3602782246"/><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>

该方法亲测中国城市的道路数据都能下载下来,但是我的研究城市是芝加哥,就出现问题了,下载道路数据的时候,打开文件为:

显示查询内存不足,一脸懵逼的我尝试了多种方法都无法解决这个问题,我猜测是否国外的ID不是加3600000000,这方面也没查到资料,于是放弃该方法,但该方法下载中国城市路网数据还是可用的。
于是转到方法三。

3.利用geofabrik下载数据(可下载全球的数据,但数据量大,需要自己裁剪)

(1)下载数据

利用geofabrik可以下载全球的数据,数据量挺大,但是下载还挺快的,而且可以下载历史的数据。进入geofabrik官网:

在这里可以下载全球的数据,我需要芝加哥的数据,所以点击North America ,进入到北美的区域界面,如果需要全北美的数据,就可以直接点旁边的[.osm.pbf]或者是[.osm.bz2],我这里只需要部分数据,所以进入子页面:

进一步选择研究区所在的子区域,我这里选择US MidWest,右面有个地图的小窗口,能够显示数据显示的范围,可以通过这个窗口看自己所需要的区域是否在该数据范围内。为了下载跟研究区时间一致的数据,点击Other Formats and Auxiliary Files 下面的raw directory index,这里列出了所有的历史数据:

这样就可以根据自己需要下载对应的数据,这里有两种格式:.osm.pbf 和.osm.bz2,这两种格式都是压缩版的osm文件,pbf文件相较于bz2文件量会更小,这里我下载的是.pbf文件,点击所需要下载的文件,就能够下载下来数据了。

(2)pbf格式转换为osm,并粗略的裁剪一下范围(不裁剪的话转成shp文件会太大而且很慢)

这里需要用到osmconvert,先把该工具下载,下载地址:osmconvert官网下载,注意:该工具的存储的地址应该跟你需要处理的数据放在同一个文件夹里。比如我的数据在D:\DATA,那么该工具也需下载到D:\DATA里。
下载后,以管理员方式打开该工具:

输入a:

复制一下你下载的文件名:这里有个需要注意,文件名要加上后面的pbf,比如我这里文件名应该输入:usmidwest140101.osm.pbf,否则会显示找不到:


第一步是将pbf格式解压缩,准换为osm格式(原因是在未解压缩的文件无法转为shp格式,所以先需要转换为osm格式),在程序中输入1:

在程序中输入1,转化为.osm格式,转换过程需要一点时间,它会自动生成一个新的.osm格式的文件:

第二步是对该文件进行裁剪,主要目的是为了减少文件量,方便后面转为shp文件,否则会很慢。
同样打开osmconvert,输入文件名:

输入3,进行文件的裁剪:

输入研究区最小经度,最小纬度,最大经度,最大纬度,这个范围可以在OpenStreetMap官网里面点导出,或者是自己框选范围的时候能够看到:裁剪后自动生成新的文件,这样就完成了数据的下载和转化了。

三、OSM文件转shp文件(Arcmap能够直接看到)

网上的教程有许多方法,我这里用的是ArcGIS Editor for OpenStreetMap插件来进行转换,插件地址:https://pan.baidu.com/s/11HMD5KvCvOGR1JOvlWeUlg
提取码:u2x5
安装好后,打开Arcmap在自己的目录里新建一个文件地理数据库(用于存放转换的数据),在系统工具箱里的open street map toolbox里找到 load OSM File,将生成结果输出到新建的文件地理数据库(必须新建一个文件地理数据库才能转换成功),之后用ArcGIS随意转换需要的shp等格式。

转换后,再利用研究区的边界对数据进行裁剪,就得到了所需的数据:

四、总结

小范围用方法1,中国城市路网数据用方法2,全球数据以及需要历史数据用方法3。
再分享一个集合了多源数据的全球路网数据:https://www.globio.info/download-grip-dataset这个数据我也试着下载了,数据也非常不错,如果需要做全球尺度的研究,这个数据集是个不错的选择

最后,如果有更简单的方法,欢迎大家分享交流!!

Open Street Map 全球城市路网数据下载并转为SHP格式(包含历史道路数据的下载方法)相关推荐

  1. 日本国边界shp格式arcgis和geojson数据省县边界2021年资料

    日本国边界shp格式arcgis和geojson数据省县边界2021年资料,数据里面有名称字段,文件夹包含shp和geojson二种格式.下载链接: 在这里插入图片描述

  2. 【Python】批量爬取OSM建筑瓦片数据并整合为shp格式数据

    目录 1 简介 2 效果展示 3 思路及代码 3 完整代码 4 一些说明 1 简介 最近在做一项课题,涉及到建筑足迹(Building footprints)数据.所以想看看现在比较常用的都有什么产品 ...

  3. 使用OGR2OGR将S57数据转为shp格式

    S57海图数据中包含了大量的图层,在目前ArcMap软件作为必备的GIS软件之一,所以还是shp格式处理起来可能比较方便(这里的方便仅仅是对于某些人觉得shp最常见,用的最广泛而言,其实我本人觉得sh ...

  4. 后羿采集器怎么导出数据_后羿采集器如何采集历史天气数据这类直接就是表格的数据?...

    感谢邀请,废话不多,直接上操作视频~八爪鱼采集器智能采集天气网https://www.zhihu.com/video/1129681164935540736 我试了一下,楼主说的问题确实存在,同时我对 ...

  5. python 会计专用格式_excel会计专用格式模板下载|excel会计专用格式模板680个 最新版 下载 - 巴士下载站...

    680个excel会计专用格式模板里面包含了很多种类别的Excel表格模板,专门供给财务使用,主要是帮你自动生成表格,节省了你不少时间,欢迎在WWW.11684.COM 下载! 软件特色 1.涵盖了常 ...

  6. ts转换mp4 linux_佳佳MPEG4格式转换器官方版下载-佳佳MPEG4格式转换器v6.5.5.0下载

    很多情况下需要对视频格式转换才能正常观看,下面就由微侠网小编给您介绍这款软件,佳佳MPEG4格式转换器是专业的MPEG4.H264和MP4格式转换工具,软件支持将MPEG4视频转换成多种格式音频播放, ...

  7. GIS技巧之一键下载城市路网数据

    目录 一.前言 二.具体步骤 一.前言 很多时候需要用到某个城市的路网信息包含国道.省道.快速道等,我们都知道可以在OpenStreet上面下载,但是实际上这个操作起来对于刚入门的小伙伴还是存在一些难 ...

  8. C# 城市路网地图生成与运动模拟(一)-数据的获取

    雪影工作室版权所有,转载请注明[http://blog.csdn.net/lina791211] 1.前言 这段时间一直在研究城市路网,某一天受不可告人的启发,决定把城市路网的地图做出来,然后模拟移动 ...

  9. OSM道路数据下载与处理

    OSM即是OpenStreetMap,是一个志愿者地理信息系统,人们在上面收集数据,下载数据. 文章目录 一.OSM数据的下载 1.OSM的注册 2.选择数据下载 二.OSM数据的转换 三 .数据的解 ...

最新文章

  1. 将vue部署在nginx上
  2. java atlas mysql_使用Atlas实现MySQL读写分离+MySQL-(Master-Slave)配置
  3. HTTP协议学习,post于get;用Fiddler测试请求
  4. 检测是否安装了 .NET Framework 3.5
  5. 第四季-专题15-网卡驱动程序设计
  6. oracle卸载干净步骤
  7. 计算机待机英语,计算机休眠
  8. upload-labs-master 通关分析
  9. 计算机课里的余数是什么,余数
  10. 【H5】两种加密解密方法:
  11. 张氏华孙公 福建省上杭县张氏第一代开基祖宗
  12. 基于MatlabSimulin的微电网模型及光伏电池建模仿真分析
  13. cdr 表格自动填充文字_当文字内容太多excel单元格盛不下应该怎么做
  14. 即时通讯WebSocket详解及使用
  15. 安装Debian系统
  16. pp模块常用表 sap_SAPpp模块内表..doc
  17. 动漫人物的躯干如何画
  18. 《“通用语”与“兽人语”互译手册》(全集)
  19. eclipse看不到android设备,为什么Eclipse的Android设备选择器没有显示我的Android设备?...
  20. 聚焦:NFT的跨链未来

热门文章

  1. oracle-union、union all和join on用法
  2. 在DNS服务器中添加MX,A记录
  3. 介绍一个 golang 图像验证码,简单易用,高安全性的“行为式验证码”Go库
  4. 为知笔记,Ulysses和Effie哪个更适合公众号主?
  5. promise 原理解析
  6. react的路由切换动画
  7. 3dmax的学习资源、资源文件和教程,值得收藏!
  8. 【附源码】Python计算机毕业设计社区留守儿童帮扶系统
  9. 关于基因的那些事(1)
  10. 云原生学习——理解pod和容器设计模式