Соединение полей (Join Field) (Управление данными (Data Management))
Резюме
Соединяет содержание таблицы с другой таблицей на основе общего поля атрибутов. Входная таблица обновляется, чтобы содержать поля из таблицы соединения. Вы можете выбрать, какие поля из присоединяемой таблицы будут добавлены во входную таблицу.
Записи во входной таблице сопоставляются с записями в присоединяемой таблице на основе значений входного поля соединения и выходного поля соединения. При необходимости можно выбрать только обязательные поля в присоединяемой таблице и добавить их во входную таблицу в процессе соединения.
Рисунок
Использование
-
Входная таблица (Input Table) может быть классом пространственных объектов (включая шейп-файл) или таблицей.
-
Все поля входной таблицы сохраняются во время соединения. При необходимости можно выбрать только выбранные поля из присоединяемой таблицы, которые будут добавлены в выходные данные. Они могут быть проверены с помощью параметра Соединение полей (Join Fields).
-
Записи из присоединяемой таблицы могут соответствовать нескольким записям во входной таблице. Более подробно о соединениях типа один-к-одному, один-ко-многим и многие-ко-многим см. О соединении и связи таблиц.
-
Если для дополнительного параметра Соединяемые поля (Join Fields) не выбраны поля, будут присоединены все поля из присоединяемой таблицы с выходными данными.
-
Соединения могут основываться на полях типа текст, дата или числовых.
-
Поля, основанные на текстовых полях, чувствительны к регистру.
-
Поля различных числовых форматов могут соединяться, только если их значения равны. Например, тип поля с плавающей точкой может быть соединен с полем короткого целочисленного значения.
-
Входное поле соединения (Input Join Field) и выходное поле соединения (Output Join Field) могут иметь разные имена.
-
Если поле соединения имеет то же имя, что и поле из входной таблицы, к имени поля соединения будет добавлен суффикс _1 (_2, _3 и т. д.), чтобы сделать его уникальным.
-
Если значения в выходном поле соединения не уникальны, будет использоваться только первое встреченное значение.
- Чтобы учесть значения соединяемых таблиц, отличные от первого вхождения, начните с запуска инструмента Суммарная статистика (Summary Statistics), используя результаты инструмента Соединить таблицу (Join Table) в качестве входных данных. Суммарная статистика (Summary Statistics) позволяет суммировать поля (например, получать sum (сумму), mean (среднее), min (минимум)).
- Чтобы объединить два или более полей в соединяемой таблице до соединения, сначала экспортируйте таблицу или класс пространственных объектов с помощью инструмента Таблица в таблицу (Table To Table)и объедините с помощью списка полей (field map) инструмента.
- Чтобы учесть значения соединяемых таблиц, отличные от первого вхождения, начните с запуска инструмента Суммарная статистика (Summary Statistics), используя результаты инструмента Соединить таблицу (Join Table) в качестве входных данных. Суммарная статистика (Summary Statistics) позволяет суммировать поля (например, получать sum (сумму), mean (среднее), min (минимум)).
Синтаксис
Параметр | Объяснение | Тип данных |
in_data |
Таблица или класс пространственных объектов, к которому будет присоединена таблица. | Mosaic Layer; 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 |
Пример кода
Пример скрипта 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"])
В этом автономном скрипте 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)