8

给定以下输入:

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

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

4

3 回答 3

7

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

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

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

“对于较大的距离,球面几何。对于相对较小的距离,将地球视为平面,将坐标视为 xy 坐标。对于与坐标度数一起使用的距离,您必须使用余弦函数从一转换(虽然整个地球的纬度约为 69 英里,但经度从赤道的相同到两极的 0 不等。)

你有三个圆的中心点和这些圆的半径。它们应该在一个点相交,因此您可以成对处理它们以找到每个交叉点并丢弃不匹配的点 http://mathworld.wolfram.com/Circle-CircleIntersection.html。” (麦克1942f )

于 2008-12-22T14:14:56.583 回答
4

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

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

于 2008-12-22T14:14:43.700 回答
3

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

于 2008-12-22T14:15:08.597 回答