Suite

Exporter un fichier de formes à l'aide de PyQGIS

Exporter un fichier de formes à l'aide de PyQGIS


J'essaie d'exporter l'entité sélectionnée à l'aide de PyQGIS.

Jusqu'à présent, j'ai essayé ces codes. Après avoir utilisé cela, je peux sélectionner la fonctionnalité mais je ne sais pas comment exporter la fonctionnalité sélectionnée vers un nouveau fichier de formes.

canvas = iface.mapCanvas() AllLayers = canvas.layers() pour i dans AllLayers : it = i.getFeatures(QgsFeatureRequest().setFilterExpression(u'"Country" = 'India")) i.setSelectedFeatures([f .id() pour f dedans]) print "Filtre appliqué"

J'ai essayé ce code : mais il s'agit simplement de créer un double du fichier source (je n'ai besoin que de sélectionner)

_writer = QgsVectorFileWriter.writeAsVectorFormat(i, r"C:UsersXYZDesktopNewFile.shp", "utf-8", None, "ESRI Shapefile")

Si quelqu'un sait comment exporter un fichier de formes à l'aide de PyQGIS ?


Comme le suggère Luigi, vous pouvez jeter un œil à la documentation de l'API, en particulier à QgsVectorFileWriter::writeAsVectorFormat, et vous rendre compte qu'il ne vous manque qu'un paramètre (de la documentation) :

bool onlySelected = false,

Il dit que le paramètreuniquementSélectionnéest de type booléen et est faux par défaut. Ce paramètre se trouve juste après le nom du pilote. Donc, en appelant la fonction de cette façon :

_writer = QgsVectorFileWriter.writeAsVectorFormat(i,r"C:UsersXYZDesktopNewFile.shp","utf-8",None,"ESRI Shapefile", True)

exportera uniquement les entités sélectionnées de votre couche.


Voir la vidéo: Basic QGIS Tutorial - Open some Shapefile layers and a Project