Проблема в чтении Mapbox векторной плитки pbf с использованием OGR
Я хочу преобразовать векторные плитки pbf, созданные в Geoserver, в формат 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, используя этот инструмент или любые другие?
0 ответов
У меня была такая же проблема, и этот https://github.com/mapbox/pbf работал у меня. Вам нужно 2 файла:
- Файл схемы (обычно
.proto
файл) - Файл данных (ваш
.pbf
файл)
Сначала вам нужно преобразовать .proto
в .js
с: pbf Schema.proto > Schema.js
Затем вы можете прочитать или написать pbf, для этого вам нужно выполнить некоторый код javascript и html и запустить его из веб-браузера. Или, если вы хотите запустить с терминала, используйте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