package com.boco.nbd.wios.manage.util; /** * 类说明 :根据经纬度计算距离 * @author YONG */ public class DistanceUtil { /** * 赤道半径 */ private static final double EARTH_RADIUS = 6378137; private static double rad(double d){ return d * Math.PI / 180.0; } public static double getDistance(double lon1,double lat1,double lon2, double lat2) { double radLat1 = rad(lat1); double radLat2 = rad(lat2); double a = radLat1 - radLat2; double b = rad(lon1) - rad(lon2); double s = 2 *Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2)+Math.cos(radLat1)*Math.cos(radLat2)*Math.pow(Math.sin(b/2),2))); s = s * EARTH_RADIUS; //单位米 return NumberUtil.roundDouble(s); } }