Gis 在OpenLayers中显示EPSG:25832中的矢量分幅 出身背景

Gis 在OpenLayers中显示EPSG:25832中的矢量分幅 出身背景,gis,openlayers,postgis,vector-tiles,vuelayers,Gis,Openlayers,Postgis,Vector Tiles,Vuelayers,我第一次玩矢量图块,我一直被一个关于数据投影的问题所困扰。矢量平铺与背景贴图投影问题不完全对齐?。矢量平铺数据在与背景贴图进行比较时似乎大小正确,但位置稍有偏离 安装程序 服务器 我已经通过PostGIS创建了我自己的简单MVT端点,在这里,我没有返回EPSG:3857中的数据,而是将EPSG:25832与我自己的边界框一起使用,因为我在客户端上显示的数据已经在EPSG:25832中 具有 边界几何作为选择标准_TileEnvelope@Z,X,Y,ST_Makeevelopel12000590

我第一次玩矢量图块,我一直被一个关于数据投影的问题所困扰。矢量平铺与背景贴图投影问题不完全对齐?。矢量平铺数据在与背景贴图进行比较时似乎大小正确,但位置稍有偏离

安装程序 服务器 我已经通过PostGIS创建了我自己的简单MVT端点,在这里,我没有返回EPSG:3857中的数据,而是将EPSG:25832与我自己的边界框一起使用,因为我在客户端上显示的数据已经在EPSG:25832中

具有 边界几何作为选择标准_TileEnvelope@Z,X,Y,ST_Makeevelopel120005900000100000000025832, 几何作为。。。, mvtgeom AS选择ST_AsMVTGeomST_Transformgeom,25832,bounds.geometry,4096256,true FROM geometry,bounds 从mvtgeom中选择ST_AsMVTmvtgeom.* 客户 我创建了一个简单的客户端来演示这个问题。请注意,vector tiles层指向localhost

通过VueLayer的Openlayer客户端-

解决方案

问题是边界不是一个完美的正方形,它产生了偏移

我用PostGIS创建了一个新的边界,并用它来解决了我的问题


选择ST_ASTEXTST_ExpandST_SetGrid ST_Point560000、6200000、25832、370000

对于非EPSG:3857网格,您需要在VectorTile源选项中指定投影,否则它使用EPSG:3857网格版本6.5.0,如果您不这样做,它将抛出断言。如果范围不是正方形,则可能还需要指定maxResolution级别为0的分辨率。参见这里的示例