空間検索: 図の例
次の表では、[空間検索(Select Layer By Location)] ジオプロセシング ツールで使用可能な [リレーションシップ] オプションのリストと、ArcMap、ArcScene および ArcGlobe の [選択] メニューにある [空間検索...] ダイアログに表示される、対応するリレーションシップが示されています。
ジオプロセシング ツール |
[選択] → [空間検索...] |
---|---|
INTERSECT |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャと重なる |
INTERSECT_3D |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャと重なる(3D) |
WITHIN_A_DISTANCE |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャから一定距離内にある |
WITHIN_A_DISTANCE_3D |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャから一定距離内にある(3D) |
CONTAINS |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャを含む |
COMPLETELY_CONTAINS |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャを完全に含む |
CONTAINS_CLEMENTINI |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャを含む(Clementini) |
WITHIN |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャに含まれる |
COMPLETELY_WITHIN |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャに完全に含まれる |
WITHIN_CLEMENTINI |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャに含まれる(Clementini) |
ARE_IDENTICAL_TO |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャと正確に一致する |
BOUNDARY_TOUCHES |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャの境界に接する |
SHARE_A_LINE_SEGMENT_WITH |
ターゲット レイヤ フィーチャがソース レイヤ フィーチャと線分を共有する |
CROSSED_BY_THE_OUTLINE_OF |
ソース レイヤ フィーチャの境界線がターゲット レイヤ フィーチャを横切る |
HAVE_THEIR_CENTER_IN |
ターゲット レイヤ フィーチャの重心がソース レイヤ フィーチャ内にある |
INTERSECT_3D や WITHIN_A_DISTANCE_3D などの WITHIN_A_DISTANCE 空間リレーションシップおよび 3D 空間リレーションシップ演算子は、下の図には含まれていません。3D リレーションシップの詳細については、「空間検索の 3D リレーションシップ」をご参照ください。
Clementini 空間リレーションシップ
WITHIN_CLEMENTINI および CONTAINS_CLEMENTINI は、Eliseo Clementini、Paolino Di Felice、Peter van Oosterom 著『A Small Set of Formal Topological Relationships Suitable for End-User Interaction』(hird International Symposium on Advances in Spatial Databases の議事録、277 ~ 295 ページ、1993 年 6 月 23 ~ 25 日)で定義されている、「範囲内」と「包含」の空間リレーションシップを指します。
3 つの「包含」空間リレーションシップの相違
境界線の定義: ラインの場合、境界線は 2 つの端点であり、ポリゴンの場合はエッジです。
- CONTAINS: 選択フィーチャ レイヤ フィーチャを含む、入力フィーチャ レイヤ フィーチャを選択します。選択フィーチャは、入力フィーチャ レイヤの境界線内部や境界線上に存在します。
- COMPLETELY_CONTAINS: 選択フィーチャ レイヤ フィーチャを含む、入力フィーチャ レイヤ フィーチャを選択します(選択フィーチャ レイヤ フィーチャが入力フィーチャ レイヤの境界線と交差していない場合に限る)。
- CONTAINS_CLEMENTINI: 選択フィーチャ レイヤ フィーチャが、入力フィーチャ レイヤの境界線上に完全に含まれ、含まれているフィーチャのどの部分も入力フィーチャ レイヤ フィーチャに含まれていない場合には、その入力フィーチャは選択されない点を除き、CONTAINS と同じ結果になります。Clementini によると、点の境界線は常に空で、ラインの境界線は端点であると考えられます。
- CONTAINS および CONTAINS_CLEMENTINI では、ポイントとマルチポイント入力については同じ結果が生成され、選択フィーチャはポイントまたはマルチポイントになります。
3 つの「範囲内」空間リレーションシップの相違
- WITHIN: 選択フィーチャ レイヤ フィーチャの範囲内にあるか、包含される、入力フィーチャ レイヤ フィーチャを選択します。
- COMPLETELY_WITHIN: 入力フィーチャ レイヤ フィーチャが、選択フィーチャ レイヤ フィーチャの境界線と交差する場合には選択されない点を除き、WITHIN と同じ結果になります。
- WITHIN_CLEMENTINI: 入力フィーチャ レイヤ フィーチャ全体が、選択フィーチャ レイヤ フィーチャの境界線の上にある場合を除き、WITHIN と同じ結果になります。Clementini によると、点の境界線は常に空で、ラインの境界線は端点であると考えられます。
図の凡例
以下のすべての図に、次の凡例が適用されます。
- 入力フィーチャ: 緑
- 入力フィーチャの中央: 赤の X
- 選択フィーチャ: グレー
図には、A、B、C などのラベルが付いています。示されているジオメトリの組み合わせに有効な各リレーションシップ(INTERSECT、CONTAINS など)が、表の左側の列に表示されています。リレーションシップの例として選択されるジオメトリは、表の右側の列に表示されています。
ポイントを使用してポイントを選択
INTERSECT |
A |
CONTAINS |
A |
CONTAINS_CLEMENTINI |
A |
WITHIN |
A |
WITHIN_CLEMENTINI |
A |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A |
マルチポイントを使用してポイントを選択
INTERSECT |
A、C |
CONTAINS |
A |
CONTAINS_CLEMENTINI |
A |
WITHIN |
A、C |
WITHIN_CLEMENTINI |
A、C |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A、C |
ラインを使用してポイントを選択
INTERSECT |
A、C |
WITHIN |
A、C |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A |
HAVE_THEIR_CENTER_IN |
A、C |
ポリゴンを使用してポイントを選択
INTERSECT |
A、C |
WITHIN |
A、C |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A |
HAVE_THEIR_CENTER_IN |
A、C |
ポイントを使用してマルチポイントを選択
INTERSECT |
A、C |
CONTAINS |
A、C |
CONTAINS_CLEMENTINI |
A、C |
WITHIN |
A |
WITHIN_CLEMENTINI |
A |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A、D |
マルチポイントを使用してマルチポイントを選択
INTERSECT |
A、C、E、F |
CONTAINS |
A、F |
CONTAINS_CLEMENTINI |
A、F |
WITHIN |
A、C |
WITHIN_CLEMENTINI |
A、C |
ARE_IDENTICAL_TO |
A |
HAVE_THEIR_CENTER_IN |
A、D |
ラインを使用してマルチポイントを選択
INTERSECT |
A、C、E、F |
WITHIN |
A、C、E |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A、E |
HAVE_THEIR_CENTER_IN |
A、D、E |
ポリゴンを使用してマルチポイントを選択
INTERSECT |
A、C、D、E、F |
WITHIN |
A、C、D、E |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A、D、E |
HAVE_THEIR_CENTER_IN |
A、B、C、E、F |
ポイントを使用してラインを選択
INTERSECT |
A、C、D |
CONTAINS |
A、C、D |
COMPLETELY_CONTAINS |
A、D |
CONTAINS_CLEMENTINI |
A、D |
HAVE_THEIR_CENTER_IN |
D |
マルチポイントを使用してラインを選択
INTERSECT |
A、C、D、E |
CONTAINS |
A、C、E |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A、E |
HAVE_THEIR_CENTER_IN |
D |
ラインを使用してラインを選択
INTERSECT |
A、C、D、E、F、G、H、I、J |
CONTAINS |
G、H |
COMPLETELY_CONTAINS |
G |
CONTAINS_CLEMENTINI |
G、H |
WITHIN |
F、H |
COMPLETELY_WITHIN |
F |
WITHIN_CLEMENTINI |
F、H |
ARE_IDENTICAL_TO |
H |
BOUNDARY_TOUCHES |
C、E |
ポリゴンを使用してラインを選択
INTERSECT |
A、C、D、E、F、G、H、I、J、K、L、M、N、O |
WITHIN |
A、D、G、H、I、O |
COMPLETELY_WITHIN |
A |
WITHIN_CLEMENTINI |
A、D、G、H、I |
BOUNDARY_TOUCHES |
D、F、G、H、I、K、L、M、N、O |
SHARE_A_LINE_SEGMENT_WITH |
G、I、J、K、M、O |
CROSSED_BY_THE_OUTLINE_OF |
C、E、H、L、N |
HAVE_THEIR_CENTER_IN |
A、C、D、E、G、H、I、J、O |
ポイントを使用してポリゴンを選択
INTERSECT |
A、B |
CONTAINS |
A、B |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A |
HAVE_THEIR_CENTER_IN |
A、D |
マルチポイントを使用してポリゴンを選択
INTERSECT |
A、B、C、E |
CONTAINS |
A、B、E |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A、B |
HAVE_THEIR_CENTER_IN |
A、D |
ラインを使用してポリゴンを選択
INTERSECT |
A、C、D、E、F、G、H、I、J、K、L、M、N、O |
CONTAINS |
A、D、G、H、I、O |
COMPLETELY_CONTAINS |
A |
CONTAINS_CLEMENTINI |
A、D、G、H、I |
BOUNDARY_TOUCHES |
D、F、G、H、I、K、L、M、N、O |
SHARE_A_LINE_SEGMENT_WITH |
G、I、J、K、M、O |
CROSSED_BY_THE_OUTLINE_OF |
C、E、H、L、N |
HAVE_THEIR_CENTER_IN |
E、I、L |
ポリゴンを使用してポリゴンを選択
INTERSECT |
A、C、D、E、F、G、H、I、J、K、M |
CONTAINS |
C、E、H、M |
COMPLETELY_CONTAINS |
C |
CONTAINS_CLEMENTINI |
C、E、H、M |
WITHIN |
F、G、H、M |
COMPLETELY_WITHIN |
F |
WITHIN_CLEMENTINI |
F、G、H、M |
ARE_IDENTICAL_TO |
H、M |
BOUNDARY_TOUCHES |
D、E、G、H、I、J、M |
SHARE_A_LINE_SEGMENT_WITH |
D、H、I、M |
CROSSED_BY_THE_OUTLINE_OF |
A、E、G、J、K |
HAVE_THEIR_CENTER_IN |
C、E、F、G、H、K、L |