查看: 1358|回复: 2

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...

[复制链接]
发表于 2022-9-25 18:28:54 | 显示全部楼层 |阅读模式
最近有个需求,需要获取国内指定省份/城市 指定道路数据。发现大部分数据都在CSDN上,且要积分才能下载。而且区域范围、数据质量是否满足需求不确定。所以探索了一下通过OpenStreetMap网站
获取全国道路网数据,然后使用QGIS(一个免费轻量的地理信息数据处理软件)
结合行政区划数据,处理获取指定区域的指定道路级别的道路网数据的教程,以下是处理的步骤记录。
1.下载道路网数据
    OpenStreetMap(OSM)网站是一个开源的世界地图网站,每个人都可以创建、修改、删除、下载上面的地图数据(建筑、道路、铁路、水系等多种信息),有前景(最近发展很快);当然也有缺点,就是数据尚不完善,资源不是十分丰富。
    打开OSM官网,点击左上角的“导出”,然后出现左边功能框,

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-5957
点击上图左下方红色箭头处,在下一个页面点击“Asia”,然后出现下面界面,列出所有亚洲国家数据项,OSM提供多种数据格式,我们选择比较常用的.shp.zip格式,点击下载。数据大约1.58GB

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-7315
2.下载行政区划数据
    上面获得的数据是全国范围的,为了获取指定省、市的数据,我们还要下载对应区域的行政区划数据,以便之后用QGIS软件,使用区划数据对道路网数据进行裁剪操作。下载区划数据可以参考下面这个教程。主要使用的是阿里云基于高德地图提供的地图选择器网站。
如下图,搜索行政区划,然后下载相应的区划json文件

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-9874
3.裁剪操作
打开QGIS软件,将第一步下载好的数据拖入QGIS,第一步下载的数据解压后包含许多数据,我们只要gis_osm__roads__free_1.shp这个数据。把它拖入QGIS软件

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-1136
将第二步下载好的行政区划数据拖入QGIS,这时候界面数据显示效果应该如下(颜色不一样不影响)

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-5268

接下来使用 工具栏的 Vector -> GeoProcessing Tools -> Clip工具,基于行政区划对道路网数据进行裁剪。

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-6681
工具打开之后,按照如下操作,点击运行就可以得到裁剪的路网结果了。

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-4222

对于裁剪结果可能还想提取固定类别的道路。需要注意的是,OSM道路数据 分类不是按照国内标准。下面是OSM分类的说明和分类表。

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-3211
我们可以对应这个分类表,提取自己需要的道路数据。
在裁剪结果上,右键点击“Open Attribute tables”打开属性表。然后基于属性表可以进行筛选、删除操作

通过OpenStreetMap 和 QGIS 获取指定区域指定道路级别的 ...-61
发表于 2022-9-25 18:34:44 | 显示全部楼层
阿里云的那个边界不是很准,我之前用过,发现和OSM上的矢量对比有一定的偏移,应该是椭球选的不一样,,,
回复 支持 反对

使用道具 举报

发表于 2022-9-25 18:44:45 | 显示全部楼层
神仙文章,爱了[赞同]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表