¿Cómo comparar esquemas de dos geodatabases de archivos?

13

Tenemos una geodatabase de plantillas, que enviamos a nuestros creadores de datos regionales. Actualizan estas geodatabases y digitalizan todos los datos de su región en las clases de características predefinidas.

Ahora que tenemos las geodatabases de archivos, nos encontramos con que muchas de las clases de características han sido modificadas. Tal vez un campo podría ser añadido o eliminado. En algunos casos, la clase de entidad en sí misma se elimina o se crea una nueva.

Me gustaría obtener un informe que indique qué clases de entidad y tablas se han cambiado, así como los diferentes Campos en las tablas comunes y amp; featureclasses.

Ya he examinado varias preguntas como:

Pero las respuestas dadas en estas preguntas no han sido útiles.

    
pregunta Devdatta Tengshe 12.03.2013 - 12:30

3 respuestas

9

Hay un maravilloso complemento llamado radiografía para ArcCatalog . Tiene muchas características, pero la que terminamos usando fue la herramienta 'Analizar diferencia' del menú Herramientas.

Encuentra la diferencia entre una Geodatabase y un Documento de espacio de trabajo XML. Acabamos de exportar el esquema de nuestra plantilla de geodatabase a XML y comparamos las diferentes geodatabases con él.

Difícilmente tardará un par de segundos en mostrar un buen informe con todas las clases de entidad y los campos que faltan o son diferentes en la geodatabase dos.

    
respondido por el Devdatta Tengshe 12.03.2013 - 14:49
7

Creo que escribir un script en python sería el mejor conjunto para lo que estás tratando de averiguar. A continuación se muestra un flujo de trabajo de script general:

Primero compare la geodatabase 1 (geo1) con la geodatabase 2 (geo2)

  1. Search / loop through geo1 y obtener clase de entidad (fc) 1 nombre y busque el mismo nombre de fc en otro geo2 (si no se puede encontrar el nombre de fc1 en geo2, escriba el primer nombre de fc en el archivo de texto)
  2. Si el paso 1 fc1 == fc2 name entonces campos de lista en fc1 y busque los campos en fc2, si el nombre del campo fc1 no se puede encontrar en fc2, escriba el nombre del campo fc1 en el archivo de texto
  3. A continuación, busque o lista de dominio dentro de geo1 y luego busque para el mismo nombre de dominio en geo2, si geo1 dominio == geo2 dominio, obtenga el primer valor codificado del dominio 1 y vea si existe en el dominio 2, si no, escriba el nombre de dominio geo1 o el valor codificado del dominio en el archivo de texto.

Segundo a la inversa, compara geo2 con geo1

Siga los pasos 1-3 anteriores pero en orden inverso geo2 a geo1

Después de que el script haya terminado, inspeccione el archivo de texto de resultados para detectar posibles discrepancias.

    
respondido por el artwork21 12.03.2013 - 12:55
3

Parece que ya tienes una buena respuesta. Pero para cualquier otra persona que quiera entender sus esquemas de geodatabase, también puedo recomendar el ArcGIS Diagrammer , un programa independiente escrito por uno de los equipos de Esri.

  

ArcGIS Diagrammer es una herramienta de productividad para los profesionales de SIG para crear, editar o analizar el esquema de geodatabase. El esquema se presenta como gráficos editables en un entorno familiar para los usuarios de Microsoft Visual Studio. Esencialmente, ArcGIS Diagrammer es un editor visual para los documentos de espacio de trabajo xml de ESRI que se pueden crear en ArcMap o ArcCatalog.

    
respondido por el Stephen Lead 12.03.2013 - 22:10

Lea otras preguntas en las etiquetas