OpenLayers4:Point位于地图上的不同位置

时间:2018-09-16 06:03:31

标签: javascript openlayers

我从数据库中读取了一个点x,y,该点保存在EPSG:28191投影中。我正在尝试在我的地图上显示具有EPSG:3857投影的位置。 我使用以下代码进行投影:

proj4.defs("EPSG:28191", "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,1 +units=m +no_defs");
    ol.proj.setProj4(proj4);

    var coors= ol.proj.transform(["+x+", "+y+ "], 'EPSG:28191', 'EPSG:3857');

问题是投影后我得到的坐标是错误的。该点位于另一个位置。

1 个答案:

答案 0 :(得分:0)

您使用的投影定义与应该使用的投影定义略有不同(例如toWGS84设置的小数)。

尝试使用来自here的此定义对其进行更新:

+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs