Как я могу проанализировать *.vector.pbf о векторной карте Mapbox?
- *.pbf("двоичный формат протокола буфера") в первую очередь предназначен в качестве альтернативы формату XML.
- Есть два формата
*.osm.pbf
а также*.vector.pbf
, Какие инструменты я могу использовать, чтобы открыть эти файлы? (Я знаю, что JOSM может открывать файлы *.osm.pbf, но не может открывать файлы *.vector.pbf.) - Если я хочу написать собственные файлы *.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, поэтому вы можете программно генерировать плитки. В списке выше есть и другие хорошие альтернативы.