Как я могу проанализировать *.vector.pbf о векторной карте Mapbox?

  1. *.pbf("двоичный формат протокола буфера") в первую очередь предназначен в качестве альтернативы формату XML.
  2. Есть два формата *.osm.pbf а также *.vector.pbf, Какие инструменты я могу использовать, чтобы открыть эти файлы? (Я знаю, что JOSM может открывать файлы *.osm.pbf, но не может открывать файлы *.vector.pbf.)
  3. Если я хочу написать собственные файлы *.vector.pbf в Mapbox, как мне это сделать?

Спасибо!

1 ответ

Что касается вопроса № 2, извлечение данных PBF

Использование GDAL ogr2ogr - самый простой метод (я нашел). Учитывая файл с именем1583.vector.pbf декодировать его, например, в шейп-файл (папку) с именем output:

# cmd   show prog.  output format     output name     input name
ogr2ogr -progress -f "ESRI Shapefile" output          1583.vector.pbf 

Что касается вопроса № 3, создание данных PBF

Используйте ту же команду, что и выше, но поменяйте местами формат ввода / вывода и вывода:

# example source: https://gdal.org/drivers/vector/mvt.html
ogr2ogr -f MVT mytileset source.gpkg -dsco MAXZOOM=10

Векторные тайлы, используемые Mapbox, сериализуются как буфер протокола. Буферы протокола позволяют эффективно сжимать векторные данные внутри тайла.

Спецификация тайла Mapbox доступна на github. Esri также приняла ту же спецификацию для своих продуктов.

Вы можете найти список парсеров, средств визуализации и утилит CLI здесь: https://github.com/mapbox/awesome-vector-tiles

В обычном сценарии вы можете использовать mapbox-gl-js для рендеринга векторных плиток на клиенте. Для создания векторных плиток вы можете использовать Mapbox Studio. Это потребует загрузки ваших данных онлайн в Studio. Вы также можете использовать Mapbox Studio Classic (более старая версия) для локального создания плиток.

Внутренне, Mapbox Studio использует API tilelive, поэтому вы можете программно генерировать плитки. В списке выше есть и другие хорошие альтернативы.

Другие вопросы по тегам