概要
既存のホスト フィーチャ レイヤーにフィーチャを追加します。
図
使用法
このジオプロセシング ツールは 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)] はそれぞれの 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 にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。
構文
arcpy.geoanalytics.AppendData(input_layer, append_layer, {append_method}, {append_fields}, {append_expressions})
パラメーター | 説明 | データ タイプ |
input_layer | フィーチャを追加するホスト フィーチャ レイヤー。 | Record Set |
append_layer | 入力レイヤーに追加するフィーチャが含まれるレイヤー。 | Record Set |
append_method (オプション) | [入力レイヤー] のフィールドに [追加レイヤー] の値を追加する方法を指定します。
| String |
append_fields [append_fields,...] (オプション) | 追加先の入力レイヤーのフィールドとタイプが同じで名前が異なる追加レイヤーのフィールド。追加先の [入力フィールド] と追加する値を含む [追加フィールド] を選択します。 | Value Table |
append_expressions [append_expressions,...] (オプション) | 入力フィールドの値の計算に使用する Arcade 式。式は Arcade で記述され、算術演算子と複数のフィールドを含めることができます。 | Value Table |
派生した出力
名前 | 説明 | データ タイプ |
append_result | フィーチャが追加された、更新された入力。 | レコード セット |
コードのサンプル
次のスタンドアロン スクリプトで、この 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