概要
ポリゴン レイヤーを別のレイヤーに重ねて、各ポリゴン内のポイント数、ラインの長さ、またはポリゴンの面積を集計し、各ポリゴン内のフィーチャに関して属性フィールドの統計情報を計算します。
次に、[エリア内での集計 (Summarize Within)] を使用するシナリオの例を示します。
- 集水域境界線と、土地利用タイプ別土地利用境界線を基にして、各集水域の土地利用タイプの総面積を計算する。
- 郡の土地区画と市の境界線を基にして、それぞれの市の境界線内にある空き地の平均値を求める。
- 郡と道路を基にして、各郡内の道路タイプ別に道路の距離を集計する。
図
使用法
簡単に言うと、[エリア内での集計 (Summarize Within)] の処理は、2 つのレイヤー、入力ポリゴン、および入力集計フィーチャを受け取って、それらを積み重ねることです。各レイヤーを積み重ねてから、そのスタックを見下ろして、入力ポリゴン内にある入力集計フィーチャの数をカウントできます。合計値、平均値、最小値、最大値など、入力集計フィーチャの属性についてのシンプルな統計情報を計算することもできます。
[エリア内での集計 (Summarize Within)] を使用して、標準の統計情報と地理空間的に加重した統計情報を計算できます。標準の統計情報は、加重なしで統計値を集計したものです。加重統計情報では、ポリゴン内のラインの割合、またはポリゴン内のポリゴンの割合を地理空間的に加重した値を使用して、値を計算します。加重統計情報は、ポリゴン内のポイントには適用されません。
以下の表にあるオプションを使用して、各ポリゴン内の集計対象レイヤーの長さと面積を計算できます。オプションは、集計対象レイヤーのジオメトリに基づきます。
入力フィーチャ 説明 オプション ポイント
各ポリゴン内の集計ポイントの数。
なし
Lines
各ポリゴン内の集計ラインの長さ。
- マイル
- ヤード
- フィート
- キロメートル
- メートル
面積
各ポリゴン内の集計ポリゴンの面積。
- 平方マイル
- 平方ヤード
- 平方フィート
- 平方キロメートル
- 平方メートル
- ヘクタール
- エーカー
標準統計情報の計算は、必要に応じて実行できます。ラインとエリアでは、すべての加重統計情報が算出されます。標準集計フィールド統計情報と加重集計フィールド統計情報はどちらも、[集計ポリゴン] レイヤーと交差している [集計対象レイヤー] 内のフィーチャのデータに適用されます。加重集計フィールド統計情報に、[集計ポリゴン] が [集計対象レイヤー] 内の各フィーチャと交差している割合に基づく重みが乗算されます。
標準統計情報には、8 つのオプションがあります (個数、合計、平均、最小、最大、範囲、標準偏差、および分散)。文字列統計情報には、2 つのオプションがあります (個数および任意)。加重統計情報には、集計対象レイヤー内の数値フィールドに対して算出される 6 つのオプションがあります (個数、合計、平均、最小、最大、および範囲)。
文字列データの場合は、加重統計情報が算出されません。[フィールド] および [統計情報] が指定されるたびに、行がこのツールのウィンドウに追加されるため、複数の統計情報を計算することができます。集計結果を結果レイヤーのテーブルまたはポップアップに表示できます。デフォルトでは、[集計ポリゴン] と交差しているフィーチャの個数が常に算出されます。
ArcGIS Enterprise10.6.1 以降では、[フィールドでグループ化] パラメーターを使用してグループを計算できます。これにより、集計されたポリゴン レイヤーに加えて、テーブル出力が作成されます。
[フィールドでグループ化] 値が選択されると、[最少頻値属性および最頻値属性の追加] パラメーターと [グループの割合の追加] パラメーターが使用可能になります。最少頻値と最頻値は、[フィールドでグループ化] に含まれる最も優位性の低い値と最も優位性の高い値であり、優位性はそれぞれの値のポイント数、全長、または合計面積で決定されます。
[最少頻値属性および最頻値属性の追加] パラメーターをオンにすると、2 つのフィールドが結果レイヤーに追加されます。これらのフィールドには、各結果フィーチャの最少頻値と最頻値である [フィールドでグループ化] パラメーターの値が表示されます。
[グループの割合の追加] パラメーターは、[最少頻値属性および最頻値属性の追加] を選択したときのみ使用可能になります。[グループの割合の追加] パラメーターをオンにすると、2 つのフィールドが結果レイヤーに追加され、各フィーチャの最少頻値と最頻値に属しているポイント数、全長、または合計面積のパーセンテージが表示されます。パーセンテージのフィールドは結果テーブルにも追加され、各フィーチャの [フィールドでグループ化] パラメーターのすべての値に属しているポイント数、全長、または合計面積のパーセンテージが表示されます。
加重統計情報では、ライン レイヤーの集計に、[集計ポリゴン] 内にあるライン フィーチャの割合のみを使用します。標準 (非加重) 統計情報では、[集計ポリゴン] と交差しているラインが集計されます。加重統計情報でラインを集計する場合は、数や量 (比率や指数ではなく) を使用して、比率計算が解析で論理的な意味を持つようにします。
集計対象エリア レイヤーの加重統計情報は、[集計対象レイヤー] 内にある [集計ポリゴン] フィーチャの割合に基づいています。エリアを集計する場合は、数や量 (比率や指数ではなく) を使用して、比率計算が解析で論理的な意味を持つようにします。
出力フィーチャ レイヤーは、常にポリゴン レイヤーです。集計対象レイヤーと交差するポリゴンのみが返されます。その他のポリゴンは、結果レイヤーから完全に削除されます。
出力ポリゴン フィーチャには、次のフィールドが含まれています。
フィールド名 説明 count 各ポリゴン レイヤーと交差する集計されたフィーチャの個数。
sum_length_<linearunit>、または sum_area_<areaunit>
ポリゴン内のラインの全長、または各ポリゴン内の集計ポリゴンの合計面積。これらの値は、[シェープ属性の集計値を追加] を選択したときに、指定した単位で返されます。
statistic_<fieldname>
指定した統計情報ごとに、<statistic>_<fieldname> という形式の名前の属性フィールドが作成されます。たとえば、フィールド id の最大値と標準偏差は、MAX_id および SD_id です。
pstatistic_<fieldname>
指定した加重統計情報ごとに、p<statistic>_<fieldname> という形式の名前の属性フィールドが作成されます。たとえば、フィールド id の加重最大値は pMAX_id です。
minority_<fieldname>
この値は、グループ化テーブルを作成し、[最少頻値属性および最頻値属性の追加] を選択したときに返されます。これは、各ポリゴン内の指定したフィールドの最少頻値を表します。たとえば、ポリゴン内に 5 つのポイントがあり、color というフィールドの値が赤、青、青、緑、緑であるとします。color フィールドでグループを作成した場合、minority_color フィールドの値は赤になります。
majority_<fieldname>
この値は、グループ化テーブルを作成し、[最少頻値属性および最頻値属性の追加] を選択したときに返されます。これは、各ポリゴン内の指定したフィールドの最頻値を表します。たとえば、ポリゴン内に 5 つのポイントがあり、color というフィールドの値が赤、青、青、緑、緑であるとします。color フィールドでグループを作成した場合、minority_color フィールドの値は青と緑になります。
minority_<fieldname>_percent
この値は、グループ化テーブルを作成し、[グループの割合の追加] を選択したときに返されます。これは、各ポリゴン内の指定したフィールドにおける個数の割合の最少頻値を表します。たとえば、ポリゴン内に 5 つのポイントがあり、color というフィールドの値が赤、青、青、緑、緑であるとします。color フィールドでグループを作成した場合、minority_color_percent フィールドの値は 20 になります (1/5 として計算)。
majority_<fieldname>_percent
この値は、グループ化テーブルを作成し、[グループの割合の追加] を選択したときに返されます。これは、各ポリゴン内の指定したフィールドにおける個数の割合の最頻値を表します。たとえば、ポリゴン内に 5 つのポイントがあり、color というフィールドの値が赤、青、青、緑、緑であるとします。color フィールドでグループを作成した場合、majority_color_percent フィールドの値は 40 になります (2/5 として計算)。
join_id
この値は、グループ化テーブルを作成したときに返されます。これは、フィーチャをグループ化テーブルにリンクする ID です。すべての join_id フィールドは、グループ化テーブルの 1 つまたは複数の行に対応しています。
出力グループ化テーブルには、次のフィールドが含まれています。
フィールド名 説明 join_id
これは、フィーチャをポリゴン レイヤーにリンクする ID です。各ポリゴンには、すべてのグループ化の値を表す 1 つ以上のフィーチャがあり、それらは同じ ID を持ちます。たとえば、ポリゴン内に 5 つのポイントがあり、color というフィールドの値が赤、青、青、緑、緑であるとします。グループ化テーブルには、そのポリゴン (同じ結合 ID) を表す 3 つの行があり、それぞれが赤、青、緑の色に対応します。
count
結合したポリゴン内の指定したグループの数。たとえば、選択したポリゴンで赤は 1 です。
<statistic>_<fieldname>
各グループに対して計算される指定した統計量。
p<statistic>_<fieldname>
各グループに対して計算される指定した加重統計量。
percentcount
各グループがポリゴン内の合計数に寄与するパーセンテージ。上記の例を使用すると、赤は 1/5 = 20、青は 2/5 = 40、緑は 2/5 = 20 になります。
次のヒントを 1 つ以上使用することで、[エリア内での集計 (Summarize Within)] ツールのパフォーマンスを向上させることができます。
- 対象データのみが解析されるように、範囲環境を設定します。
- ビンを使用している場合、大きいビンは、小さいビンよりパフォーマンスが高くなります。使用すべきサイズがわからない場合は、大きいビンのプロトタイプから開始します。
- 解析が実行されている場所に対してローカルなデータを使用します。
ジオプロセシング ツールは、ArcGIS GeoAnalytics Server を活用しています。解析は GeoAnalytics Server で実行され、結果が ArcGIS Enterprise のコンテンツに保存されます。
GeoAnalytics Server ツールを実行する場合、解析は GeoAnalytics Server で実行されます。最適なパフォーマンスを得るためには、ArcGIS Enterprise ポータルでホストされているフィーチャ レイヤーかビッグ データ ファイル共有を通じて、GeoAnalytics Server にデータを提供する必要があります。GeoAnalytics Server のローカルにないデータは、解析が開始する前に GeoAnalytics Server に移動されます。つまり、ツールを実行する時間が長くなり、場合によっては ArcGIS Pro から GeoAnalytics Server にデータを移動できないこともあります。エラーの閾値はネットワークの速度や、データのサイズや複雑さに左右されます。したがって、データを必ず共有するか、ビッグ データ ファイル共有を作成することをお勧めします。
ArcGIS Pro の [標準フィーチャ解析] ツールボックスの [エリア内での集計 (Summarize Within)] ツールを使用して、類似分析を実行することもできます。
構文
arcpy.geoanalytics.SummarizeWithin(summarized_layer, output_name, polygon_or_bin, bin_type, {bin_size}, {summary_polygons}, sum_shape, {shape_units}, {standard_summary_fields}, {weighted_summary_fields}, {data_store}, {group_by_field}, {add_minority_majority}, {add_percentages})
パラメーター | 説明 | データ タイプ |
summarized_layer | ポリゴンまたはビンごとに集計するポイント フィーチャ、ライン フィーチャ、またはポリゴン フィーチャ。 | Feature Set |
output_name | 交差するジオメトリおよび属性を含む出力ポリゴン フィーチャ サービスの名前。 | String |
polygon_or_bin | summarized_layer をポリゴン別またはビン別のいずれで集計するかを指定します。
| String |
bin_type | フィーチャを集約するために生成するビンの形状を指定します。
| String |
bin_size (オプション) | 入力フィーチャを集約するビンのサイズと単位を表す距離間隔。 | Linear Unit |
summary_polygons (オプション) | 入力集計レイヤー内のフィーチャの集計に使用するポリゴン。 | Feature Set |
sum_shape | 集計レイヤー (ポリゴンまたはビン) 内にあるラインの長さ、またはポリゴンの面積を計算するかどうかを指定します。集計形状と交差するポイント、ライン、およびポリゴンの数は常に含まれます。
| Boolean |
shape_units (オプション) | シェープ属性の集計で使用する単位を指定します。入力の summarized_layer がポイントである場合は、各入力ポリゴン内のポイント数が加算されるだけなので、集計エリアの単位は不要です。入力集計フィーチャがラインである場合は、距離単位を指定します。入力集計フィーチャがポリゴンである場合は、面積単位を指定します。
| String |
standard_summary_fields [standard_summary_fields,...] (オプション) | 指定されたフィールドに関して計算される統計情報。
| Value Table |
weighted_summary_fields [weighted_summary_fields,...] (オプション) | 指定されたフィールドに関して計算される加重統計情報を指定します。
| Value Table |
data_store (オプション) | 出力の保存先の ArcGIS Data Store を指定します。デフォルトは、SPATIOTEMPORAL_DATA_STORE です。ビッグ データ ストアに格納されたすべての結果は、WGS84 で保存されます。リレーショナル データ ストアに格納された結果は、それらの座標系を維持します。
| String |
group_by_field (オプション) | 一意の属性値ごとに統計情報を個別に計算するために使用する入力集計フィーチャのフィールド。たとえば、入力集計フィーチャに危険物を保管している会社の位置ポイントを含み、フィールドの 1 つが、保管されている危険物のタイプを記述したコードを含む HazardClass であるとします。HazardClass の一意の値のそれぞれについて集計を計算するには、そのフィールドをグループ化フィールドとして使用します。 | Field |
add_minority_majority (オプション) | 各境界内のグループ フィールドごとに最少頻値 (最も支配的でない) 属性値または最頻値 (最も支配的) 属性値が追加されるかどうかを指定します。存在する場合、Majority_ と Minority_ の接頭辞を持つ 2 つの新しいフィールドが出力レイヤーに追加されます。このパラメーターは、group_by_field パラメーターが使用されている場合のみ適用されます。
| Boolean |
add_percentages (オプション) | 割合フィールドを追加するかどうかを指定します。存在する場合、各入力ポリゴンについて、一意の各グループ値のパーセンテージが計算されます。このパラメーターは、group_by_field パラメーターと add_minority_majority パラメーターが使用されている場合のみ適用されます。
| Boolean |
派生した出力
名前 | 説明 | データ タイプ |
output | 各ポリゴン内で集計されたポイントの数、ラインの長さ、またはポリゴンの面積。 | フィーチャ セット |
group_by_summary | [集計でグループ化] を指定すると、ツールは、一意のグループごとに計算された統計情報を含むテーブルを出力します。 | レコード セット |
コードのサンプル
次の Python ウィンドウ スクリプトは、SummarizeWithinツールの使用方法を示しています。
# Name: SummarizeWithin.py
# Description: Summarize river polylines by counties.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
summarizedLayer = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Water/BigDataCatalogServer/Rivers"
summaryPolys = "https://MyGeoAnalyticsMachine.domain.com/geoanalytics/rest/services/DataStoreCatalogs/bigDataFileShares_Boundaries/BigDataCatalogServer/Counties"
summaryStatistics = ["Width", "MEAN"]
weighedSummaryStatistics = ["DOC", "SUM"]
outFS = 'SummarizedRivers'
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute SummarizeWithin
arcpy.geoanalytics.SummarizeWithin(summarizedLayer, outFS, "POLYGON", None,
None, summaryPolys,"ADD_SUMMARY",
"KILOMETERS", summaryStatistics,
weightedSummaryStatistics, dataStore)
環境
- 出力座標系
解析で使用される座標系。このパラメーターで指定されない限り、入力の座標系で解析が行われます。GeoAnalytics Tools の場合、最終結果は WGS84 のビッグ データ ストアに保存されます。
ライセンス情報
- Basic: 次のものが必要 ArcGIS GeoAnalytics Server
- Standard: 次のものが必要 ArcGIS GeoAnalytics Server
- Advanced: 次のものが必要 ArcGIS GeoAnalytics Server