package com.ruoyi.utils.tools;
|
|
import org.gavaghan.geodesy.Ellipsoid;
|
import org.gavaghan.geodesy.GeodeticCalculator;
|
import org.gavaghan.geodesy.GlobalCoordinates;
|
|
/**
|
* @Description:
|
* @ClassName: GisTool
|
* @Author: 刘苏义
|
* @Date: 2023年06月15日13:26
|
* @Version: 1.0
|
**/
|
public class GisTool {
|
public static GeodeticCalculator geodeticCalculator = new GeodeticCalculator();
|
/**
|
* 根据经纬度,计算两点间的距离
|
*
|
* @param From 第一个点的经纬度
|
* @param To 第二个点的经纬度
|
* @return 返回距离 单位米
|
*/
|
public static double getDistance(double[] From, double[] To) {
|
double longitudeFrom = From[0];
|
double latitudeFrom = From[1];
|
double longitudeTo = To[0];
|
double latitudeTo = To[1];
|
GlobalCoordinates source = new GlobalCoordinates(latitudeFrom, longitudeFrom);
|
GlobalCoordinates target = new GlobalCoordinates(latitudeTo, longitudeTo);
|
return geodeticCalculator.calculateGeodeticCurve(Ellipsoid.WGS84, source, target).getEllipsoidalDistance();
|
}
|
}
|