public static void Main()
Console.WriteLine("Космик сергиев посад " + DistanceLatLon(lat,lon,56.3396732805969, 38.1249354074097));
Console.WriteLine("Муссон (Балашиха) " + DistanceLatLon(lat,lon,37.9605102539063,55.8186443577461));
Console.WriteLine("киноформат " + DistanceLatLon(lat,lon,0,0));
public static double DistanceLatLon(double lat1, double lon1, double lat2, double lon2)
double num = 0.017453292519943295;
double num2 = Cos(lat1 * num) * Cos(lon1 * num);
double num3 = Cos(lat1 * num) * Math.Sin(lon1 * num);
double num4 = Math.Sin(lat1 * num);
double num5 = Cos(lat2 * num) * Cos(lon2 * num);
double num6 = Cos(lat2 * num) * Math.Sin(lon2 * num);
double num7 = Math.Sin(lat2 * num);
return ((120.0 * (1.0 / num))
(((num2 - num5) * (num2 - num5)) + ((num3 - num6) * (num3 - num6))) + ((num4 - num7) * (num4 - num7)))
private static double Cos(double arg)
if (Math.Abs(arg - 1.5707963267948966) < 1E-15)