35.53 SDO_UTIL.H3SUM_AS_TABLE

書式

SDO_UTIL.H3SUM_AS_TABLE(
  h3table_in      VARCHAR2,
  levelnum        NUMBER,
  mbr             SDO_GEOMETRY
)RETURN H3SUM_TAB_T PIPELINED;

説明

H3サマリー表から、H3SUM_TAB_T型の表として行を返します。

パラメータ

h3table_in

問い合せるH3サマリー表の名前。

levelnum

H3サマリー表内で問い合せるH3レベル。

mbr

検索問合せ。

使用上のノート

返される表には固定構造があり、すべての数値列が単一の配列として返されます。これらの列の情報は、H3サマリー表の列の名前に暗黙的に含まれ、同じ順序で返されます。

TYPE h3sum_row_t IS RECORD(
  hex           sdo_geometry,     -- The geometry of the hex
  levelnum      number(2),        -- The H3 level number
  h3            raw(8),           -- The h3 code of this cell
  cols          sdo_number_array  -- The payload data
);

TYPE h3sum_tab_t IS TABLE OF h3sum_row_t;

次のH3サマリー表は、3つのデータ・フィールドID_CNTID_MINおよびID_MAXを使用して作成されます。すべてのサマリー表には、LEVELNUM列およびKEY列が自動的に含まれます。

SQL> CREATE TABLE PARIS AS (SELECT * 
    FROM SDO_UTIL.H3SUM_AS_TABLE('WORLD_H3', 2, SDO_GEOMETRY(2003, 4326, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 3),
         SDO_ORDINATE_ARRAY(48.8383005, 2.34064005, 48.8636193, 2.36593751))));

Table created.

SQL> DESCRIBE PARIS;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 HEX                                                MDSYS.SDO_GEOMETRY
 LEVELNUM                                           NUMBER(2)
 H3                                                 RAW(8)
 COLS                                               MDSYS.SDO_NUMBER_ARRAY

SQL> SELECT * FROM PARIS WHERE ROWNUM < 2;

HEX(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
--------------------------------------------------------------------------------
  LEVELNUM H3
---------- ----------------
COLS
--------------------------------------------------------------------------------
SDO_GEOMETRY(2003, 4326, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARRAY(48.4824473, .425072204, 48.9470689, 1.89827044, 47.8984915, 3.15671027, 46.3634494, 2.96578105, 45.8697755, 1.48783745, 46.9399386, .205091826, 48.4824473, .425072204))
         2 0827A17FFFFFFFFF
SDO_NUMBER_ARRAY(6, 40725, 40906)

前述の問合せ出力の値(6, 40725, 40906)は、H3サマリー表に出現するのと同じ順序で、3つのユーザー・データ列ID_CNTID_MINおよびID_MAXに対応します。

SQL> DESCRIBE WORLD_H3;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 LEVELNUM                                           NUMBER(2)
 KEY                                                RAW(8)
 ID_CNT                                             NUMBER
 ID_MIN                                             NUMBER
 ID_MAX                                             NUMBER