将纬度/经度转换为X / Y坐标
我具有纽约市纽约市的纬度/经度值;40.7560540,-73.9869510和地球的平面图像,即1000px×446px。
我希望能够使用Javascript将纬度/经度转换为X,Y坐标,该点将反映该位置。
因此,图像左上角的X,Y坐标将是;289、111
注意事项:
- 不用担心要使用哪种投影的问题,可以自己做假设,也可以按照自己知道的可行的方法进行操作
- X,Y可以形成图像的任意一角
- PHP中相同解决方案的加分点(但我确实需要JS)
回答:
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};
}
这将从左上方返回像素数。该函数假定以下条件:
- 您的图像已与左上角(0,0)正确对齐,并与90 北乘180 西对齐。
- 您的坐标以N为-,S为+,W为-和E为+签名
以上是 将纬度/经度转换为X / Y坐标 的全部内容, 来源链接: utcz.com/qa/411206.html