Calculer la distance entre deux points en .Net avec la formule de Haversine
Voici une méthode écrite en c# permettant de calculer la distance entre 2 coordonnées (latitude / longitude). Résulat en kilometres.
Idéal pour la géolocalisation mobile.
(Pour les fans de maths : http://en.wikipedia.org/wiki/Haversine_formula)
///<summary> /// Get distance between 2 points in kilometers ///</summary> ///<param name="latitudePointA">Latitute point A</param> ///<param name="longitudePointA">Longitute point A</param> ///<param name="latitudePointB">Latitude point B</param> ///<param name="longitudePointB">Longitude point B</param> ///<returns>The distance</returns> public static double GetDistanceBetween(double latitudePointA, double longitudePointA, double latitudePointB, double longitudePointB) { double dDistance = Double.MinValue; // Convert coordinates to radians double dLatAInRad = latitudePointA * (Math.PI / 180.0); double dLongAInRad = longitudePointA * (Math.PI / 180.0); double dLatBInRad = latitudePointB * (Math.PI / 180.0); double dLongBInRad = longitudePointB * (Math.PI / 180.0); double dLongitude = dLongBInRad - dLongAInRad; double dLatitude = dLatBInRad - dLatAInRad; // Intermediate result a. double a = Math.Pow(Math.Sin(dLatitude / 2.0), 2.0) +...