Сводка
Присоединяет несколько входных наборов данных к существующему целевому набору данных. Входными наборами данных могут быть классы объектов, таблицы, шейп-файлы, растры, классы объектов аннотаций или объекты-размеры.
Чтобы комбинировать входные наборы данных в новый выходной набор данных, используйте инструмент Слияние.
Иллюстрация
Использование
Используйте этот инструмент, чтобы добавить пространственные объекты или другие данные из нескольких наборов данных в существующий набор данных. Этот инструмент может присоединять классы точечных, линейных и полигональных пространственных объектов, таблицы, растры, классы пространственных объектов-аннотаций или объектов-размеров к существующему набору данных такого же типа. Например, несколько таблиц можно присоединить к имеющейся таблице, или несколько растров - к существующему набору растровых данных, но нельзя присоединить класс линейных пространственных объектов к точечному классу.
-
Параметр Список полей инструмента Присоединить может использоваться для контроля того, как информация из атрибутивных полей входного набора данных переносится в целевой набор данных. Параметр Список полей можно применять только в том случае, если для выбрано Использовать Список полей для согласования различий схемы для Типа схемы.
Этот инструмент не разбивает пространственные объекты в точках пересечений при добавлении их целевому набору данных. Все пространственные объекты из входного класса объектов и целевого класса объектов останутся без изменений после присоединения, даже если пространственные объекты перекрываются. Чтобы скомбинировать, или разбить, геометрию пространственных объектов, используйте инструмент Объединить.
Если выбрано Входная схема должна соответствовать целевой схеме для Типа схемы (schema_type = "TEST" в Python), схема (определение полей) входного набора данных должна совпадать со схемой целевого набора данных, для того чтобы присоединить объекты. Если выбрано Использовать Список полей для согласования различий схемы (schema_type = "NO_TEST" в Python), схема входного набора данных (определения полей) не должна соответствовать целевому набору данных. Однако поля входных наборов данных, которые не соответствуют полям целевого набора данных, не будут присоединены целевому набору данных, если соответствие не будет специально определено установкой параметра Список полей.
Поскольку данные входного набора данных записываются в существующий целевой набор данных, который имеет предопределенную схему (названия и типы полей), параметр Список поля не допускает добавления или удаления полей из целевого набора данных.
Если пространственные привязки входного и целевого классов объектов не совпадают, инструмент Присоединить спроецирует пространственные объекты входного класса объектов в систему координат целевого класса объектов.
Этот инструмент не выполняет подгонку границ, корректировка геометрии пространственных объектов производиться не будет.
Слои карты могут использоваться как Входные наборы данных. Если в слое задана выборка, то инструмент Присоединить использует только выбранные записи (пространственные объекты или строки таблицы).
Этот инструмент не может использовать несколько входных слоев с одним именем. Чтобы обойти это ограничение, используйте кнопку просмотра диалогового окна инструмента для вывода полных путей каждого из Входных наборов данных.
Чтобы использовать параметр Подтип, целевой набор данных должен иметь заданное поле подтипа и присвоенные коды подтипа. В параметре Подтип задайте описание подтипа, чтобы присвоить этот подтип всем новым данным, которые присоединяются к целевому набору данных.
Синтаксис
arcpy.management.Append(inputs, target, {schema_type}, {field_mapping}, {subtype})
Параметр | Объяснение | Тип данных |
inputs [inputs,...] | Входные наборы данных, данные которых будут присоединены к целевым наборам данных. Входные наборы данных могут быть классами точечных, линейных или полигональных объектов, таблицами, растрами, классами объектов аннотаций или классами объектов измерений. Каждый входной набор данных должен соответствовать типу данных целевого набора данных. | Table View; Raster Layer |
target | Существующий набор данных, к которому будут присоединены данные входного набора данных. | Table View; Raster Layer |
schema_type (Дополнительный) | Устанавливает, должна ли схема (названия и типы полей) входных наборов данных соответствовать схеме целевого набора данных, чтобы данные были присоединены.
| String |
field_mapping (Дополнительный) | Контролирует, как атрибутивные поля входных наборов данных переносятся или сопоставляются в целевом наборе данных. Этот параметр можно использовать только в случае, если для параметра schema_type указано значение NO_TEST. Поскольку данные входного набора данных присоединены к существующему целевому набору данных с предопределенной схемой (названиями и типом полей), поля не могут быть добавлены или удалены из целевого набора данных. Вы можете задать правила слияния для каждого выходного поля. Правила слияния позволяют вам определить, каким образом значения из нескольких входных полей будут слиты или объединены в одно выходное значение. Имеется несколько правил слияния, определяющих способ присвоения значений выходным полям.
Вы можете использовать класс FieldMappings ArcPy для определения этого параметра. | Field Mappings |
subtype (Дополнительный) | Описание подтипа, которое будет присвоено всем новым данным, которые присоединяются к целевому набору данных. | String |
Производные выходные данные
Имя | Объяснение | Тип данных |
output | Обновленный целевой набор данных. | Представление таблицы; растровый слой |
Пример кода
Append, пример 1 (окно Python)
Следующий скрипт окна Python показывает, как использовать инструмент Append в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data/"
arcpy.Append_management(["north.shp", "south.shp", "east.shp", "west.shp"],
"wholecity.shp", "TEST")
Append, пример 2 (автономный скрипт)
Следующий скрипт демонстрирует работу инструмента Append.
# Name: Append.py
# Description: Use the Append tool to combine several shapefiles
# import system modules
import arcpy
import os
# Set environment settings
arcpy.env.workspace = "C:/data"
# Set local variables
outLocation = "C:/Output"
outName = "MA_towns.shp"
schemaType = "NO_TEST"
fieldMappings = ""
subtype = ""
# Process: Create a new empty feature class to append shapefiles into
emptyFC = arcpy.CreateFeatureclass_management(outLocation, outName, "POLYGON",
"amherst.shp")
# All polygon FCs in the workspace are MA town shapefiles, we want to append
# these to the empty FC. The list will resemble ["amherst.shp", "hadley.shp",
# "pelham.shp", "coldspring.shp"]
fcList = arcpy.ListFeatureClasses("", "POLYGON")
# Create FieldMappings object to manage merge output fields
fieldMappings = arcpy.FieldMappings()
# Add the target table to the field mappings class to set the schema
fieldMappings.addTable(emptyFC)
# Add input fields for the town name into TOWNNAME field that matches the
# target dataset since each input dataset has a different field name for
# this info
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst.shp","TOWNNAME")
fldMap.addInputField("hadley.shp","NAME")
fldMap.addInputField("pelham.shp","TOWN_NAME")
fldMap.addInputField("coldspring.shp","TOWN")
# Set name of new output field "TOWNNAME"
townName = fldMap.outputField
townName.name, townName.aliasName, townName.type = "TOWNNAME", "TOWNNAME", "TEXT"
fldMap.outputField = townName
# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap)
# Do the same thing for the POPULATION field
fldMap = arcpy.FieldMap()
fldMap.addInputField("amherst.shp","POPULATION")
fldMap.addInputField("hadley.shp","POP")
fldMap.addInputField("pelham.shp","POP_2010")
fldMap.addInputField("coldspring.shp","POP")
# Set name of new output field "POPULATION"
pop = fldMap.outputField
pop.name, pop.aliasName, pop.type = "POPULATION", "POPULATION", "LONG"
fldMap.outputField = pop
# Add output field to field mappings object
fieldMappings.addFieldMap(fldMap)
# Process: Append the feature classes into the empty feature class
arcpy.Append_management(fcList, os.path.join(outLocation, emptyFC), schemaType,
fieldMappings, subtype)
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да