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

前
次

2.8 ジオメトリのメタデータ・ビュー

次元、上限と下限および各次元の許容差を記述するジオメトリのメタデータは、MDSYSが所有するグローバル表に格納されます。ユーザーは、このグローバル表を直接更新しないでください。Spatial and Graphのユーザーは、ユーザーに関連付けられたスキーマで使用可能な次のビューを持っています。

これらのビューの移入は、Spatial and Graphのユーザーの責任において行います。各空間列について、USER_SDO_GEOM_METADATAビューに対応する行を挿入する必要があります。Oracle Spatial and Graphでは、ALL_SDO_GEOM_METADATAビューも更新され、USER_SDO_GEOM_METADATAに挿入した行が確実に反映されます。

各メタデータ・ビューは、次のとおり定義されています。

(
  TABLE_NAME   VARCHAR2(32),
  COLUMN_NAME  VARCHAR2(32),
  DIMINFO      SDO_DIM_ARRAY,
  SRID         NUMBER
);

また、ALL_SDO_GEOM_METADATAビューには、TABLE_NAMEで指定した表を所有するスキーマを識別するOWNER列があります。

次に、Oracle Spatial and Graphメタデータ・ビューに格納されるスキーマ名、表名、列名およびSDO_DIMNAME値に関する注意事項を示します。

2.8.1 TABLE_NAME

TABLE_NAME列には、COLA_MARKETSなどのフィーチャ表の名前が含まれます。このフィーチャ表には、SDO_GEOMETRY型の列があります。

表名は、空間メタデータ・ビューにすべて大文字で格納されます。

表名をUSER_SDO_GEOM_METADATAビューに挿入する場合、空白または大/小文字が混在した文字列を引用符で囲んで指定することはできません。また、問合せで使用する場合は、(すべて大文字でないかぎり)引用符で囲むことはできません。

空間列に空間索引を作成する場合、空間フィーチャ表を索引構成表にすることはできません。

2.8.2 COLUMN_NAME

COLUMN_NAME列には、SDO_GEOMETRY型の列名が含まれます。COLA_MARKETS表の場合、この列をSHAPEといいます。

列名は、空間メタデータ・ビューにすべて大文字で格納されます。

列名は、USER_SDO_GEOM_METADATAビューに挿入する場合、空白または大/小文字が混在した文字列を引用符で囲んで指定することができません。また、問合せで使用する場合は、(すべて大文字でないかぎり)引用符で囲むことはできません。

2.8.3 DIMINFO

DIMINFO列は、オブジェクト型の可変長配列であり、次元によって指定され、次元ごとに1つのエントリがあります。SDO_DIM_ARRAY型は、次のとおり定義されます。

Create Type SDO_DIM_ARRAY as VARRAY(4) of SDO_DIM_ELEMENT; 

SDO_DIM_ELEMENT型は、次のとおり定義されます。

Create Type SDO_DIM_ELEMENT as OBJECT (
  SDO_DIMNAME VARCHAR2(64),
  SDO_LB NUMBER,
  SDO_UB NUMBER,
  SDO_TOLERANCE NUMBER);

n次元の場合、SDO_DIM_ARRAYインスタンスは、サイズがnのインスタンスです。DIMINFOには、2次元のジオメトリに対して2つ、3次元のジオメトリに対して3つ、4次元のジオメトリに対して4つのSDO_DIM_ELEMENTインスタンスが含まれます。配列の各SDO_DIM_ELEMENTインスタンスには、SDO_LB、SDO_UBおよびSDO_TOLERANCE属性に対する有効な(NULL以外の)値が必要です。

注意:

DIMINFO情報に反映される次元数は、レイヤー内の各ジオメトリ・オブジェクトの次元数に一致している必要があります。

許容差と適切なSDO_TOLERANCE値の決定方法については、「許容差」(特に「レイヤーのジオメトリ・メタデータの許容差」)を参照してください。

Spatial and Graphでは、可変長配列は次元によって指定されるとみなされます。DIMINFO可変長配列は、SDO_ORDINATES可変長配列の点の縦座標と同じ方法で、次元によって指定される必要があります。たとえば、SDO_ORDINATES可変長配列に{X1, Y1, ..., Xn, Yn}が含まれる場合、最初のDIMINFOエントリはX次元を定義し、2番目のDIMINFOエントリはY次元を定義する必要があります。

「空間データの挿入、索引付けおよび問合せの例」では、SDO_GEOMETRY型とSDO_DIM_ARRAY型の使用方法を示しています。この例は、ジオメトリ・オブジェクト(コーラの仮想マーケット領域)の表現方法、およびCOLA_MARKETSフィーチャ表とUSER_SDO_GEOM_METADATAビューにそれらのオブジェクトのデータを移入する方法を示しています。

2.8.4 SRID

SRID列は、列にあるすべてのジオメトリに対する座標系のSRID値、またはジオメトリに座標系が関連付けられていない場合はNULLを含む必要があります。(座標系については、「座標系(空間参照システム)」を参照してください。)