Haversine (rtl)
De Wiki1000
(Différences entre les versions)
m (Remplacement du texte — « category:Latest » par « Category:Version700 ») |
|||
(3 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 1 : | Ligne 1 : | ||
− | {{ | + | {{Version700}} |
<source lang='delphi'>Function haversine(lat1,long1,lat2,long2):double;</source> | <source lang='delphi'>Function haversine(lat1,long1,lat2,long2):double;</source> | ||
Ligne 43 : | Ligne 43 : | ||
{{Footer|Développement DSM}} | {{Footer|Développement DSM}} | ||
[[category:RTL Conversion]] | [[category:RTL Conversion]] | ||
− | [[ | + | [[Category:TGeolocation]] |
+ | [[Category:Version700]] |
Version actuelle en date du 13 janvier 2015 à 11:15
Function haversine(lat1,long1,lat2,long2):double;
Cette fonction calcule la distance en kilomètre entre deux coordonnées de lieu exprimés en degré.
Result | La distance en KM entre les deux coordonnées. |
lat1,long1 | Le premier jeu de coordonné. |
lat2,long2 | Le second jeu de coordonné. |
Pseudo code :
const cEarthRadiusKM = 6371.0009; function haversine(lat1,long1,lat2,long2:Double; E:double=cEarthRadiusKM):double; var slon,slat,a,c:Double; begin lat1 := degToRad(lat1); long1 := degToRad(long1); lat2 := degToRad(lat2); long2 := degToRad(long2); // slon := sin((long2 - long1)/2); slat := sin((lat2 - lat1)/2); a := slat*slat + cos(lat1)*cos(lat2) * slon*slon; c := 2 * arctan2( sqrt(a), sqrt(1-a) ); Result := E * c; end;
Voir aussi: