You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Seekers/Helpers/GeoHelper.cs

28 lines
837 B

using System;
namespace Justice.Helpers
{
public static class GeoHelper
{
public static double CalculateDistance(double lat1, double lon1, double lat2, double lon2)
{
const double EarthRadiusKm = 6371;
double dLat = DegreesToRadians(lat2 - lat1);
double dLon = DegreesToRadians(lon2 - lon1);
double a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) +
Math.Cos(DegreesToRadians(lat1)) * Math.Cos(DegreesToRadians(lat2)) *
Math.Sin(dLon / 2) * Math.Sin(dLon / 2);
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
return EarthRadiusKm * c;
}
private static double DegreesToRadians(double degrees)
{
return degrees * Math.PI / 180;
}
}
}