ArcGIS Desktop

  • 文档
  • 支持

  • My Profile
  • 帮助
  • Sign Out
ArcGIS Desktop

ArcGIS Online

专为贵组织打造的制图平台

ArcGIS Desktop

全面的专业性 GIS

ArcGIS Enterprise

面向企业的 GIS

ArcGIS for Developers

用于构建位置感知应用程序的工具

ArcGIS Solutions

适用于行业的免费模板地图和应用程序

ArcGIS Marketplace

获取适用于组织的应用程序和数据

  • 文档
  • 支持
Esri
  • 登录
user
  • 我的个人资料
  • 登出

ArcMap

  • 主页
  • 入门
  • 地图
  • 分析
  • 管理数据
  • 工具
  • 扩展模块

追加

  • 摘要
  • 插图
  • 用法
  • 语法
  • 代码示例
  • 环境
  • 许可信息

摘要

将多个输入数据集追加到现有目标数据集。输入数据集可以是点、线、面要素类、表、栅格、注记要素类或尺寸要素类。

要将输入数据集合并到新的输出数据集中,请使用合并工具。

插图

追加图示

用法

  • 使用该工具,可将多个数据集中的新要素或其他数据添加至现有数据集。该工具可将点、线、面要素类、表、栅格、注记要素类或尺寸要素类追加到现有的相同类型数据集中。例如,可将多个表追加到现有表中,或将多个栅格追加到现有栅格数据集中,但是不能将线要素类追加至点要素类中。

  • 追加工具的字段映射控件可用于控制如何将输入数据集字段中的属性信息传输到目标数据集。只有在选择使用字段映射协调方案差异作为方案类型时,才能使用字段映射控件。

  • 向目标数据集添加要素时,此工具不会打断要素。输入要素类和目标要素类中的所有要素都将在追加后保持原样,即使出现要素相互叠置情况也是如此。要合并或打断要素几何,请使用联合工具。

  • 如果选择输入方案必须匹配目标方案作为方案类型(Python 中为 schema_type = "TEST"),则输入数据集的方案(字段定义)必须与目标数据集的方案相匹配,然后才能追加要素。如果选择使用字段映射协调方案差异(Python 中为 schema_type = "NO_TEST"),则输入数据集的方案(字段定义)不必与目标数据集的方案相匹配。但是,如果输入数据集的任何字段与目标数据集的字段不匹配,将不会被映射到目标数据集,除非在字段映射控件中对映射进行了显式设置。

  • 由于输入数据集的数据被写入具有预定义方案(字段定义)的现有目标数据集中,因此“字段映射”控件不允许在目标数据集中添加或移除字段。

  • 如果输入要素类和目标要素类的空间参考不匹配,追加工具会将输入要素类中的要素投影到目标要素类所使用的坐标系中。

  • 此工具不执行边匹配,即不会对要素的几何进行调整。

  • 可将地图图层用作输入数据集。如果图层具有选定内容,则追加工具只会使用所选记录(要素或表行)。

  • 此工具不能使用具有相同名称的多个输入图层。要解决此限制,请使用工具对话框浏览按钮来浏览各输入数据集的完整路径。

  • 要使用子类型参数,目标数据集必须已定义子类型字段且已分配子类型代码。在子类型参数中,提供子类型描述以将该子类型分配给已追加到目标数据集中的所有新数据。

语法

Append_management (inputs, target, {schema_type}, {field_mapping}, {subtype})
参数说明数据类型
inputs
[inputs,...]

数据将被追加到目标数据集的输入数据集。输入数据集可以是点、线、面要素类、表、栅格、注记要素类或尺寸要素类。各输入数据集的数据类型必须与目标数据集的数据类型相匹配。

Table View; Raster Layer
target

将追加输入数据集数据的现有数据集。各输入数据集的数据类型必须与目标数据集的数据类型相匹配。

Table View; Raster Layer
schema_type
(可选)

指定输入数据集的方案(字段定义)是否必须与目标数据集的方案相匹配才能追加要素。

  • TEST —输入数据集的方案(字段定义)必须与目标数据集的方案相匹配。如果方案不匹配,将返回错误。
  • NO_TEST —输入数据集的方案(字段定义)不必与目标数据集的方案相匹配。如果输入数据集的任何字段与目标数据集的字段不匹配,将不会被映射到目标数据集,除非在字段映射控件中对映射进行了显式设置。 
String
field_mapping
(可选)

控制如何将输入数据集中的属性字段传输或映射到目标数据集。只有在指定方案类型 NO_TEST 的情况下,才能使用此参数。

由于输入数据集的数据被追加到具有预定义方案(字段名称和类型)的现有目标数据集中,因此不允许在目标数据集中添加或移除字段。可以为每个输出字段设置合并规则。

合并规则用于指定如何将两个或更多个输入字段的值合并或组合为一个输出值。有多种合并规则可用于确定如何用值填充输出字段。

  • First - 使用输入字段的第一个值。
  • Last - 使用输入字段的最后一个值。
  • Join - 串连(连接)输入字段的值。
  • Sum - 计算输入字段值的总和。
  • Mean - 计算输入字段值的平均值。
  • Median - 计算输入字段值的中值。
  • Mode - 使用具有最高频率的值。
  • Min - 使用所有输入字段值中的最小值。
  • Max - 使用所有输入字段值中的最大值。
  • Standard deviation - 对所有输入字段值使用标准差分类方法。
  • Count - 查找计算中所包含的记录数。

您可使用 ArcPy FieldMappings 类来定义此参数。

Field Mapping
subtype
(可选)

要分配给已追加到目标数据集中的所有新数据的子类型描述。

String

代码示例

Append 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用“追加”工具。

import arcpy
arcpy.env.workspace = "C:/data/"
arcpy.Append_management(["north.shp", "south.shp", "east.shp", "west.shp"], "wholecity.shp", "TEST","","")
Append 示例 2(独立 Python 脚本)

以下脚本演示了如何使用“追加”工具。

# 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
fcList = arcpy.ListFeatureClasses("","POLYGON")
# list will resemble ["amherst.shp", "hadley.shp", "pelham.shp", "coldspring.shp"] 
# 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, outLocation + os.sep + emptyFC, schemaType, fieldMappings, subtype)

环境

  • 范围
  • 当前工作空间
  • 保留全局 ID
  • 维护附件

许可信息

  • ArcGIS Desktop Basic: 是
  • ArcGIS Desktop Standard: 是
  • ArcGIS Desktop Advanced: 是

相关主题

  • 常规工具集概述
  • 追加 (Coverage)
  • 将输入字段映射到输出字段
  • 合并
  • 联合
  • 使用字段映射控件
  • 使用图层和表视图

ArcGIS Desktop

  • 主页
  • 文档
  • 支持

ArcGIS 平台

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

关于 Esri

  • 关于我们
  • 招贤纳士
  • 内部人员博客
  • 用户大会
  • 开发者峰会
Esri
分享您的想法。
Copyright © 2018 Esri. | 隐私政策 | 法律声明