Краткая информация
Соединяет содержание таблицы с другой таблицей на основе общего атрибутивного поля. Входная таблица обновляется, чтобы содержать поля из присоединенной таблицы. Вы можете выбрать, какие поля из присоединяемой таблицы будут добавлены во входную таблицу.
Записи во Входной таблице (Input Table) сопоставляются с записями в Присоединяемой таблице (Join Table) на основе значений Входного поля соединения (Input Join Field) и Выходного поля соединения (Output Join Field). При необходимости можно выбрать только обязательные поля в присоединяемой таблице и добавить их во входную таблицу в процессе соединения.
Рисунок
Использование
Входная таблица (Input Table) может быть классом пространственных объектов (включая шейп-файл) или таблицей.
-
Все поля входной таблицы сохраняются во время соединения. При необходимости можно выбрать только выбранные поля из присоединяемой таблицы, которые будут добавлены в выходные данные. Они могут быть проверены с помощью параметра Соединняемые поля (Join Fields).
Записи из присоединяемой таблицы могут соответствовать нескольким записям во входной таблице. Более подробно о соединениях типа один-к-одному, один-ко-многим и многие-ко-многим см. О соединении и связи таблиц.
Если для дополнительного параметра Соединяемые поля не выбраны поля, будут присоединены все поля из присоединяемой таблицы с выходными данными.
Соединения могут основываться на полях типа текст, дата или числовых.
Поля, основанные на текстовых полях, чувствительны к регистру.
Поля различных числовых форматов могут соединяться, только если их значения равны. Например, тип поля с плавающей точкой может быть соединен с полем короткого целочисленного значения.
Входное поле соединения и выходное поле соединения могут иметь разные имена.
Если поле соединения имеет то же имя, что и поле из входной таблицы, к имени поля соединения будет добавлен суффикс _1 (_2, _3 и т. д.), чтобы сделать его уникальным.
Если значения в выходном поле соединения не уникальны, будет использоваться только первое встреченное значение.
- Чтобы учесть значения соединяемых таблиц, отличные от первого вхождения, начните с запуска инструмента Суммарная статистика (Summary Statistics), используя результаты инструмента Соединить таблицу (Join Table) в качестве входных данных. Суммарная статистика позволяет суммировать поля (например, получать sum (сумму), mean (среднее), min (минимум)).
- Чтобы объединить два или более полей в соединяемой таблице до соединения, сначала экспортируйте таблицу или класс пространственных объектов с помощью инструмента Таблица в таблицу (Table To Table)и объедините с помощью списка полей (field map) инструмента.
Синтаксис
JoinField_management (in_data, in_field, join_table, join_field, {fields})
Параметр | Объяснение | Тип данных |
in_data | Таблица или класс пространственных объектов, к которому будет присоединена таблица. | Mosaic Layer; Mosaic Dataset; Raster Catalog Layer; Raster Layer; Table View |
in_field | Поле входной таблицы, на котором будет основано соединение. | Field |
join_table | Таблица, которая будет присоединена к входной таблице. | Mosaic Layer; Raster Catalog Layer; Raster Layer; Table View |
join_field | Поле присоединяемой таблицы, содержащее значения, на которых будет основываться соединение. | Field |
fields [fields,...] (дополнительно) | Поля из таблицы соединения, которые будут включены в соединение. | Field |
Пример кода
JoinField Пример 1 (окно Python)
Пример скрипта Python для выполнения функции Соединение полей (Join Field) с запуском из окна Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", ["land_use","land_cover"])
JoinField Пример 2 (автономный скрипт Python)
В этом автономном скрипте Python показана функция Соединение полей (Join Field), которая используется для присоединения таблицы к классу пространственных объектов и включает только два поля из присоединяемой таблицы.
# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class
# Import system modules
import arcpy
from arcpy import env
# Set the current workspace
env.workspace = "c:/data/data.gdb"
# Set the local parameters
inFeatures = "zion_park"
joinField = "zonecode"
joinTable = "zion_zoning"
fieldList = ["land_use", "land_cover"]
# Join two feature classes by the zonecode field and only carry
# over the land use and land cover fields
arcpy.JoinField_management (inFeatures, joinField, joinTable, joinField, fieldList)