【问题标题】:Convert coordinate between projections of different bounds在不同边界的投影之间转换坐标
【发布时间】:2019-03-28 20:12:42
【问题描述】:

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

例如,伦敦在源地图上表示纬度在 -180 到 180 范围内的位置大约是(纬度:61.8750,经度:0.1278),而在纬度为 -90 到 90 的目的地地图上,它大约是(纬度:51.5074,经度:0.1278)。

【问题讨论】:

  • 我猜你的数据样本(带有坐标和应该出现的位置)非常值得。
  • 当然,我在两张地图上都发布了伦敦坐标的示例。只有纬度不同,我想有一些“简单”的方法来转换它,但我还没有找到。

标签: leaflet coordinate-systems


【解决方案1】:

我想通了!

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)))

【讨论】:

    猜你喜欢
    • 2015-08-15
    • 2014-08-29
    • 2011-06-13
    • 1970-01-01
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多