All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.micro.core.geo.GeoUtil Maven / Gradle / Ivy

package cn.micro.core.geo;

/**
 * 位置工具类
 *
 * 

* 源码来自:https://v2ex.com/t/661809 *

*/ public class GeoUtil { /** * 地球的半径 (m) */ public static final double EARTH_RADIUS = 6378137; /** * 根据经纬度计算两点之间的距离 (m) * * @param lng1 位置 1 的经度 * @param lat1 位置 1 的纬度 * @param lng2 位置 2 的经度 * @param lat2 位置 2 的纬度 * @return 返回距离 */ public static double getDistance(double lng1, double lat1, double lng2, double lat2) { double radLat1 = radian(lat1); double radLat2 = radian(lat2); double a = radLat1 - radLat2; double b = radian(lng1) - radian(lng2); return (2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)))) * EARTH_RADIUS; } private static double radian(double d) { return d * Math.PI / 180.0; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy