インターセクト (Intersect) (解析)

サマリー

入力フィーチャの交差部分を求めます。 すべてのレイヤーまたはフィーチャクラスについて、重なり合うフィーチャまたはフィーチャ部分が出力フィーチャクラスに書き出されます。

インターセクト操作には、代替ツールが利用できます。 詳細については、[ペアワイズ インターセクト (Pairwise Intersect)] ツールのドキュメントをご参照ください。

[ペアワイズ インターセクト (Pairwise Intersect)] ツールは、交差部分が計算される点ではこのツールと同様ですが、フィーチャのすべての組み合わせではなく、フィーチャのペアに対して交差部分が計算される点で異なります。

インターセクト ツールの詳細

インターセクト ツールの図

使用法

  • 入力は、ポイント、マルチポイント、ライン、ポリゴンなどのシンプル フィーチャである必要があります。 アノテーション フィーチャ、ディメンション フィーチャ、ネットワーク フィーチャなどのコンプレックス フィーチャは使用できません。

  • 入力のジオメトリ タイプが異なる場合、出力のジオメトリ タイプは、入力で最も低い次元のジオメトリのタイプがデフォルトになります。

    • 入力がポイント フィーチャの場合、デフォルトの出力はポイント フィーチャになります。
    • 入力がライン フィーチャで、ポイント フィーチャの入力がない場合、デフォルトの出力はライン フィーチャになります。
    • すべての入力がポリゴン フィーチャの場合、デフォルトの出力はポリゴン フィーチャになります。

  • [出力タイプ] パラメーター値は、最も低い次元のジオメトリまたはより低い次元であるジオメトリの [入力フィーチャ] パラメーター値のものになります。 たとえば、すべての入力がポリゴンの場合、出力はポリゴン、ライン、またはポイントのいずれかである可能性があります。 入力の 1 つのタイプがラインであり、ポイントの入力がない場合は、出力はラインまたはポイントにできます。 入力のいずれかがポイントである場合、[出力タイプ] の値はポイントのみになります。

  • 入力フィーチャクラスの属性値が出力フィーチャクラスにコピーされます。 ただし、[フィーチャ レイヤーの作成 (Make Feature Layer)] ツールで作成した 1 つ以上のレイヤーを入力として使用し、フィールドの [比率ポリシーの使用] をオンにしている場合は、入力属性値の比率が計算され、出力属性値に適用されます。 [比率ポリシーの使用] が有効な場合、オーバーレイ操作でフィーチャが分割されると、入力フィーチャの属性値の比率が出力フィーチャの属性に適用されます。 入力フィーチャ ジオメトリが分割された比率に基づいて、出力値が決定されます。 たとえば、入力ジオメトリが等分割された場合は、入力フィーチャの属性値の 1/2 が、新しい各フィーチャの属性値として割り当てられます。 [比率ポリシーの使用] は数値フィールドにのみ適用されます。

    注意:

    ジオプロセシング ツールは、ジオデータベース フィーチャクラスまたはテーブル フィールドの「スプリット ポリシー」に従いません。

  • パフォーマンスとスケーラビリティの向上のため、このツールは、タイル プロセスを使用して非常に大きなデータセットを処理します。 詳細については、「大きいデータセットのタイル化処理」をご参照ください。

  • ライセンス:

    ArcGIS Desktop Basic ライセンスと Desktop Standard ライセンスでは、入力フィーチャクラスまたはレイヤーの数が 2 つに制限されています。

パラメーター

ラベル説明データ タイプ
入力フィーチャ

入力フィーチャクラスまたはレイヤーのリスト フィーチャ間の距離がクラスター許容値より小さい場合、低ランクのフィーチャが高ランクのフィーチャにスナップします。 最高ランクは 1 です。

Value Table
出力フィーチャクラス

出力フィーチャクラス。

Feature Class
結合する属性
(オプション)

出力フィーチャクラスに渡す入力フィーチャの属性を指定します。

  • すべての属性入力フィーチャのすべての属性を出力フィーチャクラスへ渡します。 これがデフォルトです。
  • フィーチャ ID を除くすべての属性入力フィーチャの FID 属性を除いたすべての属性を出力フィーチャクラスへ渡します。
  • フィーチャ ID のみ入力フィーチャの FID 属性のみを出力フィーチャクラスへ渡します。
String
XY 許容値
(オプション)

すべてのフィーチャ座標 (ノードと頂点) の最短距離、および X 方向、Y 方向、XY 方向に座標を移動できる距離。

注意:

このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。

Linear Unit
出力タイプ
(オプション)

返される交差のタイプを指定します。

  • 入力と同様返される交差は、最も低い次元のジオメトリである入力フィーチャのジオメトリ タイプと同一になります。 すべての入力がポリゴンである場合、出力フィーチャクラスにはポリゴンが含まれます。 1 つ以上の入力がラインであり、ポイントの入力がない場合は、出力はラインになります。 1 つ以上の入力がポイントである場合、出力フィーチャクラスにはポイントが含まれます。 これがデフォルトです。
  • ライン返される交差はラインになります。 ポイントの入力がない場合のみ有効です。
  • ポイント返される交差はポイントになります。 入力がラインまたはポリゴンである場合、出力はマルチポイント フィーチャクラスになります。
String

arcpy.analysis.Intersect(in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {output_type})
名前説明データ タイプ
in_features
[[in_features, {Rank}],...]

入力フィーチャクラスまたはレイヤーのリスト フィーチャ間の距離がクラスター許容値より小さい場合、低ランクのフィーチャが高ランクのフィーチャにスナップします。 最高ランクは 1 です。 詳細については、「優先度およびジオプロセシング ツール」をご参照ください。

Value Table
out_feature_class

出力フィーチャクラス。

Feature Class
join_attributes
(オプション)

出力フィーチャクラスに渡す入力フィーチャの属性を指定します。

  • ALL入力フィーチャのすべての属性を出力フィーチャクラスへ渡します。 これがデフォルトです。
  • NO_FID入力フィーチャの FID 属性を除いたすべての属性を出力フィーチャクラスへ渡します。
  • ONLY_FID入力フィーチャの FID 属性のみを出力フィーチャクラスへ渡します。
String
cluster_tolerance
(オプション)

すべてのフィーチャ座標 (ノードと頂点) の最短距離、および X 方向、Y 方向、XY 方向に座標を移動できる距離。

注意:

このパラメーターの値を変更すると、失敗または予期しない結果が発生する可能性があります。 このパラメーターは変更しないことをお勧めします。 ツール ダイアログ ボックスのビューからは削除されています。 デフォルトでは、入力フィーチャクラスの空間参照の [XY許容値] プロパティが使用されます。

Linear Unit
output_type
(オプション)

返される交差のタイプを指定します。

  • INPUT返される交差は、最も低い次元のジオメトリである入力フィーチャのジオメトリ タイプと同一になります。 すべての入力がポリゴンである場合、出力フィーチャクラスにはポリゴンが含まれます。 1 つ以上の入力がラインであり、ポイントの入力がない場合は、出力はラインになります。 1 つ以上の入力がポイントである場合、出力フィーチャクラスにはポイントが含まれます。 これがデフォルトです。
  • LINE返される交差はラインになります。 ポイントの入力がない場合のみ有効です。
  • POINT返される交差はポイントになります。 入力がラインまたはポリゴンである場合、出力はマルチポイント フィーチャクラスになります。
String

コードのサンプル

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

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

import arcpy
arcpy.env.workspace = "C:/data/RedRiver_basin.gdb"
arcpy.analysis.Intersect(["vegetation_stands", "road_buffer200m", "water_buffer100"], "mysites", "ALL")
arcpy.analysis.Intersect([["vegetation_stands", 2], ["road_buffer200m", 1], ["water_buffer100", 2]], 
                         "mysites_ranked", "ALL")
Intersect の例 2 (スタンドアロン スクリプト)

以下のスタンドアロン スクリプトは、他の分析ツールを使ったワークフローの一部として、すべての河川の交差の 100 メートル以内の植生タイプを特定するために Intersect 関数を使用します。

#Name: VegRoadIntersect.py
# Purpose: Determine the type of vegetation within 100 meters of all stream 
#          crossings

# Import system modules
import arcpy

# Set the workspace (to avoid having to type in the full path to the data every 
# time)
arcpy.env.workspace = "c:/data/data.gdb"    
    
# Process: Find all stream crossings (points)
inFeatures = ["roads", "streams"]
intersectOutput = "stream_crossings"
arcpy.analysis.Intersect(inFeatures, intersectOutput, "", "", "point")
 
# Process: Buffer all stream crossings by 100 meters
bufferOutput = "stream_crossings_100m"
bufferDist = "100 meters"
arcpy.analysis.Buffer(intersectOutput, bufferOutput, bufferDist)

# Process: Clip the vegetation feature class to stream_crossing_100m
clipInput = "vegetation"
clipOutput = "veg_within_100m_of_crossings"
arcpy.analysis.Clip(clipInput, bufferOutput, clipOutput)

# Process: Summarize how much (area) of each type of vegetation is found
# within 100 meters of the stream crossings
statsOutput = "veg_within_100m_of_crossings_stats"
statsFields = [["shape_area", "sum"]]
caseField = "veg_type"
arcpy.analysis.Statistics(clipOutput, statsOutput, statsFields, caseField)

環境

特殊なケース

並列処理ファクター

このツールは、並列処理ファクター環境を優先します。 環境が設定されていない場合 (デフォルト) または 0 に設定されている場合、並列処理は無効になります。並列処理は使用されず、処理は順番に実行されます。 環境を 100 に設定すると並列処理が有効になります。並列処理が使用され、処理は並列で実行されます。 並列処理を有効にすると、最大 10 個のコアが使用されます。

並列処理は現在、ポリゴンに対するポリゴン、ポリゴンに対するライン、およびポリゴンに対するポイントのオーバーレイ操作でサポートされています。

ライセンス情報

  • Basic: 制限付き
  • Standard: 制限付き
  • Advanced: Yes

関連トピック