20.15 SDO_OVERLAPS

書式

SDO_OVERLAPS(geometry1, geometry2);

説明

表内のジオメトリが特定のジオメトリと重なっているかどうか(OVERLAPBDYDISJOINTまたはOVERLAPBDYINTERSECT位相関係があるかどうか)を確認します。SDO_RELATE演算子に'mask=OVERLAPBDYDISJOINT+OVERLAPBDYINTERSECT'を含めて指定する場合と同じです。

この演算子で実行される操作および使用要件については、この章に示すSDO_RELATE演算子の項を参照してください。

Spatial演算子での3Dサポート(計算時にすべての3次元を考慮する演算子または考慮しない演算子)については、3次元の空間オブジェクトを参照してください。

キーワードおよびパラメータ

説明

geometry1

表のジオメトリ列を指定します。この列の空間索引をお薦めします。データ型はSDO_GEOMETRYです。

geometry2

表のジオメトリまたはジオメトリの一時的なインスタンスを指定します。(バインド変数またはSDO_GEOMETRYコンストラクタを使用して指定します。)データ型はSDO_GEOMETRYです。

戻り値

式SDO_OVERLAPS(geometry1,geometry2)は、OVERLAPBDYDISJOINTまたはOVERLAPBDYINTERSECT位相関係を持つオブジェクトの組合せの場合はTRUEを戻し、そうでない場合はFALSEを戻します。

使用上のノート

演算子がTRUEと評価されるには、ジオメトリが2つのポリゴン、2つの線または2つの複数点である必要があります。たとえば、1つのジオメトリが線で、もう1つがポリゴンの場合、重なることはできません。

この章のSDO_RELATE演算子の「使用上のノート」を参照してください。

位相関係およびSpatialで使用される9交差モデルについては、空間関係およびフィルタ処理を参照してください。

次の例では、問合せウィンドウ(ここでは、左下の座標が(4,6)、右上の座標が(8,8)の矩形)と重なるジオメトリを検索します。(例では、「空間データの挿入、索引付けおよび問合せの例」に示し、説明している定義およびデータを使用しています。)この例では、SHAPE列内の3つのジオメトリが問合せウィンドウ・ジオメトリと重なります。

SELECT c.mkt_id, c.name
  FROM cola_markets c
  WHERE SDO_OVERLAPS(c.shape,
            SDO_GEOMETRY(2003, NULL, NULL,
              SDO_ELEM_INFO_ARRAY(1,1003,3),
              SDO_ORDINATE_ARRAY(4,6, 8,8))
            );

    MKT_ID NAME                                                                 
---------- --------------------------------                                     
         2 cola_b                                                               
         1 cola_a                                                               
         4 cola_d