1. 程式人生 > >Java 地球上計算兩點之間距離計算方法

Java 地球上計算兩點之間距離計算方法

(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;
    }