35.63 SDO_UTIL.LINEAR_KEY_BOUNDARY

書式

SDO_UTIL.LINEAR_KEY_BOUNDARY(
  linear_key IN RAW, 
  min_x      IN NUMBER DEFAULT 0.0, 
  min_y      IN NUMBER DEFAULT 0.0, 
  max_x      IN NUMBER DEFAULT 0.0, 
  max_y      IN NUMBER DEFAULT 0.0, 
  srid       IN NUMBER DEFAULT NULL 
) RETURN MDSYS.SDO_GEOMETRY;

説明

linear_keyで表されるタイルの境界を返します。

パラメータ

linear_key

指定されたレベルでのジオメトリの線形(Hilbert)キー。

min_x

キーの生成で考慮するX軸上の最小値。

min_y

キーの生成で考慮するY軸上の最小値。

max_x

キーの生成で考慮するX軸上の最大値。

max_y

キーの生成で考慮するY軸上の最大値。

srid

SRID値。

使用上のノート

このファンクションは、線形キーで表されるセルのジオメトリを返します。

詳細は、SDO_UTIL.LINEAR_KEY「使用上のノート」を参照してください。

この例では、lvl値として17を使用しており、オプティマイザ・ヒント(/*+ append parallel(16) */)によって、パラレル実行の度合いとしてかなり高い値を指定しています。取得したジオメトリは、results表に保持されます。

ALTER SESSION ENABLE PARALLEL DML;
DROP TABLE results;
CREATE TABLE results (cnt NUMBER, cell_geometry SDO_GEOMETRY);
INSERT /*+ append parallel(16) */ INTO results NOLOGGING 
SELECT  count(*) cnt,
              sdo_util.linear_key_boundary (cell_id,-180,-180,180,180)
FROM (SELECT sdo_util.linear_key (geom, -180,-180,180,180,17) as cell_id
             FROM lon_lat_geoms)
GROUP BY cell_id;

関連トピック