プライマリ・コンテンツに移動
Oracle® Spatial and Graph開発者ガイド
12cリリース1 (12.1)
B72470-07
目次へ移動
目次
索引へ移動
索引

前
次

23.23 SDO_GEOM.SDO_MBR

書式

SDO_GEOM.SDO_MBR(     
  geom   IN SDO_GEOMETRY      
  [, dim IN SDO_DIM_ARRAY]      
) RETURN SDO_GEOMETRY;

説明

ジオメトリ・オブジェクトの最小境界矩形(ジオメトリを囲む最小の矩形)を戻します。

注意:

SDO_GEOM_MBRは、このファンクションと機能的に同じSQL演算子ですが、より優れたパフォーマンスが提供されます。詳細は、「使用上の注意」にある「パフォーマンス向上のための代替演算子SDO_GEOM_MBR」を参照してください。

パラメータ

geom

ジオメトリ・オブジェクト。

dim

geomに対応する次元情報の配列を指定します。通常、xxx_SDO_GEOM_METADATAビューの1つから選択します(「ジオメトリのメタデータ・ビュー」を参照)。

使用上の注意

このファンクションは、適切なMBRを作成できない場合はMBRジオメトリを戻しません。具体的には、次のようになります。

  • 入力ジオメトリがNULLである場合は、NULLのジオメトリを戻します。

  • 入力ジオメトリが点である場合は、点を戻します。

  • 入力ジオメトリが直線上に存在する複数の点である場合は、2点線を戻します。

  • 入力ジオメトリに3つの次元が含まれていても、すべてのZ次元値が同じである場合は、3次元の線を戻します。

パフォーマンス向上のための代替演算子SDO_GEOM_MBR

SDO_GEOM_MBRは、SDO_GEOM.SDO_MBRファンクションと機能的に同じSQL演算子ですが、より優れたパフォーマンスが提供されます。

SDO_GEOM_MBR演算子は、次のようなSQL問合せ内で使用する必要があります。

SELECT sdo_geom_mbr(geom) INTO g FROM DUAL;

また、次のように、同じ問合せ内で複数のSDO_GEOM_MBR演算子を使用することもできます。

SELECT sdo_geom_mbr(geom1), sdo_geom_mbr(geom2) INTO g1, g2 FROM DUAL;

次の例にあるSDO_GEOM_MBR演算子の例も参照してください。

次の例では、COLA_MARKETS表のcola_dジオメトリの最小境界矩形を戻します。(例では、「空間データの挿入、索引付けおよび問合せの例」の定義およびデータを使用しています。cola_dは円であるため、この場合の最小境界矩形は正方形になります。)

-- Return the minimum bounding rectangle of cola_d (a circle).
SELECT SDO_GEOM.SDO_MBR(c.shape, m.diminfo) 
  FROM cola_markets c, user_sdo_geom_metadata m
  WHERE m.table_name = 'COLA_MARKETS' AND m.column_name = 'SHAPE' 
  AND c.name = 'cola_d';

SDO_GEOM.SDO_MBR(C.SHAPE,M.DIMINFO)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO
--------------------------------------------------------------------------------
SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3), SDO_ORDINATE_ARR
AY(6, 7, 10, 11))

次の例は、前述の例と機能的に同じですが、SDO_GEOM_MBR演算子を使用しています。

-- Return the minimum bounding rectangle of cola_d (a circle).
SELECT SDO_GEOM_MBR(c.shape) 
  FROM cola_markets c WHERE c.name = 'cola_d';

SDO_GEOM_MBR(C.SHAPE)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SD
--------------------------------------------------------------------------------
SDO_GEOMETRY(2003, NULL, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3), SDO_ORDINATE_ARR
AY(6, 7, 10, 11))