Quantcast
Channel: Forum SIG - Systèmes d'Information Géographique et Géomatique
Viewing all articles
Browse latest Browse all 8030

[Autres] Supprimer feature Python/Qgis

$
0
0
Bonjour à tous,

Je reviens vers vous car je travaille depuis quelques jours à l'amélioration de mon plugin Qgis (vous trouverez la discussion et le code complet ici : http://www.forumsig.org/showthread.php?t=35267)

Que fait mon programme :

1)Je crée une nouvelle couche vectorielle à partir des données exif de photographies (via le plugin img2shape), j'obtiens donc 1 point par photo.

2) je selectionne ensuite manuellement les points désirés

3) je lance mon plugin, il me demande d'indiquer un repertoire de destination et lorsque je clique sur OK, copie/colle les photos dans le dossier choisi. (je me sers pour cela de la première colone des fichiers exifs contenant le filepath de l'image)


Voici mon run :

Code:

def run(self):
    dest2=str(self.dest)
    aLayer=qgis.utils.iface.activeLayer()
    selectfeat=aLayer.selectedFeatures()
   
    for features in aLayer.selectedFeatures():
                  attributs=features.attributeMap()
                  selection=attributs[0].toString()
                  selectionstr=str(selection)
                  shutil.copy(selectionstr,dest2)

Et mon problème :

Je souhaiterai maintenant une fois une photo déplacée, deux options :

_Soit supprimer le point correspondant (afin de ne pas le reselectionner une deuxième fois par erreur)

_Soit changer la couleur de ce point pour les mêmes raisons.


J'essaye du côté de deleteFeatures() mais cela ne fonctionne pas (ou je m'y prends mal)

D'après le cookbook (http://www.qgis.org/pyqgis-cookbook/...-vector-layers), ça donnes ceci :
Code:


if caps & QgsVectorDataProvider.DeleteFeatures:
  res = layer.dataProvider().deleteFeatures([ 5, 10 ])

Comment puis je intégrer quelque chose comme ça dans mon plugin?

Pardonnez mes questions de néophyte.

Viewing all articles
Browse latest Browse all 8030

Trending Articles