Copie de domaine (et uniquement de domaine) entre des géodatabases Esri?

23

Parfois, j'ai besoin de copier un ou plusieurs domaines d'une géodatabase à une autre (sans la classe ou la table).

Dans le passé, j'ai accompli cela de différentes manières, mais chaque méthode n'est pas aussi simple que je pense qu'elle pourrait l'être (ou peut-être qu'il y a un outil CopyDomain que j'ai manqué).

Quelle méthode utilisez-vous pour y parvenir?

Jay Cummins
la source
Je connais au moins 2 méthodes supplémentaires: peut-être pas une «réponse acceptée» digne, mais certainement une réputation digne. Je les posterai dans quelques jours si personne d'autre ne leur fournit de réponses.
Jay Cummins
Affichez
À plusieurs reprises, j'ai dû expliquer à des DBA non SIG comment les domaines sont comme une table, mais ne sont pas stockés sous forme de table accessible via SQL. Peut-être que les réponses à cette question doivent être dans un langage qu'un DBA non SIG peut comprendre.
Kirk Kuykendall du

Réponses:

10

http://arcscripts.esri.com/details.asp?dbid=14729

Il s'agit d'une extension ArcCatalog qui vous permet de copier des domaines entre des géodatabases.

Je pense qu'il n'est à jour que pour 9.3.1 SP1, il peut donc ne pas fonctionner avec ArcGIS 10.

Britt Wescott
la source
+1 Je suis sur ArcGIS 10, mais j'ai délibérément laissé la question ouverte à n'importe quelle version. J'ai obtenu que l'extension 9.3.1 fonctionne dans ArcCatalog 10. Je n'ai pas obtenu la nouvelle commande dans le menu contextuel, mais j'ai pu ajouter la commande à une barre d'outils et l'utiliser de cette façon.
Jay Cummins
Ok, content que ça marche. Vous devez informer l'auteur de l'extension que la commande du menu contextuel ne fonctionne pas dans ArcCatalog 10.
Britt Wescott
J'ai averti l'auteur (grillons jusqu'à présent). J'ai également appliqué SP1 à ArcGIS 10 vendredi. Désormais, les domaines de copie sont des erreurs d'extension de catalogue lors du démarrage d'ArcCatalog.
Jay Cummins
Cela a du sens, j'espère qu'il le mettra à jour bientôt.
Britt Wescott
15

Pour les domaines de valeurs codées, je vais créer un domaine vers une table à partir de la géodatabase source, puis une table vers un domaine dans la nouvelle géodatabase.

Je ne connais pas de moyen pour cela pour les domaines de gamme. Vous pouvez créer un domaine vers une table , mais la table vers un domaine est toujours fournie en tant que domaine de valeurs codées.

Jay Cummins
la source
3
Je viens d'utiliser les outils Domaine vers table et Table vers domaine ce matin et ils ont très bien fonctionné.
Timothy Michael
3

Cette méthode est plus hacky et n'est pratique que pour 1 ou quelques domaines.

  1. Dans la géodatabase d'origine, créez une classe de fonctions factice avec un champ factice qui correspond au type de données de champ du domaine que vous souhaitez copier.

  2. Copiez / collez la classe de fonctions factice dans la nouvelle géodatabase et ne la supprimez pas tant que vous n'avez pas affecté le domaine à un champ dans une autre classe de fonctionnalités.

Jay Cummins
la source
3

J'ai écrit un exe d'arcobjects en ligne de commande rapide basé sur du code vba que j'ai trouvé la semaine dernière . Ce n'est pas du code compliqué.

Ex e est ici .
Film AVI ici .

Copie fine: l'exe est compilé vers la licence 10.0 / ArcEditor (la licence fait partie est codée en dur pour l'instant).

texte alternatif

Jay Cummins
la source
J'ai essayé ceci mais je reçois des erreurs d'exception, CopyDomain.exe canvec_blank.gdb target.gdb * Exception from HRESULT: 0x80040228 Exception from HRESULT: 0x80040228. Des idées?
matt wilkie
Je ne sais pas avec certitude, mais êtes-vous une licence ArcEditor? C'était un outil rapide et sale, donc ce n'est probablement pas l'outil le plus élégant. Avez-vous Visual Studio? La source est ici: code.google.com/p/umbriel/source/browse/…
Jay Cummins
3

Voici une méthode pour exporter / importer des domaines qui utilise des documents XML Workspace .

Exigences

  • ArcGIS Desktop 10.XX
  • ArcGIS Pro le plus récent (testé)
  • Bloc-notes ++, Bloc-notes ou votre éditeur de texte préféré

Procédure

Exporter XML depuis la source

  1. Sélectionnez votre géodatabase source
  2. Exporter un document d'espace de travail XML

exportation

  1. Exportez le schéma uniquement. Les métadonnées sont facultatives (flèche rouge).

schéma uniquement

Modifier XML

Le schéma de l'ensemble de données est supprimé à l'étape.

  1. Ouvrez le fichier XML.
  2. (facultatif) Activez le retour à la ligne pour que tout soit plus facile à voir.
  3. Supprimez tout entre <DatasetDefinitions xsi:type='esri:ArrayOfDataElement'>les </DatasetDefinitions>balises et. Ça devrait ressembler a quelque chose comme ca:

modifications xml

  1. Laissez tout le reste tranquille.
  2. Enregistrez le fichier XML

Importer vers la cible

  1. Rechercher / créer la nouvelle géodatabase
  2. Importer le document XML Workspace ...
  3. Sélectionnez le XML modifié et c'est parti.
  4. Terminé.

Dépannage

  • La spécification de l'espace de travail XML Esri est très spécifique. Si l'étape d'importation donne une erreur, il y a probablement une erreur de schéma. Passez en revue le XML ou exportez-le à nouveau et répétez. Ne supprimez aucun signe supplémentaire ni saut de ligne.
Elliott
la source