【发布时间】:2008-12-18 15:53:55
【问题描述】:
所以:我有以下函数,改编自网上找到的公式,它采用两个纬度/经度坐标并找到它们之间的距离(沿球形地球):
public static double distance (double lat1, double lon1, double lat2, double lon2) {
double theta = toRadians(lon1-lon2);
lat1 = toRadians(lat1);
lon1 = toRadians(lon1);
lat2 = toRadians(lat2);
lon2 = toRadians(lon2);
double dist = sin(lat1)*sin(lat2) + cos(lat1)*cos(lat2)*cos(theta);
dist = toDegrees(acos(dist)) * 60 * 1.1515 * 1.609344 * 1000;
return dist;
}
据我所知,这很好用。
我需要的是第二个函数,它使用完全相同的地球几何模型,采用单个纬度/经度对 [A]、一个航向和一个距离,并输出一个新的纬度/经度对 [B ] 这样,如果您从 [A] 点开始,并以给定的航向行进给定的距离,您将在 [B] 点结束。
这就是我的几何技能完全让我发挥作用的地方:)
任何帮助将不胜感激!
谢谢, -丹
【问题讨论】:
-
Dan,你能把你得到的解决方案贴出来吗?我有需要,想知道你是否真的得到了答案?
-
查看接受的答案。我最终采用了那个公式,而且效果很好;我强烈建议您查看回答者提到的 The Aviation Formulary 网站,这对我很有帮助。
标签: function geometry geospatial