ラベル | 説明 | データ タイプ |
ターゲット フィーチャクラス | エンタープライズ データベースのフィーチャクラスまたは空間テーブル。 | Feature Class |
ターゲット結合フィールド | 結合のキーとなるターゲット フィーチャクラスのフィールド。 | Field |
リレート テーブル | 統計の計算に使用するフィールドを含む入力テーブル。 統計情報は [出力レイヤー] 値に結合されます。 | Table; Feature Class |
関連付けられる結合フィールド | 結合のキーとなる値が格納されている、集計テーブル内のフィールド。 集約または要約統計情報も、このフィールドの一意の属性値ごとに個別に計算されます。 | Field |
出力レイヤー | 作成されるクエリ レイヤーの出力名。 | Feature Layer |
サマリー フィールド (オプション) | 属性値を含み、特定の統計の計算に使用される数値フィールドを指定します。 複数の統計とフィールドの組み合わせを指定できます。 すべての統計計算から NULL 値が除外されます。 出力レイヤーには、[関連付けられる結合フィールド] 値の各個別値の合計数 (または頻度) を示す ROW_COUNT フィールドが含まれます。 ROW_COUNT フィールドと [個数] 統計タイプの違いは、[個数] では NULL 値が除外されるのに対し、ROW_COUNT には NULL 値が含まれる点です。 使用できる統計タイプは次のとおりです。
| Value Table |
パラメーターの定義 (オプション) | 1 つ以上のクエリ パラメーターを基準または条件として指定し、これらの基準に一致するレコードを使用して集約結果を計算します。 クエリ パラメーターは、クエリが実行されるときに値が定義される SQL ステートメント変数に似ています。 これにより、出力レイヤーのクエリ フィルターを動的に変更することができます。 パラメーターは、SQL の WHERE 句における述部や条件と見なすことができます。 たとえば、SQL の WHERE 句にある Country_Name = 'Nigeria' は述部と呼ばれ、= は比較演算子、左側の Country_Name はフィールド名、右側の 'Nigeria' は値を表しています。 複数のパラメーターを定義する場合は、それらの間に論理演算子 (AND、OR など) を指定する必要があります。 指定しない場合、関連テーブルのすべてのレコードが集約結果または集計結果の計算に使用されます。 2 つのパラメーター定義タイプは次のとおりです。
次のプロパティが利用できます。
| Value Table |
一意の識別子フィールド (オプション) | テーブル内の各行を一意に識別するために使用される一意識別子フィールド。 | String |
シェープ タイプ (オプション) | クエリ レイヤーのシェープ タイプを指定します。 クエリの結果セットに含まれるレコードのうち、指定したシェープ タイプに一致するレコードだけが出力クエリ レイヤーで使用されます。 デフォルトでは、結果セットの最初のレコードのシェープ タイプが使用されます。 クエリの結果セットがジオメトリ フィールドを返さない場合、このパラメーターは無視されます。
| String |
空間参照 ID (SRID) (オプション) | ジオメトリを返すクエリの空間参照 ID (SRID)。 クエリの結果セットに含まれるレコードのうち、指定した SRID 値に一致するレコードだけが出力クエリ レイヤーで使用されます。 デフォルトでは、結果セットの最初のレコードの SRID 値が使用されます。 クエリの結果セットがジオメトリ フィールドを返さない場合、このパラメーターは無視されます。 | String |
座標系 (オプション) | 出力クエリ レイヤーで使用する座標系。 デフォルトでは、結果セットの最初のレコードの空間参照が使用されます。 クエリの結果セットがジオメトリ フィールドを返さない場合、このパラメーターは無視されます。 | Spatial Reference |
座標に M 値を含める (オプション) | 出力レイヤーに距離計測値 (M 値) を含めるかどうかを指定します。
| Boolean |
座標に Z 値を含める (オプション) | 出力レイヤーに標高値 (Z 値) を含めるかどうかを指定します。
| Boolean |
範囲 (オプション) | レイヤーの範囲を指定します。 この範囲にはテーブル内のすべてのフィーチャを含める必要があります。
| Extent |
サマリー
関連テーブルからの時間、範囲、および属性クエリに基づいて、DBMS テーブルを動的に集計、集約、フィルターするクエリ レイヤーを作成し、その結果をフィーチャ レイヤーに結合します。
使用法
クエリ レイヤーは、エンタープライズ データベースのみで動作します。 ファイル ジオデータベースは、このツールに有効な入力ワークスペースではありません。
集計結果は、常にデータベース レベルで動的に計算されます。
[出力レイヤー] 値は、統計演算の結果を含むフィールドで構成されます。 個数統計情報は、デフォルトで ROW_COUNT フィールドに含まれています
このツールで実行できる統計演算は、個数、合計、平均、最大、最小、および標準偏差です。
統計のタイプごとに、次の命名規則を使用してフィールドが作成されます。COUNT_<field>、SUM_<field>、AVG_<field>、MIN_<field>、MAX_<field>、STDDEV_<field>、(<field> は統計量を計算する入力フィールドの名前)。
[関連付けられる結合フィールド] 値は、このツールで生成される SQL 文の Group By 句で使用されます。 統計情報は、[関連付けられる結合フィールド] 値から一意の各属性値に対して個別に計算されます。
ツールで作成されたレイヤーは一時的なものであり、プロジェクトを保存するか、レイヤーをレイヤー ファイルに保存するか、[行のコピー (Copy Rows)] または [フィーチャのコピー (Copy Features)] でコピーを作成してデータを保持しておかない限り、セッション終了後に削除されます。
パラメーター
arcpy.management.MakeAggregationQueryLayer(target_feature_class, target_join_field, related_table, related_join_field, out_layer, {statistics}, {parameter_definitions}, {oid_fields}, {shape_type}, {srid}, {spatial_reference}, {m_values}, {z_values}, {extent})
名前 | 説明 | データ タイプ |
target_feature_class | エンタープライズ データベースのフィーチャクラスまたは空間テーブル。 | Feature Class |
target_join_field | 結合のキーとなるターゲット フィーチャクラスのフィールド。 | Field |
related_table | 統計の計算に使用するフィールドを含む入力テーブル。 統計情報は out_layer 値に結合されます。 | Table; Feature Class |
related_join_field | 結合のキーとなる値が格納されている、集計テーブル内のフィールド。 集約または要約統計情報も、このフィールドの一意の属性値ごとに個別に計算されます。 | Field |
out_layer | 作成されるクエリ レイヤーの出力名。 | Feature Layer |
statistics [[statistic_type, field],...] (オプション) | 属性値を含み、特定の統計の計算に使用される数値フィールドを指定します。 複数の統計とフィールドの組み合わせを指定できます。 すべての統計計算から NULL 値が除外されます。 出力レイヤーには、related_join_field 値の各個別値の合計数 (または頻度) を示す ROW_COUNT フィールドが含まれます。 ROW_COUNT フィールドと COUNT 統計タイプの違いは、COUNT では NULL 値が除外されるのに対し、ROW_COUNT には NULL 値が含まれる点です。
| Value Table |
parameter_definitions [[parameter_def_type, name, alias, field_or_expression, data_type, start_value, end_value, operator, default_value, operator_for_next_parameter],...] (オプション) | 1 つ以上のクエリ パラメーターを基準または条件として指定し、これらの基準に一致するレコードを使用して集約結果を計算します。 クエリ パラメーターは、クエリが実行されるときに値が定義される SQL ステートメント変数に似ています。 これにより、出力レイヤーのクエリ フィルターを動的に変更することができます。 パラメーターは、SQL の WHERE 句における述部や条件と見なすことができます。 たとえば、SQL の WHERE 句にある Country_Name = 'Nigeria' は述部と呼ばれ、= は比較演算子、左側の Country_Name はフィールド名、右側の 'Nigeria' は値を表しています。 複数のパラメーターを定義する場合は、それらの間に論理演算子 (AND、OR など) を指定する必要があります。 指定しない場合、関連テーブルのすべてのレコードが集約結果または集計結果の計算に使用されます。 2 つのパラメーター定義タイプは次のとおりです。
次のプロパティが利用できます。
| Value Table |
oid_fields [oid_fields,...] (オプション) | テーブル内の各行を一意に識別するために使用される一意識別子フィールド。 | String |
shape_type (オプション) | クエリ レイヤーのシェープ タイプを指定します。 クエリの結果セットに含まれるレコードのうち、指定したシェープ タイプに一致するレコードだけが出力クエリ レイヤーで使用されます。 デフォルトでは、結果セットの最初のレコードのシェープ タイプが使用されます。 クエリの結果セットがジオメトリ フィールドを返さない場合、このパラメーターは無視されます。
| String |
srid (オプション) | ジオメトリを返すクエリの空間参照 ID (SRID)。 クエリの結果セットに含まれるレコードのうち、指定した SRID 値に一致するレコードだけが出力クエリ レイヤーで使用されます。 デフォルトでは、結果セットの最初のレコードの SRID 値が使用されます。 クエリの結果セットがジオメトリ フィールドを返さない場合、このパラメーターは無視されます。 | String |
spatial_reference (オプション) | 出力クエリ レイヤーで使用する座標系。 デフォルトでは、結果セットの最初のレコードの空間参照が使用されます。 クエリの結果セットがジオメトリ フィールドを返さない場合、このパラメーターは無視されます。 | Spatial Reference |
m_values (オプション) | 出力レイヤーに距離計測値 (M 値) を含めるかどうかを指定します。
| Boolean |
z_values (オプション) | 出力レイヤーに標高値 (Z 値) を含めるかどうかを指定します。
| Boolean |
extent (オプション) | レイヤーの範囲を指定します。 この範囲にはテーブル内のすべてのフィーチャを含める必要があります。
| Extent |
コードのサンプル
次の Python ウィンドウ スクリプトは、ポイント フィーチャクラスから地区ごとの総犯罪数を計算し、その結果を警察管区フィーチャクラスに結合する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes")
次の Python ウィンドウ スクリプトは、ポイント フィーチャクラスから地区ごとおよび犯罪タイプごとの総犯罪数を計算し、その結果を警察管区フィーチャクラスに結合する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"PoliceDistricts", "district", "Crime_locations", "PdDistrict", "SF_Crimes",
None,
"DISCRETE crime_type # Category STRING # # 'INCLUDE VALUES' 'VANDALISM, BURGLARY/THEFT' NONE")
次の Python ウィンドウ スクリプトは、時系列テーブルから総雨量と平均雨量を計算し、その結果を給水地フィーチャクラスに結合する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"weather_stations", "station_id", "observed_rainfall", "station_id",
"Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]])
次の Python ウィンドウ スクリプトは、時系列テーブルから任意のタイム ウィンドウの総雨量と平均雨量を計算し、その結果を給水地フィーチャクラスに結合する方法を示しています。
import arcpy
arcpy.env.workspace = "C:/data/localhost.sde"
arcpy.management.MakeAggregationQueryLayer(
"weather_stations", "station_id", "observed_rainfall", "station_id",
"Total_Rainfall", [["SUM", "rainfall_inch"], ["MIN", "rainfall_inch"]],
"RANGE TimeVar # collection_date DATE 1/1/2020 12/1/2020 NONE # NONE")