OSM(OpenStreetMap)全球路网数据下载方式介绍
本文对OpenStreetMap(OSM)网页与各类OSM数据的多种下载方式加以详细介绍,并对不同数据下载方式加以对比。
OSM数据包含道路与铁路路网、建筑、水体、土地利用、兴趣点、行政区边界等各类数据,同时具有.shp、.pbf、.osm、.csv等多种类型,方便大家不同的使用需求。在这里有一点需要注意:OSM数据在国家边界数据方面非常不准确,如有相关需求,大家可以从其它网站获取对应边界数据。
接下来进入本文正题——OSM数据的下载。首先,进入OSM官网。此时可以看到屏幕中均为地图显示区域,需要点击左上角的“Export”按钮打开数据下载窗口。

数据下载窗口如下所示,其中上半部分为研究区域选择界面,下半部分则为多种数据下载方式的选择界面。

我们先对研究区域选择界面加以介绍。其中,我们可以通过拉动屏幕所显示的地图范围或直接在下图所示框内修改经、纬度的方式,对研究区域加以选择。

此外,还可以点击经、纬度框下方的蓝色字符,通过手动划定矩形区域的方式选择研究区域范围。

选择好研究区域后,就可以开始OSM数据的下载了。
1 Export
首先,我们可以直接点击屏幕左侧的“Export”按钮导出数据;但需要注意,在研究区域过大时,这一方法将会失效。

这种方法导出的数据格式为.osm。

上述.osm格式的数据需要进行转换。其中,利用ArcGIS Editor for OSM工具集实现转换是比较常用的一种方式,这一工具集的下载与安装方法可以参考文章ArcMap安装OSM路网数据编辑插件ArcGIS Editor for OSM的方法。
综上,可知这一下载方法的适用场景为数据量比较少,且具有ArcGIS Editor for OSM等可以转换.osm格式文件的工具时。
2 Overpass API
Overpass API是OSM数据库的一个镜像,当研究区域较大导致前述“Export”方法不能下载时,可以用这一方法进行下载。

这种方法导出的数据格式为空,即不含有文件后缀。个人认为这种数据可能比较适合于编写其它软件或程序时,需要调用地图接口时使用。

综上,可知这一下载方法的适用场景为数据量较大,且主要面向于开发需求时。
3 Planet OSM
Planet OSM是一个定期更新的全球OSM数据集。

其实,Planet OSM和我们前面选好的研究区域就没有多大关系了——因为刚刚也提到,其数据是全球的OSM数据整合(所以叫做Planet);也就是说,不管我们的研究区域是北京的一个区,还是整个上海市,再或者是一个河南省,Planet OSM都是一个全球的、完整的数据集,都需要我们下载后自行裁剪。因为是全球的数据,因此其数据量非常大,由下图可知.xml格式文件就达到了106 GB,.pbf格式文件也有59 GB之大。

在这里,我们可以关注Planet OSM网页中最右侧的一栏。其向我们说明了,如果研究区域比较小,可以不用下全球的数据,而可以通过两个第三方网站获取小研究区域对应的OSM数据。这两个第三方网站我们马上会提到,这里暂且不细讲。

综上,可知这一下载方法的适用场景为研究区域非常大,甚至达到全球范围,且网速与电脑配置较好时。
4 Geofabrik Downloads
Geofabrik Downloads便是前述Planet OSM中提到的第三方网站之一,其也是一个定期更新的OSM数据集。

和Planet OSM相比,其优势在于可以按照国家或地区进行更小范围研究区域数据的下载,而不用下载整个地球的数据了。

不过说实话,Geofabrik Downloads和Planet OSM相比也并没有好到哪去——其虽然可以不用下载全球数据,但它的子区域无非也就是精细到国家范围。例如以我国数据为例,若我们需要省、市乃至区范围的数据,都需要下载全国的数据后自行裁剪。

综上,可知这一下载方法的适用场景为研究区域相对较大,尤其是主要做全国范围的研究时。
5 Other Sources
Other Sources是OSM官网提供的数据下载其它方法的合集。

由于Other Sources所对应的方法相对比较多且小众,因此官网也是直接将Other Sources方法整合在Wiki中,大家如果有需要可以自行查阅。

综上,可知这一下载方法的适用场景为研究需求比较独立或小众,或本文所介绍的其它全部数据下载方法都不适合时。
6 BBBike(最为推荐的方法)
BBBike也是前述Planet OSM中提到的第三方网站之一,其也是一个定期更新的OSM数据集。

BBBike的网站也非常简单,数据下载方式非常清晰。

BBBike的主要优点就是下图中我标注出来的部分:首先,可以单独下载全球200多个主要城市的独立数据,这对于做某一个单独城市(例如北京市、上海市等等)的研究而言,非常方便;其次,具有.shp格式的文件,方便我们后期直接用ArcMap等软件处理数据;再次,其还支持手动划定城市,例如假如我们要做洛阳这样一个三线城市的研究,其肯定不属于全球200多个主要城市的范围内,那么就可以我们手动划定多边形区域从而下载数据;最后,就是BBBike的OSM数据是每周更新的,完全不用担心数据时效性滞后。
所以真的,BBBike简直太适合OSM数据的下载了。

我们就以北京数据为例。在BBBike城市列表中找到Beijing。

点进去,就可以看到不同格式数据的下载;我们就下载一个.shp格式来试试看。

下载后的数据解压完毕,可以在README.txt中看到数据的更新时间。

数据非常齐全,包括道路与铁路路网、水体、兴趣点、建筑、土地利用等等。

在ArcMap中打开,也是非常方便。

综上,可知这一下载方法的适用场景非常广泛,几乎所有时候我们都可以借助这种方法进行OSM数据的下载。
7 ArcGIS Editor for OSM
ArcGIS Editor for OpenStreetMap是ArcMap软件中的一个工具集,通过其可以实现基于ArcGIS相关软件直接下载OSM数据,并基于下载后的数据进行数据编辑、空间分析、数据修改与回传至OSM服务器等多项功能。

ArcGIS Editor for OSM需要我们自行下载与安装,具体方法大家可以参考文章ArcMap安装OSM路网数据编辑插件ArcGIS Editor for OSM的方法。

不过基于ArcGIS Editor for OSM下载OSM数据也是需要根据经、纬度来的,并且还没有可视化界面,个人感觉也并不是很方便。
综上,可知这一下载方法的适用场景为研究区域比较固定,且只需要经、纬度就可以确定研究区域时。
OSM(OpenStreetMap)全球路网数据下载方式介绍的更多相关文章
- Hive四种数据导入方式介绍
问题导读 1.从本地文件系统中通过什么命令可导入数据到Hive表? 2.什么是动态分区插入? 3.该如何实现动态分区插入? 扩展: 这里可以和Hive中的三种不同的数据导出方式介绍进行对比? Hive ...
- 医学图像数据(三)——TCIA部分数据下载方式
前为止,本人还没有找到不需要账号的就可以部分下载的方式,因此这里讲的是需要注册账号下载部分数据的方法. 注意:下载部分数据需要注册账号 注册账号网址:https://public.cancerimag ...
- Hive中的三种不同的数据导出方式介绍
问题导读:1.导出本地文件系统和hdfs文件系统区别是什么?2.带有local命令是指导出本地还是hdfs文件系统?3.hive中,使用的insert与传统数据库insert的区别是什么?4.导出数据 ...
- 014-HQL中级4-Hive中的三种不同的数据导出方式介绍
根据导出的地方不一样,将这些方式分为三种:(1).导出到本地文件系统:(2).导出到HDFS中:(3).导出到Hive的另一个表中.为了避免单纯的文字,我将一步一步地用命令进行说明. 一.导出到本地文 ...
- 013-HQL中级3-Hive四种数据导入方式介绍
Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...
- Landsat数据下载与介绍
1 数据下载 根据时间选择不同的Landsat卫星传感器 根据经纬度选择对应的条带: Lansdat Analysis Ready Data (ARD) Tile Conversion Tool: 把 ...
- OSM数据下载地址
1.OSM数据下载地址 官网下载: http://planet.openstreetmap.org/ GeoFabrik:http://www.geofabrik.de/ Metro Extracts ...
- GIS数据下载合集:遥感、土壤、气象、行政区数据...
本文介绍GIS领域相关的各类综合数据免费获取网站,包括遥感数据.气象数据.土地数据.土壤数据.农业数据.行政区数据.社会数据.经济数据等等. 数据较多,大家可以直接通过下方目录加以总览:点击数 ...
- MODIS系列之NDVI(MOD13Q1)一:数据下载(二)基于FTP
这一篇我们来介绍下MODIS数据的下载方式.当然这边主要是介绍国外网站的下载方式,国内网站的普遍是在地理空间数据云和遥感集市下载.国外网站(NASA官网)下载方式主要介绍两种.本篇主要针对第一种方式, ...
- (数据科学学习手札80)用Python编写小工具下载OSM路网数据
本文对应脚本已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们平时在数据可视化或空间数据分析的过程中经常会 ...
随机推荐
- oculus按键大全
// OVRInput.Update(); if (OVRInput.GetUp(OVRInput.Button.Three)) { Debug.Log("remote click" ...
- 05 js利用ajax向服务器发送请求并返回json值
创建一个php $json = '';$data = array();$con =mysqli_connect($servername, $username, $password, $dbname); ...
- 基于MassTransit.RabbitMQ的延时消息队列
1 nuget包 <PackageReference Include="MassTransit.RabbitMQ" Version="8.0.2" /&g ...
- 方法(Java)
什么是方法? 基本介绍 在其他语言中也叫函数 System.out.println();类名.对象.方法: Java方法是语句的集合,它们在一起执行一个功能 方法是解决一类问题的步骤的有序集合 方法包 ...
- 关于IllegalMonitorStateException异常的解释之一
注意 在同步控制方法或同步控制块里调用wait(),notify()和notifyAll().如果在非同步控制方法里调用这些方法,程序能通过编译,但运行的时候,将得到IllegalMonitorSta ...
- Dubbo调用 Mybatis 实体类一对多时,报错
添加fetchType="eager"属性 ,急加载 作为笔记,供个人参考
- 纯css实现卡券式半圆及阴影(整理)
<!-- html部分 --> <div class="a"> <!-- a这个大卡片里边分上下两个卡片,对应上边灰色和下边白色部分 --> & ...
- js两个数组对象合并去重
- 基于airtest验证Android端app是否安装及自动化安装
1.检测app是否安装: 使用check_app方法检测是否安装:为什么需要在封装一层做断言呢?主要check_app方法安装成功会返回True,但是未检测到安装时直接报异常了,停止执行.无法直接 ...
- Java的mybatis随笔
什么是mybatis mybatis是一个优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可 ...