Suite

Mettre le résultat de la sélection des parcelles dans le cadre de QGIS ?

Mettre le résultat de la sélection des parcelles dans le cadre de QGIS ?


J'ai créé un plugin pour QGIS dans pyQt. Ensuite, je peux faire une requête à partir d'une base de données PostGIS et j'obtiens le tracé ou le groupe ou les résultats des tracés de cette requête dans une couche. Cette couche est superposée sur le dessus d'une couche qui montre toutes les parcelles. Mais parfois, je n'obtiens qu'une seule des deux parcelles, et ils "perdent" entre plus de 5000 parcelles, alors j'aimerais mettre la parcelle ou le groupe de parcelles dans un cadre.

Une idée de comment je pourrais faire ça ?


Si vous souhaitez placer un cadre autour des tracés, vous pouvez utiliser l'étendue de la couche générée et la mettre en évidence avec un QgsRubberband.

Au lieu de cela, vous pouvez également explorer la possibilité d'ajuster le style du calque généré pour qu'il soit plus important que le style du calque de base. Par exemple. vous pouvez utiliser une bordure avec une largeur en pixels et une couleur bien visible pour qu'elle se démarque surtout à petite échelle. Cette approche peut également être combinée avec un style basé sur des règles qui peut augmenter la visibilité des parcelles sélectionnées à petite échelle et diminuer (par exemple avec une saturation réduite) la visibilité de la carte de base.


Eh bien, la meilleure solution pour moi a été de sélectionner tous les tracés de la nouvelle couche générée. Ensuite, zoomez sur l'étendue, et enfin, désélectionnez les tracés.

Ceci est l'extrait de code (avec self.vlayer comme couche résultante de ma requête):

self.vlayer.selectAll() extent = self.vlayer.extent() self.iface.mapCanvas().setExtent(extent) self.vlayer.removeSelection()

Voir la vidéo: 7-QGIS-Sélection attributaire