Один до багатьох приєднується до класу функцій до таблиці


10

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

У мене є багатокутники географічного діапазону видів, і я маю таблицю із переліком збудників / захворювань, які переносяться цими видами. Окремі види переносять численні патогени. В ідеальному світі я б приєднав багатокутники діапазонів до таблиці видів + збудників і зберігав полігон / просторові дані, але, схоже, не існує інструменту ГІС для цього (я збираюся пізніше підраховують перекриваються патогени, тому важливо, щоб у кожної комбінації видів-збудників була своя особливість, а не одна особливість, яка має інформацію про декілька патогенів). Ось як виглядають мої дані (№1 та №2, №3 - на потім):

Таблиця атрибутів для просторових особливостей:

таблиця атрибутів для просторових особливостей

Таблиця без будь-яких просторових даних:

таблиця без просторових даних

(Зверніть увагу, що це не реальні дані, і поєднання видів-патогенів можуть бути нереальними. Насправді у мене 115 полігонів і 519 рядків таблиць. Види переносяться десь між 1-40 збудниками, і тому види мають десь 1-40 рядів у мій стіл)

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

таблиця без просторових даних, з додатковим полем

Є декілька рішень, які я знайшов у цій проблемі, але вони не спрацювали для мене з перелічених нижче причин:

Рішення 1: Блог Девіда Аальберса - Я занадто новачок, щоб зрозуміти, як редагувати новіший сценарій і придумати, як імпортувати його в ArcMap. Я спробував старіший сценарій, і він просто створив тону порожніх багатокутників під назвою тест, test_1, test_1_1, test_1_1_1 тощо.

Рішення 2: Приєднатися один до багатьох - я спробував використати інструмент Make Query Table (і я не знаю SQL, хоча я використовував конструктор виразів), і я отримав ПОМИЛУ 000383: Проблема з таблицею, не можу знайти робочу область & Не вдалося виконати (MakeQueryTable). Усі мої файли знаходяться в одній папці, але вони не знаходяться в базі даних геоданих.


1
Зробити таблицю запитів працюватиме лише з базою даних
FelixIP

1
Зробити таблицю запитів потрібні всі дані в одному fgdb.
klewis

Відповіді:


22

Щоб помножити функції, зробіть це (доступно для тих, хто має ArcGIS 10.1 або вище).

  1. Розташуйте функції та таблицю в одному файлі geodatabase (для цього можна перетворити файли Shapefiles / Excel / DBF в базу даних геоданих).
  2. Переконайтеся, що у ваших полігонах є унікальне поле ідентифікатора, яке збережеться (ви можете створити Довге поле та обчислити в ньому ObjectID, щоб значення ObjectID не було втрачено).
  3. Зробіть стандартне приєднання таблиці (атрибути, відсутність просторових даних) до функцій (просторових даних) у полі відповідності. Зауважте, що таблиця атрибутів функцій (просторових даних) матиме таку ж кількість функцій, що і раніше, але не хвилюйтеся з цього приводу, всі вони з’являться на наступному кроці.
  4. Експортуйте функції в ту саму базу даних геоданих, що і в новий клас функцій (клацніть правою кнопкою миші шар із змісту та виберіть "Експорт"). Зауважте, що кількість функцій у таблиці атрибутів експортованих функцій тепер має потрібну кількість функцій, таку ж, що і оригінальна таблиця (з атрибутами, без просторових даних) або, у випадку, якщо багато до багатьох приєднується, - повний набір функцій для всіх комбінацій функцій та пов'язаних записів.

Функції помножуватимуться в новому класі функцій, де кожна функція буде присутня (навіть якщо у неї не було збігу в таблиці), а там, де раніше було відповідність 1: M, функції буде помножено на 1: 1 відповідність кожної функції всім її записам таблиці. Поле Унікальний ідентифікатор, створене на кроці 2, дозволить вам співвіднести множені багатокутники з оригінальним набором одиничного багатокутника. З новим класом функцій помножених функцій ви можете робити вибір на полях таблиць, резюме, просторових приєднаннях тощо.

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

Ось хороша довідка від esri: https://support.esri.com/en/technical-article/000001228


Відмінно працює при експорті в базу геоданих!
MooseGirl

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

Раніше це було зрозуміло (хоча майбутні відчайдушні люди напевно оцінять, що це прописано), але спочатку я не був належним чином підключений до папки геоданих (чи щось таке), тому що це не дозволило мені експортувати на базу даних геоданих. Я перезапустив, і це працювало чудово.
MooseGirl

1
Я додав, що об'єднані функції не матимуть потрібної кількості атрибутів, і експортовані функції будуть. Це мене дуже засмутило, коли я спробував це, поки я не пройшов усі кроки.
nittyjee


-2

SQL-запит:

SELECT spp, disease, type
FROM table1, table2
WHERE table1.bimonial = table2.spp;
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.