一尘不染

将纬度/经度转换为X / Y坐标

php

我具有纽约市纽约市的纬度/经度值;40.7560540,-73.9869510和地球的平面图像,即1000px×446px。

我希望能够使用Javascript将纬度/经度转换为X,Y坐标,该点将反映该位置。

因此,图像左上角的X,Y坐标将是;289、111

注意事项:

  1. 不用担心要使用哪种投影的问题,可以自己做假设,也可以按照自己知道的可行的方法进行操作
  2. X,Y可以形成图像的任意一角
  3. PHP中相同解决方案的加分点(但我确实需要JS)

阅读 471

收藏
2020-05-29

共1个答案

一尘不染

js中的基本转换函数为:

MAP_WIDTH = 1000;
MAP_HEIGHT = 446;

function convert(lat, lon){
    var y = ((-1 * lat) + 90) * (MAP_HEIGHT / 180);
    var x = (lon + 180) * (MAP_WIDTH / 360);
    return {x:x,y:y};
}

这将从左上方返回像素数。该函数假定以下条件:

  1. 您的图像已与左上角(0,0)正确对齐,并与90 北乘180 西对齐。
  2. 您的坐标以N为-,S为+,W为-和E为+签名
2020-05-29