Mise à jour des emplacements de fichiers dans les projets QGIS?


15

J'ai environ 30 fichiers de projet QGIS différents pour 30 clients différents. Chacun est enregistré sur mon ordinateur et tous leurs fichiers vectoriels et raster pertinents sont tous enregistrés localement.

Nous sommes en train de déménager nos bureaux et de mettre à niveau nos ordinateurs.

Par conséquent, je dois déplacer tous mes fichiers de mon ordinateur vers le lecteur réseau, détruisant ainsi toutes les références de fichiers précédentes.

Mis à part le fait de cliquer manuellement sur chaque fichier et de rechercher leur nouvel emplacement, existe-t-il un autre moyen de contourner cela.

(Chaque projet pourrait avoir quelques centaines de liens à mettre à jour)

Réponses:


20

Je ne sais pas quelle version de QGIS vous utilisez, mais dans v> 2.0.1, vous pouvez utiliser la boîte de dialogue "Gérer les couches incorrectes" comme ceci:

entrez la description de l'image ici

  1. Sélectionnez tous les calques dans le répertoire commun tout en maintenant la touche Ctrl
  2. Double-cliquez sur le dernier que vous avez sélectionné
  3. Réacheminez l'un des calques et sélectionnez Ouvrir
  4. Répétez le processus pour des répertoires supplémentaires

Cela mettra à jour les couches basées sur les fichiers par répertoire (pas les couches de base de données):

entrez la description de l'image ici


1
Merci de l'avoir signalé! Je cherchais une fonctionnalité comme celle-ci depuis que ArcGIS a ajouté l'option Réparer la source de données il y a quelques versions.
HeyOverThere

Je ne savais pas que vous pouviez mettre à jour plusieurs couches avec un répertoire commun à la fois. Merci!
SAnderka

À votre santé! cela semble être ce que je recherche. Je ne l'ai pas encore essayé mais le ferai aujourd'hui. si cela fonctionne, j'accepterai la réponse.
Ger

C'est bien mais il ne semble pas pouvoir fonctionner avec les géodatabases fichier car il ne veut qu'un fichier et non un répertoire. Comme test, j'ai essayé de voir si l'un des fichiers arcanes nommés gdb pouvait fonctionner mais après avoir essayé la plupart, j'ai abandonné.
johns

Cela ne semble pas fonctionner pour moi avec QGIS 3.2 sur macOS. J'ai essayé à la fois la touche de commande et la touche Maj pour sélectionner plusieurs fichiers, mais il ne semble pas modifier manuellement plusieurs fichiers lorsque je change un chemin.
Adam Stewart

19

Les fichiers de projet QGIS sont de simples fichiers texte. Vous pouvez rechercher et remplacer le contenu avec n'importe quel éditeur de texte.

Cherchez simplement comment les fichiers sont référencés dans l'ancien et le nouvel emplacement de stockage, et vous savez ce qui doit être changé.

Notepad ++ permet même le traitement par lots sur plusieurs fichiers en une seule étape.


1
J'ai essayé cela avec QGIS 3.2 sur macOS et il semble que les fichiers de projet soient maintenant des fichiers binaires, donc cette solution ne fonctionne plus.
Adam Stewart

2
@AdamStewart les fichiers .qgz ne sont que des versions zippées des fichiers .qgs. Vous pouvez les décompresser dans votre système d'exploitation, ou choisir d'enregistrer en tant que fichiers .qgs comme c'était le cas dans QGIS 2.
AndreJ

7

Si vous enregistrez le projet avec des liens de chemin d'accès relatifs avant de déplacer vos données, vous ne devriez pas avoir besoin de corriger les liens dans les nouveaux projets.

Dans QGIS v2.01, accédez à Projet> Propriétés du projet et sélectionnez Enregistrer les chemins relatifs avant de déplacer vos données, puis tant que vous copiez simplement les données et conservez la même structure de dossiers, les fichiers devraient fonctionner lorsque vous rouvrez les projets à partir de votre lecteur réseau.

Enregistrement de chemins relatifs


Malheureusement, le premier morceau de la structure sera à tout le moins différent.
Ger

OK, les chemins relatifs fonctionnent toujours tant que les projets et les données sont enregistrés dans la même structure les uns par rapport aux autres, même si la première partie change. Dans l'exemple ci-dessous, tant que vous déplacez et conservez tout sous le niveau du dossier de travail de la même manière, la partie initiale du chemin peut être aussi différente que vous le souhaitez. Projets = C: /Work/Projects/myproj.qgs et Data = C: /Work/Data/myfile.shp
MAJ742

Accepté, c'est juste que le C: // sera complètement changé en un lecteur en réseau.
Ger

J'ai peut-être trouvé la solution au problème de chemin relatif. J'espère que l'équipe QGIS pourra vérifier et résoudre ce problème. Voir mon article ici: gis.stackexchange.com/questions/210992/…
oat

1

J'ai trouvé un joli plugin qui pourrait être utile: Qconsolidate (à installer: dans les paramètres du plugin, cochez d'abord la case "plugins expérimentaux"). Ce plugin enregistre toutes les couches du projet dans un dossier et modifie les chemins. Le dossier et le projet peuvent être déplacés et ouverts de n'importe où.


Qconsolidate imho résout un problème différent. Il crée des copies des jeux de données au lieu de modifier les chemins d'accès vers un nouvel emplacement de lecteur réseau.
underdark

C'est correct. Si vous travaillez avec de nombreux fichiers de formes volumineux dans plusieurs projets, cela n'est pas très utile. Cependant, si vous travaillez avec peu d'espaces de travail avec une grande quantité de fichiers de formes situés dans de nombreuses cartes différentes, il est agréable d'avoir un moyen facile de les regrouper et de les sauvegarder.
Hannes Ledegen

QPackage fait une astuce similaire, pour info.
gisnside
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.