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

前
次

2.5 TINに関連するオブジェクト型

ここでは、Triangulated Irregular Network(TIN)のサポートに関連する次のオブジェクト型について説明します。

2.5.1 SDO_TINオブジェクト型

TINの記述は、ユーザーが定義した表のSDO_TINオブジェクト型の1列に、1行で格納されます。SDO_TINオブジェクト型の定義は次のとおりです。

CREATE TYPE sdo_tin AS OBJECT
  (base_table          VARCHAR2(70),
   base_table_col      VARCHAR2(1024),
   tin_id              NUMBER.
   blk_table           VARCHAR2(70),
   ptn_params          VARCHAR2(1024),
   tin_extent          SDO_GEOMETRY,
   tin_tol             NUMBER,
   tin_tot_dimensions  NUMBER,
   tin_domain          SDO_ORGSCL_TYPE,
   tin_break_lines     SDO_GEOMETRY,
   tin_stop_lines      SDO_GEOMETRY,
   tin_void_rgns       SDO_GEOMETRY,
   tin_val_attr_tables SDO_STRING_ARRAY,
   tin_other_attrs     XMLTYPE);

SDO_TIN型には、表2-4に示す属性が含まれます。

表2-4 SDO_TIN型の属性

属性 説明

BASE_TABLE

SDO_TIN型の列を含む実表の名前。

BASE_TABLE_COL

実表のSDO_TIN型の列の名前。

TIN_ID

TINのID番号。(この一意のID番号はSpatial and Graphによって生成されます。このID番号は、型SDO_TINの列を含む実表のスキーマ内で一意です。)

BLK_TABLE

TINの各ブロックに関する情報を含む表の名前。この表に含まれる列を、表2-5に示します。

PTN_PARAMS

TINを分割するためのパラメータ。

TIN_EXTENT

TINの空間エクステント(TINに含まれるすべてのオブジェクトを囲む最小境界オブジェクト)を表すSDO_GEOMETRYオブジェクト。

TIN_TOL

TIN内のオブジェクトの許容差。(空間許容差の詳細は、「許容差」を参照してください。)

TIN_TOT_DIMENSIONS

TINの総次元数。空間次元および非空間次元が含まれます(最大値は9)。

TIN_DOMAIN

(現在は使用されていません)

TIN_BREAK_LINES

(現在は使用されていません)

TIN_STOP_LINES

(現在は使用されていません)

TIN_VOID_RGNS

(現在は使用されていません)

TIN_VAL_ATTR_TABLES

TINの値属性表の名前を指定するSDO_STRING_ARRAYオブジェクトを指定します。SDO_STRING_ARRAY型は、VARRAY(1048576) OF VARCHAR2(32)として定義されます。

TIN_OTHER_ATTRS

TINのその他の属性を指定するXMLTYPEオブジェクトを指定します。詳細は、SDO_TIN_PKG.INITファンクションの「使用上の注意」を参照してください。

図2-2に、TINデータの記憶域モデルを示します。このモデルでは、(SDO_TIN型のBLK_TABLE属性で指定した)TINブロック表にSDO_TINオブジェクトに関連付けられたブロックが格納されます。

図2-2 TINデータの記憶域

図2-2の説明が続きます
図2-2「TINデータの記憶域」の説明

TINブロック表には、表2-5に示す列が含まれます。

表2-5 TINブロック表の列

列名 データ型 用途

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

点群データの場合は、点の空間次元数(2または3)。

POINTS

BLOB

点群データの場合は、点を含むBLOB。点ごとに次の情報を持つ点の配列で構成されます。

  • d 8バイトIEEE倍精度(dは点群の総次元数)

  • BLK_ID値に対応する4バイトのビッグ・エンディアン整数

  • PT_ID値に対応する4バイトのビッグ・エンディアン整数

TR_LVL

NUMBER

(現在は使用されていません)

TR_RES

NUMBER

(現在は使用されていません)

NUM_TRIANGLES

NUMBER

TRIANGLES BLOBに含まれる三角形の数。

TR_SORT_DIM

NUMBER

(現在は使用されていません)

TRIANGLES

BLOB

三角形を含むBLOB。ブロックの三角形の配列で構成されます。

  • 各三角形は3つの頂点で指定されます。

  • 各頂点は(BLK_ID, PT_ID)のペアで指定され、それぞれの値は4バイトのビッグ・エンディアン整数です。

TINブロック表のPOINTS列の各BLOBは、次のとおりです。

  • 合計サイズは(tdim+1)×8です。tdimは各ブロックの合計次元数です。

  • 合計サイズは、5MB未満(Oracle Databaseリリース11.1.0.6以下の場合)または12MB未満(Oracle Databaseリリース11.1.0.7以上の場合)である必要があります。

属性名は、SDO_TIN型のオブジェクトに対する問合せで使用できます。例2-4に、LANDSCAPESという架空の表に含まれるTERRAIN列のTIN_EXTENT属性を問い合せるSELECT文の一部を示します。

例2-4 SDO_TINの属性の問合せ

SELECT l.terrain.tin_extent FROM landscapes l WHERE ...;

2.5.2 SDO_TIN_BLK_TYPEオブジェクト型およびSDO_TIN_BLKオブジェクト型

SDO_TIN_PKG.CLIP_TINファンクションを使用してクリップ操作を実行する場合、SDO_TIN_BLK_TYPE型のオブジェクトが戻されます。このオブジェクトはTABLE OF SDO_TIN_BLKとして定義されます。

SDO_TIN_BLKオブジェクト型の属性は、TINブロック表に含まれる列と同じです(TINブロック表については、「SDO_TIN_BLK_TYPEオブジェクト型およびSDO_TIN_BLKオブジェクト型」表2-5を参照)。