使用校准点在地图上将经度和纬度转换为XY

Jor*_*rge 26 gps geocoding latitude-longitude coordinates

如果我有一个尺寸为sizeX,sizeY的jpeg地图

和地图上的一些校准点(X,Y,Lon,Lat)

使用给定的经度/纬度对计算地图中相应XY点的算法是什么?

Gub*_*ron 19

这对我有用,没有那么多bs.

int x =  (int) ((MAP_WIDTH/360.0) * (180 + lon));
int y =  (int) ((MAP_HEIGHT/180.0) * (90 - lat));
Run Code Online (Sandbox Code Playgroud)

Android设备为我提供了lat,lon坐标.所以它们应该与所有Google Earth/Map产品使用的标准相同.

  • 我意识到这是一个古老的问题,但我找不到任何关于有地图偏移和缩放的答案.此外,这个MAP_WIDTH/HEIGHT的度数(即经度和纬度的增量)还是像素值?应该在何处进行缩放? (2认同)

小智 11

如果使用等距圆柱投影类型地图,您需要执行以下操作:

  1. 在此处查找您的位置教程的纬度和经度:http:
    //lifehacker.com/267361/how-to-find-latitude-and-longitude
  2. 将该信息输入以下公式:
    x =(px中图像的总宽度)*(180 +纬度)/ 360
    y =(px中图像的总高度)*(90-经度)/ 180

    注:使用负经度时纬度确保加上或减去负数,即+( - 92)或 - ( - 35)实际上是-92和+35

  3. 您现在可以在图像上绘制X和Y

    有关此公式和地图类型的更多信息,请访问:http:
    //www.progonos.com/furuti/MapProj/Dither/CartHow/HowER_W12/howER_W12.html# DeductionEquirectangular


May*_*ayo 8

互联网上有大量关于计算两对纬度和经度之间距离的信息.我们在公共网站上使用这些计算,并且理解/讨论并不容易(所以我不会在这里尝试覆盖它们).也就是说,它们很容易实现.

一旦你有一个返回距离的函数,你应该能够根据角之间的距离来计算地图的宽度和高度.

然后,您可以从左上角计算点的水平和垂直距离.

现在,您可以找出左侧和点之间的距离表示地图宽度的比率,将该比率应用于像素宽度,并确定左侧和点之间的像素数.重复y轴.

(左侧像素)=(总像素宽度)*((左侧和您的点之间的地理编码距离)/(左侧和右侧之间的地理编码距离))

(顶部像素)=(总像素高度)*((顶部和点之间的地理编码距离)/(顶部和底部之间的地理编码距离))

编辑:当你进一步研究时,你会注意到一些解决方案将提供比其他解决方案更准确的结果,因为你是近似球面上两点之间的距离并将其映射到平面上.随着距离的增加,精度会降低.对您提出的最佳建议是先尝试一下,看看它是否符合您的需求.


Kri*_*gar 7

这是相当直接和简单的..让我解释它是如何可能的.

纬度和经度是在地球上绘制的虚线,以便您可以准确地确定世界上的任何位置.简单地说它们是飞机的X和Y坐标.纬度是一条从北向南延伸的垂直线,北极为90度,南极为-90度.

另一方面,经度是一条从东到南的水平线,西面为-180度,东面为180度.

您可以将latLng转换为像素坐标,因为假设html容器的宽度是世界的宽度,同样适用于高度.

公式 - 经度 - 像素

(givenLng*widthOfContainerElement)/360
Run Code Online (Sandbox Code Playgroud)

其中360是以度为单位的总经度

公式 - 纬度 - 像素

(givenLat*heightOfContainerElement)/180
Run Code Online (Sandbox Code Playgroud)

其中180是度数的总纬度

//Height is calculated from the bottom
Run Code Online (Sandbox Code Playgroud)

你可以在我的网站上找到这个公式的工作实现(它只使用JavaScript)

http://www.learntby.me/javascript/latLngconversion.php

如果您仍需要任何澄清,请与我们联系.


Eri*_* J. 5

有许多不同的地图投影方案.你必须知道你的地图使用了哪一个.

有关地图投影算法和前向/反向映射的更多信息,请查看此链接.它提供了许多常见预测的公式.