с помощью функции, приведенной ниже, я вычисляю расстояние между двумя сухопутными точками, передавая широту (а), широту (b), долготу (а), долготу (b) и выполняя вычисления в километрах по формуле, приведенной ниже, норезультат не верный, как я могу это решить?
Код C #:
public static double CalcoloDistinzaFra2PuntiTerrestri(double LatA, double LonA, double LatB, double LonB)
{
double tot = 0;
const double R = 6371;
const double pigreco = 3.1415927;
double lat_alfa, lat_beta;
double lon_alfa, lon_beta;
double fi, p;
lat_alfa = pigreco * LatA / 180;
lat_beta = pigreco * LatB / 180;
lon_alfa = pigreco * LonA / 180;
lon_beta = pigreco * LonB / 180;
fi = Math.Abs(lon_alfa - lon_beta);
p = Math.Acos(Sin(lat_beta) * Sin(lat_alfa) + Cos(lat_beta) * Cos(lat_alfa) * Cos(fi));
tot = p * R;
return tot;
}