自定义矢量图块与由Mapbox中的geojson源制作的图块不匹配

时间:2018-06-26 10:51:49

标签: mapbox mapbox-gl-js tippecanoe

我正在尝试将当前基于地图的应用程序从geojson类型源切换到矢量切片源。 作为概念证明,我做了一个小实验,以可视方式比较从geojson源与矢量源中提取的特征。从矢量源绘制的要素与geojson的要素在几何上有所不同。

尤其是多边形的几何形状具有如下所示的偏斜效果,其中带有黑色边界的要素是从geojson源中绘制的,而蓝色的要素是从矢量图块源中绘制的

enter image description here

在这一点上,我需要精确精确的图块集才能成功实现poc。我正在使用以下tippecanoe命令创建这些图块:

tippecanoe --minimum-zoom=5 -s EPSG:3857 --full-detail=20 --low-detail=18 --detect-longitude-wraparound --no-tiny-polygon-reduction --no-tile-size-limit --no-line-simplification --no-tile-compression --output-to-directory 'MT C Parcels' -l 'MT Parcels' /home/ubuntu/data/FWv2-data/data/geojson/1.geojson

我猜这是一个与投影有关的问题,我尝试了几次不同的投影,均未成功。如何配置此命令,以便我可以像从geojson中一样获得要绘制的精确图块?

1 个答案:

答案 0 :(得分:2)

在Tippecanoe中生成矢量图块的默认最大缩放为14(https://github.com/mapbox/tippecanoe#zoom-levels),在Mapbox GL JS中使用GeoJSON源生成的默认最大缩放为18(https://www.mapbox.com/mapbox-gl-js/style-spec/#sources-geojson-maxzoom)。那可能是原因,但我不知道。

我会尝试将tippecanoe缩放到一个额外的缩放级别(从15改为默认的14),看看会产生什么不同。尝试避免生成不必要的高缩放级别,因为这将花费更长的时间。

我也将省略--full-detail=20 --low-detail=18 --detect-longitude-wraparound --no-tiny-polygon-reduction --no-tile-size-limit --no-line-simplification --no-tile-compression,默认值对于包裹来说是合理的。

我将使用--detect-shared-borders来确保https://github.com/mapbox/tippecanoe#attempts-to-improve-shared-polygon-boundaries共同简化了这些共享边界。

如果您只是想直观地查看地块边界,而无需选择它们,则可以使用https://github.com/mapbox/tippecanoe/issues/575来减小文件大小

在上传到Mapbox之前,您可以使用mbview在本地检查Tippecanoe的结果。