public static void Main()
Console.WriteLine(String.Format("A distancia entre as coordenadas {0},{1} e {2},{3} é: {4}", 36.12, -86.67, 33.94, -118.40, CalculaDistancia(36.12, -86.67, 33.94, -118.40)));
public static double CalculaDistancia(double lat1, double lon1, double lat2, double lon2) {
var dLat = toRadians(lat2 - lat1);
var dLon = toRadians(lon2 - lon1);
var a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) + Math.Sin(dLon / 2) * Math.Sin(dLon / 2) * Math.Cos(lat1) * Math.Cos(lat2);
var c = 2 * Math.Asin(Math.Sqrt(a));
public static double toRadians(double angle) {
return Math.PI * angle / 180.0;