20 空間演算子

この章では、空間オブジェクト・データ型で使用できる演算子について説明します。

空間プロシージャと空間ファンクションとの違いなど、空間演算子の概要については、「空間演算子、空間プロシージャおよび空間ファンクション」を参照してください。表20-1に、主な演算子を示します。

表20-1 主な空間演算子

演算子 説明

SDO_FILTER

指定されたジオメトリと相互作用するジオメトリを特定します。

SDO_GEOM_MBR

ジオメトリ・オブジェクトの最小境界矩形を返します。

SDO_JOIN

位相関係に基づいて空間結合を実行します。

SDO_NN

最も近くにあるジオメトリを特定します。

SDO_NN_DISTANCE

SDO_NN演算子によって戻されたオブジェクトの距離を戻します。

SDO_POINTINPOLYGON

1番目の列が点のx座標の値で、2番目の列が点のy座標の値である一連の行を使用して、指定したポリゴン・ジオメトリ内のこれらの行を戻します。

SDO_RELATE

2つのジオメトリが指定された方法で相互作用しているかどうかを判断します。(特定のマスク値操作用の簡易形式の代替演算子については、表20-2を参照してください。)

SDO_WITHIN_DISTANCE

2つのジオメトリ間の距離が、指定された距離内にあるかどうかを判断します。

表20-2に、特定のマスク・タイプのSDO_RELATE操作を実行する簡易形式の演算子を示します。

表20-2 SDO_RELATE操作用の簡易演算子

演算子 説明

SDO_ANYINTERACT

表内のジオメトリに、特定のジオメトリとのANYINTERACT位相関係があるかどうかを確認します。

SDO_CONTAINS

表内のジオメトリに、特定のジオメトリとのCONTAINS位相関係があるかどうかを確認します。

SDO_COVEREDBY

表内のジオメトリに、特定のジオメトリとのCOVEREDBY位相関係があるかどうかを確認します。

SDO_COVERS

表内のジオメトリに、特定のジオメトリとのCOVERS位相関係があるかどうかを確認します。

SDO_EQUAL

表内のジオメトリに、特定のジオメトリとのEQUAL位相関係があるかどうかを確認します。

SDO_INSIDE

表内のジオメトリに、特定のジオメトリとのINSIDE位相関係があるかどうかを確認します。

SDO_ON

表内のジオメトリに、特定のジオメトリとのON位相関係があるかどうかを確認します。

SDO_OVERLAPBDYDISJOINT

表内のジオメトリに、特定のジオメトリとのOVERLAPBDYDISJOINT位相関係があるかどうかを確認します。

SDO_OVERLAPBDYINTERSECT

表内のジオメトリに、特定のジオメトリとのOVERLAPBDYINTERSECT位相関係があるかどうかを確認します。

SDO_OVERLAPS

表内のジオメトリが特定のジオメトリと重なっているかどうか(OVERLAPBDYDISJOINTまたはOVERLAPBDYINTERSECT位相関係があるかどうか)を確認します。

SDO_TOUCH

表内のジオメトリに、特定のジオメトリとのTOUCH位相関係があるかどうかを確認します。

ノート:

Spatialの演算子やサブプログラムに対する文字列(VARCHAR2)パラメータの中に数値がある場合は、ロケールにかかわらず、小数点にはピリオド(.)を使用する必要があります。例: 'distance=3.7'

この章では、これらの演算子のリファレンス情報をアルファベット順に説明します。

トポロジで演算子を使用する方法は、Oracle Spatialトポロジおよびネットワーク・データ・モデル開発者ガイドを参照してください。