Краткая информация
Комбинирует несколько входных наборов данных одного типа данных в один новый выходной набор данных. Этот инструмент комбинирует точечные, линейные и полигональные классы объектов или таблицы.
Используйте инструмент Присоединить, чтобы комбинировать входные наборы данных с существующими.
Рисунок
Использование
Используйте этот инструмент, чтобы комбинировать наборы данных из нескольких источников в один новый выходной набор данных. Все входные наборы данных должны быть одного типа. Например, можно объединить несколько классов точечных объектов или несколько таблиц, но нельзя объединять класс линейных объектов с классом полигональных объектов.
Все поля в выходном наборе данных и содержание этих полей можно контролировать с помощью элемента управления Список полей.
Этот инструмент не разбивает и не меняет геометрию входных наборов данных. Все пространственные объекты входных классов объектов останутся без изменений после слияния, даже если пространственные объекты перекрываются. Чтобы скомбинировать, или разбить, геометрию пространственных объектов, используйте инструмент Объединить.
При слиянии классов пространственных объектов выходной набор данных находится в системе координат первого в списке Входных наборов данных класса пространственных объектов, если в качестве среды геообработки не установлена Выходная система координат.
Этот инструмент не поддерживает классы объектов аннотаций. Используйте инструмент Добавить классы объектов-аннотаций для комбинирования классов объектов аннотаций.
Указанный инструмент не поддерживает наборы растровых данных. Используйте инструмент Мозаика в новый растр, чтобы объединить несколько растров в новый выходной растр.
Синтаксис
Merge_management (inputs, output, {field_mappings})
Параметр | Объяснение | Тип данных |
inputs [inputs,...] | Входные наборы данных, которые будут объединены вместе в новый выходной набор данных. Входными наборами данных могут быть классы точечных, линейных или полигональных объектов или таблицы. Все входные наборы данных должны быть одного типа. | Table View |
output | Выходной набор данных, который будет содержать все комбинированные входные наборы данных. | Feature Class;Table |
field_mappings (дополнительно) |
Контролирует, как атрибутивные поля из входных наборов данных сооставляются и переносятся в выходной набор данных. Вы можете добавлять, переименовывать или удалять выходные поля, а также менять их свойства, такие как тип данных и правила слияния. Правила слияния позволяют вам определить, каким образом значения из нескольких входных полей будут слиты или объединены в одно выходное значение. Имеется несколько правил слияния, определяющих способ присвоения значений выходным полям.
Вы можете использовать класс FieldMappings ArcPy для определения этого параметра. | Field Mappings |
Пример кода
Merge, пример 1 (окно Python)
Следующий скрипт окна Python демонстрирует, как использовать инструмент Объединение (Merge).
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.Merge_management(["majorrds.shp", "Habitat_Analysis.gdb/futrds"], "C:/output/Output.gdb/allroads")
Merge, пример 2 (автономный скрипт)
Используйте инструмент Объединение для перемещения пространственных объектов из двух классов объектов улиц в один набор данных.
# Name: Merge.py
# Description: Use Merge tool to move features from two street
# feature classes into a single dataset with field mapping
# import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Street feature classes to be merged
oldStreets = "majorrds.shp"
newStreets = "Habitat_Analysis.gdb/futrds"
# 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.Merge_management([oldStreets, newStreets], uptodateStreets, fieldMappings)
Параметры среды
- Выходное значение Z по умолчанию (Default Output Z Value)
- Разрешение M (M Resolution)
- Допуск M (M Tolerance)
- Выходной XY домен (Output XY Domain)
- Выходная система координат (Output Coordinate System)
- Экстент (Extent)
- Текущая рабочая область (Current Workspace)
- Географические преобразования (Geographic Transformations)
- Временная рабочая область (Scratch Workspace)
- Выходные данные содержат значения M (Output has M values)
- Выходные данные содержат Z значения (Output has Z values)
- Разрешение XY (XY Resolution)
- Допуск XY (XY Tolerance)
- Разрешение Z (Z Resolution)
- Допуск Z (Z Tolerance)
- Выходной домен Z (Output Z Domain)
- Выходной домен M (Output M Domain)