首页 > 解决方案 > 使用控制点将纬度/经度坐标转换为 X、Y 平面

问题描述

我有一个任意的地图图像,它可能会也可能不会准确地投影到某些标准的地理地图上。不过,可能不是,因为它是艺术家的演绎。考虑这张地图是 0,0 之前像素的 2D 图像。

我想将世界空间中的纬度/经度点映射到这张地图。由于地图不一定是已知或准确的投影,因此我必须提出其他解决方案。我认为在 2D 图像上建立与已知纬度/经度值相关的控制点是第 1 步。至少 3 个,但可能更多,以防需要解决地图图像中的失真问题。

我将寻找什么算法或方程来获取这些控制点,并根据任何给定的纬度/经度输入识别图像上的 X、Y 位置?

我希望它不准确,具体取决于控制点的数量。而且我希望,对于一些更奇怪的图像,必须在某些区域添加许多控制点以使其正确排列。

标签: geolocationgeometry

解决方案


当所描绘的区域很小时(例如,它适合侧面几公里的平方),下面描述了要尝试的一件事。如果您觉得描述过于简洁,我很抱歉,我想保持合理的简短。

这个想法是假设图像处于某个未知的共形投影中,并尝试对其进行近似。当然,如果图像实际上不能以这种方式合理地近似,这当然可能会失败。

给定您的控制点 P[],使用等角投影将它们投影到地图坐标 Q[],并获取它们的图像坐标 R[]。在一米左右内 - 鉴于上述假设 - R[] 可以通过转换 T 从 Q[] 获得,该转换 T 是平移、(各向同性)缩放和旋转。然后,您可以使用 Q[] 和 R[] 找到 T,例如通过最小二乘法。您有一个从控制点地理坐标 P[] 到它们的图像坐标 R[] 的两阶段地图:首先使用所选投影进行投影,然后应用 T。您可以使用此地图的倒数从任意图像坐标到地理坐标坐标。

如果图像大于几公里,您可能无法通过这种方式获得足够的精度。一切都没有丢失。尽管平移、缩放和旋转可能不够,但任何两个保角投影都通过(复杂的)解析图相关联。因此,您可以尝试使用上述控制点来拟合(近似)该地图。合适的近似可能是复多项式或复有理函数。

如果我这样做,我想我会首先在人工数据上进行测试。例如,您可以使用某种投影(不同于上面使用的投影)生成各种尺寸的图像,并查看您在这些图像中拟合已知点的程度。


推荐阅读