Добавить связь (Управление данными)

Сводка

Связывает слой с другим слоем или таблицей на основе значения поля. Поддерживаются векторные слои, представления таблиц и растровые слои с поддерживаемой таблицей атрибутов.

Записи в Связанной таблице соответствуют записям входного Имени слоя или Представления таблицы. Соответствие устанавливается, если значения входного и выходного полей связи равны. Связи не изменяют данные; они являются свойством слоя.

Использование

  • Если входные данные представлены классом пространственных объектов или путем к набору данных, этот инструмент будет автоматически создавать и возвращать новый слой с результатом примененного инструмента.

  • Записи из Связанной таблицы (Join Table) могут соответствовать нескольким записям входного слоя или представления таблицы.

  • Связанной таблицей может быть таблица базы геоданных или файл dBASE. Связанная таблица не обязательно должна быть слоем.

  • Входной слой должен иметь поле ObjectID. Связанная таблица не обязательно должна содержать поле ObjectID.

  • Чтобы сохранить связь для использования в другом проекте, сохраните слой в файл слоя с помощью инструмента Сохранить слой в файл. Это применяется только к слоям, представления таблицы нельзя сохранять таким образом.

  • Если необходимо создать постоянную связь, используйте инструмент Создать класс отношений.

  • Индексация полей в входном слое или представлении таблицы и в Связанной таблице, на которых будет основана связь, может повысить производительность. Индексация выполняется с помощью инструмента Добавить атрибутивный индекс.

Синтаксис

arcpy.management.AddRelate(in_layer_or_view, in_field, relate_table, relate_field, relate_name, {cardinality})
ParameterОбъяснениеТип данных
in_layer_or_view

Слой или представление таблицы, с которым будет связываться соответствующая таблица.

Mosaic Layer; Raster Layer; Table View
in_field

Поле входного слоя или представления таблицы, на котором будет основана связь.

Field
relate_table

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

Mosaic Layer; Raster Layer; Table View
relate_field

Поле из связанной таблицы, содержащее значения, на которых будет основываться связь.

Field
relate_name

Уникальное имя для связи.

String
cardinality
(Дополнительный)

Кардинальность отношений.

  • ONE_TO_ONEУказывает, что отношение между входной таблицей и связанной таблицей – один-к-одному. Например, одна строка входной таблицы будет связана только с одной соответствующей строкой связанной таблицы.
  • ONE_TO_MANYУказывает, что отношение между входной таблицей и связанной – один-ко-многим. Одна строка входной таблицы может соотноситься с несколькими строками связанной таблицы. Используется по умолчанию.
  • MANY_TO_MANYУказывает, что отношение между входной таблицей и связанной таблицей – многие-ко-многим. Несколько строк входной таблицы с одинаковым значением могут соответствовать нескольким строкам в связанной таблице.
String

Производные выходные данные

NameОбъяснениеТип данных
out_layer_or_view

Обновленный входной набор данных.

Представление таблицы; Растровый слой; Слой мозаики

Пример кода

AddRelate, пример 1 (окно Python)

Пример скрипта окна Python для использования функции AddRelate в режиме прямого запуска.

import arcpy
relate = arcpy.AddRelate_management("Parcel", "ParcelID", "owner_table", 
                                    "ParcelID", "Owner2Parcel")

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы