feiyu02
2024-10-12 7cd8d2a1e96de3d173bf5af64b4adc29c497db2a
src/main/kotlin/cn/flightfeather/supervision/business/location/CoordinateUtil.kt
@@ -1,8 +1,6 @@
package cn.flightfeather.supervision.business.location
import kotlin.math.PI
import kotlin.math.cos
import kotlin.math.sin
import kotlin.math.*
object CoordinateUtil {
@@ -32,4 +30,17 @@
    fun disToLng(distance: Double): Double {
        return distance * 0.00001
    }
    fun calculateDistance(lon1: Double, lat1: Double, lon2: Double, lat2: Double): Double {
        val R = 6371; // 地球平均半径,单位公里
        val dLat = (lat2 - lat1) * Math.PI / 180;
        val dLon = (lon2 - lon1) * Math.PI / 180;
        val a = sin(dLat / 2) * sin(dLat / 2) +
                cos(lat1 * Math.PI / 180) * cos(lat2 * Math.PI / 180) *
                sin(dLon / 2) * sin(dLon / 2);
        val c = 2 * atan2(sqrt(a), sqrt(1 - a));
        val distance = R * c;
        return distance;
    }
}