| | |
| | | package cn.flightfeather.supervision.business.location |
| | | |
| | | import kotlin.math.PI |
| | | import kotlin.math.cos |
| | | import kotlin.math.sin |
| | | import kotlin.math.* |
| | | |
| | | object CoordinateUtil { |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | | } |