Присоединить (Append) (Управление данными)
Резюме
Присоединяет несколько входных наборов данных к существующему целевому набору данных. Входные наборы данных могут быть точечными, линейными или полигональными классами объектов, таблицами, растрами, каталогами растров, классами объектов аннотаций или классами объетов измерений.
Чтобы комбинировать входные наборы данных в новый выходной набор данных, используйте инструмент Слияние (Merge).
Рисунок
Использование
-
Используйте этот инструмент, чтобы добавить пространственные объекты или другие данные из нескольких наборов данных в существующие наборы данных. Этот инструмент может присоединять точечные, линейные и полигональные классы пространственных объектов, таблицы, растры, каталоги растров, классы пространственных объектов-аннотаций или объектов-размеров к существующему набору данных такого же типа. Например, к имеющейся таблице можно присоединить несколько таблиц, или несколько растров к существующему набору растровых данных, но нельзя соединить линейный и точечный классы пространственных объектов.
-
Элемент управления Список полей (Field Map) инструмента Присоединить (Append) может использоваться для контроля того, как информация из атрибутивных полей входного набора данных переносится в целевой набор данных. Список полей (Field Map) может использоваться, только если параметр Тип схемы установлен как NO_TEST.
-
Этот инструмент не разбивает пространственные объекты в точках пересечений при добавлении их целевому набору данных. Все пространственные объекты из входного класса объектов и целевого класса объектов останутся без изменений после присоединения, даже если пространственные объекты перекрываются. Чтобы комбинировать или разбивать геометрии объектов на пересечении, используйте инструмент Объединение (Union).
-
Если параметр Тип схемы установлен на TEST, схема (названия и типы полей) входных наборов данных должна соответствовать схеме целевого набора данных, чтобы пространственные объекты были присоединены. Если параметр Тип схемы установлен на NO_TEST, схема входного набора данных (названия и типы полей) не обязательно должны соответствовать целевому набору данных. Однако, поля входных наборов данных, которые не соответствуют полям целевого набора данных, не будут перенесены в целевой набор данных, если соответствие не будет специально определено установкой параметра Список полей (Field Map).
-
Поскольку данные входного набора данных записываются в существующий целевой набор данных, который имеет предопределенную схему (названия и типы полей), параметр Список поля (Field Map) не допускает добавления или удаления полей из целевого набора данных.
-
Если пространственные привязки входного и целевого классов объектов не совпадают, инструмент Геометрическое соединение (Append) будет проецировать пространственные объекты входного класса объектов в систему координат, используемую целевым классом объектов.
-
В процессе работы инструмента совпадения геометрии не оцениваются, то есть сопоставление геометрии объектов входного и целевого классов объектов не производится.
-
Слои карты могут использоваться как Входные наборы данных. Если в слое задана выборка, только выбранные записи (пространственные объекты или строки таблицы) используются инструментом Геометрическое соединение (Append).
-
Этот инструмент не может использовать несколько входных слоев с одним именем. Хотя ArcMap допускает отображение слоев с одинаковыми именами, эти слои использоватьне следует. Чтобы обойти это ограничение, используйте кнопку обзора диалогового окна инструмента для вывода полных путей каждого из Входных наборов данных.
-
Чтобы использовать параметр Подтип (Subtype), целевой набор данных должен иметь заданное поле подтипа и присвоенные коды подтипа. В параметре Подтип (Subtype) задайте описание подтипа, чтобы присвоить этот подтип всем новым данным, которые присоединяются к целевому набору данных.
Синтаксис
Параметр | Объяснение | Тип данных |
inputs [inputs,...] |
Входные наборы данных, данные которых будут присоединены к целевым наборам данных. Входные наборы данных могут быть точечными, линейными или полигональными классами объектов, таблицами, растрами, каталогами растров, классами объектов аннотаций или классами объетов измерений. Каждый входной набор данных должен соответствовать типу данных целевого набора данных. | Table View; Raster Layer |
target |
Существующий набор данных, к которому будут присоединены данные входного набора данных. Каждый входной набор данных должен соответствовать типу данных целевого набора данных. | Table View; Raster Layer |
schema_type (дополнительно) |
Устанавливает, должна ли схема (названия и типы полей) входных наборов данных соответствовать схеме целевого набора данных, чтобы данные были присоединены.
| String |
field_mapping (дополнительно) |
Контролирует, как информация об атрибутах в полях входных наборов данных переносится в целевой набор данных. Этот параметр может использоваться, только если параметр Тип схемы установлен как NO_TEST. Поскольку данные входного набора данных присоединяются к существующему целевому набору данных, который имеет предопределенную схему (определения полей), поля нельзя удалить из целевого набора данных или добавить к нему. Правила слияния позволяют определить, каким образом значения из двух или более входных полей должны сливаться в одно выходное значение. Можно использовать несколько правил слияния:
| Field Mapping |
subtype (дополнительно) |
Описание подтипа, которое будет присваивать этот подтип всем новым данным, которые присоединяются к целевому набору данных. | String |
Пример кода
В следующем скрипте Python продемонстрировано, как использовать инструмент Присоединить (Append) с запуском из окна Python.
import arcpy
arcpy.env.workspace = "C:/data/"
arcpy.Append_management(["north.shp", "south.shp", "east.shp", "west.shp"], "wholecity.shp", "TEST","","")
На следующем скрипте продемонстрировано, как использовать инструмент Геометрическое соединение (Append).
# Name: Append.py
# Description: Use the Append tool to combine several shapefiles
# import system modules
import arcpy, os
from arcpy import env
# Set environment settings
env.workspace = "C:/data"
# Set local variables
outLocation = "C:/Output"
emptyFC = "MA_towns.shp"
schemaType = "NO_TEST"
fieldMappings = ""
subtype = ""
try:
# Process: Create a new empty feature class to append shapefiles into
arcpy.CreateFeatureclass_management(outLocation, emptyFC, "POLYGON", "amherst.shp")
# All polygon FCs in the workspace are MA town shapefiles, we want to append these to the empty FC
fcList = arcpy.ListFeatureClasses("","POLYGON")
# list will resemble ["amherst.shp", "hadley.shp", "pelham.shp", "coldspring.shp"]
# Process: Append the feature classes into the empty feature class
arcpy.Append_management(fcList, outLocation + os.sep + emptyFC, schemaType, fieldMappings, subtype)
except:
# If an error occurred while running a tool print the messages
print arcpy.GetMessages()