mbtiles - 为什么 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 的位置,而不是在欧洲附近的预期区域。
解决方案
事实证明,QGIS 不是测试 pbf 的合适工具。在纠正了一些其他问题后,我能够在 OpenLayers 中显示 pbf。我假设tippecanoe 使用一些内部坐标系(4096x4096 像素?)而不是我期望的 EPSG:4326 生成 pbf。
推荐阅读
- apache-spark - 推荐什么 - 在 spark 表中保留空列表/数组与 Null?
- jquery - 如何在 jquery 中触发 Ag-Grid Resize
- r - 引用 R 中上一行的 For 循环
- c - mmap中的偏移量有什么用?
- mysql - 加入两个表需要什么sql权限
- reactjs - Axios 错误 404,当尝试使用条带支付反应时
- php - 如何使 php 变量在另一个 php 文件中成功可用?
- java - 如何比较 1-5 不同随机长度的三个数组中的每个相应索引,而不会出现可能的越界异常
- javascript - 使用 Javascript 的 BST 的递归添加方法不起作用
- sharepoint - 从 SharePoint Online 导出 Power BI 报表