【问题标题】:Translating Lat/Lon coordinates to X,Y plane, with control points使用控制点将纬度/经度坐标转换为 X、Y 平面
【发布时间】:2020-11-24 16:34:45
【问题描述】:

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

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

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

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

【问题讨论】:

  • 描绘的区域大小是多少?它是否包含在一个几公里大小的正方形中?几十公里?几百公里?面积越大,问题就越困难,因为对于更大的面积,您需要考虑地球的曲率。
  • 可能不到半英里。失真不是问题。

标签: geolocation geometry


【解决方案1】:

当描绘的区域很小时(例如,它的侧面只有几平方公里),下面描述了一个可以尝试的方法。很抱歉,如果您觉得描述过于简洁,我想尽量简短。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2016-02-07
    • 1970-01-01
    • 2018-01-10
    • 2013-09-13
    • 1970-01-01
    相关资源
    最近更新 更多