在地球上,已知A點的經緯度和B點的經緯度,算出AB點之間的距離
阿新 • • 發佈:2019-01-22
public static void main(String[] args) { double earthR = 6371000;//地球大致半徑 double lat1 = aa.aaaa; //A的緯度 double lng1 = bb.bbbb;//A的經度 double lat2 = cc.cccc;//B的緯度 double lng2 = dd.dddd;//B的經度 double distance = earthR * getDistance(lat1,lng1,lat2,lng2); System.out.println(String.format("%.2f",distance)); }
public static doublegetDistance(double lat1, double lng1, double lat2, double lng2) { return 2 * asin(min(1, sqrt((pow(sin(((lat2 - lat1) * PI) / 360), 2)) + cos(lat2 * PI / 180) * cos(lat1 * PI / 180) * pow(sin(((lng2 - lng1) * PI) / 360), 2)))); }