Annonce
Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).
En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.
#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