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

Уровень лицензии:BasicStandardAdvanced

Резюме

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

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

Рисунок

Иллюстрация Слияние (Merge)

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

Синтаксис

Merge_management (inputs, output, {field_mappings})
ПараметрОбъяснениеТип данных
inputs
[inputs,...]

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

Table View
output

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

Feature Class;Table
field_mappings
(дополнительно)

Поля и параметры полей входных наборов данных. Все уникальные входные поля перечислены в окне Список полей (Field Map), при расширении которого можно увидеть список местонахождений всех входных полей.

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

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 (автономный скрипт)

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

# 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)

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Да
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
9/10/2013