ポリゴンの属性を結合 (Join Attributes From Polygon) (犯罪分析と安全)

サマリー

入力ポリゴン フィーチャの属性を入力ポイント フィーチャに結合します。

使用法

  • ポイント フィーチャが完全にポリゴン フィーチャ内に存在するか、ポリゴン フィーチャに含まれている場合、ツールは [入力ポリゴン フィーチャ] パラメーター値の属性を [ターゲット ポイント フィーチャ] パラメーター値に転送します。

  • デフォルトでは、[入力ポリゴン フィーチャ] 値の属性は [ターゲット ポイント フィーチャ] 値の属性には追加されません。 [ターゲット ポイント フィーチャ] 値に追加される属性を定義するには、[結合フィールド] パラメーターで指定します。

  • [ターゲット ポイント フィーチャ] 値のフィーチャが [入力ポリゴン フィーチャ] 値の複数のフィーチャに含まれている場合、ポイントはオブジェクト ID 値が最大のポリゴンから属性を取得します。

パラメーター

ラベル説明データ タイプ
ターゲット ポイント フィーチャ

[入力ポリゴン フィーチャ] パラメーター値の属性で更新されるポイント フィーチャ。

in_features パラメーター値の属性で更新されるポイント フィーチャ。

Feature Layer
入力ポリゴン フィーチャ

入力ポリゴン フィーチャ。

Feature Layer
結合フィールド
(オプション)

ターゲット ポイント フィーチャに追加される入力ポリゴン フィーチャのフィールド。

Field
ターゲット ポイント フィーチャの一致フィールドを上書き
(オプション)

[結合フィールド] パラメーター値のフィールドと名前が一致する [ターゲット ポイント フィーチャ] パラメーター値の既存のフィールドを上書きするかどうかを指定します。

  • オン - 一致するフィールドを上書きします。
  • オフ - 既存のフィールドを上書きしないで、新しいフィールドを生成します。 これがデフォルトです。
Boolean

派生した出力

ラベル説明データ タイプ
更新されたポイント フィーチャ

更新されたポイント フィーチャ。

Feature Layer

arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, {fields}, {overwrite_option})
名前説明データ タイプ
target_features

in_features パラメーター値の属性で更新されるポイント フィーチャ。

Feature Layer
in_features

入力ポリゴン フィーチャ。

Feature Layer
fields
[fields,...]
(オプション)

ターゲット ポイント フィーチャに追加される入力ポリゴン フィーチャのフィールド。

Field
overwrite_option
(オプション)

fields パラメーター値のフィールドと名前が一致する target_features パラメーター値の既存のフィールドを上書きするかどうかを指定します。

  • OVERWRITE一致するフィールドを上書きします。
  • NO_OVERWRITE既存のフィールドを上書きしないで、新しいフィールドを生成します。 これがデフォルトです。
Boolean

派生した出力

名前説明データ タイプ
out_features

更新されたポイント フィーチャ。

Feature Layer

コードのサンプル

JoinAttributesFromPolygon の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで JoinAttributesFromPolygon 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = r"C:\data\city_pd.gdb"
arcpy.ca.JoinAttributesFromPolygon("Arrests", "Precincts")
JoinAttributesFromPolygon の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン スクリプトで JoinAttributesFromPolygon 関数を使用する方法を示しています。

# Name: JoinAttributesFromPolygon.py
# Description:  Add police precinct ID and name to arrests, then print the number of arrests by precinct.

# import system modules 
import arcpy

# Set environment settings
arcpy.env.workspace = r"C:\data\city_pd.gdb"

# Set local variables
target_features = "Arrests"
in_features = "Precincts"
join_fields = ['districtid', 'name'] # Police Precinct ID and Name

# Run JoinAttributesFromPolygon
arcpy.ca.JoinAttributesFromPolygon(target_features, in_features, join_fields)

# Print count of arrest by precinct
count_dict = {}
with arcpy.da.SearchCursor(target_features, 'name') as cursor:
    for row in cursor:
        try:
            count_dict[row[0]] += 1
        except:
            count_dict[row[0]] = 1

for precinct, count in count_dict.items():
    print("Name: " + precinct + " Arrests: " + str(count))

ライセンス情報

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

関連トピック