Посредством общего поля, получившего название ключевого, вы можете связывать записи одной таблицы с записями в другой таблице. Например, вы можете связать таблицу информации о владении участками со слоем участков, потому что они имеют общее поле идентификации участков. Создать эти ассоциации можно разными способами, включая временное объединение или связывание таблиц на карте или создание классов отношений в базе геоданных, что позволяет получить постоянные ассоциации. Соединения также могут зависеть от пространственного местоположения.
Информация о соединениях и связях сохраняется в свойствах слоя. Чтобы эта информация стала доступна, дважды щелкните слой, чтобы открылись Свойства слоя, и выберите Соединения или Связи.
Присоединение атрибутов из таблицы
Предположим, что у вас имеются данные об изменении в процентах численности населения в определенном округе, и на основании этой информации вы хотите сделать карты, которые показывали бы рост численности населения. Поскольку данные о населении находятся в таблице в базе данных и имеют общее поле со слоем, вы можете соединить их с географическими объектами и использовать любое из дополнительных полей для обозначений, надписей, запросов или для анализа объектов данного слоя.
Обычно к слою присоединяют таблицу с данными на основании значений поля, которое присутствует в обеих таблицах. Название поля не обязательно должно совпадать, но тип данных должен быть одинаковым; числа соединяются с числами, текст с текстом и т.д. Вы можете выполнить соединение, используя инструмент геообработки Добавить соединение. При выполнении атрибутивного соединения присоединяемые поля динамически добавляются к существующей таблице. Свойства поля, такие как псевдонимы, видимость и числовой формат, сохраняются при добавлении или удалении соединения.
В зависимости от организации ваших данных вам может понадобиться суммирования данных в таблице перед ее присоединением к слою. При суммировании таблицы получается новая статическая таблица с суммарной статистикой. В продолжение этого процесса можно создавать различные виды статистики, в том числе, подсчитать, количество, среднее значение, сумму, минимум и максимум. Представьте, что вам нужно создать карту населения по штатам, а не по округам, а у вас есть данные только по округам. Суммируя данные округов по штатам – в этом примере находя общую сумму населения для каждого штата – и затем присоединяя эту недавно созданную выходную таблицу к слою штата, вы можете создать карту населения по штатам.
При использовании данных, в которых существует отношение один ко многим или много ко многим, используйте класс отношений или связь, чтобы установить отношение между наборами данных. Однако в этих обстоятельствах вы можете создать соединение. Когда вы создаете соединение в таком случае, существуют различия между тем, как инструменты и другие параметры, зависящие от слоя, работают в зависимости от источника данных. Если вы используете данные той же базы геоданных для создания соединения, будут возвращены все совпадающие записи. Если вы используете данные, не относящиеся к базе данных, например шейп-файлы или таблицы dBASE, для создания соединения, возвращается только первая совпадающая запись.
Соединение данных по местоположению (в пространстве)
Если слои на карте не имеют общего атрибутивного поля, их можно соединить с помощью инструмента геообработки Пространственное соединение, который соединяет атрибуты двух слоев в зависимости от местоположения объектов в этих слоях.
Используя пространственное соединение, вы сможете выполнять следующие рабочие процессы:
Пространственное соединение использует пространственные связи (ассоциации) между слоями, поля одного из которых будут добавлены в другой. В зависимости от типа связи вы можете добавить атрибуты или агрегирование (минимум, максимум, среднее и т. д.) числовых атрибутов, от сопоставляемого объекта до целевого объекта.
Пространственные соединения по умолчанию отличаются от управляемых атрибутами соединений, связей и классов отношений тем, что они не являются динамическими и требуют сохранения результатов на новом выходном слое. Если вы используете инструмент Пространственное соединение в скрипте или модели, вы можете повысить производительность, используя рабочую область в памяти вместо создания выхода. Например, для записи в рабочую область в памяти путь выхода инструмента включает рабочую область и имя выходных данных, такое как in_memory/outputFeature.
Удаление соединения
Чтобы удалить соединение, воспользуйтесь одним из перечисленных выше методов для доступа к элементам меню Соединения и откройте инструмент Удалить соединение. Вы можете использовать меню в открытой таблице атрибутов, вкладку Данные для слоя или автономной таблицы, выбранную на панели Содержание, или контекстное меню Соединения и Связи.
В меню Соединения можно также удалить все соединения. Эта команда просит вас подтвердить действие, потому что вы не можете отменить удаление всех соединений.
Привязка атрибутов одной таблицы к другой
Связи могут помочь вам обнаружить конкретную информацию в ваших данных. Например, если вы выберете здание, вы можете найти всех арендаторов, которые занимают его. Точно так же, если вы выберете арендатора, вы сможете узнать, в каком здании он находится (или в нескольких зданиях, в случае сети магазинов в нескольких торговых центрах – связь много ко многим). При использовании данных, в которых существует связь один ко многим или много ко многим, рекомендуется использовать класс отношений или отношение.
В отличие от таблиц соединений, связанные таблицы определяют отношения между двумя таблицами. Связанные данные не добавляются в таблицу атрибутов слоя , как это происходит при соединении. Вместо этого вы можете обратиться к связанным данным через выбранные объекты или записи в слое или в таблице. Вы можете создать связь с помощью инструмента геообработки Добавить связь.
Связи, добавленные в слой или таблицу карты, по существу ничем не отличаются от классов простых отношений в базе геоданных, за исключением того, что они сохраняются в карте, а не в базе геоданных. Класс отношений хранит информацию о связях между объектами и записями в базе геоданных, и обеспечивает целостность ваших данных. Чтобы создать класс отношений, используйте инструмент Создать класс отношений или щелкните правой кнопкой мыши базу геоданных на панели Каталог, укажите на Новый и щелкните Отношения.
Если класс пространственных объектов в базе геоданных уже участвует в классе отношений, вам не нужно создавать отношения для таблиц. Они уже доступны для использования и указаны в меню Связанные данные, которое можно использовать для просмотра связанных данных. Обратите внимание, что отношение многие-ко-многим определяется иначе, если ваши данные хранятся в базе геоданных.
Удаление связи
Чтобы удалить связь, воспользуйтесь одним из перечисленных выше способов для доступа к элементам меню Связи и откройте инструмент Удалить связи. Вы можете использовать меню в открытой таблице атрибутов, вкладку Данные для слоя или автономной таблицы, выбранную на панели Содержание, или контекстное меню Соединения и Связи.
Из меню Связи также можно удалить все связи. Эта команда просит вас подтвердить действие, потому что вы не можете отменить удаление всех связей.