書式
SDO_GEOM.SDO_MBR( geom IN SDO_GEOMETRY [, dim IN SDO_DIM_ARRAY] ) RETURN SDO_GEOMETRY;
説明
ジオメトリ・オブジェクトの最小境界矩形(ジオメトリを囲む最小の矩形)を戻します。
注意:
SDO_GEOM_MBRは、このファンクションと機能的に同じSQL演算子ですが、より優れたパフォーマンスが提供されます。詳細は、「使用上の注意」にある「パフォーマンス向上のための代替演算子SDO_GEOM_MBR」を参照してください。
パラメータ
ジオメトリ・オブジェクト。
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))