Соединение полей (Управление данными)

Сводка

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

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

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

  • Входная таблица может быть классом пространственных объектов (включая шейп-файл) или таблицей.

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

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

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

  • Соединения могут основываться на полях типа текст, дата или числовых.

  • Соединения, основанные на текстовых полях, чувствительны к регистру.

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

  • Входное поле соединения и Поле соединяемой таблицы могут иметь разные имена.

  • Если поле соединения имеет то же имя, что и поле из входной таблицы, к присоединенному полю будет добавлено _1 (или _2 или _3 и т.д.), чтобы сделать его уникальным.

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

    • Чтобы учесть значения соединяемых таблиц, отличные от первого вхождения, начните с запуска инструмента Суммарная статистика, используя результаты инструмента Соединить таблицу в качестве входных данных. Суммарная статистика позволяет суммировать поля (например, получать сумму, среднее, минимум).
    • Чтобы объединить два или более полей в соединяемой таблице до соединения, сначала экспортируйте таблицу или класс пространственных объектов с помощью инструмента Таблица в таблицу. Затем выполните их слияние с помощью сопоставления полей инструмента.
  • Инструмент Проверить соединение можно использовать для проверки соединения между двумя слоями или таблицами, это позволит определить, есть ли у слоев или таблиц допустимые имя полей и поля Object ID, будут ли в ходе соединения сопоставленные записи, тип кардинальности (один-к-одному или один-ко-многим) и другие свойства соединения.

    Для простоты использования кнопка для проверки соединения доступна в диалоговом окне инструмента.

Синтаксис

arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields})
ParameterОбъяснениеТип данных
in_data

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

Mosaic Layer; Raster Layer; Table View
in_field

Поле входной таблицы, на котором будет основано соединение.

Field
join_table

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

Mosaic Layer; Raster Layer; Table View
join_field

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

Field
fields
[fields,...]
(Дополнительный)

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

Field

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

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

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

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

Пример кода

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

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

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.JoinField_management("zion_park", "zonecode", "zion_zoning", "zonecode", 
                           ["land_use", "land_cover"])
JoinField, пример 2 (автономный скрипт)

На этом автономном скрипте Python показана функция JoinField, которая используется для присоединения таблицы к классу пространственных объектов и включает только два поля из соединяемой таблицы.

# PermanentJoin.py
# Purpose: Join two fields from a table to a feature class 
# Import system modules
import arcpy
# Set the current workspace 
arcpy.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: Да

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