为何32632投影下的几何图形存在边界错位与锯齿问题?
PostGIS MVT瓦片在32632投影下出现错位、锯齿的原因
投影网格不匹配
ST_TileEnvelope是为Web墨卡托(3857)的瓦片网格设计的,它生成的边界遵循Web墨卡托的瓦片编号规则。32632是UTM分带投影,其坐标系的网格逻辑和Web墨卡托完全不同。将3857的瓦片边界转换到32632后,这个边界在UTM坐标系下并非规整的、适配MVT像素网格的矩形,导致几何转换时坐标映射错位。缓冲参数适配错误
ST_AsMVTGeom的第4个参数(你设置的256)是像素单位的缓冲值。在3857下,瓦片的地理范围与像素的比例是适配Web瓦片的固定值,但32632同级别瓦片对应的实际米范围和3857差异极大,256像素对应的实际距离在UTM投影里完全不匹配,缓冲值的不适配会导致几何裁剪时出现锯齿或边界偏移。坐标转换精度损耗
若原始几何并非32632投影,需要先转换到32632,同时还要把ST_TileEnvelope生成的3857边界也转换到32632,两次投影转换会累积精度损失。另外,如果数据不在32632的投影覆盖范围内,转换后的几何会产生更大变形,进一步加剧错位和锯齿问题。瓦片编号逻辑不适配
你使用的zoom、x、y瓦片参数是基于Web墨卡托的编号体系,这套体系和UTM投影的分带、网格划分完全不兼容。用Web墨卡托的瓦片参数生成边界再转换到UTM,得到的裁剪区域和UTM下的合理瓦片区域不对应,最终生成的MVT瓦片自然会出现错位。
内容的提问来源于stack exchange,提问作者Kambei
相关产品推荐
相关产品推荐

