追加数据 (GeoAnalytics)

描述

用于将要素追加到现有托管图层。

插图

“追加数据”工作流示意图
追加数据工作流

使用方法

  • 此地理处理工具适用于 ArcGIS Enterprise 10.6.1 或更高版本。

  • 输入图层必须为现有托管点、线、面或表格图层。要追加到不同的图层,必须先创建该数据集的托管图层。为此,请使用复制到数据存储工具,或将图层共享至您的门户。有关共享图层的详细信息,请参阅共享 web 图层简介

  • 追加图层可以为点、线、面、或表格大数据文件共享数据集,以及要素图层。

  • 追加图层的几何类型必须与输入图层的几何类型相同。例如,将表格要素追加到表格要素,将点要素追加到点要素。如果几何类型不同,则将无法追加要素。

  • 追加图层的时间类型必须与输入图层的时间类型相同。这些类型可以包括时刻、间隔或无。

  • 将不会修改输入图层的字段、几何和时间。

  • 可以通过以下两种方法来追加要素:

    • 仅追加匹配字段 - 仅追加具有匹配名称和类型的字段。这是默认行为。
    • 追加匹配字段并解决差异 - 使用追加字段追加表达式参数以匹配具有不同名称的字段,或者计算指定字段的值。

      了解有关追加数据表达式的详细信息

  • 将从追加的结果中排除追加字段追加表达式参数中不匹配的任何追加图层字段。

    例如,人口迁徙研究人员想要追加具有输入图层的数据集,并追加如下所示的图层方案。两个图层都包含类型为 text 名为 Country 的相同字段,并且都包含两个具有相同数据类型但具有唯一名称的附加字段。输入图层具有字段 Pop_Pop_Density,追加图层具有字段 Populationarea_km2。研究人员想要将 Country 字段匹配到 Country 字段,并将 Population 字段追加到 Pop_ 字段,然后使用数学计算来计算 Pop_Density 字段的人口密度。

    示例输入图层和追加图层方案
    追加数据工具中将使用的输入图层和追加图层示例方案。

    默认情况下,追加数据将匹配 Country 字段,因为其具有相同的字段名称和字段类型。默认情况下,字段 Pop_Pop_Density 在追加图层中不匹配,并将追加 null 值。

    示例默认字段映射
    如果针对追加方法选择仅追加匹配字段选项,则将应用默认字段映射。

    可以选择追加匹配字段并解决差异追加方法选项来定义您自己的字段映射规范。可以使用追加字段参数将追加字段 Population 的值追加到输入字段 Pop_。可以使用追加表达式参数来计算追加要素的 Pop_Density 值,方法为使用追加图层字段 Populationarea_km2 构建以下 Arcade 表达式:$feature["Population"]/$feature["area_km2"]

    示例定义字段映射
    追加字段追加表达式参数中指定的定义字段映射。

  • 此地理处理工具由 ArcGIS GeoAnalytics Server 作为支持。分析将在 GeoAnalytics Server 上完成,且结果将存储在 ArcGIS Enterprise 的内容中。

  • GeoAnalytics Server 工具运行时,GeoAnalytics Server 上的分析已完成。要获得最佳性能,通过 ArcGIS Enterprise 门户上托管的要素图层或通过大数据文件共享,可以将数据用于 GeoAnalytics Server。在分析开始之前,非 GeoAnalytics Server 本地数据将被转移到您的 GeoAnalytics Server。这意味着运行工具需要更长时间,并且在某些情况下,从 ArcGIS ProGeoAnalytics Server 移动数据可能会失败。失败的阈值取决于网络速度,以及数据的大小和复杂性。因此,建议您始终共享数据或创建大数据文件共享。

    了解有关将数据共享至您的门户的详细信息。

    了解有关通过 Server Manager 创建大数据文件共享的详细信息

语法

arcpy.geoanalytics.AppendData(input_layer, append_layer, {append_method}, {append_fields}, {append_expressions})
参数说明数据类型
input_layer

将追加要素的托管要素图层。

Record Set
append_layer

包含要追加到输入图层的要素的图层。

Record Set
append_method
(可选)

指定将追加图层的值追加到输入图层字段的方法。

  • MATCHING_ONLY仅当输入图层字段在追加图层中具有匹配字段时,才会追加该输入图层字段。将为没有匹配的字段追加空值。
  • FIELD_MAPPING可以为输入图层字段追加具有相同名称和不同类型的追加图层字段,也可以追加由 Arcade 表达式计算得出的值。
String
append_fields
[append_fields,...]
(可选)

追加图层字段与要追加的输入图层字段具有相同的类型和不同的名称。选择要追加的输入字段,以及包含要追加的值的追加字段

Value Table
append_expressions
[append_expressions,...]
(可选)

用于计算输入字段的字段值的 Arcade 表达式。以 Arcade 格式写入表达式,其中可包括数学运算符和多个字段。

Value Table

派生输出

名称说明数据类型
append_result

已附加要素的更新输入。

记录集

代码示例

AppendData 示例(独立脚本)

以下独立脚本演示了如何使用 AppendData 工具。

# Description: Append February 2018 sales records to your ANNUAL_SALES2018 
#              hosted layer.
#              
#	Caution: AppendData updates your ANNUAL_SALES2018 layer with appended 
#          features.
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inputLayer = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ANNUAL_SALES2018/FeatureServer/0"
appendLayer = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/DataStoreCatalogs/bigDataFileShares_sales2018/BigDataCatalogServer/FEBRUARY_SALES2018"
appendMethod = "FIELD_MAPPING"
fieldMapping = "Pop_ Population;State_ StateName", 
expressionMapping = "Pop_density $feature.Population/$feature.area_km2;Unused_field null"
# Execute Append Data
arcpy.geoanalytics.AppendData(inputLayer, appendLayer, appendMethod, 
                              fieldMapping, expressionMapping)

许可信息

  • Basic: 需要 ArcGIS GeoAnalytics Server
  • Standard: 需要 ArcGIS GeoAnalytics Server
  • Advanced: 需要 ArcGIS GeoAnalytics Server

相关主题