首页 > 解决方案 > 为什么 Tippecanoe 将 geojson 文件转换为 pbf 矢量切片会导致纬度/经度放置不正确?

问题描述

我正在尝试使用tippecanoe从json数据生成pbf矢量图块。最终将在 OpenLayers 中使用,但在那里没有成功,因此尝试在 QGIS 中测试瓷砖。当我查看它们中的任何一个(在 QGIS 中)而不是在 -180 到 +180 的经度范围内时,它们在 ~2000 到 ~4000 的范围内。

我有一个简单的 json 文件,由一个使用 EPSG:4326 围绕欧洲的矩形组成。我使用tippecanoe 来生成pbf 瓷砖。

jim.json 包括:

{"features":[{"geometry":{"coordinates":[[0,0],[0,80],[80,80],[80,0],[0,0]],"type":"LineString"},"properties":{"level-index":1,"level-value":956.0,"stroke":"#a52a2a","stroke-width":1,"title":"956.00 "},"type":"Feature"}],"type":"FeatureCollection","crs":{"type": "name","properties": {"name": "urn:ogc:def:crs:OGC:1.3:CRS84"}}}

然后我运行这个命令:

tippecanoe --no-feature-limit --no-tile-size-limit --no-tile-compression -s EPSG:4326 --output-to-directory TilesDir --force jim.json

然后,如果我尝试查看图块是否正确,我将最大的图块(0/0/0.pbf)放入 QGIS,矩形被绘制在地球外部 2000degE 的位置,而不是在欧洲附近的预期区域。

标签: mbtilestippecanoe

解决方案


事实证明,QGIS 不是测试 pbf 的合适工具。在纠正了一些其他问题后,我能够在 OpenLayers 中显示 pbf。我假设tippecanoe 使用一些内部坐标系(4096x4096 像素?)而不是我期望的 EPSG:4326 生成 pbf。


推荐阅读