Як порівняти схеми з двох баз геоданих файлів?


13

У нас є база даних геоданих шаблонів, яку ми надсилаємо нашим регіональним творцям даних. Вони оновлюють ці бази даних геоданих та оцифровують всі дані зі свого регіону у заздалегідь визначених класах функцій.

Тепер, коли ми отримали бази даних геоданих File, ми виявляємо, що часто багато класів функцій були змінені. Можливо поле може бути додане чи видалене. В деяких випадках клас Feature видаляється або створюється новий.

Я хотів би отримати звіт із зазначенням того, які класи класів та таблиць змінюються, а також різні поля в загальних таблицях та класах функцій.

Я вже розглянув декілька питань, таких як:

Але відповіді в цих питаннях не були корисними.


Я не впевнений у протоколі тут, що стосується SE, з теми, що не підкреслюють, але у мене виникло питання, пов’язане з вашим, Девдатта: Чи є інструмент, який приймає ваше рішення з рентгенівської надбудови та вирішує відмінності між GeoDB / XML?
Кайл Шепард

@KyleShepard Звичайна процедура - це задати нове питання для нового питання. Ви можете зв’язати старе запитання, якщо воно містить пов’язану інформацію. А щоб відповісти на ваше запитання, я нічого подібного не знайшов. Можливо, ви можете задати нове запитання, і хтось, хто щось знайшов, відповів би на нього.
Devdatta Tengshe

Відповіді:


9

Існує чудова надбудова, що називається рентгеном для ArcCatalog . Він має багато функцій, але одна з них ми закінчили використовувати інструмент "Аналіз різниці" в меню "Інструменти".

Він знаходить для вас різницю між базою даних Geodata та документом робочої області XML. Ми просто експортували схему нашої бази даних геоданих шаблонів у XML і порівнювали з нею різні бази даних геоданих.

Навряд чи потрібно кілька секунд, щоб показати приємний звіт із усіма класами та полями, які відсутні у двох базах даних.


Це виглядає чудово. Це працює на 10.1?
Фестер

@Fezter: Це здається, що це 10.1: arcgis.com/home/item.html?id=e1e911d7d7374285b1ef03d06b3ee642
Devdatta Tengshe

7

Я думаю, що написання сценарію python найкраще підходить для того, що ви намагаєтесь з'ясувати. Нижче наведено загальний робочий сценарій сценарію:

Спочатку порівняйте базу геоданих 1 (geo1) з базою геоданих 2 (geo2)

  1. Шукайте / переглядайте geo1 та отримуйте особливість class (fc) 1 ім'я та шукайте те саме ім'я fc в іншому geo2 (якщо ім'я fc1 неможливо знайти в geo2, тоді напишіть перше ім’я fc у текстовий файл)
  2. Якщо крок 1 fc1 == fc2 ім'я, тоді перелічіть поля у fc1 та шукайте поля у fc2, якщо ім'я поля fc1 не можна знайти у fc2, тоді напишіть ім'я поля fc1 у текстовий файл
  3. Далі, шукайте або перераховуйте домен у geo1, а потім шукайте те саме ім’я домену в geo2, якщо домен geo1 == geo2, тоді отримуйте перше кодоване значення домену 1 і дивіться, чи існує він у домені 2, якщо ні, то запишіть ім'я домену geo1 або доменне значення в текстовому файлі.

Друге в зворотному порівнянні geo2 до geo1

Виконайте кроки 1-3 вище, але у зворотному порядку geo2 - geo1

Після виконання сценарію перевірте текстовий файл результату на предмет можливих розбіжностей.


3

Це здається, що у вас вже є хороша відповідь. Але для всіх, хто хоче зрозуміти їхні схеми баз геоданих, я також можу порекомендувати ArcGIS Diagrammer , окрему програму, написану однією з команд Esri.

ArcGIS Diagrammer - це інструмент підвищення продуктивності для професіоналів ГІС для створення, редагування або аналізу схеми баз даних геоданих. Схема представлена ​​як редагована графіка в середовищі, звичному користувачам Microsoft Visual Studio. По суті, ArcGIS Diagrammer - це візуальний редактор для XRI документів робочої області ESRI, які можна створити в ArcMap або ArcCatalog.


Щоб уточнити, він не вимагає Visio - але він виглядає трохи "знайомим користувачам Visio", оскільки він використовував подібний макет
Stephen Lead

Так, ти правий. Схоже, я помилився.
Devdatta Tengshe
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.