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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Инструмент Проверить соединение можно использовать для проверки соединения между двумя слоями или таблицами, это позволит определить, есть ли у слоев или таблиц допустимые имя полей и поля 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: Да

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