- *.pbf("Protocolbuffer Binary Format") 主要用于替代 XML 格式。
*.osm.pbf
和有两种格式*.vector.pbf
。我可以使用哪些工具来打开这些文件?(我知道JOSM可以打开 *.osm.pbf 文件,但无法打开 *.vector.pbf 文件。)- 如果我想在 Mapbox 中编写自己的 *.vector.pbf 文件,我该怎么做?
谢谢!
*.osm.pbf
和有两种格式*.vector.pbf
。我可以使用哪些工具来打开这些文件?(我知道JOSM可以打开 *.osm.pbf 文件,但无法打开 *.vector.pbf 文件。)谢谢!
使用 GDAL 的 ogr2ogr 是最简单的方法(我发现)。给定一个名为1583.vector.pbf
decode 它的文件,例如,shapefile(文件夹)名为output
:
# cmd show prog. output format output name input name
ogr2ogr -progress -f "ESRI Shapefile" output 1583.vector.pbf
使用与上述相同的命令,但交换输入/输出和输出格式:
# example source: https://gdal.org/drivers/vector/mvt.html
ogr2ogr -f MVT mytileset source.gpkg -dsco MAXZOOM=10
Mapbox 使用的矢量瓦片被序列化为协议缓冲区。协议缓冲区允许您有效地压缩图块内的矢量数据。
Mapbox Tile Specification可在 github 上找到。Esri也为其产品采用了相同的规范。
您可以在此处找到解析器、渲染器和 CLI 实用程序的列表:https ://github.com/mapbox/awesome-vector-tiles
在常见的场景中,您可以使用mapbox-gl-js在客户端渲染矢量图块。要生成矢量图块,您可以使用Mapbox Studio。这将需要在 Studio 中在线上传您的数据。您还可以使用Mapbox Studio Classic(旧版本)在本地生成图块。
Mapbox Studio 在内部使用tilelive API,因此您可以通过编程方式生成切片。在上面的列表中,还有其他不错的选择。