相关疑难解决方法(0)

计算两个纬度 - 经度点之间的距离?(Haversine配方)

如何计算纬度和经度指定的两点之间的距离?

为了澄清,我想要以公里为单位的距离; 这些要点使用WGS84系统,我想了解可用方法的相对准确性.

algorithm math maps latitude-longitude haversine

852
推荐指数
19
解决办法
72万
查看次数

Lat/Lon +距离+标题 - > Lat/Lon

所以:我有以下功能,改编自在线找到的公式,它采用两个纬度/经度坐标,并以英里(沿着球形地球)找到它们之间的距离:

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;
    }
Run Code Online (Sandbox Code Playgroud)

据我所知,这很好用.

我需要的是第二个函数,它使用完全相同的地球几何模型,取一个纬度/经度对[A],航向和距离,并输出一个新的纬度/经度对[B],使得如果你从点[A]开始,并且在给定的航向上行驶了给定的距离,你就会在点[B]处结束.

这就是我的几何技能让我完全发挥作用的事实:)

任何帮助将非常感激!

谢谢,-Dan

geometry function geospatial

16
推荐指数
1
解决办法
1万
查看次数