Я использую ArcMap 10.2.2 с расширенной лицензией. Я использовал ArcMap для других базовых анализов, но я довольно новичок в программе и обладаю только базовыми навыками кодирования, не имея опыта работы с SQL за исключением самых простых запросов, использующих построители кода SQL в ArcMap.
У меня есть полигоны географического ареала вида, и у меня есть таблица со списком патогенных микроорганизмов / болезней, переносимых этими видами. Некоторые виды несут множество патогенов. В идеальном мире я бы соединял полигоны диапазонов с таблицей видов + патогены и сохранял полигональные / пространственные данные, но не похоже, что для этого есть ГИС-инструмент (я собираюсь позже подсчитывают перекрывающиеся патогены, поэтому важно, чтобы каждая комбинация вида-патогена имела свою особенность, а не одну особенность, которая имеет информацию для нескольких патогенов). Вот как выглядят мои данные (# 1 & # 2, # 3 - на потом):
Таблица атрибутов для пространственных объектов:
Таблица без каких-либо пространственных данных:
(Обратите внимание, что это не реальные данные, и комбинации патогенов и видов могут не быть реальными. На самом деле у меня 115 полигонов и 519 строк таблицы. Виды содержат от 1 до 40 патогенных микроорганизмов, поэтому у видов от 1 до 40 строк мой стол)
В качестве дополнительного бонуса, из-за будущих анализов, которые мне нужно сделать, в идеале я хотел бы иметь возможность сделать это соединение один ко многим так, чтобы я мог сохранить дополнительный столбец данных из таблицы (см. Ниже пример как это может выглядеть) Однако это менее важно, потому что, если я могу понять, как сделать соединение, я могу просто повторить анализ.
Я нашел несколько решений этой проблемы, но они не помогли мне по причинам, перечисленным ниже:
Решение 1: блог Дэвида Олберса - я слишком новичок, чтобы понять, как редактировать новый скрипт и как импортировать его в ArcMap. Я попробовал старый скрипт, и он просто сгенерировал тонну пустых полигонов с названием test, test_1, test_1_1, test_1_1_1 и т. Д.
Решение 2. Соединение « один ко многим» - я попытался использовать инструмент « Создать таблицу запросов» (и у меня нет знаний по SQL, хотя я использовал построитель выражений), и я получил ОШИБКУ 000383: проблема с таблицей, не могу найти рабочее пространство & Не удалось выполнить (MakeQueryTable). Все мои файлы находятся в одной папке, но их нет в базе геоданных.
Ответы:
Для умножения функций сделайте это (доступно для тех, кто имеет ArcGIS 10.1 или выше).
Объекты будут размножаться в новом классе объектов, где будут присутствовать все объекты (даже если у них не было совпадений в таблице) и там, где ранее было совпадение 1: M, объекты будут умножены для получения 1: 1. соответствие каждой функции всем ее элементам таблицы. Поле уникального идентификатора, созданное на шаге 2, позволит вам связать умноженные многоугольники с исходным набором одного многоугольника. С новым классом пространственных объектов вы можете делать выборки для полей таблицы, сводок, пространственных объединений и т. Д.
Если вы хотите сгенерировать уникальное значение идентификатора, представляющее каждую уникальную комбинацию видов и болезней, вы можете использовать версию инструмента 10.2, описанную в этом сообщении в блоге . Наличие этого типа ключа позволяет использовать его для выполнения стандартных объединений со сводными таблицами и статистикой на основе многополевых отношений в качестве замены для создания фактических многополевых отношений с использованием настройки Make Query Table.
Вот хорошая ссылка от esri: https://support.esri.com/en/technical-article/000001228
источник
not
иметь такое же количество функций ...»SQL-запрос:
источник