Modifier la source de données pour plusieurs couches dans le document ArcMap?

9

J'ai une copie principale de certaines données sur lesquelles je travaille sur un serveur distant. Parfois, je fais une copie sur mon disque local pour accélérer les temps de traitement, mais les sources de données de mes MXD pointent toujours vers le serveur distant.

Je me demande s'il existe une astuce rapide et facile pour mettre à jour la source de données pour toutes les couches dans ArcMap, sans entrer dans les scripts Python, etc. Je sais que je peux mettre à jour chaque source de données individuelle via les propriétés des couches, et j'ai utilisé une solution de contournement en «rompant» le lien vers le serveur distant, puis en pointant une couche vers la nouvelle source (lorsqu'elle a un point d'exclamation rouge dans la table des matières), ce qui permet ensuite aux autres couches de trouver leurs sources relatives. Existe-t-il une manière plus élégante de procéder?

Dùn Caan
la source

Réponses:

12

Les instructions fournies dans Utiliser l'outil «Définir la source de données» pour les documents cartographiques dans ArcCatalog décrivent comment utiliser l'outil Définir la source de données pour les documents cartographiques dans ArcCatalog.

Lorsque vous cliquez avec le bouton droit sur un fichier de document ArcMap (.mxd) dans ArcCatalog, une commande Définir la source de données est visible. Cela ouvre une boîte de dialogue qui facilite la mise à jour ou la réparation de tout ou partie des références aux sources de données basées sur des fichiers dans la carte. Par défaut, cette boîte de dialogue crée une copie du fichier .mxd. Cette option est également disponible en cliquant avec le bouton droit sur un fichier de carte publié (.pmf), bien qu'elle soit désactivée si l'éditeur du fichier .pmf a choisi de ne pas fournir un accès complet à son contenu dans les applications ArcGIS lors de sa publication.

L'outil Définir la source de données ne peut pas être utilisé pour mettre à jour ou réparer les références aux données dans les géodatabases ArcSDE.

L'outil Définir la source de données ne prend pas en charge les personnalisations VBA. Les personnalisations VBA ne sont pas incluses dans le MXD de sortie.

L'outil Définir la source de données ne prend pas en charge les couches d'annotation de géodatabase personnelles pour le moment. Il s'agit d'une limite connue et devrait être corrigée dans une prochaine version du logiciel.

Procédure Suivez ces étapes pour définir la source de données d'un MXD dans ArcCatalog.

  1. Cliquez avec le bouton droit sur un MXD dans ArcCatalog et cliquez sur Définir la ou les sources de données. La valeur par défaut crée une copie du MXD. Il est recommandé d'utiliser une copie et de conserver le MXD d'origine comme sauvegarde. Cependant, le MXD existant peut être remplacé en le sélectionnant ou en tapant son chemin complet.
  2. Sélectionnez un bloc de données ou tous les blocs de données. Sélectionnez un calque ou appuyez sur le bouton Sélectionner tout.

  3. Cliquez sur Remplacer ou sur Remplacer tout. La boîte de dialogue Remplacer effectue une recherche et un remplacement sur les chemins d'accès aux données. Tapez le texte «rechercher et remplacer» pour faire correspondre les données. Par exemple, si toutes les données se trouvaient dans C: \ GISData mais qu'elles ont été déplacées vers C: \ GISData2, la zone de texte Rechercher indique C: \ GISData et la zone de texte Remplacer par affiche C: \ GISData2. Cliquez sur Remplacer. Cliquez sur OK dans la boîte de dialogue Définir les sources de données.

Il existe également un script MXD Data Source Replacer dans le bac à sable UCLA.

Dror Har Gil
la source
Cela fonctionne bien merci. Seul bœuf avec cela, vous devez taper des chemins de fichiers (il n'y a pas de navigateur pour localiser la source de données que vous désirez), ce qui n'est pas un gros problème .. J'aimerais voir s'il est possible de le faire à partir du MXD lui-même bien que.
Dùn Caan
1
@Dunk - vous pouvez parcourir pour changer un calque, puis une fois qu'il vous a donné une valeur pour ce calque, vous pouvez le copier / coller sur le reste en vrac.
Midavalo
@Midavalo bon à savoir merci, semble que c'est la meilleure façon de le faire.
Dùn Caan
3

J'ai utilisé l'outil "Réparer la source de données". Faites un clic droit sur la couche, sélectionnez "Données", puis "Réparer la source de données". Sélectionnez le nouvel emplacement. Cela mettra à jour toutes les couches du MXD qui se sont déplacées d'un emplacement vers le même nouvel emplacement.

Jason
la source
2

Dans ArcMap, vous pouvez aller dans Fichier-> Propriétés du document de carte ... et dans "Chemins d'accès", cochez "Stocker les chemins d'accès relatifs aux sources de données". Tant que votre MXD est dans le dossier «principal», toutes les données du même dossier ou du dossier chid seront retrouvées même sur d'autres machines, sans avoir à remplacer la source de données. La seule chose que vous devez faire est de conserver l'arborescence des dossiers du MXD dans les dossiers enfants où vos données sont stockées.

umbe1987
la source
1
Ne répond probablement pas directement à ma question, mais c'est une très bonne chose à savoir à titre préventif, merci! Je commencerai à faire ça quand je pourrai maintenant ...
Dùn Caan
0

Pour un mxd, les outils ESRI par défaut peuvent suffire. Mais réparer plusieurs mxds avec des liens rompus peut être un cauchemar. Essayez mon outil UpdateLayerRefs sur GitHub pour réparer un nombre illimité de MXD en quelques secondes:

Fournissez simplement les noms de vos MXD d'entrée sous forme de liste ["Name1.mxd", "Name2.mxd", "Name3.mxd"]

Jeremy Swagger
la source
1
Veuillez éviter les réponses en double: gis.stackexchange.com/a/253545/8104 . Plus de détails à ce sujet ici: meta.stackexchange.com/q/104227 .
Aaron
Désolé, ça va. J'essaie juste d'être utile :)
Jeremy Swagger