Evo kod u C# koji ja koristim, a koji računa distancu izmedju dve tačke zadate geografskim dužinama i širinama:
Code:
public static double Deg2Rad(double deg)
{
return ((deg / 180) * Math.PI);
}
public static double Distance(double lon1, double lat1, double lon2, double lat2)
{
lon1 = GpsUtilities.Deg2Rad(lon1);
lon2 = GpsUtilities.Deg2Rad(lon2);
lat1 = GpsUtilities.Deg2Rad(lat1);
lat2 = GpsUtilities.Deg2Rad(lat2);
double num = lon1 - lon2;
double num2 = lat1 - lat2;
double num3 = Math.Sin(num / 2);
double d = (Math.Sin(num2 / 2) * Math.Sin(num2 / 2)) + (((Math.Cos(lat1) * Math.Cos(lat2)) * num3) * num3);
double num5 = 2 * Math.Atan2(Math.Sqrt(d), Math.Sqrt(1 - d));
double num6 = 6366.707 * num5;
return Math.Abs(num6) * 1000;
}
Ovo 6366.707 je poluprečnik Zemlje.