间距大于 0 的 Mapbox gl 原生拼接瓦片
Mapbox gl native stitching tiles with pitch greater than 0
Mapbox-gl-native 允许在服务器端渲染矢量图块。 API 通过传递图块的中心坐标来渲染图块。
它returns 一张地图图块图像。要获得更大的图像,需要渲染多个图块并将它们拼接在一起。要从一个图块移动到相邻的图块非常简单,您必须将缩放级别的分辨率乘以图块地理信息的宽度或高度(取决于您想要相邻图块的方向)。
因此,如果我有一个以中心点 [24.5 56.2] 渲染的图块,并且我希望它旁边的图块在右边,我会像这样计算它的中心:
offset = levelResolution * 256
centerPointInWebMercator->x += 偏移量
adjacentTileCenter = toLatLon(centerPointInWebMercator)
这确实有效。问题是当瓷砖的间距值大于 0 时。
在这种情况下,上述算法似乎不正确,因为图块未正确对齐。
这里是请求的两个图块的示例,第一个问题是它们包含重复信息,第二个问题是一些重复的特征似乎有不同的定位(旋转不同)请参见突出显示的区域
好的,我找到了解决方案,问题是我使用默认大小 512x512 渲染图块,然后缩放到更高分辨率。
但是可以通过将此大小增加到更大的值来增加地图大小。
Mapbox-gl-native 允许在服务器端渲染矢量图块。 API 通过传递图块的中心坐标来渲染图块。
它returns 一张地图图块图像。要获得更大的图像,需要渲染多个图块并将它们拼接在一起。要从一个图块移动到相邻的图块非常简单,您必须将缩放级别的分辨率乘以图块地理信息的宽度或高度(取决于您想要相邻图块的方向)。
因此,如果我有一个以中心点 [24.5 56.2] 渲染的图块,并且我希望它旁边的图块在右边,我会像这样计算它的中心:
offset = levelResolution * 256
centerPointInWebMercator->x += 偏移量
adjacentTileCenter = toLatLon(centerPointInWebMercator)
这确实有效。问题是当瓷砖的间距值大于 0 时。 在这种情况下,上述算法似乎不正确,因为图块未正确对齐。
这里是请求的两个图块的示例,第一个问题是它们包含重复信息,第二个问题是一些重复的特征似乎有不同的定位(旋转不同)请参见突出显示的区域
好的,我找到了解决方案,问题是我使用默认大小 512x512 渲染图块,然后缩放到更高分辨率。
但是可以通过将此大小增加到更大的值来增加地图大小。