データのアペンド (Append Data) (GeoAnalytics)

概要

既存のホスト フィーチャ レイヤーにフィーチャを追加します。

[データのアペンド (Append Data)] のワークフロー図
データのアペンド (Append Data) のワークフロー

使用法

  • このジオプロセシング ツールは ArcGIS Enterprise 10.6 1 以降で使用できます。

  • [入力レイヤー] は、ホストされている既存のポイント、ライン、ポリゴン、またはテーブル レイヤーにする必要があります。別のレイヤーに追加する場合は、該当するデータセットのホスト レイヤーを最初に作成しておく必要があります。これには、[データ ストアにコピー (Copy To Data Store)] ツールを使用するか、レイヤーをポータルで共有します。レイヤーを共有する方法の詳細については、「Web レイヤーの共有の概要」をご参照ください。

  • [追加レイヤー] は、ポイント、ライン、ポリゴン、またはテーブル ビッグ データ ファイル共有データセットまたはフィーチャ レイヤーです。

  • [追加レイヤー] は、[入力レイヤー] と同じジオメトリ タイプにする必要があります。たとえば、テーブル フィーチャをテーブル フィーチャに追加し、ポイント フィーチャをポイント フィーチャに追加します。ジオメトリ タイプが同じでない場合、フィーチャは追加されません。

  • [追加レイヤー] は、[入力レイヤー] と同じ時間タイプにする必要があります。これらのタイプには、即時、間隔、なしが含まれる場合があります。

  • [入力レイヤー] のフィールド、ジオメトリ、時間は変更されません。

  • フィーチャの追加には、次の 2 つの方法を使用できます。

    • 一致するフィールドのみ追加 - 名前とタイプが一致するフィールドだけが追加されます。これがデフォルトです。
    • 一致するフィールドの追加と相違の解決 - [追加フィールド] パラメーターを使用して、名前が異なるフィールドを一致させるか、[追加条件式] パラメーターを使用して、指定したフィールドの値を算出します。

      [データのアペンド] 条件式の詳細

  • [追加フィールド] パラメーターでも [追加条件式] パラメーターでも一致しない [追加レイヤー] フィールドはすべて追加操作の結果から除外されます。

    たとえば、人類移動の研究者が次のように入力レイヤー スキーマと追加レイヤー スキーマを使用してデータセットを追加するとします。両方のレイヤーには text タイプの Country という共通フィールドがあります。また、これ以外にも同じデータ タイプのフィールドが 2 つありますが、名前が異なります。入力レイヤーには Pop_ および Pop_Density フィールドがあり、追加レイヤーには Population および area_km2 フィールドがあります。研究者は、Country フィールドを Country フィールドと一致させ、Population フィールドを Pop_ フィールドに追加し、数値計算を使用して Pop_Density フィールドの人口密度を計算しようと考えています。

    入力レイヤー スキーマと追加レイヤー スキーマの例
    [データのアペンド (Append Data)] ツールで使用される入力レイヤー スキーマと追加レイヤー スキーマの例

    デフォルトでは、[データのアペンド (Append Data)] はそれぞれの Country フィールドを照合します。これは、両方のフィールドの名前とタイプが一致しているためです。デフォルトでは、Pop_ フィールドと Pop_Density フィールドが追加レイヤーで一致しないため、両方のフィールドに null 値が追加されます。

    デフォルトのフィールド マッピングの例
    [アペンド方法][一致するフィールドのみ追加] オプションが選択されている場合に適用されるデフォルトのフィールド マッピング。

    [アペンド方法][一致するフィールドの追加と相違の解決] オプションを選択すると、独自のフィールド マッピング仕様を定義できます。[追加フィールド] パラメーターを使用して、[入力フィールド] Pop_[追加フィールド] Population の値を追加します。[追加条件式] パラメーターを使用して、追加レイヤー フィールド Population および area_km2 で Arcade 条件式 $feature["Population"]/$feature["area_km2"] を構築することで、追加フィーチャの Pop_Density 値を算出します。

    定義済みのフィールド マッピングの例
    [追加フィールド] および [追加条件式] パラメーターで指定された定義済みのフィールド マッピング。

  • ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。

  • GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。

    データをポータルで共有する方法の詳細

    ArcGIS Server Manager を使用してビッグ データ ファイル共有を作成する方法の詳細

構文

AppendData(input_layer, append_layer, {append_method}, {append_fields}, {append_expressions})
パラメーター説明データ タイプ
input_layer

フィーチャを追加するホスト フィーチャ レイヤー。

Record Set
append_layer

入力レイヤーに追加するフィーチャが含まれるレイヤー。

Record Set
append_method
(オプション)

[入力レイヤー] のフィールドに [追加レイヤー] の値を追加する方法を指定します。

  • MATCHING_ONLY入力レイヤーのフィールドに値が追加されるのは、そのフィールドと一致するフィールドが追加レイヤー内にある場合に限ります。一致するフィールドが存在しないフィールドには NULL 値が追加されます。
  • FIELD_MAPPING入力レイヤーのフィールドには、名前が同じでタイプが異なる追加レイヤーのフィールドまたは Arcade 条件式から算出された値を追加することができます。
String
append_fields
[append_fields,...]
(オプション)

追加先の入力レイヤーのフィールドとタイプが同じで名前が異なる追加レイヤーのフィールド。追加先の [入力フィールド] と追加する値を含む [追加フィールド] を選択します。

Value Table
append_expressions
[append_expressions,...]
(オプション)

入力フィールドの値の計算に使用する Arcade 条件式。条件式は Arcade で記述され、算術演算子と複数のフィールドを含めることができます。

Value Table

派生した出力

名前説明データ タイプ
append_result

フィーチャが追加された、更新された入力。

レコード セット

コードのサンプル

AppendData (データのアペンド) の例 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトで、この AppendData ツールの使用方法を示します。

#-------------------------------------------------------------------------------
# Name: AppendData.py
# 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

関連トピック