如何计算大圆路径上的当前位置

3

假设有起点 (origLat, origLon),终点 (destLat, destlon),以及旅程完成百分比。如何计算当前位置 (curLat, curLon)?


你在说哪个圆? - Gumbo
3个回答

9

请记住,这些公式假定了一个球形模型。对于椭球体(如WGS84等),也存在公式,但它们会更加复杂。这完全取决于您的精度要求。 - Stefan
工作得很好。尽管Lawnmower说它是基于球体的估计值。如果有人可以提供同样算法在WGS84模型下的链接,我会非常感激。 - Anthony
在移动到椭球体时,不再有简单的公式可用,而必须使用迭代逼近。请从http://geographiclib.sourceforge.net/html/geodesic.html开始,并查看链接的参考文献。也许您可以直接使用该库或查看代码。 - hfs

3

MTL 提供了一些关于大圆计算的好内容,和一些工作中可以用来验证你的实现的小应用程序。


-3
在这种情况下,它应该非常简单:
curLat = origLat + percentageOfTripCompleted*(destLat-origLat);
curLon = origLon + percentageOfTripCompleted*(destLon-origLon);

*事实上地球是一个球体对这个问题并没有影响。


那不是一个很好的圆周路径。 - Stefan
那是不正确的。看看@hfs回答中的链接。记住,大圆路径不是直线。 - Jonathan
仔细思考了一下,那绝对是真的。我的错。 - nosirrahcd
从技术上讲,如果距离非常短,这可能是一个有效的近似。 - ysap
1
@ysap 除非你靠近中央经线,否则这条路线可能会让你多走一段路 :-) - Stefan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接