« HaversineBox (rtl) » : différence entre les versions
(Page créée avec « {{latest}} <source lang='delphi'>procedure haversineBox(lat,long,distance:Double; var latmin,latmax,longmin,longmax:double);</source> Cette fonction calcule la boite engl... ») |
m (Remplacement du texte — « category:Latest » par « Category:Version700 ») |
||
(3 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
{{ | {{Version700}} | ||
<source lang='delphi'>procedure haversineBox(lat,long,distance:Double; var latmin,latmax,longmin,longmax:double);</source> | <source lang='delphi'>procedure haversineBox(lat,long,distance:Double; var latmin,latmax,longmin,longmax:double);</source> | ||
Ligne 28 : | Ligne 28 : | ||
longmax := long+dd; | longmax := long+dd; | ||
end; | end; | ||
</source> | |||
<source lang='delphi'> | |||
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; | |||
</source> | </source> | ||
Ligne 37 : | 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
{{#images:version700-32x32.png|stock}} <source lang='delphi'>procedure haversineBox(lat,long,distance:Double; var latmin,latmax,longmin,longmax:double);</source>
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 :
<source lang='delphi'> 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; </source>
<source lang='delphi'> 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; </source>
Voir aussi:
{{#if:Développement DSM|
{{#if:Développement DSM|— Développement DSM |}} — Développement DSM —
|
{{#if:|— [[{{{1}}}]] |}} — Développement DSM —
}}