如何计算GPS JAVA中两点之间的距离?
可能重复: 在JAVA中,如何计算以纬度和经度值表示的两点之间的距离 谢谢看看这个: 因为上面的链接已断开,请查看以下内容: 这篇文章的摘要:如何计算GPS JAVA中两点之间的距离?,java,Java,可能重复: 在JAVA中,如何计算以纬度和经度值表示的两点之间的距离 谢谢看看这个: 因为上面的链接已断开,请查看以下内容: 这篇文章的摘要: public final static double AVERAGE_RADIUS_OF_EARTH = 6371; public int calculateDistance(double userLat, double userLng, double venueLat, double venueLng) { double latDistan
public final static double AVERAGE_RADIUS_OF_EARTH = 6371;
public int calculateDistance(double userLat, double userLng, double venueLat, double venueLng) {
double latDistance = Math.toRadians(userLat - venueLat);
double lngDistance = Math.toRadians(userLng - venueLng);
double a = (Math.sin(latDistance / 2) * Math.sin(latDistance / 2)) +
(Math.cos(Math.toRadians(userLat))) *
(Math.cos(Math.toRadians(venueLat))) *
(Math.sin(lngDistance / 2)) *
(Math.sin(lngDistance / 2));
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
return (int) (Math.round(AVERAGE_RADIUS_OF_EARTH * c));
}
Java回答:谢谢,我将它与从PostgreSql函数获得的结果集进行了比较,非常接近。但为什么要进行最后的四舍五入呢?