Сводка
Соединяет содержание таблицы с другой таблицей на основе общего атрибутивного поля. Входная таблица обновляется, чтобы содержать поля из присоединенной таблицы. Вы можете выбрать, какие поля из присоединяемой таблицы будут добавлены во входную таблицу.
Записи во Входной таблице сопоставляются с записями в Присоединяемой таблице на основе значений Входного поля соединения и Выходного поля соединения. При необходимости можно выбрать только обязательные поля в присоединяемой таблице и добавить их во входную таблицу в процессе соединения.
Иллюстрация
Использование
Входная таблица может быть классом пространственных объектов (включая шейп-файл) или таблицей.
Все поля входной таблицы сохраняются во время соединения. При необходимости можно выбрать только выбранные поля из присоединяемой таблицы, которые будут добавлены в выходные данные. Они могут быть проверены с помощью параметра Соединяемые поля.
Записи из присоединяемой таблицы могут соответствовать нескольким записям во входной таблице. Более подробно о соединениях типа один-к-одному, один-ко-многим и многие-ко-многим см. в разделе О соединении и связи таблиц.
Если для дополнительного параметра Соединяемые поля не выбраны поля, будут присоединены все поля из присоединяемой таблицы с выходными данными.
Соединения могут основываться на полях типа текст, дата или числовых.
Соединения, основанные на текстовых полях, чувствительны к регистру.
Поля различных числовых форматов могут соединяться, только если их значения равны. Например, тип поля с плавающей точкой может быть соединен с полем короткого целочисленного значения.
Входное поле соединения и выходное поле соединения могут иметь разные имена.
Если поле соединения имеет то же имя, что и поле из входной таблицы, к имени поля соединения будет добавлен суффикс _1 (_2, _3 и т. д.), чтобы сделать его уникальным.
Если значения в выходном поле соединения не уникальны, будет использоваться только первое встреченное значение.
- Чтобы учесть значения соединяемых таблиц, отличные от первого вхождения, начните с запуска инструмента Суммарная статистика, используя результаты инструмента Соединить таблицу в качестве входных данных. Суммарная статистика позволяет суммировать поля (например, получать sum (сумму), mean (среднее), min (минимум)).
- Чтобы объединить два или более полей в соединяемой таблице до соединения, сначала экспортируйте таблицу или класс пространственных объектов с помощью инструмента Таблица в таблицу и объедините с помощью списка полей.
Синтаксис
arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields})
Параметр | Объяснение | Тип данных |
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 |
Пример кода
JoinField, пример 1 (окно Python)
Пример скрипта окна Python для использования функции JoinField в режиме прямого запуска.
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 показана функция JoinField, которая используется для присоединения таблицы к классу пространственных объектов и включает только два поля из присоединяемой таблицы.
# 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)
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да