Виявлення відмінностей між формами файлів за допомогою ArcGIS for Desktop?


12

Щомісяця я маю до QA / QC деякі дані вулиць для цілого округу (понад 47 000 записів). Перший крок - порівняння двох файлів. В даний час я використовую інструмент, створений в будинку через VBA приблизно 5 років тому. Це працює, порівнює два файли та звітує про відмінності на основі кількох факторів (додані записи, видалені записи, зміни адреси, зміни міста, зміна довжини сегмента / вершин). Потім я експортую їх до окремих форм-файлів. Крім того, інструмент працює, ArcGIS 9.3але більше не працюватимеArcGIS 10.1

Інструмент чудово працює, але на його виконання потрібно близько години.

Я почав працювати над надією на вдосконалення цього інструменту для прискорення продуктивності. Я розглядав різні методи, включаючи Compare Feature Toolта Select by Location.

Обидва ці інструменти працюють значно швидше, проте, схоже, вони не захоплюють все, що мені потрібно. Велике питання, що у мене виникає, Compare Feature Toolполягає в тому, що я не можу вибрати, на якому полі порівняти. Він за замовчуванням застосовується до ObjectID, коли мені потрібно порівняти по Segment_ID. Немає можливості вибрати це.

Хтось має хороше рішення чи ідеї, як досягти повного порівняння, як я описав?


Чомусь ArcGIS не визнає приєднання, яке я намагаюся відповісти на відповідь РайанаДалтона.

Але

Дотримуючись поради щодо об’єднання, я зрозумів, як знайти додані записи та видалені відмінності між записами у двох файлах:

  1. Приєднання файлу форми попереднього місяця до файлу форми поточного місяця через поле Segment_ID
  2. Виконання запиту на визначення, де Segment_ID NULL
  3. Експорт цього нового файлу форми (Додані функції)

Потім я повертаю з'єднання і знаходжу видалені функції

Ще працюю над тим, щоб знайти інші перелічені відмінності, а потім зв'язати їх усі разом у моделі.


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

Я все це вкладу в модель і, сподіваюся, він працює так само добре.

Відповіді:


11

З діалоговим вікном Compare Feature Toolслід просто вибрати Segment_IDполе як поле сортування .

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

Якщо Ви бажаєте отримати Segment_ID поля як частина вашого виведення таблиці, спробуйте приєднатися до вихідний Compare Featureтаблиці джерела Test Tableна cf.Object_ID=tt.Object_ID, а потім експортувати з присоединяемой таблиці з Segment_ID.

Ви можете легко вкласти це в модель для легшої повторюваності.


Я це зробив, однак таблиця, створена за допомогою інструмента порівняння, не включає поле Segment_ID (яке є унікальним ідентифікатором). Натомість він просто перелічує objectID, що насправді не приносить мені користі.
Крейг

Оновлено мою відповідь, щоб відобразити потрапляння Segment_IDу вашу вихідну таблицю.
RyanKDalton

додавання з'єднання спричиняє аварійність ArcMap кожного разу. Назад до дошки для малювання.
Крейг

1

На моєму досвіді Порівняння функцій завжди використовує FID або ObjectID в якості основи порівняння, навіть якщо для_польового поля обрано segment_id. FID-файли Shapefile переробляються (упорядковуються), тому після кількох редагувань багато, якщо не всі FID-файли відрізняються за відповідними географіями. Таким чином, вони будуть мати "справжню" особливість помилки порівняння. Якщо ви використовуєте ObjectID від GeoDatabase або GISquirrel, ідентифікатори не переробляються, і ви можете покластися на цей інструмент. Ви повинні зберігати бази даних зафіксованими протягом певного періоду часу, щоб ObjectIds ніколи не упорядковувались.

Незалежно від опису поля сортування у довідці інструмента GP ДУЖЕ вводиться в оману. Цей інструмент був би надзвичайним, якби основою порівняння може бути сегмент_ID.

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