PBF 文件(Protocolbuffer Binary Format)通常指 OpenStreetMap 的 .osm.pbf 格式(如从 Geofabrik 或 BBBike 下载的 OSM 数据),它不能直接作为矢量图层通过“数据源管理器”或“添加矢量图层”导入——因为 QGIS 原生不支持将 .pbf 作为可渲染的矢量图层直接加载(不像 GeoPackage 或 Shapefile)。
正确做法是:先将 .osm.pbf 转换为 QGIS 可读的矢量格式(如 GeoPackage、GeoJSON 或内存图层)。以下是两种推荐方案:
方案一:使用 GDAL → Vector conversion → ogr2ogr
打开 处理 → 工具箱(Processing Toolbox)
搜索:Convert format (ogr2ogr)
双击运行,设置参数:
Input layer:点击 ... 按钮 → 选择文件 → 选择你的 .osm.pbf 文件(如 nanjing-latest.osm.pbf)
Output file:若需永久保存 → 选 GeoPackage 格式,路径填 output.gpkg。若仅临时查看 → 点击右侧 ... → 选择 [Create temporary layer](内存图层,不写磁盘)
点击 运行 → 完成后图层自动加载。

方案二:使用 QuickOSM 插件
- 插件 → 管理和安装插件 → 搜索 QuickOSM → 安装并启用
- 在工具栏中找到 QuickOSM 图标,点击后如下图。选择PBF文件读取即可。如下图所示。

拓展:批处理
如果你需要批量处理数据,可在终端执行 ogr2ogr。
在QGIS安装目录下,找到 OSGeo4W.bat,双击运行,即可在此命令行窗口中使用 QGIS 自带的 ogr2ogr 命令了。

批处理命令参考以下代码:
ogr2ogr -f GPKG nanjing_roads.gpkg \
-where "highway IS NOT NULL" \
-spat 116.869539 39.835792 116.877110 39.841735 \
-nln roads \
your_file.osm.pbf lines
说明:
- -where "highway IS NOT NULL":只保留道路要素
- -spat ...:bbox 裁剪范围
- lines:指定从 PBF 中读取 lines 图层(对应 highway=*)
更多QGIS使用问题,欢迎留言或联系我们。转载须注明出处。