空間結合 (解析ツール)
サマリー
使用法
空間結合では、結合フィーチャ の値から ターゲット フィーチャ の値への行のマッチングが、相対的な空間位置に基づいて行われます。
デフォルトでは、結合フィーチャのすべての属性がターゲット フィーチャの属性に追加され、出力フィーチャクラスにコピーされます。 出力に書き込まれる属性は、フィールド マップ パラメーターを使用して定義できます。
次のフィールドが出力フィーチャクラスに追加されます。
Join_Count—各ターゲット フィーチャにマッチする結合フィーチャの数。
結合フィーチャ パラメーター値が単一の入力の場合、出力にはデフォルトで Join_Count フィールドが含まれます。 入力が複数ある場合は、結合カウント フィールド名に、Input1_JoinCount や Input2_JoinCount などの入力名がデフォルトで含まれます。 このフィールド名をカスタマイズするには、結合カウント フィールド名 列を指定します。
TARGET_FID—ターゲット フィーチャのオブジェクト ID、
結合方法 パラメーターが 1 対多の結合 に設定されている場合は、追加フィールド JOIN_FID が出力に追加されます。 このフィールドは結合フィーチャのオブジェクト ID を表します。
結合方法 パラメーターを 1 対多の結合 に設定した場合、各ターゲット フィーチャの出力フィーチャクラスには複数の行が存在する場合があります。 JOIN_FID フィールドを使用すると、どのフィーチャがどのターゲット フィーチャ (TARGET_FID) に結合されるかを判断できます。 JOIN_FID フィールドの値が -1 であれば、指定されたターゲット フィーチャとの空間リレーションシップを持つフィーチャがないことを意味します。
すべての入力ターゲット フィーチャは、次の両方の条件を満たす場合に出力フィーチャクラスに書き込まれます。
フィールドをターゲット フィーチャクラスに永続的に転送するには、永続的にフィールドを結合 パラメーターをオンにして 空間結合の追加 ツールを使用します。
フィールド マップ パラメーターに指定した操作は、複数のフィーチャがターゲット フィーチャにマッチしたときに (Join_Count > 1)、結合フィーチャの属性にのみ適用されます。 たとえば、DEPTH 属性の値が 15.5、2.5、3.3 である 3 つのフィーチャが結合され、平均 操作が適用されると、出力フィールドの値は 6.1 になります。 結合フィーチャの NULL 値は統計計算では無視されます。 たとえば、3 つのフィーチャの値が 15.5、NULL 値、および 2.5 である場合、平均は 9.0、個数は 2 になります。
マッチ オプション パラメーターが 最も近い または 最も近い (測地線) に設定されているときに、2 つ以上の結合フィーチャがターゲット フィーチャから同じ距離に存在する場合があります。 この場合は、結合フィーチャのいずれかが、マッチするフィーチャとしてランダムに選択されます (結合フィーチャの Object ID は、この選択に影響しません)。 2 番目、3 番目、または n 番目に近いフィーチャを検索するには、近接テーブルの生成 ツールを使用します。
近接の計算方法の仕組みの詳細
1 つの結合フィーチャに複数のターゲット フィーチャとの空間リレーションシップがある場合、それはマッチするターゲット フィーチャの数だけカウントされます。 たとえば、あるポイントが 3 つのポリゴン内にある場合、そのポイントはポリゴンにつき 1 回、合計で 3 回カウントされます。
属性の一致 パラメーターを設定すると、マッチ オプション パラメーターに指定された空間リレーションシップとマッチするフィーチャがフィルターされます。 一致する属性と空間リレーションシップが必要なフィールドを結合フィーチャとターゲット フィーチャから指定します。
交差する (3D) および 一定距離内にある (3D) の空間リレーションシップの使用に関する詳細については、「空間検索の 3D リレーションシップ 」をご参照ください。
パラメーター
ラベル
説明
データ タイプ
ターゲット フィーチャ
ターゲット フィーチャの属性と結合されたフィーチャの属性は、出力フィーチャクラスに転送されます。 ただし、フィールド マップ パラメーターで属性のサブセットを定義することができます。
Feature Layer
フィーチャの結合
結合フィーチャの属性は、ターゲット フィーチャの属性に結合されます。
結合された属性の集約に、結合方法のタイプがどのように影響するかの詳細については、結合方法 パラメーターのヘルプをご参照ください。 結合カウント フィールド名 列を使用して、結合カウント フィールドのカスタム名を指定します。 入力が複数ある場合は、フィーチャクラスのフィールド名がデフォルトで使用されます。
値テーブル列:
Value Table
出力フィーチャクラス
ターゲット フィーチャの属性と結合フィーチャの属性を含む、新しいフィーチャクラス。 デフォルトでは、ターゲット フィーチャのすべての属性と結合されたフィーチャの属性が出力に書き込まれます。 ただし、転送する属性のセットはフィールド マップ パラメーターで定義できます。
Feature Class
結合方法
(オプション)
単一のターゲット フィーチャと同じ空間リレーションシップを持つ複数の結合フィーチャが検出された場合、ターゲット フィーチャと結合フィーチャを出力フィーチャクラスで結合する操作。
1 対 1 の結合 —単一のターゲット フィーチャと同じ空間リレーションシップを持つ複数の結合フィーチャが検出された場合、フィールド マップのマージ ルールを使って複数の結合フィーチャの属性が集約されます。 たとえば、1 つのポイント (ターゲット フィーチャ) が 2 つの異なるポリゴン (結合フィーチャ) 内にあると検出された場合、出力ポイント フィーチャクラスに渡される前に、2 つのポリゴンの属性が集約されます。 1 つのポリゴンの属性値が 3、もう 1 つのポリゴンの属性値が 7 であり、合計のマージ ルールが指定されている場合、出力フィーチャクラスの集約された値は 10 になります。 これがデフォルトです。
1 対多の結合 —単一のターゲット フィーチャと同じ空間リレーションシップを持つ複数の結合フィーチャが検出された場合、出力フィーチャクラスにはターゲット フィーチャの複数のコピー (レコード) が含まれます。 たとえば、単一のポイント ターゲット フィーチャが、2 つの異なるポリゴン結合フィーチャ内で検出された場合、出力フィーチャクラスには、ターゲットフィーチャの 2 つのコピーが含まれます。1 つ目のレコードには、1 つのポリゴンの属性が格納され、2 つ目のレコードには、もう 1 つのポリゴンの属性が格納されます。
String
すべてのターゲット フィーチャを維持
(オプション)
出力フィーチャクラス内のすべてのターゲット フィーチャを保持するか (外部結合)、結合フィーチャとの空間リレーションシップが指定されたターゲット フィーチャだけを保持するか (内部結合) を指定します。
オン —出力にすべてのターゲット フィーチャが保存されます (外部結合)。 これがデフォルトです。
オフ —出力フィーチャクラスに、結合フィーチャとの空間リレーションシップが指定されたターゲット フィーチャのみが保存されます (内部結合)。 たとえば、ターゲット フィーチャとしてポイント フィーチャクラスを指定し、結合フィーチャとしてポリゴン フィーチャクラスを指定した場合、match_option パラメーターが WITHIN に設定されていると、出力フィーチャクラスには、ポリゴン結合フィーチャ内にあるターゲット フィーチャのみが含まれます。 結合フィーチャに含まれないターゲット フィーチャは出力から除外されます。
Boolean
フィールド マップ
(オプション)
それぞれのプロパティおよびソース フィールドとともに出力フィーチャクラスに含められるフィールド。 デフォルトでは、結合フィーチャとターゲット フィーチャ内のすべてのフィールドが出力に含まれます。
フィールド マップを使用すると、フィールドの追加、フィールドの削除、フィールド名の変更、フィールドの順序変更、他のフィールド プロパティの変更を実行できます。
フィールド マップを使用して、複数の入力フィールドの値を 1 つの出力フィールドに結合することができます。
Field Mappings
マッチ オプション
(オプション)
行の一致に使用される条件を指定します。
交差する —結合フィーチャのフィーチャは、ターゲット フィーチャと交差するときにマッチします。 これがデフォルトです。 検索半径 パラメーターで距離を指定します。
交差する (3D) —結合フィーチャ内のフィーチャは、そのフィーチャが 3 次元空間 (X,Y,Z) でターゲット フィーチャと交差している場合にマッチします。 検索半径 パラメーターで距離を指定します。
一定距離内にある —結合フィーチャのフィーチャは、ターゲット フィーチャとの距離が指定範囲以内にある場合にマッチします。 検索半径 パラメーターで距離を指定します。
一定距離内にある (測地線) —平面距離ではなく測地距離が使用される点を除いて、一定距離内にある と同じです。 フィーチャ間の距離は、測地線の式を使用して計算されます。この式は、楕円体の曲率を考慮して、日付変更線と極の近くのデータおよび交差するデータを正確に処理します。 このオプションは、データが広大な地理的範囲をカバーしている場合または入力座標系が距離の計算に適していない場合に使用します。
一定距離内にある (3D) —結合フィーチャのフィーチャは、3 次元空間において、ターゲット フィーチャとの距離が指定範囲以内にある場合にマッチします。 検索半径 パラメーターで距離を指定します。
含む —結合フィーチャのフィーチャは、ターゲット フィーチャに含まれる場合にマッチします。 ターゲット フィーチャは、ポリゴンまたはポリラインである必要があります。 このオプションでは、ターゲット フィーチャとしてポイントを指定できません。また、ターゲット フィーチャがポリゴンの場合は、結合フィーチャとしてポリゴンだけを指定できます。
完全に含む —結合フィーチャのフィーチャは、ターゲット フィーチャに完全に含まれる場合にマッチします。 ポリゴンには、どのフィーチャも完全に含めることができます。 ポイントには、どのフィーチャも完全に含めることができず、ポイントを含めることもできません。 ポリラインには、ポリライン フィーチャとポイント フィーチャだけを完全に含めることができます。
含む (Clementini) —この空間リレーションシップでは、結合フィーチャが完全にターゲット フィーチャの境界線上にある (結合フィーチャのどの部分もターゲット フィーチャの内部にも外部にもない) 場合に、そのフィーチャがマッチしない点を除いて、完全に含む と同じ結果になります。 Clementini は、境界線ポリゴンは内部と外部を分離するポリゴンであり、ラインの境界線はその端点で、ポイントの境界線は常に空であると定義しています。
含まれる —結合フィーチャのフィーチャは、ターゲット フィーチャを含む場合にマッチします。 これは 含む の反対です。 このオプションでは、結合フィーチャがポリゴンの場合は、ターゲット フィーチャとしてポリゴンだけを指定できます。 ポイントは、ポイントがターゲットの場合にのみ、結合フィーチャとして指定できます。
完全に含まれる —結合フィーチャのフィーチャは、ターゲット フィーチャがそれらに完全に含まれる場合にマッチします。 これは 完全に含む の反対です。
含まれる (Clementini) —結合フィーチャのフィーチャ全体が、ターゲット フィーチャの境界線の上にある場合にはフィーチャがマッチしない点を除き、含まれる と同じ結果になります。 Clementini は、境界線ポリゴンは内部と外部を分離するポリゴンであり、ラインの境界線はその端点で、ポイントの境界線は常に空であると定義しています。
正確に一致する —結合フィーチャのフィーチャは、ターゲット フィーチャと同一である場合にマッチします。 結合フィーチャとターゲット フィーチャはどちらも、同じシェープ タイプ (ポイントとポイント、ラインとライン、ポリゴンとポリゴン) でなければなりません。
境界に接する —結合フィーチャのフィーチャは、境界線がターゲット フィーチャと接している場合にマッチします。 ターゲット フィーチャおよび結合フィーチャがラインまたはポリゴンであるとき、結合フィーチャの境界線は、ターゲット フィーチャの境界線と接することができるだけで、結合フィーチャのいずれの部分もターゲット フィーチャの境界線と重なることはできません。
線分を共有する —結合フィーチャのフィーチャは、ライン セグメントをターゲット フィーチャと共有する場合にマッチします。 結合フィーチャおよびターゲット フィーチャは、ラインまたはポリゴンのいずれかである必要があります。
アウトラインが横切る —結合フィーチャのフィーチャは、その境界線がターゲット フィーチャと交差する場合にマッチします。 結合フィーチャおよびターゲット フィーチャは、ラインまたはポリゴンのいずれかである必要があります。 結合フィーチャまたはターゲット フィーチャとしてポリゴンが使用される場合には、ポリゴンの境界線 (ライン) が使用されます。 ポイントで交差するラインはマッチしますが、線分を共有するラインはマッチしません。
重心が含まれる —結合フィーチャのフィーチャは、ターゲット フィーチャの中心を含む場合にマッチします。 フィーチャの中心を計算する場合、ポリゴンとマルチポイントでは、ジオメトリの重心が使用され、ライン入力では、ジオメトリの中間点が使用されます。 検索半径 パラメーターで距離を指定します。
最も近い —結合フィーチャのうち、ターゲット フィーチャに最も近いフィーチャがマッチします。 詳細については、使用上のヒントをご参照ください。 検索半径 パラメーターで距離を指定します。
最も近い (測地線) —平面距離ではなく測地距離が使用される点を除いて、最も近い と同じです。 このオプションは、データが広大な地理的範囲をカバーしている場合または入力座標系が距離の計算に適していない場合に使用します。
最大のオーバーラップ —結合フィーチャのフィーチャは、最大のオーバーラップを持つターゲット フィーチャとマッチします。
String
検索半径
(オプション)
ターゲット フィーチャのこの範囲内にある結合フィーチャが、空間結合の対象と見なされます。 検索半径は、空間リレーションシップが指定されている (マッチ オプション パラメーターが 交差する 、一定距離内にある 、一定距離内にある (測地線) 、重心が含まれる 、最も近い または 最も近い (測地線) に設定されている) 場合のみ有効になります。 たとえば、検索半径に 100 メートルを指定して、一定距離内にある 空間リレーションシップを使用すると、ターゲット フィーチャから 100 メートル以内のフィーチャを結合します。 3 つの一定距離内にあるリレーションシップにおいて、検索半径 に値が指定されていない場合は、距離 0 が使用されます。
Linear Unit
距離フィールド名
(オプション)
ターゲット フィーチャと最も近い結合フィーチャとの間の距離を含むフィールドの名前。 このフィールドは、出力フィーチャクラスに追加されます。 このパラメーターは、空間リレーションシップが指定され、マッチ オプション パラメーターが 最も近い または 最も近い (測地線) に設定されている場合のみ有効になります。 検索半径内にマッチするフィーチャがない場合は、この値を -1 に指定します。 フィールド名を指定しないと、このフィールドは出力フィーチャクラスに追加されません。
String
フィールドの照合
(オプション)
結合フィーチャ内のフィールドとターゲット フィーチャ内のフィールドのペアのうち、属性の一致に使用されるフィールド ペア。 照合フィールドの値をターゲット フィーチャと共有している結合フィーチャ内のレコードだけが空間結合に属します。
値テーブル列:
Value Table
arcpy.analysis.SpatialJoin(target_features, join_features, out_feature_class, {join_operation}, {join_type}, {field_mapping}, {match_option}, {search_radius}, {distance_field_name}, {match_fields})
名前
説明
データ タイプ
target_features
ターゲット フィーチャの属性と結合されたフィーチャの属性は、出力フィーチャクラスに転送されます。 ただし、フィールド マップ パラメーターで属性のサブセットを定義することができます。
Feature Layer
join_features
[join_features,...]
結合フィーチャの属性は、ターゲット フィーチャの属性に結合されます。
結合された属性の集約に、結合方法のタイプがどのように影響するかの詳細については、join_operation パラメーターのヘルプをご参照ください。 2 番目の列を使用して、結合カウント フィールドのカスタム名を指定します。 入力が複数ある場合は、フィーチャクラスのフィールド名がデフォルトで使用されます。
値テーブル列:
Value Table
out_feature_class
ターゲット フィーチャの属性と結合フィーチャの属性を含む、新しいフィーチャクラス。 デフォルトでは、ターゲット フィーチャのすべての属性と結合されたフィーチャの属性が出力に書き込まれます。 ただし、転送する属性のセットはフィールド マップ パラメーターで定義できます。
Feature Class
join_operation
(オプション)
単一のターゲット フィーチャと同じ空間リレーションシップを持つ複数の結合フィーチャが検出された場合、ターゲット フィーチャと結合フィーチャを出力フィーチャクラスで結合する操作。
JOIN_ONE_TO_ONE —単一のターゲット フィーチャと同じ空間リレーションシップを持つ複数の結合フィーチャが検出された場合、フィールド マップのマージ ルールを使って複数の結合フィーチャの属性が集約されます。 たとえば、1 つのポイント (ターゲット フィーチャ) が 2 つの異なるポリゴン (結合フィーチャ) 内にあると検出された場合、出力ポイント フィーチャクラスに渡される前に、2 つのポリゴンの属性が集約されます。 1 つのポリゴンの属性値が 3、もう 1 つのポリゴンの属性値が 7 であり、合計のマージ ルールが指定されている場合、出力フィーチャクラスの集約された値は 10 になります。 これがデフォルトです。
JOIN_ONE_TO_MANY —単一のターゲット フィーチャと同じ空間リレーションシップを持つ複数の結合フィーチャが検出された場合、出力フィーチャクラスにはターゲット フィーチャの複数のコピー (レコード) が含まれます。 たとえば、単一のポイント ターゲット フィーチャが、2 つの異なるポリゴン結合フィーチャ内で検出された場合、出力フィーチャクラスには、ターゲットフィーチャの 2 つのコピーが含まれます。1 つ目のレコードには、1 つのポリゴンの属性が格納され、2 つ目のレコードには、もう 1 つのポリゴンの属性が格納されます。
String
join_type
(オプション)
出力フィーチャクラス内のすべてのターゲット フィーチャを保持するか (外部結合)、結合フィーチャとの空間リレーションシップが指定されたターゲット フィーチャだけを保持するか (内部結合) を指定します。
KEEP_ALL —出力にすべてのターゲット フィーチャが保存されます (外部結合)。 これがデフォルトです。
KEEP_COMMON —出力フィーチャクラスに、結合フィーチャとの空間リレーションシップが指定されたターゲット フィーチャのみが保存されます (内部結合)。 たとえば、ターゲット フィーチャとしてポイント フィーチャクラスを指定し、結合フィーチャとしてポリゴン フィーチャクラスを指定した場合、match_option パラメーターが WITHIN に設定されていると、出力フィーチャクラスには、ポリゴン結合フィーチャ内にあるターゲット フィーチャのみが含まれます。 結合フィーチャに含まれないターゲット フィーチャは出力から除外されます。
Boolean
field_mapping
(オプション)
それぞれのプロパティおよびソース フィールドとともに出力フィーチャクラスに含められるフィールド。 デフォルトでは、結合フィーチャとターゲット フィーチャ内のすべてのフィールドが出力に含まれます。
フィールド マップを使用すると、フィールドの追加、フィールドの削除、フィールド名の変更、フィールドの順序変更、他のフィールド プロパティの変更を実行できます。
フィールド マップを使用して、複数の入力フィールドの値を 1 つの出力フィールドに結合することができます。
Python では、FieldMappings クラスを使用してこのパラメーターを定義します。
Field Mappings
match_option
(オプション)
行の一致に使用される条件を指定します。
INTERSECT —結合フィーチャのフィーチャは、ターゲット フィーチャと交差するときにマッチします。 これがデフォルトです。 search_radius パラメーターで距離を指定します。
INTERSECT_3D —結合フィーチャ内のフィーチャは、そのフィーチャが 3 次元空間 (X,Y,Z) でターゲット フィーチャと交差している場合にマッチします。 search_radius パラメーターで距離を指定します。
WITHIN_A_DISTANCE —結合フィーチャのフィーチャは、ターゲット フィーチャとの距離が指定範囲以内にある場合にマッチします。 search_radius パラメーターで距離を指定します。
WITHIN_A_DISTANCE_GEODESIC —平面距離ではなく測地距離が使用される点を除いて、WITHIN_A_DISTANCE と同じです。 フィーチャ間の距離は、測地線の式を使用して計算されます。この式は、楕円体の曲率を考慮して、日付変更線と極の近くのデータおよび交差するデータを正確に処理します。 このオプションは、データが広大な地理的範囲をカバーしている場合または入力座標系が距離の計算に適していない場合に使用します。
WITHIN_A_DISTANCE_3D —結合フィーチャのフィーチャは、3 次元空間において、ターゲット フィーチャとの距離が指定範囲以内にある場合にマッチします。 search_radius パラメーターで距離を指定します。
CONTAINS —結合フィーチャのフィーチャは、ターゲット フィーチャに含まれる場合にマッチします。 ターゲット フィーチャは、ポリゴンまたはポリラインである必要があります。 このオプションでは、ターゲット フィーチャとしてポイントを指定できません。また、ターゲット フィーチャがポリゴンの場合は、結合フィーチャとしてポリゴンだけを指定できます。
COMPLETELY_CONTAINS —結合フィーチャのフィーチャは、ターゲット フィーチャに完全に含まれる場合にマッチします。 ポリゴンには、どのフィーチャも完全に含めることができます。 ポイントには、どのフィーチャも完全に含めることができず、ポイントを含めることもできません。 ポリラインには、ポリライン フィーチャとポイント フィーチャだけを完全に含めることができます。
CONTAINS_CLEMENTINI —この空間リレーションシップでは、結合フィーチャが完全にターゲット フィーチャの境界線上にある (結合フィーチャのどの部分もターゲット フィーチャの内部にも外部にもない) 場合に、そのフィーチャがマッチしない点を除いて、COMPLETELY_CONTAINS と同じ結果になります。 Clementini は、境界線ポリゴンは内部と外部を分離するポリゴンであり、ラインの境界線はその端点で、ポイントの境界線は常に空であると定義しています。
WITHIN —結合フィーチャのフィーチャは、ターゲット フィーチャを含む場合にマッチします。 これは CONTAINS の反対です。 このオプションでは、結合フィーチャがポリゴンの場合は、ターゲット フィーチャとしてポリゴンだけを指定できます。 ポイントは、ポイントがターゲットの場合にのみ、結合フィーチャとして指定できます。
COMPLETELY_WITHIN —結合フィーチャのフィーチャは、ターゲット フィーチャがそれらに完全に含まれる場合にマッチします。 これは COMPLETELY_CONTAINS の反対です。
WITHIN_CLEMENTINI —結合フィーチャのフィーチャ全体が、ターゲット フィーチャの境界線の上にある場合にはフィーチャがマッチしない点を除き、WITHIN と同じ結果になります。 Clementini は、境界線ポリゴンは内部と外部を分離するポリゴンであり、ラインの境界線はその端点で、ポイントの境界線は常に空であると定義しています。
ARE_IDENTICAL_TO —結合フィーチャのフィーチャは、ターゲット フィーチャと同一である場合にマッチします。 結合フィーチャとターゲット フィーチャはどちらも、同じシェープ タイプ (ポイントとポイント、ラインとライン、ポリゴンとポリゴン) でなければなりません。
BOUNDARY_TOUCHES —結合フィーチャのフィーチャは、境界線がターゲット フィーチャと接している場合にマッチします。 ターゲット フィーチャおよび結合フィーチャがラインまたはポリゴンであるとき、結合フィーチャの境界線は、ターゲット フィーチャの境界線と接することができるだけで、結合フィーチャのいずれの部分もターゲット フィーチャの境界線と重なることはできません。
SHARE_A_LINE_SEGMENT_WITH —結合フィーチャのフィーチャは、ライン セグメントをターゲット フィーチャと共有する場合にマッチします。 結合フィーチャおよびターゲット フィーチャは、ラインまたはポリゴンのいずれかである必要があります。
CROSSED_BY_THE_OUTLINE_OF —結合フィーチャのフィーチャは、その境界線がターゲット フィーチャと交差する場合にマッチします。 結合フィーチャおよびターゲット フィーチャは、ラインまたはポリゴンのいずれかである必要があります。 結合フィーチャまたはターゲット フィーチャとしてポリゴンが使用される場合には、ポリゴンの境界線 (ライン) が使用されます。 ポイントで交差するラインはマッチしますが、線分を共有するラインはマッチしません。
HAVE_THEIR_CENTER_IN —結合フィーチャのフィーチャは、ターゲット フィーチャの中心を含む場合にマッチします。 フィーチャの中心を計算する場合、ポリゴンとマルチポイントでは、ジオメトリの重心が使用され、ライン入力では、ジオメトリの中間点が使用されます。 search_radius パラメーターで距離を指定します。
CLOSEST —結合フィーチャのうち、ターゲット フィーチャに最も近いフィーチャがマッチします。 詳細については、使用上のヒントをご参照ください。 search_radius パラメーターで距離を指定します。
CLOSEST_GEODESIC —平面距離ではなく測地距離が使用される点を除いて、CLOSEST と同じです。 このオプションは、データが広大な地理的範囲をカバーしている場合または入力座標系が距離の計算に適していない場合に使用します。
LARGEST_OVERLAP —結合フィーチャのフィーチャは、最大のオーバーラップを持つターゲット フィーチャとマッチします。
String
search_radius
(オプション)
ターゲット フィーチャのこの範囲内にある結合フィーチャが、空間結合の対象と見なされます。 検索半径は、空間リレーションシップが指定されている (match_option パラメーターが INTERSECT、WITHIN_A_DISTANCE、WITHIN_A_DISTANCE_GEODESIC、HAVE_THEIR_CENTER_IN、CLOSEST、または CLOSEST_GEODESIC に設定されている) 場合のみ有効になります。 たとえば、検索半径に 100 メートルを指定して、WITHIN_A_DISTANCE 空間リレーションシップを使用すると、ターゲット フィーチャから 100 メートル以内のフィーチャを結合します。 3 つの一定距離内にあるリレーションシップにおいて、search_radius に値が指定されていない場合は、距離 0 が使用されます。
Linear Unit
distance_field_name
(オプション)
ターゲット フィーチャと最も近い結合フィーチャとの間の距離を含むフィールドの名前。 このフィールドは、出力フィーチャクラスに追加されます。 このパラメーターは、空間リレーションシップが指定され、match_option パラメーターが CLOSEST または CLOSEST_GEODESIC に設定されている場合のみ有効になります。 検索半径内にマッチするフィーチャがない場合は、この値を -1 に指定します。 フィールド名を指定しないと、このフィールドは出力フィーチャクラスに追加されません。
String
match_fields
[[join_field, target_field],...]
(オプション)
結合フィーチャ内のフィールドとターゲット フィーチャ内のフィールドのペアのうち、属性の一致に使用されるフィールド ペア。 照合フィールドの値をターゲット フィーチャと共有している結合フィーチャ内のレコードだけが空間結合に属します。
値テーブル列:
Value Table
コードのサンプル
SpatialJoin の例 1 (Python ウィンドウ)
次のスクリプトは、Python ウィンドウで SpatialJoin 関数を使用する方法を示しています。
import arcpy
target_features = "C:/data/usa.gdb/states"
join_features = "C:/data/usa.gdb/cities"
out_feature_class = "C:/data/usa.gdb/states_cities"
arcpy.analysis.SpatialJoin(target_features, join_features, out_feature_class)
SpatialJoin の例 2 (スタンドアロン スクリプト)
次のスタンドアロン スクリプトは、都市の属性を州に結合するために SpatialJoin 関数を使用する方法を示しています。
# Name: SpatialJoin_Example2.py
# Description: Join attributes of cities to states based on spatial relationships.
# Import system modules
import arcpy
import os
# Set local variables
workspace = r"C:\gpqa\mytools\spatialjoin\usa.gdb"
outWorkspace = r"C:\gpqa\mytools\spatialjoin\output.gdb"
# Want to join USA cities to states and calculate the mean city population
# for each state
targetFeatures = os.path.join(workspace, "states")
joinFeatures = os.path.join(workspace, "cities")
# Output will be the target features, states, with a mean city population field (mcp)
outfc = os.path.join(outWorkspace, "states_mcp2")
# Create a new fieldmappings and add the two input feature classes.
fieldmappings = arcpy.FieldMappings()
fieldmappings.addTable(targetFeatures)
fieldmappings.addTable(joinFeatures)
# First get the POP1990 fieldmap. POP1990 is a field in the cities feature class.
# The output will have the states with the attributes of the cities. Setting the
# field's merge rule to mean will aggregate the values for all of the cities for
# each state into an average value. The field is also renamed to be more appropriate
# for the output.
pop1990FieldIndex = fieldmappings.findFieldMapIndex("POP1990")
fieldmap = fieldmappings.getFieldMap(pop1990FieldIndex)
# Get the output field's properties as a field object
field = fieldmap.outputField
# Rename the field and pass the updated field object back into the field map
field.name = "mean_city_pop"
field.aliasName = "mean_city_pop"
fieldmap.outputField = field
# Set the merge rule to mean and then replace the old fieldmap in the mappings object
# with the updated one
fieldmap.mergeRule = "mean"
fieldmappings.replaceFieldMap(pop1990FieldIndex, fieldmap)
# Delete fields that are no longer applicable, such as city CITY_NAME and CITY_FIPS
# as only the first value will be used by default
x = fieldmappings.findFieldMapIndex("CITY_NAME")
fieldmappings.removeFieldMap(x)
y = fieldmappings.findFieldMapIndex("CITY_FIPS")
fieldmappings.removeFieldMap(y)
#Run the Spatial Join tool, using the defaults for the join operation and join type
arcpy.analysis.SpatialJoin(targetFeatures, joinFeatures, outfc, "#", "#", fieldmappings)
環境
出力データのデフォルト Z 値 , M 座標精度 , M 許容値 , 出力データのコンフィグレーション キーワード , 出力データの M ドメイン , 出力データの XY ドメイン , 出力データの Z ドメイン , 出力座標系 , 範囲 , 出力データに M 値を含む , 出力データに Z 値を含む , XY 座標精度 , XY 許容値 , Z 座標精度 , Z 許容値
ライセンス情報
Basic: はい
Standard: はい
Advanced: はい