Esempio n. 1
0
        public static double CalcularDistancia(AEROPUERTO p1, AEROPUERTO p2)
        {
            double salida       = 0;
            double rad_per_grad = Math.PI / 180;
            double rkm          = 6371;

            double dLatitud_rad  = (p2.LATITUD - p1.LATITUD) * rad_per_grad;
            double dLongitud_rad = (p2.LONGITUD - p1.LONGITUD) * rad_per_grad;

            double latitud1_rad = p1.LATITUD * rad_per_grad;
            double latitud2_rad = p2.LATITUD * rad_per_grad;

            double sinDLatitud  = Math.Sin(dLatitud_rad / 2);
            double sinDLongitud = Math.Sin(dLongitud_rad / 2);

            double a = sinDLatitud * sinDLatitud +
                       Math.Cos(latitud1_rad) * Math.Cos(latitud2_rad) *
                       sinDLongitud * sinDLongitud;
            double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));

            return(rkm * c);
        }
Esempio n. 2
0
 public static int ValorFinal(AEROPUERTO p1, AEROPUERTO p2)
 {
     return(CalcularValor(CalcularCO2(CalcularDistancia(p1, p2))));
 }