从GPS坐标计算PNG地图上的X和Y位置

时间:2012-09-13 09:48:57

标签: algorithm gps maps coordinates

我正在iPhone应用程序上实现自定义地图(图片大小为map_width和map_height),我尝试在此地图上显示当前用户位置(current_long和current_lat)

我有2个带有已知GPS坐标的参考点(ref1_long,ref1_lat,ref2_long和ref2_lat)以及已知的X,Y位置(以像素为单位)(ref1_x,ref1_y,ref2_x和ref2_y)

我的问题是:如何根据这些信息计算current_x和current_y?

2 个答案:

答案 0 :(得分:0)

您需要知道地图的投影。有数百种不同的地图投影,其中许多可以具有可以具有任何意义的重要常数。

首先,你需要知道,你使用的是什么地图?

之后,找到此投影的公式并使用它们。例如,对于UTM投影,公式就在这里。但对于另一个投影,公式和整个系统将完全不同。

下一步,你必须想象自己如何在屏幕上显示抽象地图。

对于我来说,对于我来说,在地理和编程方面,对于一些完全已知且不罕见的地图系统,整个任务最少需要2天。在调试中总是存在严重问题,以准确设置点。公式总是存在问题 - 你会发现几个变种,需要找到正确的变体。

但是如果地图已被程序员积极使用,你可能找不到公式,而是代码片段。祝你好运!

答案 1 :(得分:0)

地图最有可能使用mercantor投影。问题是地球是一个球体,但地图上只有2个维度。您需要地图四个角的坐标和地图尺寸。 y-map值不会改变,但对于x-map值,您需要mercantor投影。然后它变成线性变换,地图的宽度或高度可能与输入略有不同:Convert lat/lon to pixel coordinate?