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

Краткая информация

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Если указана опция Выбрать поля переноса для параметра Метод переноса, а значения полей в значении параметра Поле соединяемой таблицы не уникальны, будет использоваться только первое вхождение каждого значения. Для учета значений, отличных от первого появления (соединение один ко многим), установите для параметра Метод переноса значение Использовать сопоставление полей. Чтобы выполнить соединение один ко многим, значение параметра Входная таблица должно иметь поле Object ID и находиться в той же рабочей области, что и значение параметра Соединяемая таблица.

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

    • Чтобы изменить порядок полей, выберите имя поля и перетащите его в новое положение.
    • Тип данных по умолчанию для выходного поля будет таким же, как тип данных первого входного поля (того имени), с которым он сталкивается. Вы можете вручную изменить тип данных в любое время на любой другой допустимый тип данных.
    • Доступны следующие правила слияния: первый, последний, соединение, сумма, среднее, медиана, мода, минимум, максимум, среднеквадратическое отклонение и количество.
    • Используя правило слияния Соединение, вы можете задать собственный разделитель, например, пробел, запятую, точку, тире и т.д. Чтобы использовать пробел, убедитесь, что курсор мыши находится в начале входной строки и щелкните клавишу Пробел один раз.
    • Можно указать начальное и конечное положения текстовых полей, используя опцию формата.
    • Среднеквадратическое отклонение не должно быть использовано для одного входного поля, так как значения нельзя делить на ноль. Поэтому среднеквадратическое отклонение не может применяться для одного входного поля.

    Более подробно о списках полей в скриптах

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

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

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

Параметры

ПодписьОписаниеТип данных
Входная таблица

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

Mosaic Layer; Raster Layer; Table View
Входное поле соединения

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

Field
Соединяемая таблица

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

Mosaic Layer; Raster Layer; Table View
Поле соединяемой таблицы

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

Field
Перенос полей
(Дополнительный)

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

Field
Метод переноса
(Дополнительный)

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

  • Выберите поля для переносаВ выходные данные будут перенесены поля и типы полей из соединяемой таблицы. Это значение по умолчанию
  • Используйте сопоставление полейПеренос полей и типов полей из соединяемой таблицы в выходные данные будет управляться параметром Список полей.
String
Список полей
(Дополнительный)

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

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

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

  • Первое - используется первое входное значение.
  • Последнее – используется последнее значение входного поля.
  • Соединение – соединение (объединение) значений входных полей.
  • Сумма – вычисление суммы значений входных полей.
  • Среднее – вычисление среднего по значениям входных полей.
  • Медиана – вычисление медианы (середины) по значениям входных полей.
  • Мода – использование значения, встречающегося с наибольшей частотой.
  • Минимум – использование наименьшего из всех значений входных полей.
  • Максимум – использование наибольшего из всех значений входных полей.
  • Среднеквадратическое отклонение – использование классификации методом среднеквадратического отклонения для всех значений входных полей.
  • Количество – определяет количество записей, участвующих в вычислениях.

Field Mappings

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

ПодписьОписаниеТип данных
Обновленная входная таблица

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

Table View; Raster Layer; Mosaic Layer

arcpy.management.JoinField(in_data, in_field, join_table, join_field, {fields}, {fm_option}, {field_mapping})
ИмяОписаниеТип данных
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
fm_option
(Дополнительный)

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

  • NOT_USE_FMВ выходные данные будут перенесены поля и типы полей из соединяемой таблицы. Это значение по умолчанию
  • USE_FMПеренос полей и типов полей из соединяемой таблицы в выходные данные будет управляться параметром field_mapping.
String
field_mapping
(Дополнительный)

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

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

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

  • Первое - используется первое входное значение.
  • Последнее – используется последнее значение входного поля.
  • Соединение – соединение (объединение) значений входных полей.
  • Сумма – вычисление суммы значений входных полей.
  • Среднее – вычисление среднего по значениям входных полей.
  • Медиана – вычисление медианы (середины) по значениям входных полей.
  • Мода – использование значения, встречающегося с наибольшей частотой.
  • Минимум – использование наименьшего из всех значений входных полей.
  • Максимум – использование наибольшего из всех значений входных полей.
  • Среднеквадратическое отклонение – использование классификации методом среднеквадратического отклонения для всех значений входных полей.
  • Количество – определяет количество записей, участвующих в вычислениях.

В Python вы можете использовать класс FieldMappings для определения этого параметра.

Field Mappings

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

ИмяОписаниеТип данных
out_layer_or_view

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

Table View; Raster Layer; Mosaic Layer

Пример кода

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

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

import arcpy
arcpy.env.workspace = "C:/data/data.gdb"
arcpy.management.JoinField("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.management.JoinField(inFeatures, joinField, joinTable, joinField, 
                           fieldList)

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

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

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