Public/Measure-AllegisDistanceInKmBetweenEarthCoordinates.ps1
1 2 3 4 5 6 7 8 9 10 11 |
function Measure-AllegisDistanceInKmBetweenEarthCoordinates($lat1, $lon1, $lat2, $lon2) { $earthRadiusKm = 6371; $dLat = Convert-AllegisDegreesToRadians($lat2-$lat1); $dLon = Convert-AllegisDegreesToRadians($lon2-$lon1); $lat1 = Convert-AllegisDegreesToRadians($lat1); $lat2 = Convert-AllegisDegreesToRadians($lat2); $a = [Math]::Sin($dLat/2) * [Math]::sin($dLat/2) + [Math]::sin($dLon/2) * [Math]::sin($dLon/2) * [Math]::cos($lat1) * [Math]::cos($lat2); $c = 2 * [Math]::atan2([Math]::sqrt($a), [Math]::sqrt(1-$a)); return $earthRadiusKm * $c; } |