#1 Tue 09 January 2024 14:40
- AdrienRR
- Juste Inscrit !
- Date d'inscription: 9 Jan 2024
- Messages: 3
QGIS: automatisation export N couches vecteurs
Bonjour,
Je suis totalement nouveau sur les automatisation par modèle et encore plus par python sur QGIS.
J'aimerais arriver à exporter plusieurs couches vecteur en une seul fois. L'exportation n'étant pas un traitement de la boite à outils, je ne peux donc pas l'appliquer avec les modèles.
J'ai essayé aussi de faire une reprojection vers le même système projection (histoire de ne rien changer) mais il semblerait que cela ne remplisse pas tout à fait le rôle d'exportation (impossibilité d'exporter en format ESRI Shape).
Merci de votre aide !
Dernière modification par AdrienRR (Tue 09 January 2024 16:02)
Hors ligne
#2 Tue 09 January 2024 14:41
- Patrice
- JeSuisCharlie
- Date d'inscription: 16 Sep 2005
- Messages: 4793
Re: QGIS: automatisation export N couches vecteurs
Hello
Est ce que l on parle de QGIS ? ou de ArcGIS ? ou ??
Votre sujet sera transfere sur le BON Forum !
Merci, GeoBye, Pat
(Autodesk Expert Elite Team)
Hors ligne
#3 Tue 09 January 2024 16:03
- AdrienRR
- Juste Inscrit !
- Date d'inscription: 9 Jan 2024
- Messages: 3
Re: QGIS: automatisation export N couches vecteurs
Hello
Est ce que l on parle de QGIS ? ou de ArcGIS ? ou ??
Votre sujet sera transfere sur le BON Forum !
Merci, GeoBye, Pat
Oups oui désolé ! j'ai modifié dans la question, il s'agit de Qgis !
Dernière modification par AdrienRR (Tue 09 January 2024 16:03)
Hors ligne
#4 Tue 09 January 2024 16:42
- triird
- Participant occasionnel
- Date d'inscription: 13 Jan 2022
- Messages: 18
Re: QGIS: automatisation export N couches vecteurs
Bonjour,
Depuis la console python de Qgis 3.28
ça marche, après il y a surement un code plus simple
#### EXPORT en SHP d'une couche depuis projet Qgis : (dans console python)
from qgis.core import QgsVectorFileWriter
from qgis.core import QgsVectorFileWriter
from qgis import *
from qgis.core import *
from qgis.gui import *
layer = QgsProject.instance().mapLayersByName("NOM_DE_LA_COUCHE")[0]
writer = QgsVectorFileWriter.writeAsVectorFormat(layer, "CHEMIN/NOM_DE_LA_COUCHE.shp", "UTF-8", layer.crs(), "ESRI Shapefile")
Théo
Hors ligne
#5 Tue 09 January 2024 16:48
- AdrienRR
- Juste Inscrit !
- Date d'inscription: 9 Jan 2024
- Messages: 3
Re: QGIS: automatisation export N couches vecteurs
Bonjour,
Depuis la console python de Qgis 3.28
ça marche, après il y a surement un code plus simple
#### EXPORT en SHP d'une couche depuis projet Qgis : (dans console python)
from qgis.core import QgsVectorFileWriter
from qgis.core import QgsVectorFileWriter
from qgis import *
from qgis.core import *
from qgis.gui import *
layer = QgsProject.instance().mapLayersByName("NOM_DE_LA_COUCHE")[0]
writer = QgsVectorFileWriter.writeAsVectorFormat(layer, "CHEMIN/NOM_DE_LA_COUCHE.shp", "UTF-8", layer.crs(), "ESRI Shapefile")
Théo
Merci, pour la réponse, mais ceci n'est que pour exporter une seule couche, si je veux en exporter 50 d'un coup toute avec des nom différents (et heureusement ! ) comment faire ?
Merci,
Hors ligne
#6 Wed 10 January 2024 11:43
- triird
- Participant occasionnel
- Date d'inscription: 13 Jan 2022
- Messages: 18
Re: QGIS: automatisation export N couches vecteurs
Je pense qu'il y a surement un autre solution, mais je démultiplie les lignes comme ceci est ça marche :
#### EXPORT en SHP d'une couche depuis projet Qgis : (dans console python)
from qgis.core import QgsVectorFileWriter
from qgis.core import QgsVectorFileWriter
from qgis import *
from qgis.core import *
from qgis.gui import *
layer = QgsProject.instance().mapLayersByName("NOM_DE_LA_COUCHE_1")[0]
writer = QgsVectorFileWriter.writeAsVectorFormat(layer, "CHEMIN/NOM_DE_LA_COUCHE_1.shp", "UTF-8", layer.crs(), "ESRI Shapefile")
layer = QgsProject.instance().mapLayersByName("NOM_DE_LA_COUCHE_2")[0]
writer = QgsVectorFileWriter.writeAsVectorFormat(layer, "CHEMIN/NOM_DE_LA_COUCHE_2.shp", "UTF-8", layer.crs(), "ESRI Shapefile")
layer = QgsProject.instance().mapLayersByName("NOM_DE_LA_COUCHE_3")[0]
writer = QgsVectorFileWriter.writeAsVectorFormat(layer, "CHEMIN/NOM_DE_LA_COUCHE_3.shp", "UTF-8", layer.crs(), "ESRI Shapefile")
Sinon j'ai trouvé ça à tester :
https://gis.stackexchange.com/questions … ct-for-tra
Théo
Hors ligne