Come confrontare gli schemi da due geodatabase di file?


13

Abbiamo un modello di geodatabase che inviamo ai nostri creatori di dati regionali. Aggiornano questi database geodetici e digitalizzano tutti i dati della loro regione nelle featureclass predefinite.

Ora che abbiamo i database di file, scopriamo che spesso molte delle caratteristiche sono state modificate. Forse un campo potrebbe essere aggiunto o rimosso. In alcuni casi, la stessa classe caratteristica viene eliminata o ne viene creata una nuova.

Vorrei ricevere un rapporto che indichi quali classi di caratteristiche e tabelle sono cambiate, nonché i diversi campi nelle tabelle e nelle caratteristiche comuni.

Ho già esaminato diverse domande come:

Ma le risposte fornite in queste domande non sono state utili.


Non sono sicuro del protocollo qui a SE con argomenti di necroing, ma avevo una domanda correlata alla tua, Devdatta: esiste uno strumento che prende la tua soluzione dal componente aggiuntivo a raggi X e risolve le differenze tra i GeoDB / XML?
Kyle Shepard,

@KyleShepard La solita procedura è quella di porre una nuova domanda, per un nuovo problema. È possibile collegarsi a una vecchia domanda se contiene informazioni correlate. E per rispondere alla tua domanda, non ho trovato nulla del genere. Forse potresti fare una nuova domanda e qualcuno che ha trovato qualcosa avrebbe risposto.
Devdatta Tengshe

Risposte:


9

Esiste un meraviglioso componente aggiuntivo chiamato X-ray per ArcCatalog . Ha molte caratteristiche, ma quella che abbiamo finito per usare era lo strumento "Analizza Differenza" dal menu Strumenti.

Trova per te la differenza tra un Geodatabase e un documento dell'area di lavoro XML. Abbiamo appena esportato lo schema del nostro modello di geodatabase in XML e confrontato i diversi geodatabase con esso.

Non ci vuole quasi un paio di secondi per mostrare un bel report con tutte le classi di funzionalità e i campi mancanti o diversi nei due geodatabase.


Questo sembra fantastico. Funziona su 10.1?
Fezter


7

Penso che scrivere uno script in Python sia il migliore per quello che stai cercando di capire. Di seguito è riportato un flusso di lavoro di script generale:

Prima confronta geodatabase 1 (geo1) con geodatabase 2 (geo2)

  1. Cerca / esegui il ciclo di geo1 e ottieni il nome della classe di caratteristiche (fc) 1 e cerca lo stesso nome di fc in altri geo2 (se il nome di f1 non può essere trovato in geo2, scrivi il primo nome di fc nel file di testo)
  2. Se il passaggio 1 fc1 == nome fc2 quindi elenca i campi in fc1 e cerca i campi in fc2, se il nome del campo fc1 non può essere trovato in fc2, scrivi il nome del campo fc1 nel file di testo
  3. Quindi, cerca o elenca il dominio all'interno di geo1 e quindi cerca lo stesso nome di dominio in geo2, se dominio geo1 == dominio geo2 ottieni il primo valore codificato del dominio 1 e vedi se esiste nel dominio 2, altrimenti scrivi il nome di dominio geo1 o valore di dominio codificato in file di testo.

Il secondo al contrario confronta geo2 con geo1

Seguire i passaggi 1-3 precedenti, ma in ordine inverso da geo2 a geo1

Al termine dello script, controllare il file di testo dei risultati per eventuali discrepanze.


3

Sembra che tu abbia già una buona risposta. Ma per chiunque cerchi di capire i loro schemi di geodatabase, posso anche consigliare ArcGIS Diagrammer , un programma autonomo scritto da uno dei team di Esri.

ArcGIS Diagrammer è uno strumento di produttività per i professionisti GIS per creare, modificare o analizzare lo schema di geodatabase. Lo schema è presentato come grafica modificabile in un ambiente familiare agli utenti di Microsoft Visual Studio. Fondamentalmente ArcGIS Diagrammer è un editor visivo per i documenti xml dello spazio di lavoro ESRI che possono essere creati in ArcMap o ArcCatalog.


per chiarire, non richiede Visio - ma sembra un po '"familiare agli utenti di Visio" in quanto ha usato un layout simile
Stephen Lead

Si hai ragione. Sembra che mi sia sbagliato.
Devdatta Tengshe
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.