ポリゴンの按分 (Apportion Polygons) (解析)

サマリー

ターゲット ポリゴン レイヤーの空間オーバーレイに基づき、入力ポリゴン レイヤーの属性を集計します。また、ターゲット ポリゴンに属性を割り当てます。 ターゲット ポリゴンは、各ターゲットが重複している入力ポリゴンからの数値属性を集計します。 一般的に、このプロセスは「按分」として知られています。

このツールを使用して、別のフィーチャと重なっているフィーチャの割合に基づき、フィーチャの人口を推定することができます。

ポリゴンの按分 (Apportion Polygons) ツールの図
ターゲット内の入力属性の空間合計

使用法

  • デフォルトでは、重なっているエリアの割合により、転送される属性の割合が決定されます。

  • 転送される属性の量を調整するには、入力ポリゴンの加重フィールドを正規化して使用します。 加重フィールドが 0 の場合、入力からターゲットに按分される属性が 0 に設定されます。

  • [推定フィーチャ] パラメーター値が指定されている場合、属性が転送される方法を決定するために、その値が面積の代わりに使用されます。 [入力ポリゴン] パラメーター値がカウントされるには、推定フィーチャがその値と交差している必要があります。 推定フィーチャが [ターゲット ポリゴン] パラメーター値とも交差している場合に、属性が入力フィーチャからターゲットに転送されます。

  • ターゲット ジオメトリ、または入力ジオメトリとターゲット ジオメトリの交差部分を出力ジオメトリに含めるには、[ターゲット ジオメトリの維持] パラメーターを使用します。

  • このツールは、並列処理ファクター環境を優先します。 この環境が設定されていない場合 (デフォルト) や 100 に設定されている場合、フル並列処理が有効になり、ツールはコンピューター上のすべての論理コアに作業を分配しようとします。 この環境を 0 に設定すると、並列処理は無効になります。 ファクターを 1 ~ 99 に指定すると、ツールは数式 (並列処理ファクター / 100 * 論理コア) の小数部を切り上げた整数を適用して、使用する論理コアの割合を特定します。 この数式の結果が 0 または 1 の場合、並列処理は有効化されません。

パラメーター

ラベル説明データ タイプ
入力ポリゴン

数値属性を含むポリゴン フィーチャで、ターゲット ポリゴン ジオメトリに集計されます。

Feature Layer
按分フィールド

入力ポリゴンの数値フィールド。各ターゲット ポリゴン別に集計され、出力フィーチャクラスに記録されます。

Field
ターゲット ポリゴン

ポリゴン フィーチャとそれらに按分されたフィールドで、出力フィーチャクラスにコピーされます。

Feature Layer
出力フィーチャクラス

ターゲット ポリゴンの属性とジオメトリ、および入力ポリゴンの指定された割り当てフィールドを含む出力フィーチャクラス

Feature Class
按分方法

入力ポリゴンのフィールドをターゲット ポリゴンに按分するための方法を指定します。

  • 面積 — 各入力ポリゴンが各ターゲット フィーチャの集計値に占める量は、2 つのフィーチャ間の重なるエリアによって決定されます。 入力フィーチャが同量の 2 つのターゲット フィーチャに重なる場合、割り当てられるフィールドは 2 つに分割され、両方のターゲット フィーチャに合計値の半分ずつ貢献します。 これがデフォルトです。
  • 長さ —入力フィーチャの属性は、各ターゲット フィーチャに含まれるラインの量の割合に基づいて分割されます。 入力フィーチャに交差しているラインのみが計算に含まれます。 入力フィーチャ外部のラインは除外されます。 たとえば、1 つのターゲット フィーチャが 750 メートルのラインをカバーし、別のターゲット フィーチャが 250 メートルのラインをカバーしている場合は、入力フィーチャの属性値の 75% (750 / 1000) が最初のターゲット フィーチャに集約され、入力フィーチャの属性値の 25% (250 / 1000) が 2 番目のターゲット フィーチャに集約されます。
  • ポイント —入力フィーチャの属性は、入力フィーチャと重なっている各ターゲット フィーチャ部分の内部にあるポイント数に基づいて分割されます。 入力フィーチャ外部のポイントは除外されます。 必要に応じて、加重フィールドを指定することで、各ターゲット フィーチャ内部のすべてのポイントの合計加重値を使用して、入力フィーチャの属性値の分割方法を決定できます。 たとえば、2 つのターゲット フィーチャが 1 つの入力フィーチャと重なっている場合に、最初のターゲット フィーチャ内部に 2 つのポイント、2 番目のターゲット フィーチャ内部に 8 つのポイントが存在するとすれば、入力フィーチャの属性値の 20% (2 / 10) が最初のターゲット フィーチャに集約され、入力フィーチャの属性値の 80% (8 / 10) が 2 番目のターゲット フィーチャに集約されます。
String
推定フィーチャ
(オプション)

ターゲット ポリゴンに按分する入力ポリゴンの按分フィールドの割合を推定するために使用される入力ポイント/ポリライン フィーチャ。 これは、割合を作成するために、交差部分内のポイントまたはラインの量を入力フィーチャ内部の量で除算することを示しています。

Feature Layer
加重フィールド
(オプション)

ターゲット ポリゴン レイヤーの数値フィールド。按分する入力ポリゴンのフィールドの割り当て値を、どのターゲット ポリゴンにより多く付与するかを調整するために使用します。 加重の高いターゲットには、高い割合のフィールド値が按分されます。

推定フィーチャが指定されている場合、推定フィーチャと交差するターゲット ポリゴンに按分される値を調整する推定値の数値フィールドが加重フィールドになります。

Field
ターゲット ジオメトリの保持
(オプション)

出力フィーチャクラスがターゲット ポリゴン レイヤーの元のジオメトリを保持するかどうかを指定します。

  • オン - 出力フィーチャクラスがターゲット ポリゴン レイヤーの元のジオメトリを保持します。 これがデフォルトです。
  • オフ - 出力フィーチャクラスは、ターゲット ポリゴンと入力ポリゴンのジオメトリの交差部分になります。 入力ポリゴンに重なるターゲット ポリゴンのエリアのみが、出力に含まれます。

Boolean

arcpy.analysis.ApportionPolygon(in_features, apportion_fields, target_features, out_features, method, {estimation_features}, {weight_field}, {maintain_geometries})
名前説明データ タイプ
in_features

数値属性を含むポリゴン フィーチャで、ターゲット ポリゴン ジオメトリに集計されます。

Feature Layer
apportion_fields
[apportion_fields,...]

入力ポリゴンの数値フィールド。各ターゲット ポリゴン別に集計され、出力フィーチャクラスに記録されます。

Field
target_features

ポリゴン フィーチャとそれらに按分されたフィールドで、出力フィーチャクラスにコピーされます。

Feature Layer
out_features

ターゲット ポリゴンの属性とジオメトリ、および入力ポリゴンの指定された割り当てフィールドを含む出力フィーチャクラス

Feature Class
method

入力ポリゴンのフィールドをターゲット ポリゴンに按分するための方法を指定します。

  • AREA各入力ポリゴンが各ターゲット フィーチャの集計値に占める量は、2 つのフィーチャ間の重なるエリアによって決定されます。 入力フィーチャが同量の 2 つのターゲット フィーチャに重なる場合、割り当てられるフィールドは 2 つに分割され、両方のターゲット フィーチャに合計値の半分ずつ貢献します。 これがデフォルトです。
  • LENGTH入力フィーチャの属性は、各ターゲット フィーチャに含まれるラインの量の割合に基づいて分割されます。 入力フィーチャに交差しているラインのみが計算に含まれます。 入力フィーチャ外部のラインは除外されます。 たとえば、1 つのターゲット フィーチャが 750 メートルのラインをカバーし、別のターゲット フィーチャが 250 メートルのラインをカバーしている場合は、入力フィーチャの属性値の 75% (750 / 1000) が最初のターゲット フィーチャに集約され、入力フィーチャの属性値の 25% (250 / 1000) が 2 番目のターゲット フィーチャに集約されます。
  • POINTS入力フィーチャの属性は、入力フィーチャと重なっている各ターゲット フィーチャ部分の内部にあるポイント数に基づいて分割されます。 入力フィーチャ外部のポイントは除外されます。 必要に応じて、加重フィールドを指定することで、各ターゲット フィーチャ内部のすべてのポイントの合計加重値を使用して、入力フィーチャの属性値の分割方法を決定できます。 たとえば、2 つのターゲット フィーチャが 1 つの入力フィーチャと重なっている場合に、最初のターゲット フィーチャ内部に 2 つのポイント、2 番目のターゲット フィーチャ内部に 8 つのポイントが存在するとすれば、入力フィーチャの属性値の 20% (2 / 10) が最初のターゲット フィーチャに集約され、入力フィーチャの属性値の 80% (8 / 10) が 2 番目のターゲット フィーチャに集約されます。
String
estimation_features
(オプション)

ターゲット ポリゴンに按分する入力ポリゴンの按分フィールドの割合を推定するために使用される入力ポイント/ポリライン フィーチャ。 これは、割合を作成するために、交差部分内のポイントまたはラインの量を入力フィーチャ内部の量で除算することを示しています。

Feature Layer
weight_field
(オプション)

ターゲット ポリゴン レイヤーの数値フィールド。按分する入力ポリゴンのフィールドの割り当て値を、どのターゲット ポリゴンにより多く付与するかを調整するために使用します。 加重の高いターゲットには、高い割合のフィールド値が按分されます。

推定フィーチャが指定されている場合、推定フィーチャと交差するターゲット ポリゴンに按分される値を調整する推定値の数値フィールドが加重フィールドになります。

Field
maintain_geometries
(オプション)

出力フィーチャクラスがターゲット ポリゴン レイヤーの元のジオメトリを保持するかどうかを指定します。

  • MAINTAIN_GEOMETRIES出力フィーチャクラスがターゲット ポリゴン レイヤーの元のジオメトリを保持します。 これがデフォルトです。
  • INTERSECT_GEOMETRIES出力フィーチャクラスは、ターゲット ポリゴンと入力ポリゴンのジオメトリの交差部分になります。 入力ポリゴンに重なるターゲット ポリゴンのエリアのみが、出力に含まれます。
Boolean

コードのサンプル

ApportionPolygon (ポリゴンの按分) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、ApportionPolygon 関数の使用方法を示しています。

import arcpy
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"
arcpy.ApportionPolygon_analysis(
        "CensusBlockGroups", "Pop2020", "StoreServiceArea", 
        "StoreServiceArea_w_Population", "AREA", "", "", "MAINTAIN_GEOMETRIES")
ApportionPolygon (ポリゴンの按分) の例 2 (スタンドアロン スクリプト)

次のスタンドアロン スクリプトは、エリアで加重された人口を国勢調査区グループ レイヤーから店舗のサービス エリア ポリゴンに送ります。

# Name: Store Service Area Get Population.py
# Description: Use apportionment to transfer population figures to different 
#              geometry.

# Import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data/MyAnalysis.gdb"

# Perform apportionment
inputDataWithPop = "CensusBlockGroups"
popField = "Pop2020"
targetServiceAreas = "Store_ServiceAreas"
outputApp = "Store_ServiceAreas_w_Population"
apportionMethod = "AREA"
keepTargetGeom = "MAINTAIN_GEOMETRIES"
arcpy.ApportionPolygon_analysis(inputDataWithPop, popField, targetServiceAreas, 
                                outputApp, apportionMethod, "", "", 
                                keepTargetGeom)

# Summarize store service area populations by store admin region
outStats = "PopulationPerSalesRegion_tlb"
statsFields = [["Pop2020", "SUM"]]
regionField = "SalesRegion" # Values like North, North-East, etc.
arcpy.Statistics_analysis(outputApp, outStats, statsFields, regionField)

ライセンス情報

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

関連トピック