给定以下输入:
- 1..n 个位置的已知经度/纬度
- 位置 1..n 和另一个位置“m”之间的已知距离
如何计算位置“m”的经度/纬度?
给定以下输入:
如何计算位置“m”的经度/纬度?
这听起来像是一个基本的经纬三角测量问题。Yahoo! 中概述了常用方法。答案主题在这里。可能有许多图书馆可以使用多种语言来执行此操作。谷歌搜索“纬度经度三角测量”加上您选择的语言可能会显示一些现有的代码来使用。“地理编码”是类似库中的另一个常见任务,因此这可能是另一个有用的关键字。
编辑:正如其他人所提到的,“三边测量”似乎是最好的术语。但是,根据您的数据和要求,有更简单的近似解决方案可以满足您的要求。
雅虎!为方便起见,下面引用了答案帖子:
“对于较大的距离,球面几何。对于相对较小的距离,将地球视为平面,将坐标视为 xy 坐标。对于与坐标度数一起使用的距离,您必须使用余弦函数从一转换(虽然整个地球的纬度约为 69 英里,但经度从赤道的相同到两极的 0 不等。)
你有三个圆的中心点和这些圆的半径。它们应该在一个点相交,因此您可以成对处理它们以找到每个交叉点并丢弃不匹配的点 http://mathworld.wolfram.com/Circle-CircleIntersection.html。” (麦克1942f )
三边测量是你想要的。这只需要您的 3 个参考点,但是如果您想变得非常聪明,其余的可以用来提高准确性。
最棘手的部分是使用长/纬度而不是笛卡尔坐标,特别是因为地球不是一个完美的球体。
这是一个三边测量问题。在您的情况下,您有多个参考点,因此您可以最小化给定距离与对应于 m 的最佳位置的距离之间的平方误差之和。