QGIS:从OSM上下载,导出,编辑数据

本文介绍如何在OpenStreetMap(OSM)中创建帐户并进行地图编辑,包括使用iD编辑器在线编辑和使用JOSM离线编辑。此外,还详细说明了如何从OSM导出和下载.osm文件,以及如何在QGIS中打开和转换这些文件。

QGIS

摘要 OSM地图是一个可以自由编辑的地图,易于使用。在本文中,我们将看到如何编辑和直接下载OSM地图上的数据(以及通过QGIS下载数据。)以及如何导出、下载.osm文件并将其转换为任何其他文件。

编辑数据
1.)登录

在开始编辑之前,需要在OpenStreetMap中有一个帐户,如果没有帐户,创建一个后使帐户登录。

2.)选择操作

单击位于地图左上角的“编辑”下拉菜单按钮,出现三个选项:

编辑-导出-从OpenStreetMap下载数据

其中浏览器内编辑器用于在线编辑,而JOSM用于离线编辑。

3.)选择Edit with iD

点击Edit with iD选项。

4.)编辑界面:

在线编辑

在右手边有各种各样的选择,可以一个一个地探索下,很容易理解。Bing Ariel图像是首选的,也可以选择任何想要的背景。

编辑操作

5.)开始编辑

可以从屏幕中选择点、线或多边形。
单击屏幕上要编辑的位置。如果选择了一个点,只需单击位置并按enter键,然后填写左侧的条目并输入必要的信息。
单击“保存”,编辑将被保存,可以通过在另一个会话窗口中打开osm时候看到它用来检查是否保存。同样,可以绘制直线和多边形。

下载
可以从osm导出地图,并将其下载到本地,后缀为.osm。

导出

导出的.osm文件可以在QGIS或许多其他GIS工具中打开。
QGIS中打开.osm文件:选择添加矢量层图标,如下所示,并浏览到保存下载文件的位置,然后单击“打开”。

打开OSM

弹出窗口将打开。选择图层,如图所示。

选择

现在选择OK。下载的地图将导入地图画布。在图层空间中,可以看到四个图层,这些图层作为示例导出为.osm图层,可以轻松地转换为任何其他GIS矢量文件(如shapefile)。


直接从QGIS下载OpenStreetMap OSM数据
1.)我们还可以直接使用QGIS将我们所需位置的osm地图下载本地。
2.)在QGIS中,单击vector,然后单击openstreetmap,然后单击下载数据。

下载

3.)输入坐标。单击…并给出输出文件的名称,然后单击下载。
4.)根据数据的大小,下载可能需要一些时间。

下载地图后,可以将osm数据转换回任何其他空间数据,同时保留数据属性。也可以使用QGIS中提供的一些高级插件进行操作。

后续将推出山海经相关地点,敬请关注。

若海软件科技

关注我下载ArcGIS系列:

ArcGIS9.3→10.7.1

回复版本号下载对应版本,如回复9.3,下载ArcGIS9.3

### 如何在 QGIS 中通过 OSM 下载地理空间数据 #### 工具简介 QGIS 是一种功能强大的开源 GIS 软件,支持多种地理空间数据分析和可视化操作。其中 QuickOSM 插件是一个专门为 OpenStreetMap (OSM) 数据设计的强大工具,能够帮助用户快速查询、下载并分析 OSM 地理空间数据[^1]。 #### 安装 QuickOSM 插件 为了使用 OSM 数据,首先需要安装 QuickOSM 插件。进入 QGIS 的插件管理器 (`Plugins` -> `Manage and Install Plugins`) 并搜索 “QuickOSM”,然后完成安装过程。安装完毕后,可以在菜单栏找到 QuickOSM 的入口。 #### 使用 QuickOSM 查询和下载数据 以下是具体的操作方法: 1. **启动 QuickOSM** 打开 QGIS 后,切换到顶部菜单栏中的 `QuickOSM` 选项卡。在这里可以访问不同的功能模块,比如 Query 和 Download。 2. **定义查询区域** 在 QuickOSM 界面中输入感兴趣的地理位置名称或者手动绘制一个边界框来限定数据范围。这一步可以通过 Nominatim 提供的地名服务自动转换为坐标范围。 3. **选择要素类型** 用户可以选择特定类型的对象进行提取,例如道路(`highway=primary`)、建筑物(`building=yes`) 或者景点等。如果不确定具体的键值组合,也可以直接运行更广泛的请求再筛选所需部分[^4]。 4. **执行查询** 设置好参数之后点击 Run 按钮发起网络请求。等待几秒钟至几分钟时间(取决于所选区域大小以及互联网连接速度),即可看到结果加载到了地图画布上。 5. **保存成果** 成功导入后的图层可以直接用于进一步编辑导出成其他格式如 Shapefile (*.shp*) 文件以便后续处理[^3]。 ```python # 示例 Python 脚本展示如何创建一个新的内存图层并将点添加进去 layer = QgsVectorLayer("Point", "Points", "memory") provider = layer.dataProvider() for point in points_within_bbox: feature = QgsFeature() feature.setGeometry(QgsGeometry.fromPointXY(point)) provider.addFeatures([feature]) QgsProject.instance().addMapLayer(layer) ``` 此脚本片段展示了另一种方式即编程接口实现相同目标的过程。 --- #### 注意事项 - 如果遇到某些复杂场景下的性能瓶颈问题,则可能需要考虑优化策略,比如缩小研究范围或是分批次读取大块数据。 - 对于初学者来说建议先熟悉基本概念然后再深入学习高级技巧。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

丷丩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值