![](/img/trans.png)
[英]Vertical alignment of TMS tiles in Leaflet using EPSG:25832 projection
[英]Displaying Vector Tiles in EPSG:25832 in OpenLayers
我一直在玩矢量瓦片(第一次) ,我一直被困在一個關於數據投影的問題上。 矢量瓷磚與背景 map 不完全對齊(投影問題?)。 與背景 map 進行比較時,矢量切片數據的大小似乎正確,但位置稍有偏差。
我已經通過PostGIS創建了自己的簡單 MVT 端點,而不是返回EPSG:3857
中的數據,而是使用EPSG:25832
和我自己的邊界框(因為我在客戶端上顯示的數據已經在EPSG:25832
中。
WITH
bounds(geometry) AS (SELECT ST_TileEnvelope(@Z, @X, @Y, ST_MakeEnvelope(120000, 5900000, 1000000, 6500000, 25832))),
geometry AS (...),
mvtgeom AS (SELECT ST_AsMVTGeom(ST_Transform(geom, 25832), bounds.geometry, 4096, 256, true) FROM geometry, bounds)
SELECT ST_AsMVT(mvtgeom.*) FROM mvtgeom
我創建了一個簡單的客戶端來演示這個問題(請注意,矢量切片圖層指向本地主機)。
通過 VueLayer 的 Openlayer 客戶端 - https://jsfiddle.net/z4a65d9L/
解決方案
問題在於邊界不是產生偏移的完美正方形。
我使用 PostGIS 創建了一個新的邊界並使用它來解決我的問題
SELECT ST_ASTEXT(ST_Expand(ST_SetSRID( ST_Point(560000, 6200000), 25832), 370000));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.