package com.moral.util; import org.gavaghan.geodesy.Ellipsoid; import org.gavaghan.geodesy.GeodeticCalculator; import org.gavaghan.geodesy.GeodeticCurve; import org.gavaghan.geodesy.GlobalCoordinates; import org.springframework.stereotype.Component; @Component public class GeodesyUtils { /** * @param lat1 第一点纬度 * @param lng1 第一点经度 * @param lat2 第二点纬度 * @param lng2 第二点经度 * @return 功能:根据经纬度计算两点间距离,采用WGS84坐标系 */ public static double getDistance(double lat1, double lng1, double lat2, double lng2) { GlobalCoordinates source = new GlobalCoordinates(lat1, lng1); GlobalCoordinates target = new GlobalCoordinates(lat2, lng2); GeodeticCurve geoCurve = new GeodeticCalculator().calculateGeodeticCurve(Ellipsoid.WGS84, source, target); return geoCurve.getEllipsoidalDistance(); } }