カスタム空間リレーションシップ
Data Reviewer ライセンスで利用可能。
[DE-9IM] オプションは、 [フィーチャ間] チェックで使用できる、DE-9IM (Dimensionally Extended 9-Intersection Model) 形式の文字列を使用するカスタム空間リレーションシップ タイプです。 カスタム空間処理は、2 つのフィーチャクラスのフィーチャの内部、境界、外部によって定義されます。
空間リレーションシップ タイプとして [DE-9IM] を選択すると、次の 3 つの側面に基づいて 2 つの形状間の空間的な交差を比較できます。
内部 - 境界を除く形状全体。 すべてのジオメトリ タイプには内部があります。
境界 - ライン フィーチャのすべての線形パーツの端点またはポリゴンの線形アウトライン。 境界を持つのはラインとポリゴンのみです。
外部 - 境界を含まない形状の外側の領域。 すべてのジオメトリ タイプには外部があります。
フィーチャ ジオメトリの各タイプにおいて内部、境界、外部がどのように定義されるかを理解することは、関係演算子を理解する上で重要です。
ポイント - ポイントは、空間内の 1 つの位置を表します。 ポイントの内部はポイント自身、境界は空集合 (存在しない境界)、外部はその他すべてのポイントです。
マルチポイント - マルチポイントは、ポイントの順序付きのコレクションです。 マルチポイントの内部はコレクション内のポイントの集合、境界は空集合 (存在しない境界)、外部はコレクション内にないポイントの集合です。
ポリライン - ポリラインは 1 つ以上のパスの順序付きのコレクションです。各パスは、隣接セグメントのコレクションです。 セグメントには始点と終点があります。
ポリラインの境界は各パスの始点と終点の集合、内部は境界にないポリライン内のポイントの集合、外部は境界または内部にないポイントの集合です。
次の図のポリラインでは、境界を構成するポイントの集合が青で示されています。 ポリラインの内部はオレンジで示されています。

ポリゴン - ポリゴンは、リングまたはリングのコレクションで定義されます。 各リングは、始点と終点が同じ隣接セグメントのコレクションです。
ポリゴンの境界は、ポリゴンを定義するリングまたはリングのコレクションです。 境界には、1 つ以上の外部リングと 0 個以上の内部リングが含まれます。 外部リングは時計回り、内部リングは反時計回りです。 境界に沿って時計回りに歩くことを想像してください。 すぐ右のエリアはポリゴンの内部で、左側は外部です。 次の図のポリゴンでは、境界が青、内部がオレンジで示されていて、外部は境界外の空の空間です。

DE-9IM 空間リレーションシップは、次の文字で構成される 9 文字の一連の文字列によって定義されます。
T (true) - フィーチャには、交差する内部、境界、外部があります。
F (false) - フィーチャには、交差する内部、境界、外部がありません。
0 (無次元) - フィーチャの内部、境界、外部の交差によりポイントが作成されます。
1 (1 次元) - フィーチャの内部、境界、外部の交差によりラインが作成されます。
2 (2 次元) - フィーチャの内部、境界、外部によりポリゴンが作成されます。
* (チェックしない) - 内部、境界、外部のリレーションシップの側面がチェックされません。
それぞれの文字の配置は、2 つのフィーチャ間でチェックされる内容を決定するので重要です。 たとえば、フィーチャクラス 1 とフィーチャクラス 2 の内部を比較する場合、スロット 1 に「 T 」と入力します。 それらを比較しない場合は、スロット 1 に「 * 」と入力します。
次の表は、フィーチャクラス 1 とフィーチャクラス 2 という 2 つのリージョン間の空間リレーションシップを記述する文字の順序を示しています。
|
文字のスロット番号 |
フィーチャクラス 1 |
フィーチャクラス 2 |
|---|---|---|
|
1 |
内部 |
内部 |
|
2 |
内部 |
境界 |
|
3 |
内部 |
外部 |
|
4 |
境界 |
内部 |
|
5 |
境界 |
境界 |
|
6 |
境界 |
外部 |
|
7 |
外部 |
内部 |
|
8 |
外部 |
境界 |
|
9 |
外部 |
外部 |
図の例
次のシナリオは、赤のジオメトリ タイプが、その内部、境界、外部に基づいて互いにどのように関連しているかを示しています。
|
フィーチャクラス 2内部 |
フィーチャクラス 2境界 |
フィーチャクラス 2外部 |
|
|---|---|---|---|
|
フィーチャクラス 1 (ポリゴン) |
T***T**** FC1 (ポリゴン) は FC2 (ポリゴン) と境界を共有し、内部が交差しています。 |
F***1**** FC1 (ポリゴン) は FC2 (ポリゴン) と境界を共有しています。 内部は交差しておらず、共有された境界がラインを形成しています。 |
***1***** FC1 (ポリゴン) の外部が FC2 (ライン) の内部と同じ長さで交差しています。 |
|
フィーチャクラス 1 (ライン/ポリライン) |
TT*FFT*** FC1 (ライン) の内部は FC2 (ライン) に含まれています。 |
FF*FT**** FC1 (ライン) が FC2 (ポイント) の境界に接し、内部は交差していません。 |
TT**F**** FC1 (ライン) の外部と内部が FC2 (ポリゴン) と交差しています。 |
|
フィーチャクラス 1 (ポイント) |
T******** FC1 (ポイント) の内部が FC2 (ライン) 内にあります。 |
*T******* FC1 (ポイント) の内部が FC2 (ライン) の境界に接しています。 |
TF****T** FC1 (ポイント) の外部が FC2 (ポリゴン) の内部の中にあり、FC2 の境界は除外します。 |
リレーションシップのパターン
[DE-9IM] オプションを選択すると、 [DE-9IM 文字列] テキスト ボックスが表示され、パターン文字列を入力できます。 特定のリレーションシップを見つけるために使用できるパターンを次の表に示します。
|
空間リレーションシップ |
フィーチャクラス 1 |
フィーチャクラス 2 |
String |
|---|---|---|---|
|
含む |
ライン |
ライン |
T*****FF* |
|
含む |
ライン |
ポイント |
T**F*T*** |
|
含む |
ポイント |
ポイント |
T******** |
|
含む |
ポリ |
ライン |
T*****FF* |
|
含む |
ポリ |
ポリ |
T*****FF* |
|
横切る |
ライン |
ライン |
TF*FF**** |
|
横切る |
ライン |
ポリ |
TT**F**** |
|
横切る |
ポリ |
ライン |
T***F**T* |
|
オーバーラップ |
ライン |
ライン |
TT*T***** |
|
オーバーラップ |
ポイント |
ポイント |
T******** |
|
オーバーラップ |
ポリ |
ポリ |
TT*T***** |
|
接する |
ライン |
ライン |
FF*FT**** |
|
接する |
ライン |
ポリ |
F***T**** |
|
接する |
ポリ |
ライン |
F***T**** |
|
接する |
ポリ |
ポリ |
F***T**** |
|
含まれる |
ライン |
ライン |
T*F**F*** |
|
含まれる |
ライン |
ポイント |
T******** |
|
含まれる |
ポイント |
ポイント |
T******** |
|
含まれる |
ポリ |
ライン |
T*F**F*** |
|
含まれる |
ポリ |
ポリ |
T*F**F*** |
[DE-9IM 文字列] テキスト ボックスで使用される文字列のその他の例を次の表に示します。
|
空間リレーションシップ |
フィーチャクラス 1 |
フィーチャクラス 2 |
使用する文字列 |
|---|---|---|---|
|
境界を共有する |
ポリ |
ポリ |
****T**** |
|
境界を共有し、内部は交差する |
ポリ |
ポリ |
T***T**** |
|
境界を共有し、内部は交差しない |
ライン |
ライン |
F***T**** |
|
境界は接さず、内部は交差する |
ポリ |
ポリ |
T***F**** |
|
ポリゴンの境界はラインの内部と合同の長さで交差する |
ポリ |
ライン |
***1***** |
|
正確に一致する |
ポリ |
ポリ |
**F*TF*** |
|
境界に接する |
ライン |
ライン |
****T**** |
|
線分を共有する |
ポリ |
ポリ |
F***1**** |
|
アウトラインと交差する |
ポリ |
ライン |
TT**F**** |








