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

サマリー

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

データのアペンドのワークフロー図
データのアペンドのワークフロー

使用法

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

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

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

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

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

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

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

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

      データのアペンド式の詳細

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

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

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

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

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

    [アペンド方法][一致するフィールドの追加と相違の解決] オプションを選択すると、独自のフィールド マッピング仕様を定義できます。 [追加フィールド] パラメーターを使用して、[入力フィールド] Pop_[追加フィールド] Population の値を追加します。 [追加式] パラメーターを使用し、Arcade 条件式 $feature["Population"]/$feature["area_km2"] を構築することで、追加レイヤー フィールド Populationarea_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 を使用してビッグ データ ファイル共有を作成する方法の詳細

パラメーター

ラベル説明データ タイプ
入力レイヤー

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

Record Set
追加レイヤー

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

Record Set
アペンド方法
(オプション)

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

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

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

Value Table
追加式
(オプション)

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

追加先のフィールドを選択して、それぞれの式を入力して、追加する値を計算します。 レイヤーをマップに追加する場合、フィールドおよびヘルパーを使って式を組み立てることができます。

Value Table

派生した出力

ラベル説明データ タイプ
追加結果

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

Record Set

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

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

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

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

Value Table

派生した出力

名前説明データ タイプ
append_result

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

Record Set

コードのサンプル

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

関連トピック