1

我想将在 Geoserver 中创建的 pbf 矢量切片转换为 GeoJson 格式。为此,我使用了这个链接,它没有给出太多关于如何做的说明。我已经ogrinfo 6449_traffic.vector.pbf在 Linux 终端中进行了测试,这给了我以下错误:

Unable to open datasource `6449_traffic.vector.pbf' with the following drivers.
  -> PCIDSK
  -> netCDF
  -> JP2OpenJPEG
  -> PDF
  -> ESRI Shapefile
  -> MapInfo File
  -> UK .NTF
  -> OGR_SDTS
  -> S57
  -> DGN
  -> OGR_VRT
  -> REC
  -> Memory
  -> BNA
  -> CSV
  -> NAS
  -> GML
  -> GPX
  -> LIBKML
  -> KML
  -> GeoJSON
  -> Interlis 1
  -> Interlis 2
  -> OGR_GMT
  -> GPKG
  -> SQLite
  -> OGR_DODS
  -> ODBC
  -> WAsP
  -> PGeo
  -> MSSQLSpatial
  -> OGR_OGDI
  -> PostgreSQL
  -> MySQL
  -> OpenFileGDB
  -> XPlane
  -> DXF
  -> CAD
  -> Geoconcept
  -> GeoRSS
  -> GPSTrackMaker
  -> VFK

如何使用此工具或任何替代工具将 mvt.pbf 文件转换为 GeoJson?

4

1 回答 1

0

我遇到了同样的问题,这个https://github.com/mapbox/pbf对我有用。你需要2个文件:

  • 架构文件(通常是.proto文件)
  • 数据文件(您的.pbf文件)

首先,您需要将 转换.proto.jswith:pbf Schema.proto > Schema.js

然后您可以读取或写入 pbf,为此您需要执行一些 javascript 和 html 代码并从 Web 浏览器启动。或者,如果您想从终端启动,请使用node, 以这种方式(data_extractor.js):

// Imports
var fs = require("fs");
var Pbf = require('pbf');
var Vector_Tile = require('./Schema.js').Tile;
// *Tile* is the exported object of my schema file. You need to check what is yours.

// Read the .pbf
var pbf = new Pbf(fs.readFileSync('./ogrinfo 6449_traffic.vector.pbf'));
var obj = Vector_Tile.read(pbf);
console.log(obj)
  • 然后在终端上运行:node data_extractor.js
于 2019-07-28T19:39:11.187 回答