首页 > 解决方案 > 为什么较低缩放级别的矢量图块中的点与源数据不匹配?

问题描述

我正在从创建到缩放级别 11 的图块中从缩放级别 8 查询原始矢量图块。然后我将这些图块中的点特征转换为 geojson。转换后的要素几何与缩放级别 11 的切片几何不匹配,或者缩放级别 11 的切片转换为 geojson。我用两个不同的程序(tegola 和 geojson-vt)创建了瓷砖。我正在使用 vt2geojson 转换图块。我试图确定在转换过程的哪个阶段正在操纵几何图形 - 切片创建、切片转换回 geojson 或在 mapbox gl js 中。据我所知,坐标在创建或转换过程中没有被修剪,但我不是 100% 肯定的。我得到了在较低缩放级别下简化线和多边形的原因,但我看不出有任何理由来操纵点几何。

在此处输入图像描述.

从图像中可以看出,在原始图块的最大缩放级别之后,这些点开始分开。一种解决方法是简单地过滤矢量切片以仅显示生成的 geojson 特征中的特征,因为属性仍然完好无损,或者将坐标存储在属性中,但这并不理想。

底线 - 如果我想查看尽可能接近原始数据的点,我应该使用什么最大平铺缩放级别(即 11、12、13、14),以及在什么阶段处理几何图形?

标签: geojsonmapbox-gl-jsvector-tiles

解决方案


很难说出你的确切问题是什么,但如果我理解正确,它本质上是:“为什么我在放大矢量图块时会失去空间准确性”,答案是“因为你在放大它们”。这是他们工作方式所固有的。

您的原始数据可能有 10 个有效数字精度。矢量瓦片中点的每个偏移量通常编码为 1 到 4096 之间的整数。

您的选择基本上是:

  • 增加生成的图块的空间精度(例如,tippecanoe 的-d旗帜)
  • 生成更高缩放级别的图块
  • 不要过度放大它们

推荐阅读