我从数据库中读取了一个点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');
问题是投影后我得到的坐标是错误的。该点位于另一个位置。
答案 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