Existe-t-il une fonction automatique dans QGIS pour regrouper tous les fichiers d’un projet en vue de leur transférabilité?

35

Dans mon projet, j'utilise beaucoup de géodonnées de différents répertoires. Maintenant, je veux donner le projet QGIS à un collègue (par exemple sur un CD).

Est-il possible de copier automatiquement les formes de différents répertoires dans un seul répertoire?

Hendrik Pehlke
la source
1
Depuis le 05-02-2016, le plugin QConsolidate fonctionne correctement avec les fichiers de formes, les rasters tif et les couvertures (!) Arc. Toutefois, les classes d'entités de géodatabase fichier (en tant que points) ne sont pas copiées dans le dossier de sortie.
Stu Smith

Réponses:

44

Vous recherchez le plugin QConsolidate , qui fonctionne très bien. Il transfère tout dans un seul répertoire et réécrit le fichier de projet .QGS (un fichier XML) pour qu'il pointe vers les nouveaux emplacements source.


QConsolidate est toujours répertorié en tant qu'expérimental - vous devez activer "Afficher également les plugins expérimentaux" dans la boîte de dialogue des paramètres.

Cependant - cela fonctionne très bien. Remarques:

  • Vous devez avoir enregistré le projet sur lequel vous travaillez avant de tenter de le consolider ailleurs;
  • Le format de sortie sera le fichier de projet (.QGS), avec un dossier appelé "couches" qui (surprise!) Contient les couches;
  • QConsolidate convertira les couches de base de données en fichiers de formes et réécrira le fichier de projet pour faire référence au nouveau fichier de formes.
  • Bien que vous souhaitiez souvent partager le projet consolidé sur un lecteur externe / externe, sauvegardez-le d'abord sur un disque dur local, car les nombreuses opérations d'écriture effectuées ralentiront considérablement les choses si vous essayez de consolider directement sur un support lent.
Simbamangu
la source
Merci beaucoup. QConsolidate est exactement ce que je cherchais.
Hendrik Pehlke
1
Juste cherché une réponse pour le même problème. Je suppose qu'avec les plugins Qconsolidate et relocator, le sujet peut être vu comme une réponse. MAIS: J'espère vraiment que le développement du relocateur reprend car QConsolidate semble presque mort :( Pas un seul commit en 2 ans sur la page du github.
martin
20

Je viens de tester les trois plugins qui tentent de faire ce que vous demandez sur un fichier de projet avec une gamme de formats basés sur des fichiers. Voici les résultats:

Les plugins testés étaient:

  • QConsolidate 0.2.1
  • QPackage 1.3
  • Relocateur 0.9

Les tests ont été exécutés sur QGIS 2.18.14 64 bits sur Windows 10

Les trois plugins ont géré les fichiers de formes sans problème, ont déplacé les données dans le répertoire cible et créé un projet référençant les copies locales des jeux de données.

QConsolidez

  • FileGDB: non copié ni traduit (perte de données). Le fichier de projet fait toujours référence à la couche
  • Spatialite: traduit en SHP
  • Geopackage: copié sans traduction
  • GeoTiff: copié intact

QPackage

  • FileGDB: traduit en SHP
  • Spatialite: traduit en SHP
  • Geopackage: traduit en SHP
  • GeoTiff: copié intact

relocateur

  • FileGDB: traduit en SHP, chemin incorrect dans le fichier de projet
  • Spatialite: traduit en SHP, chemin incorrect dans le fichier de projet
  • Geopackage: traduit en SHP, chemin incorrect dans le fichier de projet
  • GeoTiff: copié intact

Sur les trois, QPackage semble fonctionner le mieux. Les connexions de base de données et les couches de service Web n'ont pas été testées.

Andy Harfoot
la source
Excellente réponse - pensait mettre à jour le mien de la même manière et a trouvé ceci. Quelle expérience avez-vous du fichier .QGS réécrit lui-même? Ma dernière expérience avec QConsolidate il y a quelque temps a été de fournir des répertoires de données et de fichiers QGS malformés.
Simbamangu
En toute honnêteté, je n'utilise pas les plugins, mais consignerais au besoin les modifications apportées à une copie du fichier QGS. Cette réponse reposait sur des tests effectués sur un client et qui, à mon avis, présenteraient un avantage plus large.
Andy Harfoot
J'ai utilisé QPackage et cela fonctionne plutôt bien. Je vais choisir une autre option mais je suis content de cette solution pour le moment ...
Paulo Martinho Le
6

Je ne connais pas de solution dans QGIS, mais le fichier de projet (.qgs) est simplement un fichier texte. Par conséquent, un moyen primitif mais efficace serait de tout copier manuellement dans un répertoire, puis de modifier les <datasource></datasource>balises dans le fichier .qgs en utilisant rechercher et remplacer ou une expression régulière pour pointer vers le nouveau répertoire.

Si vous avez beaucoup de fichiers / répertoires différents, une option serait de l’automatiser en python en recherchant chaque balise dans le fichier .qgs, en copiant chaque fichier associé avec ce nom dans un répertoire, puis en remplaçant le fichier .qgs. tag avec le nouveau répertoire.

Stev_k
la source
4

Il y a maintenant aussi le nouveau plugin relocateur . (marqué comme expérimental aussi bien en ce moment). Vous permet de sauvegarder toutes les couches avec le fichier de projet dans un répertoire ou même dans un fichier zip.

Bernd V.
la source