Mapbox GL JS ImageSource坐标错误

时间:2019-05-05 19:04:51

标签: mapbox mapbox-gl-js coordinate-systems mercator

我正在努力将图像正确定位到我的地图上。我正在为我的(实时)图像使用以下URL之一:

以下是与WMS相关的功能:https://maps.dwd.de/geoserver/ows?service=wms&version=1.3.0&request=GetCapabilities

我尝试根据此example添加图像源。使用这些坐标:

[2.0714827302884133, 55.07980923136505],
[15.72075796095801, 55.07980923136505],
[15.72075796095801, 47.14423415016973],
[2.0714827302884133, 47.14423415016973]

问题是图像未正确对齐100%,但略有移位/拉伸。我使用Mercator投影阅读了有关Mapbox的内容,但无法处理其他内容?这就是为什么上面有三个不同的URL,但是所有这些URL都失败了的原因。接下来,我尝试像这样转换我的坐标:

var westLongitude = 2.0714827302884133;
var eastLongitude = 15.72075796095801;  
var southLatitude = 47.14423415016973;
var northLatitude = 55.07980923136505;  

var topLeft = { lng: westLongitude, lat: northLatitude};
var mTopLeft = mapboxgl.MercatorCoordinate.fromLngLat(topLeft, 0).toLngLat();

var topRight = { lng: eastLongitude, lat: northLatitude};
var mTopRight = mapboxgl.MercatorCoordinate.fromLngLat(topRight, 0).toLngLat();

var bottomRight = { lng: eastLongitude, lat: southLatitude};
var mBottomRight = mapboxgl.MercatorCoordinate.fromLngLat(bottomRight, 0).toLngLat();

var bottomLeft = { lng: westLongitude, lat: southLatitude};
var mBottomLeft = mapboxgl.MercatorCoordinate.fromLngLat(bottomLeft, 0).toLngLat();

var mercatorCoordinates = [[mTopLeft.lng, mTopLeft.lat], [mTopRight.lng, mTopRight.lat], [mBottomRight.lng, mBottomRight.lat], [mBottomLeft.lng, mBottomLeft.lat]];

但是,这也无法正确对齐图像。我认为我使用了错误的坐标。你知道怎么做对吗?

非常感谢您。

以下代码可以使用(请将雷达盲点(灰色)的位置与下图进行比较,以查看偏移量):js fiddle

在这里雷达盲点(粉红色)必须位于: enter image description here

1 个答案:

答案 0 :(得分:1)

使用以下坐标/投影似乎可行:

CRS=EPSG:3857&BBOX=614360.8293587392,5933210.01991552,1713821.866597408,7423590.537061271

这里还有另一个js fiddle