You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Osmosis处理OpenStreetMap数据:提取道路时字段丢失问题

问题

我从geofabrik.de下载了france_latest.osm.pbf文件,想用osmosis过滤出仅包含主要道路的.osm文件,执行的命令如下:

osmosis --read-pbf france-latest.osm.pbf --tf accept-ways highway=motorway,motorway_link,trunk,primary,secondary,trunk_link,primary_link,secondary_link --used-node --write-xml roads_m_1ry_2ry.osm

生成的.osm文件包含正确的道路要素,但缺少用于区分道路类型的highway字段,导致无法在QGIS中为不同道路设置差异化颜色显示。几年前执行相同操作时导出的文件是带有该字段的,不清楚此次为何失效。请问需要在osmosis命令中添加什么参数才能保留该字段信息?

解决方案

问题出在Osmosis的--tf(TagFilter)默认行为上:当你用accept-ways highway=xxx筛选道路时,TagFilter只会保留匹配该条件的道路要素,但默认会移除所有未明确指定保留的标签——包括你需要的highway标签本身。

要保留highway标签,只需在原命令中添加一条额外的标签过滤规则,明确保留这个字段:

修改后的完整命令:

osmosis --read-pbf france-latest.osm.pbf \
  --tf accept-ways highway=motorway,motorway_link,trunk,primary,secondary,trunk_link,primary_link,secondary_link \
  --tf accept-ways highway=* \
  --used-node \
  --write-xml roads_m_1ry_2ry.osm

这条新增的--tf accept-ways highway=*会告诉Osmosis:保留所有带有highway标签的道路上的highway字段,结合前面的筛选条件,最终导出的.osm文件里每条道路都会带有对应的highway属性,就能在QGIS中按道路类型设置不同的显示样式了。

内容的提问来源于stack exchange,提问作者simonc8

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 23:45:43