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

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

Комбинирует несколько входных наборов данных одного типа данных в один новый выходной набор данных. Этот инструмент комбинирует точечные, линейные и полигональные классы объектов или таблицы.

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

Иллюстрация

Иллюстрация инструмента Слияние

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

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

    Таблицы и клаcсы объектов можно комбинировать в один выходной набор данных. Тип выходного набора данных определяется первым набором входных данных. Если первый входной набор данных это класс пространственных объектов, то выходные данные будут классом пространственных объектов. Если первый входной набор данных это таблица, то выходные данные будут таблицей. Если таблица присоединяется к классу объектов, у строк выходной таблицы будет нулевая геометрия.

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

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

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

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

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

  • Этот инструмент не поддерживает классы объектов аннотаций. Используйте инструмент Соединить классы объектов-аннотаций для комбинирования классов объектов аннотаций.

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

Параметры

ПодписьОписаниеТип данных
Входные наборы данных

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

Таблицы и клаcсы объектов можно комбинировать в один выходной набор данных. Тип выходного набора данных определяется первым набором входных данных. Если первый входной набор данных это класс пространственных объектов, то выходные данные будут классом пространственных объектов. Если первый входной набор данных это таблица, то выходные данные будут таблицей. Если таблица присоединяется к классу объектов, у строк выходной таблицы будет нулевая геометрия.

Table View
Выходной набор данных

Выходной набор данных, который будет содержать все комбинированные входные наборы данных.

Feature Class;Table
Список полей
(Дополнительный)

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

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

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

Field Mappings
Добавление исходной информации в выходной набор данных
(Дополнительный)

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

  • Не отмечено – исходная информация не будет добавляться в выходной набор данных в поле MERGE_SRC. Это значение по умолчанию
  • Отмечено – исходная информация будет добавляться в выходной набор данных в поле MERGE_SRC.
Boolean
Режим сопоставления полей
(Дополнительный)

Определяет, как поля входного набора данных будут переданы в выходной набор данных.

  • Автоматически генерировать поля, объединенные из всех входных данныхПоля с одинаковыми именами будут автоматически сопоставлены в выходных данных. Поля, уникальные для входных данных, сохранятся в выходных данных. Это значение по умолчанию
  • Используйте список полей для согласования измененийВыходные поля будут определяться значением параметра Список полей.
  • Использовать схему только первого набора данныхБудет использована схема из первого входного набора данных. Этот режим подходит, когда у всех входных наборов данных одинаковая схема.
String

arcpy.management.Merge(inputs, output, {field_mappings}, {add_source}, {field_match_mode})
ИмяОписаниеТип данных
inputs
[inputs,...]

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

Таблицы и клаcсы объектов можно комбинировать в один выходной набор данных. Тип выходного набора данных определяется первым набором входных данных. Если первый входной набор данных это класс пространственных объектов, то выходные данные будут классом пространственных объектов. Если первый входной набор данных это таблица, то выходные данные будут таблицей. Если таблица присоединяется к классу объектов, у строк выходной таблицы будет нулевая геометрия.

Table View
output

Выходной набор данных, который будет содержать все комбинированные входные наборы данных.

Feature Class;Table
field_mappings
(Дополнительный)

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

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

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

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

Field Mappings
add_source
(Дополнительный)

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

  • NO_SOURCE_INFOИсходная информация не будет добавляться в выходной набор данных в поле MERGE_SRC. Это значение по умолчанию
  • ADD_SOURCE_INFOИсходная информация будет добавляться в выходной набор данных в поле MERGE_SRC.
Boolean
field_match_mode
(Дополнительный)

Определяет, как поля входного набора данных будут переданы в выходной набор данных.

  • AUTOMATICПоля с одинаковыми именами будут автоматически сопоставлены в выходных данных. Поля, уникальные для входных данных, сохранятся в выходных данных. Это значение по умолчанию
  • MANUAL_EDITВыходные поля будут определяться значением параметра field_mappings.
  • USE_FIRST_SCHEMAБудет использована схема из первого входного набора данных. Этот режим подходит, когда у всех входных наборов данных одинаковая схема.
String

Пример кода

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

Следующий скрипт окна Python демонстрирует использование функции Merge:

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Merge(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], 
                       "C:/output/Output.gdb/allroads", "", "ADD_SOURCE_INFO")
Merge, пример 2 (автономный скрипт)

Использование функции Merge для перемещения пространственных объектов из двух классов объектов улиц в один набор данных.

# Name: Merge.py
# Description: Use Merge to move features from two street
#              feature classes into a single dataset with field mapping

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
addSourceInfo = "ADD_SOURCE_INFO"

# Create FieldMappings object to manage merge output fields
fieldMappings = arcpy.FieldMappings()

# Add all fields from both oldStreets and newStreets
fieldMappings.addTable(oldStreets)
fieldMappings.addTable(newStreets)

# Add input fields "STREET_NAM" & "NM" into new output field
fldMap_streetName = arcpy.FieldMap()
fldMap_streetName.addInputField(oldStreets, "STREET_NAM")
fldMap_streetName.addInputField(newStreets, "NM")

# Set name of new output field "Street_Name"
streetName = fldMap_streetName.outputField
streetName.name = "Street_Name"
fldMap_streetName.outputField = streetName

# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap_streetName)

# Add input fields "CLASS" & "IFC" into new output field
fldMap_streetClass = arcpy.FieldMap()
fldMap_streetClass.addInputField(oldStreets, "CLASS")
fldMap_streetClass.addInputField(newStreets, "IFC")

# Set name of new output field "Street_Class"
streetClass = fldMap_streetClass.outputField
streetClass.name = "Street_Class"
fldMap_streetClass.outputField = streetClass  

# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap_streetClass)  

# Remove all output fields from the field mappings, except fields 
# "Street_Class", "Street_Name", & "Distance"
for field in fieldMappings.fields:
    if field.name not in ["Street_Class", "Street_Name", "Distance"]:
        fieldMappings.removeFieldMap(fieldMappings.findFieldMapIndex(field.name))

# Since both oldStreets and newStreets have field "Distance", no field mapping 
# is required

# Use Merge tool to move features into single dataset
uptodateStreets = "C:/output/Output.gdb/allroads"
arcpy.management.Merge([oldStreets, newStreets], uptodateStreets, fieldMappings, 
                       addSourceInfo)

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

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

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