在不同范围的投影之间转换坐标

时间:2019-03-28 20:12:43

标签: leaflet coordinate-systems

我有一些标记是在EPSG4326地图的旧版系统中绘制的,其界限为-180至180纬度和-180至180经度。我现在正在尝试将它们绘制到EPSG4326地图上,该地图的边界为-90至90纬度,-180至180经度。如何将原始坐标转换为新坐标系,使其出现在新地图的相同位置?我正在尝试使用Leaflet映射库在JavaScript应用程序中解决此问题。任何指示或见解将不胜感激。

例如,代表纬度在-180至180范围内的伦敦地图在伦敦地图上的位置约为(纬度:61.8750,伦敦:0.1278),而在纬度为-90至90的目的地地图上伦敦的位置约为(Lat:51.5074,Lon:0.1278)。

1 个答案:

答案 0 :(得分:0)

我知道了!

newlat = (180.0/Math.PI*(2.0*Math.atan(Math.exp(oldlat*Math.PI/180.0))-Math.PI/2.0))

因此,如果我需要oldlat = 61.8750newlat = 52.482780222078226并完美解决了我的问题,则将具有不同范围的纬度转换为新范围。

反向(如果需要重新转换)公式为:

oldlat = ((180.0/Math.PI)*Math.log(Math.tan((90.0+newlat)*Math.PI/360.0)))