« HaversineBox (rtl) » : différence entre les versions
Aucun résumé des modifications |
m (Remplacement du texte — « category:Latest » par « Category:Version700 ») |
||
| Ligne 44 : | Ligne 44 : | ||
{{Footer|Développement DSM}} | {{Footer|Développement DSM}} | ||
[[category:RTL Conversion]] | [[category:RTL Conversion]] | ||
[[ | [[Category:Version700]] | ||
Dernière version du 13 janvier 2015 à 10:15
procedure haversineBox(lat,long,distance:Double; var latmin,latmax,longmin,longmax:double);
Cette fonction calcule la boite englobante d'une position de taille exprimée en kilomètre.
| lat,long | Le jeu de coordonné au centre de la boite |
| latmin,latmax,longmin,longmax | Les coordonnées min et max de la boite. |
Pseudo code :
const cEarthRadiusKM = 6371.0009;
procedure haversineBox(lat,long,distance:Double; var latmin,latmax,longmin,longmax:Double; E:double=cEarthRadiusKM);
var dd:Double;
begin
dd := RadToDeg(distance/E);
latmin := lat-dd;
latmax := lat+dd;
dd := RadToDeg(distance/E/cos(degTorad(lat)));
longmin := long-dd;
longmax := long+dd;
end;
var latmin,latmax,longmin,longmax:double;
begin
haversineBox(38.897147,-77.043934,0.5,latmin,latmax,longmin,longmax);
showMessage(Format('latmin:%0.4f latmax:%0.4f longmin:%0.4f longmax:%0.4f',[latmin,latmax,longmin,longmax]));
end;
Voir aussi: