ペアワイズ インターセクトの仕組み

[ペアワイズ インターセクト (Pairwise Intersect)] ツールは、ペアワイズ比較手法を使用して、2 つのフィーチャ レイヤーまたはフィーチャクラス内のフィーチャの交差部分を求めます。 このツールは、両方の入力で共通するフィーチャまたはフィーチャの部分を出力します。

インターセクト ツールとペアワイズ インターセクト ツールの比較

[ペアワイズ インターセクト (Pairwise Intersect)] ツールでは、最初の入力の 1 つのフィーチャが 2 番目の入力内の個々のフィーチャと交差します。 これは、基本的に [インターセクト (Intersect)] ツールの仕組みとは異なっています。 [インターセクト (Intersect)] ツールでは、フィーチャが属している入力に関係なく、すべてのフィーチャが交差します。

[インターセクト (Intersect)] ツールは、以下の処理を行います:

  • 複数のフィーチャ レイヤーまたはフィーチャクラスを交差させる
  • フィーチャが属している入力に関係なく、すべての入力フィーチャの交差を検出し、すべてのフィーチャの交差部分を表すトポロジー ファブリックを作成する

[ペアワイズ インターセクト (Pairwise Intersect)] ツールは、以下の処理を行います:

  • 2 つのフィーチャ レイヤーまたはフィーチャクラスのみを入力として受け入れる
  • 最初の入力からフィーチャを取得し、2 番目の入力内の各フィーチャと交差させて、交差を表す新しいフィーチャを作成する

インターセクト ツール

フィーチャが属している入力に関係なく、すべてのフィーチャ間のすべての交差が計算されます。 すべての交差が計算されるため、出力には結合されたすべての入力フィーチャの数よりも多くのフィーチャが含まれる場合があります。 たとえば、2 つの入力に何万もの結合フィーチャが含まれる場合、複雑なオーバーラップがすべてのフィーチャ間に存在するため、何億ものフィーチャが出力される可能性があります。

2 つのフィーチャ レイヤーの例を以下に示します。最初のフィーチャ レイヤーには 10 個のフィーチャが含まれ、2 番目のフィーチャ レイヤーには 1 つのフィーチャが含まれています。

入力 1

入力 1 には Object ID でラベル付けされた 10 個のオーバーラップするポリゴン フィーチャが含まれています。

入力 2

入力 2 には Object ID でラベル付けされた 1 個のポリゴン フィーチャが含まれています。

以下の図は、2 つの入力を使用した [インターセクト (Intersect)] ツールの結果を示しています。 入力に関係なく、すべてのフィーチャの交差が計算されます。 その結果、入力に含まれるフィーチャよりも多くなる可能性があります。 この場合、両方の入力に含まれるフィーチャ (11) よりも多くのフィーチャ (167) が出力に含まれています。

インターセクト ツールの出力
インターセクト ツールの出力には、OID でラベル付けされた 167 個の出力フィーチャが示されています。

ペアワイズ インターセクト ツール

[ペアワイズ インターセクト (Pairwise Intersect)] ツールでは、単純化された出力が作成されます。 このツールでは、同じ入力に含まれるフィーチャの交差は計算されません。異なる入力に含まれるフィーチャ間の交差のみが計算されます。

以下の図は、2 つの入力を使用した [ペアワイズ インターセクト (Pairwise Intersect)] ツールの結果を示しています。 出力には、10 個のフィーチャのみ含まれています。

ペアワイズ インターセクト ツールの出力
ペアワイズ インターセクト ツールの出力は 10 個の出力フィーチャです。

ポリゴン入力とポイント出力

以下の図は、[出力タイプ] パラメーターが [ポイント] に設定されている場合の 2 つの入力ポリゴン フィーチャ レイヤーの結果を示しています。

[インターセクト (Intersect)] ツールでは、いずれかの入力のポリゴンが他の入力のポリゴンの境界線と頂点を交差し、ポイントで接するか、それらの境界線が交差するポイント フィーチャが作成されます。

ポリゴンのインターセクトとポイント出力

[ペアワイズ インターセクト (Pairwise Intersect)] ツールでは、入力の 1 つのポリゴンが他の入力のポリゴンの境界線と接する頂点を持つポイント フィーチャが作成されます。

ポリゴンのペアワイズ インターセクトとポイント出力

ポリゴン入力はラインとポイント出力に完全にオーバーラップします

[インターセクト (Intersect)] ツールと [ペアワイズ インターセクト (Pairwise Intersect)] ツールは、[出力タイプ] パラメーターが [ポイント] または [ライン] に設定されている場合、完全にオーバーラップする入力ポリゴン フィーチャで異なる結果を返します。

以下の図は、最初の [出力タイプ] パラメーターが [ポイント] オプション (紫色の出力ポイント フィーチャ)、2 番目が [ライン] オプション (赤色の出力ライン フィーチャ) に設定された [インターセクト (Intersect)] ツールを使用して 2 つのポリゴン フィーチャ レイヤーを交差させた結果を示しています。 2 つの入力のポリゴンが互いに完全にオーバーラップし、1 セットのポリゴンが境界線上でも交差し、1 セットのポリゴンが 1 つのポイントで交差しています。

完全にオーバーラップしているポリゴンに表示されるポイント出力とライン出力。 ライン出力との交差は赤色のラインとして表示されます。 ポイント出力との交差は紫色のポイントとして表示されます。

[出力タイプ] パラメーターの [ポイント] オプションを使用すると、黄色のポリゴン フィーチャが青色のポリゴン境界の境界線に接しているため、[インターセクト (Intersect)] ツールは紫色のポイント フィーチャ (紫) を出力します。 この接するインターセクト リレーションシップにより、完全にオーバーラップしているポリゴンに関係なく、出力ポイントが生成されます。

[出力タイプ] パラメーターの [ライン] オプションを使用すると、黄色のポリゴン フィーチャが青色のポリゴンと境界線を共有しているため、[インターセクト (Intersect)] ツールは赤色のライン フィーチャを出力します。 この共有境界のインターセクト リレーションシップにより、完全にオーバーラップしているポリゴンに関係なく、出力ライン フィーチャが生成されます。

どちらの場合でも、[ペアワイズ インターセクト (Pairwise Intersect)] ツールは空の出力を返します。 完全にオーバーラップしているポリゴンにより、エリア オーバーラップ リレーションシップだけが有効になり、順序が低い交差リレーションシップは有効と見なされません。

処理時の違い

[ペアワイズ インターセクト (Pairwise Intersect)] ツールと [インターセクト (Intersect)] ツールには、処理時に次の違いがあります。

パフォーマンス

[ペアワイズ インターセクト (Pairwise Intersect)] では、大幅にオーバーラップしているフィーチャの交差時に、[インターセクト (Intersect)] ツールよりも実質的なパフォーマンスが向上します。 オーバーラップの量が少ないと、パフォーマンスが向上しない場合もあります。

注意:

出力は 2 つのツールで非常に異なっています。 出力を分析するためにデータの小さなサブセットで実験して、最も適切なツールを決定します。

[インターセクト (Intersect)] ツールは、入力に含まれるすべてのフィーチャ間でのオーバーラップの一意のインシデントを特定します。 このタイプの操作が複雑であることを考慮すると、[インターセクト (Intersect)] ツールは効率的であり拡張性に優れています。 入力に含まれるすべてのフィーチャ間でのオーバーラップの一意のインシデントを見つける必要がある場合は、[インターセクト (Intersect)] ツールを使用します。

XY 座標精度

XY 座標精度は、XY 座標値を格納する場合に使用する数値の精度です。 ペアワイズ ツールのすべての計算は、浮動小数点を使用して実行されます。 座標は、倍精度の浮動小数点形式 (double とも呼ばれる) で格納されます。 これが、内部で座標に整数を使用し、整数グリッドに値を格納するインターセクト ツールなどのツール (ペアワイズ以外のほとんどのツール) と異なる点です。

XY 許容値の適用方法の違い

XY 許容値は、単純化やトポロジー操作などの操作でジオメトリーを処理する際の座標間の最短距離を定義します。 クラッキングとクラスタリングという用語は、交差するセグメントを分割する処理およびポイントをスナップする処理を説明するために使用されます。 クラッキング処理は、他のセグメントまたはポイントとの交差ポイントでセグメントを分割する場合に使用されます。 クラスタリング処理は、近接する頂点が同一と見なされるために一緒にスナップされる場合に使用されます。 詳細については、「ジオメトリック処理を理解する」をご参照ください。

ポイントは、スタンドアロン ポイント (たとえば、マルチポイントに含まれる)、またはセグメントの頂点のいずれかを意味することに注意してください。

ペアワイズ以外のツールを使用したクラッキングとクラスタリング

[インターセクト (Intersect)] ツールのクラッキング処理中、あるポイントからセグメント内部までの最も近い距離が sqrt(2) * 許容値の値以下である場合、このポイントはセグメント上にあると見なされます。 その場合、セグメントは分割され、新しい端点がそのポイントにスナップします。

[インターセクト (Intersect)] ツールを使用してクラスタリング処理を実行する際に、2 つのポイント間の距離が sqrt(2) * 許容値の値以下である場合、この 2 つのポイントはまとめてスナップされます。 クラスタリング アルゴリズムは反復的なので、場合によっては、座標位置がこの距離よりも移動する可能性があります。

2 つのポイントがまとめてスナップされるか、ポイントがセグメントにスナップされると、そのセグメントは少し移動します。 移動したセグメントは別の頂点から sqrt(2) * 許容値よりも近くなる場合があるため、新しい交差イベントが発生する可能性があります。

スナップされた頂点の座標またはセグメントの交差ポイントの座標は、整数グリッド内に格納されます。 したがって、座標精度まで計算され、整数グリッドの丸めにより、新しい頂点が少し移動します。 そのため、クラッキング処理とクラスタリング処理は、新しいクラッキング イベントとクラスタリング イベントが発生しなくなるまで繰り返されます。

ペアワイズ ツールでのクラッキングとクラスタリング

ペアワイズ ツールはすべての計算で浮動小数点値を使用します。 処理の結果は、ペアワイズ以外のツールによりクリーン (修正は不要) と見なされる必要があります。 つまり、ペアワイズ以外のツールでジオメトリーを処理している場合、ペアワイズ以外のツールでは、クラッキングまたはクラスタリングされている必要があるがされていない新しいセグメントの交点やポイントは検出されません。

単純化とトポロジー演算子

ペアワイズのクラッキング処理中、あるポイントからセグメント内部までの最も近い距離が 1.01 * sqrt(2) * (許容値 + 2 * 座標精度) の値以下である場合、このポイントはセグメント上にあると見なされます。

ペアワイズ ツールがクラスタリングを実行する際に、2 つのポイント間の距離が 1.01 * sqrt(2) * (許容値 + 2 * 座標精度) の値以下である場合、この 2 つのポイントはまとめてスナップされます。 クラスタリング アルゴリズムは反復的なので、場合によっては、座標位置がこの距離よりも移動する可能性があります。

安定させるために元の値を 1 パーセントずつ大きくするため、1.01 の値が使用されています。

使用するツールの選択

パフォーマンスのニーズおよび解析に必要な出力のタイプに基づいてツールを選択します。 [インターセクト (Intersect)] ツールが適切な時間内に完了し、解析に適した出力が作成される場合は、引き続き使用します。

ただし、[インターセクト (Intersect)] ツールで以下のいずれかが発生する場合は、[ペアワイズ インターセクト (Pairwise Intersect)] ツールの使用を検討してください (作成される出力が解析に適している場合)。

  • ツールの実行に時間がかかる。
  • リソース不足のためツールの実行に失敗する。
  • 入力フィーチャの数に比べて多数の出力フィーチャが作成される。