Java 地球上計算兩點之間距離計算方法
阿新 • • 發佈:2019-01-29
(1)包含經緯度的點物件
package com.ict.dto; /** * Created by chenlong on 2017/7/6. * Info: */ public class Point { public double lon; public double lat; public Point(double lon, double lat) { this.lon = lon; this.lat = lat; } public double getLon() { return lon; } public void setLon(double lon) { this.lon = lon; } public double getLat() { return lat; } public void setLat(double lat) { this.lat = lat; } }
(2)核心計算方法,返回兩個點之間的距離(單位:米)
private int R=6371000;//地球半徑 public double getDistance(Point p1,Point cirp2){ double rad=Math.PI/180; double lat1=p1.getLat()*rad; double lat2=cirp2.getLat()*rad; double a=Math.sin(lat1)*Math.sin(lat2)+Math.cos(lat1)*Math.cos(lat2)*Math.cos((cirp2.getLon()-p1.getLon())*rad); double distance=R*Math.acos((Math.min(a,1))); return distance; }