banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

State Of The Map 2024

#1 Tue 05 April 2016 16:59

world citizen
Participant occasionnel
Date d'inscription: 29 Nov 2013
Messages: 21

QGIS : Reprojeter toutes couches shp d'un dossier

Bonjour,

J'aimerais reprojeter toutes les couches shp d'un dossier du Lambert II étendu vers le L93. Mais, vu que l'opération se répétera couramment dans l'organisation, je souhaiterais automatisé l'opération. Il n’y a pas à ma connaissance une méthode sous QGIS qui permet de projeter tous les éléments d'un dossier. Je m'oriente donc vers PyQGIS pour le faire. Le hic c'est que je suis un débutant en PyGIS. Je pourais le faire en ArcPY mais les contrainte technique ne me le permet pas. Y'a t-il l’équivalent de la bibliothèque Arcpy avec qgis? Je m'en sortirai avec l'algorithme. Mais ça sera sympa si vous pouvez m'aider à avoir des fonctions qui me permettrons de faire travail. Avec Arcpy par exemple j'aurais par exemple besoin de la fonction projection_management() dont je n'arrive pas à trouver l'équivalent pour PyQGIS.

Merci d'avance

Hors ligne

 

#2 Tue 05 April 2016 17:13

Dof
Participant assidu
Lieu: Grenoble
Date d'inscription: 28 Oct 2009
Messages: 317
Site web

Re: QGIS : Reprojeter toutes couches shp d'un dossier

Bonjour,
Ogr2ogr permet de le faire par lot. On peut y avoir accès vià OSGEO4W installé avec Qgis
http://www.gdal.org/ogr2ogr.html

avec l'argument : -t_srs

Edit :
Exemple : convertir les .shp qui sont à la racine du dossier en epsg:2154 dans le dossier "2154"
FOR %F in (*.shp) DO ogr2ogr  -t_srs EPSG:2154  "2154/%F" "%F"

Dernière modification par Dof (Tue 05 April 2016 17:39)

Hors ligne

 

#3 Tue 05 April 2016 17:33

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3822

Re: QGIS : Reprojeter toutes couches shp d'un dossier

Bonjour,
Il me semble que la boîte à outils du menu Traitement de QGIS propose des algorithmes de reprojection, et que chaque algo possède une option d'exécution par lots qui fonctionne sur un dossier (ou en tout cas, plusieurs fichiers sélectionnés). A tester.

Dernière modification par SANTANNA (Tue 05 April 2016 17:33)

Hors ligne

 

#4 Tue 05 April 2016 17:51

J.San José
Participant occasionnel
Date d'inscription: 7 Sep 2015
Messages: 14

Re: QGIS : Reprojeter toutes couches shp d'un dossier

Bonjour,

l'extension Qpackage peut résoudre votre problème. Elle permet d'exporter toutes vos couches ou seulement celles que vous souhaitez dans votre projet, ainsi que votre projet en lui-même. Il suffit de sélectionner le SCR voulu avant d'exporter.
Au préalable, il faut que vous ayez déjà utilisé dans votre projet le SCR voulu pour qu'il apparaisse dans la liste déroulante.

Hors ligne

 

#5 Wed 06 April 2016 16:02

world citizen
Participant occasionnel
Date d'inscription: 29 Nov 2013
Messages: 21

Re: QGIS : Reprojeter toutes couches shp d'un dossier

Dof a écrit:

Exemple : convertir les .shp qui sont à la racine du dossier en epsg:2154 dans le dossier "2154"
FOR %F in (*.shp) DO ogr2ogr  -t_srs EPSG:2154  "2154/%F" "%F"


J'ai esssayer cette approche qui m'a donné du fil à retordre vu que je maitrise pas le OGR.

Il me semble que la boîte à outils du menu Traitement de QGIS propose des algorithmes de reprojection, et que chaque algo possède une option d'exécution par lots qui fonctionne sur un dossier (ou en tout cas, plusieurs fichiers sélectionnés


Effectivement, mais cet outil nécessite l'ajout un à un de toutes les couches a reprojeter. comme je l'ai dit, c'est une opération répétitive et à chaque fois on a vu une centaine de couche à reprojeter. Donc elle n'est pas vraiment pratique.
Par contre la proposition de J.San José me convient très bien. 

Code:

l'extension Qpackage peut résoudre votre problème. Elle permet d'exporter toutes vos couches ou seulement celles que vous souhaitez dans votre projet, ainsi que votre projet en lui-même. Il suffit de sélectionner le SCR voulu avant d'exporter.
Au préalable, il faut que vous ayez déjà utilisé dans votre projet le SCR voulu pour qu'il apparaisse dans la liste déroulante.

il me suffit de désactiver la visibilité pour les couches ajouter dans le projet (pour gagner en temps), d'ajouter toutes les couches à reprojeter et d'utiliser l'extension. Je vais dans ce sens. Je vous tiens au courant du résultat.

Hors ligne

 

#6 Sun 10 April 2016 09:22

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3822

Re: QGIS : Reprojeter toutes couches shp d'un dossier

Bonjour,

world citizen a écrit:

Effectivement, mais cet outil nécessite l'ajout un à un de toutes les couches a reprojeter. comme je l'ai dit, c'est une opération répétitive et à chaque fois on a vu une centaine de couche à reprojeter. Donc elle n'est pas vraiment pratique.


L'avez-vous vraiment testée, cette option? Parce que moi, il me suffit une fois que le mode traitement par lots est activé de cliquer sur le sélectionneur de fichiers pour aller sélectionner le contenu de tout un dossier. Tous les fichiers sont alors ajoutés à la liste. Pour le paramétrage automatique des options, un double clic sur l'entête de colonne propage la variable de la première ligne. Je vous invite à lire docs.qgis.org/2.8/fr/docs/training_manual/processing/batch_conversion.html qui est plus détaillé/approprié que mon précédent lien.

Ps: il me semblait nécessaire d'apporter cette précision pour que les futurs lecteurs sachent que cette solution (devrait) fonctionne(r) aussi

Cordialement,
S.

Hors ligne

 

#7 Wed 13 April 2016 15:01

world citizen
Participant occasionnel
Date d'inscription: 29 Nov 2013
Messages: 21

Re: QGIS : Reprojeter toutes couches shp d'un dossier

Bonjour,
On peut effectivement le faire avec l'outil reprojeter en sélectionnant toutes les couches d'un dosssier. Mais le hic c'est qu'il faut selectionner à chaque le scr cible et le nom de la couche reprojeter. Avec Qpackage, il suffit de selectionner le dossier de sauvegarde et le scr cible. Il fait une copie reprojeté toutes les couches en gardant leur nom.

Hors ligne

 

#8 Thu 14 April 2016 00:25

SANTANNA
Moderateur
Lieu: Angers
Date d'inscription: 18 Jan 2008
Messages: 3822

Re: QGIS : Reprojeter toutes couches shp d'un dossier

Bonjour,

world citizen a écrit:

Mais le hic c'est qu'il faut selectionner à chaque le scr cible et le nom de la couche reprojeter.


Là encore, je ne suis pas d'accord. Comme précédemment dit et indiqué dans le tutoriel, il suffit de renseigner la première ligne et double-cliquer sur l'entête de colonne pour propager la valeur dans les lignes en-dessous.

Hors ligne

 

Pied de page des forums

Powered by FluxBB