#1 Thu 24 August 2006 22:34
[mapserver] calcul de distance
Bonjour,
je suis encore débutant, mais j'essaie de créer un petit outil pour calculer des distances pour mon application mapserver. Il s'agit plus précisement d'une fonction php utilisant la méthode distanceToPoint de php mapscript.
Mes cartes utilisant principalement des coordonnées longitude et latitude, je procéde à une reprojection des points avant d'utiliser la méthode citée ci-dessus.
Code:
function distance2point($points){ $measure_distance = 0; for ($i=0; $i<count($points)-1; $i++){ $x1 = $points[$i][0]; $y1 = $points[$i][1]; $x2 = $points[$i+1][0]; $y2 = $points[$i+1][1]; $p1 = ms_newPointObj(); $p1->setXY($x1,$y1); $p1->project(ms_newprojectionobj("init=epsg:4326"),ms_newprojectionobj("init=epsg:26971")); $p2 = ms_newPointObj(); $p2->setXY($x2,$y2); $p2->project(ms_newprojectionobj("init=epsg:4326"),ms_newprojectionobj("init=epsg:26971")); $distance = $p1->distanceToPoint($p2); $p1->free(); $p2->free(); $distance = $distance /1000; $measure_distance += round($distance,2); } return $measure_distance; }
sachant que le tableau $point se présente ainsi :
[0] => Array (-83.892,10.832 )
[1] => Array (-77.436,11.432 )
ça fonctionne bien pour la zone dans laquelle je me trouve (à savoir panama) mais par contre si je m'éloigne, les résultats sont complétements faux.
Je pense que le problème vient des codes espg, mais j'avoue ne pas être à l'aise avec ces codes, ne pas bien savoir lesquels utiliser et même ne plus me souvenir où j'ai trouvé celui que j'utilise actuellement pour la reprojection (26971).
Comment savoir donc quel code utilisé en fonction de la zone visualisée par l'utilisateur?
Merci pour vos conseils,
Julien
Julien
---------------------------------------------------------------
http://ouceqte.free.fr | http://mapserver.stri.si.edu
Hors ligne
#2 Fri 01 September 2006 22:26
Re: [mapserver] calcul de distance
Bon, permettez moi de reformuler et peut être de clarifier ce que je cherche à savoir :-)
En fait ma question se résume à : comment fait-on pour projeter des données de latitude / longitude vers UTM? De quelles informations a-t-on besoin?
Merci d'avance,
Julien
Julien
---------------------------------------------------------------
http://ouceqte.free.fr | http://mapserver.stri.si.edu
Hors ligne