#1 Mon 03 December 2007 12:06
- Tiassma
- Participant occasionnel
- Date d'inscription: 4 Dec 2006
- Messages: 39
buffer sous mapserver postgresql/postgis
Bonjour,
J'ai développé une petite application webmapping sous Mapserver, php, postgresql-postgis. J'aimerai pouvoir selectionner des objets situés à moins de x distance d'un clic de l'utilisateur. Je pensais creer un point à partir du clic, générer des buffer à la volée puis sélectionner les entités contenues dans chacun des buffer crées.
Visiblement, ce n'est pas si simple. J''ai l'impresion qu'il faut creer les buffer sous postgis.
Qu'en penser, j'éspère vos points de vue sur cette question.
merci d'avance.
Hors ligne
#2 Mon 03 December 2007 14:27
- Guillaume Sueur
- Participant assidu
- Lieu: Toulouse
- Date d'inscription: 23 Sep 2005
- Messages: 331
- Site web
Re: buffer sous mapserver postgresql/postgis
Normalement il y a plus simple :
en utilisant le queryByPoint de mapscript, tu as déjà ces
fonctionnalités, dont les paramètres sont les attributs TOLERANCE et
TOLERANCEUNITS du bloc LAYER)
Ainsi, si tu choisis 10 et METERS, la recherche se fera dans un rayon de
10 mètres autour du point
avec 5 et PIXELS, ce sont 5 PIXELS qui seront utilisés (très pratique
car la marge de tolerance est ainsi indépendante de l'échelle d'affichage.)
si tu veux laisser à l'utilisateur paramétrer sa recherche, tu peux
aussi très bien intégrer ces valeurs dans un formulaire et les poster en
même temps que le clic sur la carte, pusi mettre à jour côté serveur :
$pLayer->set('tolerance',$toleranceValue);
$pLayer->set('toleranceunits',$toleranceUnits);
et ne faire qu'ensuite le queryByPoint bien évidemment ;-)
Bonne chance !
Guillaume
Hors ligne
#3 Mon 03 December 2007 14:40
- Tiassma
- Participant occasionnel
- Date d'inscription: 4 Dec 2006
- Messages: 39
Re: buffer sous mapserver postgresql/postgis
Je me disais bien que j'avais déjà croisé le moyen de requeter par buffer tranquille...j'en ai profité pour creuser les shapeObj...
Merci Guillaume!!
Hors ligne