【问题标题】:Calculate longitude/latitude计算经度/纬度
【发布时间】:2010-09-28 00:43:14
【问题描述】:

给定以下输入:

  • 1..n 个位置的已知经度/纬度
  • 位置 1..n 和另一个位置“m”之间的已知距离

如何计算位置“m”的经度/纬度?

【问题讨论】:

    标签: google-maps geolocation maps geocoding yahoo-maps


    【解决方案1】:

    这是一个trilateration 问题。在您的情况下,您有多个参考点,因此您可以最小化给定距离与对应于 m 的最佳位置的距离之间的平方误差之和。

    【讨论】:

      【解决方案2】:

      这听起来像是一个基本的经纬三角测量问题。 Yahoo! 中概述了常用方法。回答主题here。可能有许多图书馆可以使用多种语言来执行此操作。谷歌搜索“纬度经度三角测量”加上您选择的语言可能会显示一些现有的代码来使用。 “地理编码”是类似库中的另一个常见任务,因此它可能是另一个有用的关键字。

      编辑:正如其他人所提到的,“三边测量”似乎是最好的术语。但是,根据您的数据和要求,有更简单的近似解决方案可以满足您的要求。

      雅虎!为方便起见,下面引用了答案帖子:

      "对于更大的距离,球形 几何学。对于相对较小的, 将地球视为平坦的,并且 坐标为 xy 坐标。为了 与度数工作的距离 坐标,你将不得不使用 要转换的余弦函数 一个对另一个。 (虽然度 纬度大约 69 英里 地球,经度不同 从赤道处相同到0处 两极。)

      你有三个中心点 圆和那些的半径 界。他们应该 在一点相交,所以你可以 成对对待它们以找到 每个和 throw 的交点 剔除不匹配的 http://mathworld.wolfram.com/Circle-CircleIntersection.html。” (mike1942f)

      【讨论】:

        【解决方案3】:

        Trilateration 是你想要的。这只需要您的 3 个参考点,但是如果您想变得非常聪明,可以使用其余的参考点来提高准确性。

        最棘手的部分是使用长/纬度而不是笛卡尔坐标,尤其是地球不是一个完美的球体。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-01-10
          • 1970-01-01
          • 2011-08-16
          • 2020-03-23
          相关资源
          最近更新 更多