#1 Sun 18 May 2014 14:44
- B.Abdelmalek
- Participant occasionnel
- Date d'inscription: 24 Apr 2014
- Messages: 29
QGIS 2.2 : Recherche polygones par zone tampon (buffer)
Bonjour tout le monde;
Je travaille sous QGIS 2.2.
J'ai un fichier de polygones. J'aimerai développer un plugin en python permettant de créer un buffer autour d'un polygone sélectionné et chercher les autres polygones à l'intérieur du buffer créé répondant à certaines critères. La distance du buffer doit être spécifié par l'utilisateur via une interface.
Votre aide SVP.
Hors ligne
#2 Mon 19 May 2014 09:20
- SANTANNA
- Moderateur
- Lieu: Angers
- Date d'inscription: 18 Jan 2008
- Messages: 3933
Re: QGIS 2.2 : Recherche polygones par zone tampon (buffer)
Bonjour,
Pour créer un plugin, vous avez le plugin "Plugin Builder" (disponible via le menu Extensions) qui peut vous aider à structurer les fichiers et vous pouvez vous inspirer des codes des fonctions déjà existantes dans QGIS pour mettre l'outil à votre sauce. Il vous faudra écrire en Python et peut-être connaitre un brin de Qt.
sinon, il y a aussi l'option de créer un module avec le modeleur graphique du menu Traitements. Les outils de création de buffer et de sélection d'entités par localisation existent déjà; il y a à mon avis moins de travail à faire de ce côté (sauf si l'interface ne vous convient vraiment pas). un peu de lecture par ici
Hors ligne
#3 Mon 19 May 2014 10:47
- B.Abdelmalek
- Participant occasionnel
- Date d'inscription: 24 Apr 2014
- Messages: 29
Re: QGIS 2.2 : Recherche polygones par zone tampon (buffer)
Merci SANTANNA pour votre réaction;
En fait, j'ai déjà créé le plugin et personnalisé mon interface avec comme première fonction la recherche, la sélection et le zoom d'un polygone selon une valeur entrée par l'utilisateur.
L'utilité de buffer est de définir une zone de recherche. La question qui se pose,
1-Est ce que je devrai créer un fichier .shp qui vas contenir les buffers (autant de features que nombre de recherche) ou bien utiliser le buffer juste comme variable?
2-la fonction en python qui permet de chercher les polygones à l'intérieur du buffer (entité physique ou variable)?
Merci!
Hors ligne
#4 Tue 20 May 2014 03:35
- Leyan
- Participant assidu
- Date d'inscription: 14 Oct 2013
- Messages: 160
Re: QGIS 2.2 : Recherche polygones par zone tampon (buffer)
Si tu ne souhaites pas conserver le buffer à la fin, tu peux regarder du côté des couches mémoire.
Pour chercher un polygon à l'intérieur d'un autre, tu as différentes fonctions de QgsGeometry, par exemple: overlaps ou within. Si tu as beaucoup d'éléments, le mieux est d'utiliser le spatial index.
Hors ligne
#5 Tue 20 May 2014 10:24
- B.Abdelmalek
- Participant occasionnel
- Date d'inscription: 24 Apr 2014
- Messages: 29
Re: QGIS 2.2 : Recherche polygones par zone tampon (buffer)
Merci bien Leyan;
J'ajoute une autre solution, que je viens de trouvé, c'est l'utilisation de la méthode .distance() : QgsGeometry.distance(QgsGeometry) sans passer par le buffer.
Chercher les entités à l'intérieur du buffer de 100m, revient à chercher les entités à distance inférieure à 100m.
Hors ligne