Esempio n. 1
0
 /// <summary>
 /// Calcule la distance entre 2 coordonées géographique
 /// </summary>
 /// <param name="latitude1">Latitude du point 1</param>
 /// <param name="longitude1">Longitude du point 1</param>
 /// <param name="latitude2">Latitude du point 2</param>
 /// <param name="longitude2">Longitude du point 2</param>
 /// <param name="units">Unité de conversion de retrour</param>
 /// <returns>Distance</returns>
 public static double distanceBetweenTwoGeoCodes(double latitude1, double longitude1, double latitude2, double longitude2, GeoMetrics units)
 {
     double distance = rad2deg(Math.Acos(Math.Sin(deg2rad(latitude1)) * Math.Sin(deg2rad(latitude2)) + Math.Cos(deg2rad(latitude1)) * Math.Cos(deg2rad(latitude2)) * Math.Cos(deg2rad(longitude1 - longitude2))));
     distance = distance * 60 * 1.1515;
     switch(units)
     {
         case GeoMetrics.kilometers: return (distance * 1.609344);
         case GeoMetrics.nautical_miles: return (distance * 0.8684);
         default: return distance;
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Calcule la distance entre 2 coordonées géographique
        /// </summary>
        /// <param name="latitude1">Latitude du point 1</param>
        /// <param name="longitude1">Longitude du point 1</param>
        /// <param name="latitude2">Latitude du point 2</param>
        /// <param name="longitude2">Longitude du point 2</param>
        /// <param name="units">Unité de conversion de retrour</param>
        /// <returns>Distance</returns>
        public static double distanceBetweenTwoGeoCodes(double latitude1, double longitude1, double latitude2, double longitude2, GeoMetrics units)
        {
            double distance = rad2deg(Math.Acos(Math.Sin(deg2rad(latitude1)) * Math.Sin(deg2rad(latitude2)) + Math.Cos(deg2rad(latitude1)) * Math.Cos(deg2rad(latitude2)) * Math.Cos(deg2rad(longitude1 - longitude2))));

            distance = distance * 60 * 1.1515;
            switch (units)
            {
            case GeoMetrics.kilometers: return(distance * 1.609344);

            case GeoMetrics.nautical_miles: return(distance * 0.8684);

            default: return(distance);
            }
        }