¿Copiando dominio (y solo dominio) entre las geodatabases de Esri?

23

A veces tengo la necesidad de copiar un dominio (s) de una geodatabase a otra (sin la clase o tabla de características).

En el pasado, he logrado esto de diferentes maneras, pero cada método no es tan sencillo como creo que podría ser (o tal vez hay una herramienta CopyDomain que me he perdido).

¿Qué método utilizas para lograr esto?

Jay Cummins
fuente
Sé de al menos 2 métodos adicionales: tal vez no digno de "respuesta aceptada", pero definitivamente digno de reputación. Los publicaré en unos días si nadie más los proporciona como respuestas.
Jay Cummins
Publique
En varias ocasiones he tenido que explicar a los DBA que no son SIG cómo los dominios son como una tabla, pero no se almacenan como una tabla a la que se puede acceder a través de SQL. Tal vez las respuestas a esto deberían estar en un lenguaje que un DBA que no sea SIG pueda entender.
Kirk Kuykendall el

Respuestas:

10

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

Esta es una extensión ArcCatalog que le permite copiar dominios entre geodatabases.

Creo que solo está actualizado para 9.3.1 SP1, por lo que es posible que no funcione con ArcGIS 10.

Britt Wescott
fuente
+1 Estoy en ArcGIS 10, pero dejé deliberadamente la pregunta abierta a cualquier versión. Obtuve la extensión 9.3.1 para trabajar en ArcCatalog 10. No obtuve el nuevo comando en el menú contextual, pero pude agregar el comando a una barra de herramientas y usarlo de esa manera.
Jay Cummins
Ok, me alegro de que funcionó. Debe informar al autor de la extensión sobre el comando del menú contextual que no funciona en ArcCatalog 10.
Britt Wescott
Notifiqué al autor (grillos hasta ahora). Además, apliqué SP1 a ArcGIS 10 el viernes. Ahora, la copia de dominios errores de extensión arccatalog cuando se inicia ArcCatalog.
Jay Cummins
Eso tiene sentido, ojalá lo actualice pronto.
Britt Wescott
15

Para dominios de valor codificado, haré un dominio a la tabla desde la geodatabase de origen y luego haré una tabla al dominio en la nueva geodatabase.

No sé de una manera para esto para los dominios de rango. Puede hacer un dominio a la tabla , pero la tabla al dominio siempre viene como un dominio de valor codificado.

Jay Cummins
fuente
3
Acabo de usar las herramientas Dominio a tabla y Tabla a dominio esta mañana y funcionaron muy bien.
Timothy Michael
3

Este método es más hacky y solo práctico para 1 o algunos dominios.

  1. En la geodatabase original, cree una clase de entidad ficticia con un campo ficticio que coincida con el tipo de datos de campo del dominio que desea copiar.

  2. Copie / pegue la clase de entidad ficticia en la nueva geodatabase y no la elimine hasta que haya asignado el dominio a un campo en otra clase de entidad.

Jay Cummins
fuente
3

Escribí una línea de comando rápida arcobjects exe basada en un código vba que encontré la semana pasada . No es un código complicado.

Ex e está aquí .
Película AVI aquí .

Letra pequeña: el exe está compilado a 10.0 / licencia ArcEditor (la licencia es parte está codificada por ahora).

texto alternativo

Jay Cummins
fuente
He intentado esto pero me da errores de excepción, CopyDomain.exe canvec_blank.gdb target.gdb * Exception from HRESULT: 0x80040228 Exception from HRESULT: 0x80040228. ¿Algunas ideas?
Matt Wilkie
No estoy seguro, pero ¿eres licencia de ArcEditor? Esa fue una herramienta rápida y sucia, por lo que probablemente no sea la herramienta más elegante. ¿Tienes Visual Studio? La fuente está aquí: code.google.com/p/umbriel/source/browse/…
Jay Cummins
3

Aquí hay un método para exportar / importar dominios que utiliza documentos de espacio de trabajo XML .

Requisitos

  • ArcGIS Desktop 10.XX
  • ArcGIS Pro más reciente (probado)
  • Notepad ++, Notepad o tu editor de texto favorito

Procedimiento

Exportar XML desde el origen

  1. Seleccione su geodatabase de origen
  2. Exportar un documento de espacio de trabajo XML

exportar

  1. Exportar solo el esquema. Los metadatos son opcionales (flecha roja).

solo esquema

Editar XML

El esquema del conjunto de datos se elimina en el paso.

  1. Abre el archivo XML.
  2. (opcional) Active el ajuste de texto para que todo sea más fácil de ver.
  3. Elimine todo entre <DatasetDefinitions xsi:type='esri:ArrayOfDataElement'>las </DatasetDefinitions>etiquetas y. Debería verse más o menos así:

ediciones xml

  1. Deja todo lo demás solo.
  2. Guarda el archivo XML

Importar a destino

  1. Buscar / crear la nueva geodatabase
  2. Importar el documento del espacio de trabajo XML ...
  3. Seleccione el XML editado y listo.
  4. Hecho.

Solución de problemas

  • La especificación del espacio de trabajo XML de Esri es muy específica. Si el paso de importación da un error, probablemente haya un error de esquema. Revise el XML o simplemente expórtelo nuevamente y repita. No elimine ningún cuidado adicional o saltos de línea.
Elliott
fuente