#1 Tue 16 December 2014 11:03
- jleplus9
- Participant occasionnel
- Date d'inscription: 5 Feb 2013
- Messages: 11
QGIS 2.6 + PyQgis : fusion d'élément
Bonjour à tous!
Je suis débutant en Pyqgis et j'aimerai faire un petit script qui pourra m'aider (enfin je l'espère)
J’ai beaucoup de Shape avec beaucoup de polygones (entre 50 000 et 100 000 polygones, pour certaines couches, ça peut monter jusqu’à 300 000 ...) et il faut que je fusionne tout ça en 1 polygone.
J'ai remarqué que sur mon ordinateur, il me faut 25 min pour fusionner 2 000 polygones avec le bouton fusion de Qgis alors qu'il m'en faut 5 pour fusionner 2 fois 1000 polygones et les re-fusionner ensuite.
Je pense donc faire un programme en python pour fusionner toute ma couche 1000 polygones par 1000 polygones jusqu’à ce qu'il ne m'en reste plus qu'un seul. En théorie, cette manip donc être beaucoup plus rapide que de fusionner mes 50 000 polygones d'un coup avec le bouton Qgis
J'ai donc commencé par faire un petit code test pour juste fusionner tous les éléments d'une couche (environ 100 polygones pour commencer):
Code:
layer=qgis.utils.iface.activeLayer() geomcoupe = QgsGeometry.fromWkt('GEOMETRYCOLLECTION EMPTY') for elem in layer.getFeatures(): geomcoupe = geomcoupe.combine(elem.geometry())
Il marche très bien, j'ai vérifié en calculant l'aire et j'ai le bon résultat. Seulement voilà, je ne sais pas comment visualiser sous Qgis ni comment l'exporter en Shape ou encore le garder dans le script pour le réutiliser plus tard et faire une nouvelle fusion
Si vous avez des idées je suis preneur!
Merci d'avance!
Hors ligne