我正在 iPhone 应用程序上实现自定义 map (图像大小为 map_width 和 map_height),我尝试在此 map 上显示当前用户位置(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?
最佳答案
你需要知道 map 的投影。有数百种不同的 map 投影,其中许多可以具有可以具有任何意义的重要常量。
因此,首先,您需要知道,您使用的是什么 map ?
之后,找到这个投影的公式并使用它们。例如,对于 UTM 投影,公式位于此处。但是对于另一个投影,公式和整个系统将完全不同。
下一步,您必须自己想象抽象 map 将如何显示在您的屏幕上。
对于我这个地理和编程专业人士来说,对于一些完全已知且并不罕见的 map 系统,整个任务至少需要 2 天。调试总是有严重的问题,要准确定位。公式总是有问题——您会发现多种变体,并且需要找到正确的变体。
但如果 map 已经被程序员积极使用,您可能会发现不是公式,而是代码片段。祝你好运!
关于algorithm - 从 GPS 坐标计算 PNG map 上的 X 和 Y 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12403591/