ここでは、点群のサポートに関連する次のオブジェクト型について説明します。
SDO_PC
SDO_PC_BLK
点群の記述は、ユーザーが定義した表のSDO_PCオブジェクト型の1列に、1行で格納されます。SDO_PCオブジェクト型の定義は次のとおりです。
CREATE TYPE sdo_pc AS OBJECT (base_table VARCHAR2(70), base_table_col VARCHAR2(1024), pc_id NUMBER. blk_table VARCHAR2(70), ptn_params VARCHAR2(1024), pc_extent SDO_GEOMETRY, pc_tol NUMBER, pc_tot_dimensions NUMBER, pc_domain SDO_ORGSCL_TYPE, pc_val_attr_tables SDO_STRING_ARRAY, pc_other_attrs XMLTYPE);
SDO_PC型の属性を表2-6に示します。
表2-6 SDO_PC型の属性
属性 | 説明 |
---|---|
BASE_TABLE |
SDO_PC型の列を含む実表の名前。 |
BASE_TABLE_COL |
実表のSDO_PC型の列名。 |
PC_ID |
点群のID番号。(この一意のID番号はSpatial and Graphによって生成されます。このID番号は、型SDO_PCの列を含む実表のスキーマ内で一意です。) |
BLK_TABLE |
点群の各ブロックに関する情報を含む表の名前。この表に含まれる列を、表2-7に示します。 |
PTN_PARAMS |
点群を分割するためのパラメータ。 |
PC_EXTENT |
点群の空間エクステント(点群に含まれるすべてのオブジェクトを囲む最小境界オブジェクト)を表すSDO_GEOMETRYオブジェクト。 |
PC_TOL |
点群内の点の許容差。(空間許容差の詳細は、「許容差」を参照してください。) |
PC_TOT_DIMENSIONS |
点群の総次元数。空間次元および非空間次元が含まれます(最大値は9)。 |
PC_DOMAINS |
(現在は使用されていません) |
PC_VAL_ATTR_TABLES |
点群の値属性表の名前を指定するSDO_STRING_ARRAYオブジェクトを指定します。SDO_STRING_ARRAY型は、 |
PC_OTHER_ATTRS |
点群のその他の属性を指定するXMLTYPEオブジェクトを指定します。詳細は、SDO_PC_PKG.INITファンクションの「使用上の注意」を参照してください。 |
点群ブロック表(SDO_PC型のBLK_TABLE属性で指定された)には、表2-7に示す列が含まれます。
表2-7 点群ブロック表の列
列名 | データ型 | 用途 |
---|---|---|
OBJ_ID |
NUMBER |
点群オブジェクトのID番号。 |
BLK_ID |
NUMBER |
ブロックのID番号。 |
BLK_EXTENT |
SDO_GEOMETRY |
ブロックの空間エクステント。 |
BLK_DOMAIN |
SDO_ORGSCL_TYPE |
(現在は使用されていません) |
PCBLK_MIN_RES |
NUMBER |
点群データの場合は、問合せ時にブロックを可視化できる解像度の最小レベルです。問合せウィンドウがブロックの空間エクステントと重なる場合に、ブロックの最小から最大までの解像度幅が問合せの最小から最大までの解像度幅と重なる場合のみ、ブロックが取得されます。通常、小さい値ほどビュー・ポイントから離れており、高い値ほどビュー・ポイントに近いことを示します。 |
PCBLK_MAX_RES |
NUMBER |
点群データの場合は、問合せ時にブロックを可視化できる解像度の最大レベルです。問合せウィンドウがブロックの空間エクステントと重なる場合に、ブロックの最小から最大までの解像度幅が問合せの最小から最大までの解像度幅と重なる場合のみ、ブロックが取得されます。通常、小さい値ほどビュー・ポイントから離れており、高い値ほどビュー・ポイントに近いことを示します。 |
NUM_POINTS |
NUMBER |
点群データの場合は、POINTS BLOBに含まれる点の総数。 |
NUM_UNSORTED_POINTS |
NUMBER |
点群データの場合は、POINTS BLOB内のソートされていない点の数。 |
PT_SORT_DIM |
NUMBER |
点がソートされる次元数(1は最初の次元、2は2つ目の次元など)。 |
POINTS |
BLOB |
点を含むBLOBを指定します。点ごとに次の情報を持つ点の配列で構成されます。
|
属性名は、SDO_PC型のオブジェクトに対する問合せで使用できます。例2-5に、OCEAN_FLOOR_MODELという架空の表に含まれるOCEAN_FLOOR列のPC_EXTENT属性を問い合せるSELECT文の一部を示します。
例2-5 SDO_PCの属性の問合せ
SELECT o.ocean_floor.pc_extent FROM ocean_floor_model o WHERE ...;
SDO_PC_PKG.CLIP_PCファンクションを使用してクリップ操作を実行する場合、SDO_PC_BLK_TYPE型のオブジェクトが戻されます。このオブジェクトはTABLE OF SDO_PC_BLK
として定義されます。
SDO_PC_BLKオブジェクト型の属性は、点群ブロック表に含まれる列と同じです(点群ブロック表については、「SDO_PCオブジェクト型」の表2-7を参照)。