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