簡體   English   中英

在 OpenLayers 中的 EPSG:25832 中顯示矢量切片

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM