13 votos

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

Tenemos una plantilla de base de datos geográficos, que enviamos a nuestros creadores de datos regionales. Ellos actualizan estas bases de datos y digitalizan todos los datos de su región en las clases de características predefinidas.

Ahora que tenemos las geodatabases de los archivos, encontramos que a menudo 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 propia clase de características se elimina o se crea una nueva.

Me gustaría obtener un informe que indique qué clases y tablas de características se han cambiado, así como los diferentes campos de las tablas y clases de características comunes.

Ya he mirado varias preguntas como:

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

15voto

Anthony Cramp Puntos 126

Hay un maravilloso complemento llamado Rayos X para ArcCatalog . Tiene muchas características, pero la que terminamos usando fue la herramienta "Analizar la diferencia" del menú de herramientas.

Encuentra para ti la diferencia entre una base de datos geográficos 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 ella.

Apenas se tarda un par de segundos en mostrar un buen informe con todas las clases de características y campos que faltan o son diferentes en las dos geodatabase.

7voto

Hameno Puntos 129

Creo que escribir una pitón script sería lo mejor para lo que estás intentando averiguar. A continuación se muestra un flujo de trabajo general de script:

Primero comparar la base de datos geográficos 1 (geo1) con la base de datos geográficos 2 (geo2)

  1. Búsqueda/bucle a través de geo1 y get feature class (fc) 1 nombre y buscar el mismo nombre fc en otro geo2 (si el nombre fc1 no se puede encontrar en el geo2, entonces escribir el primer nombre fc en el archivo de texto)
  2. Si el paso 1 fc1 == fc2 nombre entonces campos de lista en fc1 y buscar campos en fc2, si el nombre del campo fc1 no se puede encontrar en fc2, entonces escribir el nombre del campo fc1 en el archivo de texto
  3. A continuación, busque o dominio de la lista dentro de geo1 y luego buscar el mismo nombre de dominio en geo2, si dominio geo1 == dominio geo2 entonces obtener primero el valor codificado del dominio 1 y ver si existe en el dominio 2, si no, entonces escribir el nombre de dominio geo1 o el valor codificado del dominio en el archivo de texto.

En segundo lugar, compara el geo2 con el geo1.

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

Después de que script termine, inspeccione el archivo de texto del resultado por posibles discrepancias.

3voto

Parece que ya tienes una buena respuesta. Pero para cualquier otra persona que esté buscando entender sus esquemas de la base de datos geológicos, también puedo recomendar el Diagramador ArcGIS un programa independiente escrito por uno de los miembros del equipo de Esri.

ArcGIS Diagrammer es una herramienta de productividad para que los profesionales de los SIG creen, editen o analicen el esquema de la base de datos geográficos. 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 del espacio de trabajo xml de ESRI que pueden ser creados en ArcMap o ArcCatalog.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X