使用 QGIS 下载 OpenStreetMap (OSM) 道路矢量数据的几种方法

文章目录

    • 一,通过 QuickOSM 插件(推荐)
      • 1.1、安装 QuickOSM 插件
      • 1.2、下载道路数据
      • 1.3、导出数据
    • 二,通过 OSM 矢量数据源(直接加载)
    • 三,通过 OSM 官网导出(手动下载)
      • 3.1、访问 OpenStreetMap 官网
      • 3.2、在 QGIS 中导入 OSM 数据
    • 四,使用 Overpass API(高级用户)
      • 4.1、编写 Overpass 查询语句
      • 4.1、在 QGIS 中加载数据
    • 五,Geofabrik 下载
    • 六,BBBike下载

在处理一个需要多种地理数据的项目,比如城市规划、交通分析或者GIS综合应用时,我们需要矢量数据,例如道路数据用于路径分析、制图或者与其他数据层叠加使用。

本文主要介绍使用 QGIS 下载 OpenStreetMap (OSM) 道路矢量数据的方法和详细步骤,希望对你有所帮助。

一,通过 QuickOSM 插件(推荐)

1.1、安装 QuickOSM 插件

打开 QGIS,点击顶部菜单栏 Plugins → Manage and Install Plugins → 搜索 QuickOSM → 安装。
在这里插入图片描述
在这里插入图片描述
安装完成后,菜单栏会出现如下图标:
在这里插入图片描述

1.2、下载道路数据

打开 QuickOSM 插件(Vector → QuickOSM → QuickOSM)。

  1. 设置查询参数:
  • Key: highway(表示道路)

  • Value: 留空(默认下载所有道路类型,如 motorway, residential 等)

  1. 地理范围:

手动输入经纬度范围(例如 xmin,ymin,xmax,ymax),或

点击 Canvas Extent 自动获取当前地图窗口范围。

点击 Run Query,稍等片刻后道路数据会加载到地图中。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.3、导出数据

右键点击生成的图层 → Export → Save Features As → 选择格式(如 GeoPackage 或 Shapefile),设置保存路径。

在这里插入图片描述
file name中选择shpfile存放的路径,输入文件名
在这里插入图片描述

二,通过 OSM 矢量数据源(直接加载)

添加 OSM 在线矢量图层

在 QGIS 中点击 Layer → Add Layer → Add Vector Layer。
在这里插入图片描述

URI 输入:

type=xyz&url=https://tile.openstreetmap.org/{z}/{x}/{y}.png

调整缩放级别加载地图,但此方法仅显示底图,需结合数据筛选工具提取道路。

在这里插入图片描述

三,通过 OSM 官网导出(手动下载)

3.1、访问 OpenStreetMap 官网

https://www.openstreetmap.org/

在地图上框选需要下载的区域 → 点击 Export → 选择 OpenStreetMap 数据(格式为 .osm)。

在这里插入图片描述
手动选择区域,导出
在这里插入图片描述

注意:官网导出数据量有限(最大约 10km²),大范围需分块下载。

3.2、在 QGIS 中导入 OSM 数据

使用 quickosm插件,选择 .osm 文件 → 生成临时数据库。

在这里插入图片描述
在这里插入图片描述
这是我们导出shp文件。

通过导出shpfile 转换道路数据为矢量图层。
在这里插入图片描述

四,使用 Overpass API(高级用户)

https://overpass-turbo.eu/

4.1、编写 Overpass 查询语句

访问 Overpass Turbo,输入以下代码筛选道路:

[out:json][timeout:25];
way["highway"]({{bbox}});
(._;>;);
out body;

点击运行
在这里插入图片描述
在这里插入图片描述

调整地图范围 → 点击 Run → 导出为 .geojson 或其他格式的数据。
在这里插入图片描述

在这里插入图片描述

4.1、在 QGIS 中加载数据

直接拖拽导出的文件到 QGIS 中,或通过 Add Vector Layer 导入。

注意事项

  • 数据量控制:OSM 全球道路数据量庞大,建议按城市或区域分块下载。

  • 属性筛选:道路类型存储在 highway 字段(如 motorway, cycleway),可通过 QGIS 属性表过滤。

  • 坐标系:OSM 数据默认使用 WGS84(EPSG:4326),需根据需求投影转换(如转 Web Mercator)。

  • 数据更新:OSM 数据实时更新,可通过插件或 Overpass API 定期获取最新版本。

五,Geofabrik 下载

Geofabrik 下载:访问 Geofabrik 下载大洲/国家级的现成 OSM 数据(含道路)。

https://download.geofabrik.de/

在这里插入图片描述

六,BBBike下载

https://extract.bbbike.org/
BBBike 导出:使用 BBBike Extract 按城市导出道路数据(支持多种格式)。

在这里插入图片描述
在这里插入图片描述
https://download.bbbike.org/osm/extract/

在这里插入图片描述

通过上述方法,可快速获取 OSM 道路数据并集成到 QGIS 项目中,适用于交通规划、导航分析等场景!

在这里插入图片描述


一面低头认命,一面拼命努力…


### 使用QGIS创建OSM文件 为了在QGIS中创建OSM文件,可以遵循一系列特定的操作流程。首先,在QGIS环境中加载所需的数据层。这可以通过点击`Layer`菜单中的`Add Layer`选项并选择相应的数据源完成。对于OSM数据而言,可以直接通过插件或者在线服务获取。 一旦所有必要的图层被成功导入至项目内,下一步就是编辑这些矢量数据以适应目标需求。利用QGIS内置工具集,能够方便地修改几何形状、属性字段等内容[^1]。 当所有的编辑操作完成后,保存成果为OSM格式就变得至关重要。具体做法是在顶部菜单栏找到`Plugins` -> `MMQGIS` -> `Import/Export` -> `Geometry Export to CSV File...` 或者寻找专门用于导出OSM格式的支持插件如'QuickOSM'[^3]。值得注意的是,并不是所有的版本都自带直接支持OSM格式的导出功能;因此安装额外插件可能是必需的选择。 最后一步则是确认输出路径以及设置合适的参数配置,确保最终生成的文件符合预期标准。如果一切顺利的话,现在应该已经拥有了由QGIS制作而成的新OSM文件了。 ```python # Python伪代码示例展示如何调用QGIS处理逻辑(实际应用需依据官方文档) from qgis.core import QgsVectorFileWriter, QgsCoordinateReferenceSystem def save_as_osm(layer, output_path): options = { 'layerName': layer.name(), 'driverName': "OSM", 'fileEncoding': "UTF-8" } crs = QgsCoordinateReferenceSystem('EPSG:4326') error = QgsVectorFileWriter.writeAsVectorFormatV2( layer, output_path, QgsProject.instance().transformContext(), options=options, destCRS=crs) if error[0] == QgsVectorFileWriter.NoError: print(f"Successfully saved as {output_path}") else: print("Failed to save:", error) ```
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hhzz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值