arcgis根据两个点经纬度,计算两点之间的距离

public void jishuanlong(){
//查询
//计算并保存
double lng1=119.281394256422;
double lat1=36.68916380103680;
double lng2=115.38126864;
double lat2=35.24237235;
double a = Rad(lat1) - Rad(lat2);
        double b = Rad(lng1) - Rad(lng2);
        double s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) +
        Math.cos(Rad(lat1)) * Math.cos(Rad(lat2)) * Math.pow(Math.sin(b / 2), 2)));
        s = s * 6378137.0;//WGS1984坐标系: 6378137.0
        s = Math.round(s * 10000) / 10000;
        System.out.print("两点之间距离为:"+s);//单位m
}
private static double Rad(double d)
    {
        return d * Math.PI / 180.0;

    }

注意不同坐标系值不同:

WGS1984坐标系:6378137.0;现在80坐标系: 6378140.0 ;北京54坐标系:6378245.0;

你可能感兴趣的:(ARCGIS学习)