ヘッダーをスキップ
Oracle Spatial開発者ガイド
11g リリース1(11.1)
E05682-03
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

1 Spatialの概念

Oracle Spatialは、Oracleのファンクションとプロシージャを統合した製品であり、Oracle Databaseでの空間データの格納、アクセスおよび分析を短時間で効率的に処理することを目的としています。

空間データは、実際のオブジェクトまたは概念的なオブジェクトの本質的な位置特性情報を、それらが存在する実際の領域または概念的な領域に関連付けて表現します。

この章の内容は次のとおりです。

1.1 Spatial製品とは

Oracle Spatialは、Spatialとも呼ばれ、Oracle Databaseへの空間フィーチャの集合の格納、検索、更新および問合せを容易にするSQLスキーマおよびファンクションを提供します。Spatialは、次の要素で構成されています。

空間フィーチャの空間構成要素とは、ある座標空間においてその形を幾何学的に表現したものです。これをジオメトリと呼びます。


注意:

MDSYSスキーマの下では、どのパッケージ、表または他のオブジェクトも変更しないでください。(ただし、ユーザー定義の座標参照系を作成する必要がある場合は除きます(6.9項を参照)。)

1.2 オブジェクト・リレーショナル・モデル

Spatialでは、ジオメトリを表現するオブジェクト・リレーショナル・モデルがサポートされています。このモデルでは、ジオメトリ全体が、ベクトル・データ用のOracle固有の空間データ型(SDO_GEOMETRY)に格納されます。Oracle表には、1つ以上のSDO_GEOMETRY列を格納できます。オブジェクト・リレーショナル・モデルは、地理空間フィーチャについてOpen GIS ODBC/SQL仕様に定義されている、空間フィーチャ表の「SQL with Geometry Types」実装に対応しています。

オブジェクト・リレーショナル・モデルには、次のメリットがあります。

1.3 空間データの概要

Oracle Spatialは、位置情報アプリケーションおよび地理情報システム(GIS)・アプリケーションのユーザーが、簡単に無理のない形で空間データを管理できるように設計されています。Oracle Databaseに格納された空間データは、簡単に操作および取出しができ、データベースに格納された他のすべてのデータとの関連付けも可能です。

空間データの一般的な例としては、道路地図があります。道路地図は点、線およびポリゴンを含む2次元オブジェクトであり、都道府県などの行政的境界、都市および道路を表現できます。道路地図は地理情報を視覚化したものです。地表面に存在する行政的境界、都市および道路の位置は、レンダリング対象となるオブジェクトの相対位置と相対距離を維持したまま、2次元の画面または紙上に投影されます。

レンダリングされるこれらのオブジェクトの地表面位置(緯度と経度など)を示すデータが、空間データです。地図のレンダリングでは、この空間データを使用することによって、オブジェクトの位置を2次元の紙上に投影します。GISは、このような地表面と相関する空間データを格納、取出しおよびレンダリングする一般的な方法です。

Spatialを使用して格納できる空間データの種類には、GISデータ以外にコンピュータ支援設計(CAD)システムとコンピュータ支援製造(CAM)システムのデータがあります。CADおよびCAMシステムでは、地理的なスケールでオブジェクトを処理するのではなく、自動車のエンジンまたはプリント回路基板などの比較的小さいスケールを扱います。

これらのシステムの違いはデータのサイズと精度のみで、データの複雑さではありません。これらのすべてのシステムで同数の点データを処理することも考えられます。地理的なスケールでは、ある橋の位置に1/10インチ単位の誤差があっても、実際の道路工事の際には、問題が発生することはありせん。それに対して、エンジンのピストンの直径が1/10インチ単位でもずれてしまうと、エンジンは作動しません。

また、データの複雑さは、表現されている領域の絶対スケールとは無関係です。たとえば、多くのプリント回路基板の場合、その基板上に数千個のオブジェクトがエッチングされ、その小さい面積に道路の工事現場の青写真の詳細図より複雑な情報が含まれます。

これらのアプリケーションは、空間および非空間の両方の属性を持つフィーチャの集合について、格納、検索、更新または問合せのすべてを行います。非空間属性の名前の例には、soil_type、landuse_classificationおよびpart_numberがあります。空間属性は、そのフィーチャの形を、座標またはベクトル・ベースで表現するものです。

1.4 ジオメトリ・タイプ

ジオメトリは、直線セグメントまたは円弧を結合した頂点を順番につなげたものです。ジオメトリの意味は、その型によって決定されます。Spatialは、いくつかの基本タイプ、および2次元を含む、次のタイプの集合で構成されるジオメトリをサポートしています。

2次元の点は、XとYの2つの座標値(経度および緯度である場合が多い)で構成される要素です。線ストリングは、線セグメントを定義する2点のペアの、1つ以上の集合で構成されます。ポリゴンは、閉じた輪を形成するように連結された複数の線ストリングで構成されます。ここではポリゴンの領域が暗黙的に指定されます。たとえば、点で建物の位置を、線ストリングで道路または飛行経路を、多角形で都道府県、都市、区画地域または都市の街区を表現できます。

自己交差する線ストリングはサポートされますが、自己交差するポリゴンはサポートされません。自己交差する線ストリングは、ポリゴンを形成しません。自己交差する線ストリングでは、領域が暗黙的に指定されません。

図1-1に、ジオメトリ・タイプを示します。

図1-1 ジオメトリ・タイプ

図1-1の説明が続きます。
図1-1「ジオメトリ・タイプ」の説明

Spatialは、3次元および4次元のジオメトリ・タイプの格納および索引付けもサポートします。これらのジオメトリ・タイプでは、定義されるオブジェクトの各頂点の定義に3つまたは4つの座標が使用されます。3次元ジオメトリのサポートの詳細は、1.11項を参照してください。

1.5 データ・モデル

空間データ・モデルは、要素、ジオメトリおよびレイヤーで構成される階層型の構造体です。レイヤーはジオメトリで構成され、ジオメトリは要素で構成されます。

1.5.1 要素

要素は、ジオメトリの基本的構成単位です。サポートされる空間要素タイプは、点、線ストリングおよびポリゴンです。たとえば、要素を使用することによって、星座(点クラスタ)、道路(線ストリング)および都道府県の境界(ポリゴン)のモデルを作成できます。要素内の各座標は、XとYの値のペアとして格納されます。複合ポリゴンの外部の輪と0(ゼロ)個以上の内部の輪(穴)は、単一の要素とみなされます。

点データは1個の座標で構成されます。線データは要素の線セグメントを表現する2個の座標で構成されます。ポリゴン・データは座標値の複数のペアで構成されます。ポリゴンの各線セグメントに対して、2頂点の1つのペアが対応します。座標は、ポリゴンの周囲に沿って順に(外部の輪は反時計回り、内部の輪は時計回りで)定義されます。

1.5.2 ジオメトリ

ジオメトリ(またはジオメトリ・オブジェクト)は、空間フィーチャの表現であり、基本形要素を配列した集合をモデル化したものです。ジオメトリは、単一の要素、(サポートされている基本タイプの1つのインスタンス)または同種か異種の要素の集合で構成できます。群島を表現する場合に使用されるような複数ポリゴンは、同種の集合です。異種の集合とは、異なるタイプの要素の集合(点とポリゴンなど)です。

たとえば、ある町の建築予定地を示すジオメトリの例を考えます。このジオメトリは、穴のあいたポリゴンとして表現できます(河川、湖、または区画指定により建築できない地域が穴に相当します)。

1.5.3 レイヤー

レイヤーは、同じ属性セットを持つジオメトリの集合です。たとえば、あるGISにおいて3つのレイヤーが、それぞれ地形、人口密度および領域内の道路と橋のネットワーク(線および点)を表現する場合が考えられます。各レイヤーのジオメトリおよびそれに関連付けられた空間索引は、データベース内の標準表に格納されます。

1.5.4 座標系

座標系(空間参照システム)は、位置に座標を割り当て、それらの座標セットを関連付けます。これによって、実際の空間における位置表現として、座標を変換することが可能になります。

すべての空間データには、座標系が関連付けられています。座標系は、地理参照(地表の特定の表現に関連)または非地理参照(デカルトで、地表の特定の表現に関連しない)のいずれかになります。座標系が地理参照の場合、デフォルトの測定単位(mなど)が関連付けられますが、指定した別の単位(マイルなど)で結果を自動的に戻すように、Spatialに指示できます。(サポートされている測定単位の詳細は、2.10項を参照してください。)

空間データは、デカルト座標系、測地(地理)座標系、投影座標系またはローカル座標系に関連付けができます。

  • デカルト座標は、指定した基点からの点の位置を、2次元または3次元空間の相互に直交する軸を関連付けて測定する座標です。

    座標系がジオメトリに明示的に関連付けられていない場合、デカルト座標系が想定されます。

  • 測地座標(地理座標)は、角度を持つ座標(経度および緯度)であり、球体の極点の座標と密接に関連しています。また、地球上の特定の測地データに関連付けて定義されます。(測地データは、地球の形を表現し、測地座標系の参照として機能します。)

  • 投影座標は、地表の点を平面に数学的にマップした結果である平面的なデカルト座標です。 このような数学的マッピングは、それぞれ異なる目的に使用されます。

  • ローカル座標は、非地球(非地理参照)座標系のデカルト座標です。ローカル座標系は、通常、CADアプリケーションおよび現地測量に使用されます。

Spatialは、ジオメトリで操作を実行する場合、空間データに関連付けられた座標系に適切なデカルトまたは曲線計算モデルのいずれかを使用します。

Spatialでの座標系サポート(測地座標、投影座標、ローカル座標、座標系の変換など)の詳細は、第6章を参照してください。

1.5.5 許容差

許容差は、空間データに精度レベルを関連付けるために使用します。許容差は、2つの点が一致しない場合でも、(たとえば、丸めの誤差の調整のために)2点が同一の点とみなされる最大距離に影響します。 許容差には、0(ゼロ)より大きい正の数字を指定する必要があります。 値の重要度は、空間データが測地座標系に関連付けられているかどうかによって異なります。(測地座標系および他の座標系の詳細は、1.5.4項を参照してください。)

  • 測地データ(経度と緯度の座標によって識別されるデータなど)の場合、許容差はm単位になります。たとえば、許容差100は、100mの許容差を示します。測地データの最小許容差は0.05(5cm)で、多くの場合、これより大きい値を指定する必要があります。SDO_GEOM.RELATESDO_GEOM.SDO_DIFFERENCESDO_GEOM.SDO_INTERSECTIONSDO_GEOM.SDO_UNIONおよびSDO_GEOM.SDO_XORファンクションでは、測地データの許容差の値に0.05より小さい値を指定しても、0.05が使用されます。その他のファンクションでは、指定した許容差の値(0.05より小さい)が使用されます。

  • 非測地データの場合、許容差は、データに関連付けられた座標系に関連付けられた単位での数値です。たとえば、測定単位がマイルの場合、許容差の値0.005は許容差0.005(1/200)マイル(約26フィート(7.9メートル))を示し、許容差の値2は許容差2マイルを示します。

いずれの場合も、許容差が小さいほど、データに関連付けられる精度は高くなります。

空間ブール演算(SDO_GEOM.SDO_UNIONSDO_GEOM.SDO_INTERSECTIONなど)およびSDO_GEOM.RELATEファンクションでは、16桁以上の精度を持つジオメトリについて、浮動小数点演算での精度不足が原因で、一貫性のない結果が生成されることがあります。 精度の桁数は、たとえば許容差が0.0000000005に設定され、座標の整数部分が6桁(123456.4321など)であるとすると、精度は10+6つまり16桁という計算になります。このような場合は、空間演算を使用した結果に一貫性を持たせるため、使用する許容差をより大きく(小数点に続くゼロをより少なく)します。

許容差は、次の2つの項目で指定されます。

  • レイヤーのジオメトリ・メタデータの定義(1.5.5.1項を参照)

  • 特定のファンクションに対する入力パラメータ(1.5.5.2項を参照)

線形参照システム(LRS)データの許容差の詳細は、7.6項を参照してください。

1.5.5.1 レイヤーのジオメトリ・メタデータの許容差

レイヤーの次元情報には、許容差が含まれます。具体的には、xxx_SDO_GEOM_METADATAビューのDIMINFO列(2.8.3項を参照)には、次元ごとにSDO_TOLERANCE値が含まれ、この値は各次元で同じあることが必要です。

ファンクションがオプションのtoleranceパラメータを受け入れ、このパラメータがNULLまたは指定されていない場合は、レイヤーのSDO_TOLERANCE値が使用されます。2.1項の例の非測地データを使用すると、ジオメトリcola_bcola_d間の実際の距離は0.846049894です。問合せでtoleranceパラメータ値を指定しないでSDO_GEOM.SDO_DISTANCEファンクションを実行すると、戻されるcola_bcola_d間の距離の結果はレイヤーのSDO_TOLERANCE値によって異なります。次に例を示します。

  • レイヤーのSDO_TOLERANCE値が0.005の場合、この問合せは0.846049894を戻します。

  • レイヤーのSDO_TOLERANCE値が0.5の場合、この問合せは0(ゼロ)を戻します。

    Spatialは、まず考慮する各ジオメトリの周りに許容差(0.5)の仮想的なバッファを構築します。この場合、cola_bおよびcola_dの周りのバッファがオーバーラップするため、結果が0(ゼロ)になります。

したがって、次の2つのいずれかの方法を使用して、レイヤーのSDO_TOLERANCE値を選択できます。

  • 値に、オブジェクト間の距離を問合せする場合の精度レベルを反映します。たとえば、距離の単位で0.8離れた2つの非測地ジオメトリを離れているとみなす必要がある場合、SDO_TOLERANCEを小さい値(0.05以下など)に指定します。

  • 値に、レイヤー内のジオメトリに関連付けられた値の精度を反映します。たとえば、非測地レイヤー内のすべてのジオメトリが整数で定義され、距離の単位で0.8離れている2つのオブジェクトを離れているとみなさない場合は、SDO_TOLERANCEの値を0.5に指定すると適切です。すべての問合せでの精度を上げるには、toleranceパラメータを指定してデフォルトを上書きする必要があります。

非測地データの場合、2つ目の方法(レイヤーに存在するジオメトリの値の精度)のほとんどのインスタンスで、ジオメトリ定義の最高レベルの精度を指定し、次のレベルでSDO_TOLERANCE値を0.5に指定することをお薦めします。たとえば、ジオメトリが整数で定義されている(2.1項に簡単な例を示す)場合、適切な値は0.5です。ただし、ジオメトリが小数点第4桁までの数値(31.2587など)で定義されている場合、適切な値は0.00005です。


注意:

ジオメトリに、任意の点で幅が狭く、対辺の間の距離が提案された許容差より短いポリゴンが含まれている場合は、このガイドラインに従わないでください。許容差が、すべてのポリゴンのすべての2辺間の最短距離より小さいことを確認してください。

また、実際はジオメトリが有効であるにもかかわらず、ジオメトリの挿入または更新で「invalid geometry」エラーが発生した場合は、許容差の精度を上げることを検討してください(たとえば、0.00005から0.000005に変更)。


1.5.5.2 入力パラメータとしての許容差

多くのSpatialファンクションで、toleranceパラメータを指定できます。このパラメータは、(指定した場合)レイヤーのデフォルトの許容差を上書きします(1.5.5.1項を参照)。2点間の距離が許容差以下の場合、Spatialは、その2点を単一の点とみなします。そのため、許容差には、空間データを認識させる精度を反映します。

たとえば、家から5km以内の距離にあるレストランを検索する場合を考えてみます。Maria's Pizzeriaが、家から5.1kmの場所にあるとします。空間データに測地座標系が関連付けられており、許容差に100(または500など、これ以上の値)を使用して5km以内にあるすべてのレストランを検索するように指定した場合、5.1kmは5km(5000m)から100m以内であるためMaria's Pizzeriaは含まれますが、許容差を100未満(50など)に指定した場合、Maria's Pizzeriaは含まれません。

各ケースの最適値はデータを使用するアプリケーションの種類によって異なりますが、通常、Spatialファンクションの許容差は非常に小さい値です。 1.5.5.1項に示す許容差のガイドラインを参照してください。また、すべての入力ジオメトリが有効であることを確認します。(ジオメトリ・データが有効でないと、Spatialのファンクションは予測どおりに動作しないことがあります。)

1.6 問合せモデル

Spatialでは、空間問合せおよび空間結合を解決するために、2層問合せモデルを使用します。2層問合せとは、問合せの解決のために実行される2種類の別々の処理を指します。両方を組み合せた処理が実行されると、完全一致の結果セットが戻されます。

この2つの処理を、1次および2次フィルタ処理と呼びます。

図1-2に、1次フィルタと2次フィルタの関係を示します。

図1-2 問合せモデル

図1-2の説明が続きます。
図1-2「問合せモデル」の説明

図1-2に示すように、大量入力データ・セットに対する1次フィルタ処理は、少数の候補セットを生成します。この候補セットには、少なくとも完全一致の結果セットとそれ以上のレコードが含まれます。小数の候補セットに対する2次フィルタ処理では、完全一致の結果セットを生成します。

Spatialでは、1次フィルタ機能を実行するために空間索引を使用します。Spatialでは、1次フィルタと2次フィルタを常に両方とも使用する必要はありません。1次フィルタを使用するのみで十分な場合もあります。たとえば、マップ・アプリケーションのズーム機能では、可視部分の境界を表現する矩形に重なるデータを問い合せます。1次フィルタを使用すると、問合せのスーパーセットが高速に戻されます。その後マップ・アプリケーションは、クリッピング・ルーチンを適用することによって、ターゲット領域を表示します。

1次フィルタの目的は、データのサブセットを高速に作成し、2次フィルタでの処理の負荷を軽減させることです。そのため1次フィルタでは、できるだけ効率的に(選択的かつ高速に)処理する必要があります。これは、データの空間索引の特性に左右されます。

空間データの問合せの詳細は、5.2項を参照してください。

1.7 空間データの索引付け

Oracle Databaseのエンジンに導入された、空間索引の作成機能は、Spatial製品の重要な機能です。空間索引は、他の索引と同様、検索対象を限定するメカニズムを提供しますが、この場合は、交差および包含のような空間基準に基づきます。空間索引は、次の場合に必要です。

空間索引は、次のような点で論理的な索引といえます。空間索引のエントリは、座標領域内のジオメトリの位置に依存しますが、索引の値は、異なるドメイン内にあります。索引のエントリは、線形に順序付けされたドメインを使用して順序付けされ、ジオメトリの座標は、整数、浮動小数点数または倍精度数のペアになる場合があります。

大量のワークロードおよび演算子が含まれる空間索引については、現在、テスト中です。

これ以降の項では、Rツリー索引に関連する概念およびオプションについて説明します。

1.7.1 Rツリー索引

空間Rツリー索引では、最大4次元の空間データの索引付けが可能です。Rツリー索引は、図1-3に示すとおり、ジオメトリを囲む最小の矩形(最小境界矩形(MBR))によって各ジオメトリを近似させます。

図1-3 MBRに囲まれたジオメトリ

図1-3の説明が続きます。
図1-3「MBRに囲まれたジオメトリ」の説明

ジオメトリのレイヤーでは、Rツリー索引は、図1-4に示すとおり、レイヤー内のジオメトリのMBRに対する階層索引で構成されています。

図1-4 MBR上のRツリー階層索引

図1-4の説明が続きます。
図1-4「MBR上のRツリー階層索引」の説明

次に、図1-4について説明します。

  • 1 から9 は、レイヤー内のジオメトリです。

  • abc およびd は、Rツリー索引のリーフ・ノードで、ジオメトリへのポインタとともにジオメトリの最小境界矩形を含みます。たとえば、a にはジオメトリ1 および2 のMBRが含まれ、b にはジオメトリ3 および4 のMBRが含まれます。

  • A にはa およびb のMBRが含まれ、B にはc およびd のMBRが含まれます。

  • ルートには、A およびB のMBR(図に示す領域全体)が含まれます。

このRツリー索引は、空間索引表(2.9項に示すUSER_SDO_INDEX_METADATAビューのSDO_INDEX_TABLE)に格納されます。また、Rツリー索引は、順序オブジェクト(USER_SDO_INDEX_METADATAビューのSDO_RTREE_SEQ_NAME)の管理も行い、索引に対する同時ユーザーによる同時更新が可能になります。

1.7.2 Rツリーの品質

Rツリー索引に影響する挿入および削除操作を何度も行うと、Rツリー構造の品質が低下し、これによって問合せのパフォーマンスが低下する場合があります。

Rツリーは、ツリーの異なる高さにノードを持つ階層ツリー構造です。問合せでのRツリー索引構造のパフォーマンスは、Rツリーの索引ノードの面積および周囲の長さに比例します。たとえば、レベル0(ゼロ)の覆われた領域は、データ・ジオメトリの最小境界矩形が占める領域を表し、レベル1の領域は、リーフ・レベルのRツリー・ノードで覆われた領域を示します。ルート(最上位レベル)の領域とレベル0(ゼロ)の領域の元の比率は、表の更新に基づいて時間の経過に応じて変化する可能性があります。その比率が悪化した(大幅に増えた)場合、索引を再作成すると問合せのパフォーマンスが向上する場合があります。

ジオメトリに影響を及ぼす多くの挿入、更新または削除操作を実行した際にSDO_FILTER操作のパフォーマンスが低下した場合、関連付けられたRツリー索引の品質の低下が原因である場合があります。索引の品質が低下しているかどうかを確認するには、SDO_TUNE.QUALITY_DEGRADATIONファンクション(第31章を参照)を使用します。ファンクションが2より大きい数字を戻した場合は、索引を再作成することをお薦めします。ただし、Rツリー索引の品質低下は問合せ全体のパフォーマンスの観点からは重要ではありません。これは、Oracleキャッシュ・ストラテジ、および表のピニングなどの他の重要なOracle機能によって、原則的にRツリー索引の問合せのI/Oオーバーヘッドがなくなるためです。

Rツリー索引を再作成するには、ALTER INDEX REBUILD文(第18章を参照)を使用します。

1.8 空間関係およびフィルタ処理

Spatialは、2次フィルタを使用して、データベース内のエンティティ間の空間関係を判断します。空間関係は、ジオメトリの位置に基づいています。空間関係の最も多くは、位相および距離に基づいています。たとえば、領域の境界は、その他の座標領域から領域を分割する曲線の集合で構成されています。領域の内部は、その境界上の点を除いて、領域のすべての点で構成されています。このため、領域内部の点ではなく境界の一部を共有している場合、2つの領域は接しているといえます。

2つの空間オブジェクトの距離は、それらのオブジェクトの点と点の最短距離です。2つのオブジェクトは、オブジェクト間の距離が指定された距離より短い場合、互いに指定された距離内にあるといえます。

空間関係を判断するために、Spatialにはいくつかの2次フィルタ・メソッドがあります。

これらの演算子の構文については、第19章を参照してください。

SDO_RELATE演算子は、点、線およびポリゴンのバイナリ位相関係を分類する、9交差モデルを実装します。各空間オブジェクトには、内部、境界および外部があります。境界は、内部と外部を分ける点または線で構成されます。単一線ストリングの境界は、その終了点で構成されています。ただし、終了点が重なる(同じ点である)場合、その線ストリングには境界が存在しません。複数線ストリングの境界は、それを構成する各線ストリングの終了点です。ただし、終了点が重なる場合、奇数回重なる終了点のみが境界になります。ポリゴンの境界は、ポリゴンの周囲を描く線です。内部はオブジェクト内にあり、境界上にはない点で構成され、外部はオブジェクト内にはない点で構成されます。

オブジェクトAには3つの構成要素(境界Ab、内部Aiおよび外部Ae)があり、どのようなオブジェクトの組合せにも、それらの構成要素間には、9つの相互作用の可能性があります。構成要素の組合せには、空(0)または空ではない(1)セットの交差があります。2つのジオメトリ間で相互作用するセットは、交差する構成要素の組合せを指定する9交差マトリックスによって表現されます。図1-5に、互いに接している2つのポリゴンの9交差マトリックスを示します。このマトリックスによって、行優先形式(行を主にした順序で、ビット列を表記する形式)「101001111」に生成された、次のビット・マスクが得られます。

図1-5 9交差モデル

図1-5の説明が続きます。
図1-5「9交差モデル」の説明

Max Egenhofer博士(Maine州立大学)およびその仲間による研究で発見された一部の位相関係には、彼らに関係のある名前が付けられています。Spatialでは、次の名前を使用します。

図1-6に、これらの位相関係を示します。

図1-6 位相関係

図1-6の説明が続きます。
図1-6「位相関係」の説明

SDO_WITHIN_DISTANCE演算子では、2つの空間オブジェクトAおよびBが、互いに指定された距離内にあるかどうかが判断されます。この演算子は、まず、参照オブジェクトの周りに距離バッファDbを構成します。その後、AとDbが結合していないことを確認します。オブジェクトの距離バッファは、そのオブジェクトから指定距離内にあるすべての点で構成されます。図1-7に、点、線およびポリゴンの距離バッファを示します。

図1-7 点、線およびポリゴンの距離バッファ

図1-7の説明が続きます。
図1-7「点、線およびポリゴンの距離バッファ」の説明

次に、図1-7に示す点、線およびポリゴンのジオメトリについて説明します。

SDO_NN演算子は、指定したジオメトリに最も近いジオメトリ列から、指定した数のオブジェクト(たとえば、公園に最も近いレストラン5件)を戻します。2つのオブジェクトの近さを判断するには、各オブジェクトの領域上にある2点間の最短距離が使用されます。

1.9 空間演算子、空間プロシージャおよび空間ファンクション

SpatialのPL/SQL Application Program Interface(API)には、いくつかの演算子と多くのプロシージャおよびファンクションが含まれています。

SDO_FILTERSDO_RELATEなどの空間演算子では、空間索引を使用するため、パフォーマンスが最適化されます。(空間演算子では、最初のパラメータのジオメトリ列に、空間索引が定義されている必要があります。)空間演算子は、問合せのWHERE句で使用する必要があります。演算子の最初のパラメータには検索するジオメトリ列を指定し、2番目のパラメータには問合せウィンドウを指定します。問合せウィンドウとジオメトリ列の座標系が異なる場合は、Spatialによって暗黙的な座標系変換が実行されます。空間演算子の詳細は、第19章を参照してください。

空間プロシージャと空間ファンクションは、PL/SQLパッケージ内のサブプログラム(SDO_GEOM、SDO_CS、SDO_LRSなど)として提供されます。これらのサブプログラムでは、空間索引を定義する必要がなく、空間索引を定義しても使用されません。これらのサブプログラムは、WHERE句または副問合せで使用できます。空間プロシージャまたは空間ファンクションで2つのジオメトリが入力パラメータとして使用される場合は、両方のジオメトリの座標系が同じである必要があります。

空間演算子、空間プロシージャおよび空間ファンクションを使用する場合、パフォーマンスに関する次のガイドラインに従ってください。

トポロジで演算子を使用する方法は、『Oracle Spatialトポロジおよびネットワーク・データ・モデル開発者ガイド』を参照してください。

1.10 空間集計ファンクション

SQLには、SQL問合せの結果を集計するために使用される、集計ファンクションが存在します。次の例では、SUM集計ファンクションを使用して、部門ごとの従業員の給与を集計します。

SELECT SUM(salary), dept
   FROM employees
   GROUP BY dept;

Oracle Spatialの集計ファンクションでは、ジオメトリ・オブジェクトを伴うSQL問合せの結果を集計できます。空間集計ファンクションでは、SDO_GEOMETRY型のジオメトリ・オブジェクトが戻されます。たとえば、(2.1項の定義およびデータを使用して)次の文を実行すると、表内に存在するすべてのジオメトリの最小境界矩形が戻されます。

SELECT SDO_AGGR_MBR(shape) FROM cola_markets;

次の例では、cola_dを除くすべてのジオメトリの和集合が戻されます。

SELECT SDO_AGGR_UNION(SDOAGGRTYPE(c.shape, 0.005))
  FROM cola_markets c WHERE c.name <> 'cola_d';

空間集計ファンクションのリファレンス情報および使用例については、第20章を参照してください。


注意:

2次元と3次元の両方のジオメトリでサポートされているSDO_AGGR_MBR以外の空間集計ファンクションは、2次元ジオメトリでのみサポートされています。

1.10.1 SDOAGGRTYPEオブジェクト型

多くの空間集計ファンクションは、SDOAGGRTYPE型の入力パラメータを受け入れます。Oracle Spatialでは、次のとおりSDOAGGRTYPEオブジェクト型を定義します。

CREATE TYPE sdoaggrtype AS OBJECT (
 geometry SDO_GEOMETRY,
 tolerance NUMBER);

注意:

SDOAGGRTYPEを表内の列のデータ型として使用しないでください。この型は、空間集計ファンクションへのコールにのみ使用してください。

SDOAGGRTYPE定義のtoleranceの値は、特定の理由がないかぎり、ジオメトリのxxx_SDO_GEOM_METADATAビューのDIMINFO列に指定されたSDO_TOLERANCE値と同じである必要があります。許容差の詳細は、1.5.5項を参照してください。xxx_SDO_GEOM_METADATAビューの詳細は、2.8項を参照してください。

SDOAGGRTYPE定義のtoleranceの値は、空間集計ファンクションの結果に影響する可能性があります。図1-8に、2つの異なるtoleranceの値(ジオメトリ間の距離より小さい値と大きい値)を使用した、2つのジオメトリの空間集計和集合(SDO_AGGR_UNION)操作を示します。

図1-8 集計和集合操作の許容差

図1-8の説明が続きます。
図1-8「集計和集合操作の許容差」の説明

図1-8の最初の集計和集合操作では、toleranceが矩形間の距離より小さく、結果は2つの矩形で構成された複合ジオメトリになります。2つ目の集計和集合操作では、toleranceが矩形間の距離より大きく、結果は単一のジオメトリになります。

1.11 3次元の空間オブジェクト

Oracle Databaseリリース11.1では、3次元の空間データの格納および取出しがOracle Spatialでサポートされるようになりました。扱うことができる3次元空間データには、点、点群(点の集合)、線、ポリゴン、面、ソリッドなどがあります。 表1-1に、3次元のジオメトリに該当するSDO_GEOMETRY型のSDO_GTYPE属性および要素に関連する属性を示します。(SDO_GEOMETRY型については、2.2項を参照してください。)

表1-1 3次元ジオメトリのSDO_GEOMETRY属性

3-Dデータのタイプ SDO_GTYPE 要素タイプ、SDO_ELEM_INFOでの解釈

3001

該当しません。 SDO_POINT_TYPE属性に含まれる3次元の値をすべて指定します。

3002

2, 1

ポリゴン

3003

1003, 1: 平面の外部ポリゴン

2003, 1: 平面の内部ポリゴン

1003, 3: 平面の外部矩形

2003, 3: 平面の内部矩形

表面

3003

1006, 1:表面(次にポリゴンの要素情報が続きます)

コレクション

3004

2次元の場合と同様に扱われます

複数点(点群)

3005

1, nnは点の数)

複数線

3006

2次元の場合と同様に扱われます

複数面

3007

1つ以上の表面の要素定義

ソリッド

3008

閉じられた1つの表面で形成される単純なソリッド: 1つの要素タイプ1007の後に、1つの要素タイプ1006(外部表面)が続き、オプションで1つ以上の要素タイプ2006(内部表面)が続きます。

隣接する複数の単純なソリッドで形成される複合ソリッド: 1つの要素タイプ1008(単純なソリッドの数を保持)の後に、任意の数の要素タイプ1007(それぞれが1つの単純なソリッド)が続きます。

マルチソリッド

3009

1つ以上の単純なソリッドの要素定義(要素タイプ1007)または複合ソリッド(要素タイプ2008)


次の空間演算子を使用する計算では、3次元すべてが使用されます。

他の演算子では、最初の2次元のみ使用されます。(空間演算子については、第19章を参照してください。)

SDO_GEOM.SDO_VOLUMEファンクションはソリッド・ジオメトリ(その名のとおり3次元のジオメトリ)にのみ適用されます。ただし、このファンクションを測地データで使用することはできません。(このファンクションについては、第24章を参照してください。) その他のSDO_GEOMサブプログラムにおける3次元のジオメトリのサポートについては、表24-1「ジオメトリ・サブプログラム」に続く使用方法を参照してください。

3次元ジオメトリでの距離計算は次のように行われます。

どのファンクション、プロシージャまたは演算子でも3次元すべてを使用できるようにするには、地理3Dデータ(経度、緯度、楕円体高)を含む空間表に空間索引を作成する際に、CREATE INDEX文でPARAMETERS ('sdo_indx_dims=3')を指定する必要があります。このパラメータをCREATE INDEX文で指定しないと、2次元の索引が作成されます。

3次元すべてを使用するSpatialのファンクション、プロシージャおよび演算子では、距離および長さの計算は、高さ(標高)を適切に組み込んで行われます。たとえば、3次元の点が2つあり、1つの点はデカルト空間の基点(0,0,0)にあり、もう1つの点はY軸上のX=3の位置の、高さ(Z)が4の位置(3,0,4)にあるとします。

ただし、次の演算子およびサブプログラムでは、3次元ジオメトリでの距離が地上表現(たとえば、ビルの伏図の経度/緯度方向の広がり)で計算され、高さの情報は無視されます。

3次元データを使用した2次元問合せウィンドウでは、SDO_FILTER演算子は使用できますが、その他の空間演算子は使用できません。

様々なタイプの3次元空間ジオメトリの作成例は、2.7.9項を参照してください。そこでは、3次元ジオメトリの空間メタデータの更新方法および空間索引の作成方法についても例を示しています。

3次元の座標参照系のサポートの詳細は、6.5項を参照してください。

空間集計ファンクションおよびPL/SQLパッケージとサブプログラムの多くで、3次元はサポートされません。2次元ジオメトリのみがサポートされるものは次のとおりです。

1.11.1 表面のモデル化

表面には面積はあるものの、容積はありません。また、2次元または3次元を使用できます。表面は、通常、一連の平面領域で構成されます。

表面は、表面タイプのSDO_GEOMETRYオブジェクトとして、または表面が非常に大きい場合はSDO_TINオブジェクトとしてモデル化されます。SDO_GEOMETRYにおける表面タイプは、隣接する3次元ポリゴンによって境界となる連続領域を定義する不定形面の場合があります。SDO_GEOMETRY内のポリゴンの数は、SDO_ORDINATES_ARRAYに指定可能な座標の数によって制限されます。一方、SDO_TINオブジェクトの場合、表面は三角形網としてモデル化され、三角形の数に対する明示的な制限はありません。

表面は、三角形網として、Triangulated Irregular Network(TIN)と呼ばれる形式で格納されます。TINモデルでは、面は連続した重ならない三角形の集合として表現されます。各三角形の表面は、1つの平面で表現されます。三角形は質点と呼ばれる一連の点で構成されます。慎重に質点を選択した場合、TINでは表面のモデルが正確に表現されます。山の頂上、谷底、または崖の縁(頂上や底)など、表面の形状に大きな変化がある場所では、質点が適切に配置されます。

TINは通常、経度(x)、緯度(y)および標高(z)の各次元における座標値を指定する3次元の点を基に計算されます。OracleのTIN生成ソフトウェアでは、デローニ三角分割法が使用されますが、デローニ三角分割法のみを使用してTINデータを形成する必要はありません。

TINの生成中および生成後に、停止線を指定できます。停止線は、通常、崖の頂上から麓までの斜面など、標高線が連続していない場所を示します。このような区域はTINから除外されます。

TINの一般的な操作手順は次のとおりです。

  1. SDO_TIN_PKG.INITファンクションを使用して、TINを初期化します。

  2. SDO_TIN_PKG.CREATE_TINプロシージャを使用して、TINを作成します。

  3. 問合せが必要な場合は、SDO_TIN_PKG.CLIP_TINファンクションを使用して、TINをクリップします。

  4. 必要に応じて、SDO_TIN_PKG.TO_GEOMETRYファンクションを使用します(たとえば、クリップ操作の結果を1つのSDO_GEOMETRYオブジェクトに変換する場合)。

TINの操作に使用するPL/SQLサブプログラムについては、第30章を参照してください。

JavaによるTINの操作の例は、次のファイルを参照してください。

$ORACLE_HOME/md/demo/TIN/examples/java/README.txt
$ORACLE_HOME/md/demo/TIN/examples/java/readTIN.java

1.11.2 ソリッドのモデル化

最も単純なソリッドの種類は、サイコロや積み木のような立方形として表現できます。複雑なソリッドとして錐台があります。これは(3面以上の)大きなピラミッドを底面と平行な平面で切り取って形作ったピラミッドです。錐台は、空間演算子の問合せウィンドウとしてのみ使用できます。錐台および立方体は、通常、ソリッド・タイプのSDO_GEOMETRYオブジェクトとしてモデル化されます。図1-9に、ビュー・ポイントからの距離が異なる2つの空間オブジェクトを含む問合せウィンドウとしての錐台を示します。

図1-9 空間オブジェクトの問合せウィンドウとしての錐台

図1-9の説明が続きます。
図1-9「空間オブジェクトの問合せウィンドウとしての錐台」の説明

点群(点の巨大な集合体)を使用して、ソリッド・ジオメトリおよび表面ジオメトリの形状または構造をモデル化することもできます。点群データを使用するほとんどのアプリケーションには、位置に基づく問合せと、位置および可視性の両方に基づく問合せ(可視性問合せ)という2種類の空間問合せのいずれかが含まれます。

点群データを使用するアプリケーションのほとんどは、ビュー・ポイントからの距離に基づいてオブジェクトを取得することで、データ転送の最小化を図ります。たとえば、図1-9では、オブジェクトBはオブジェクトAよりもビュー・ポイントから離れています。したがって、アプリケーションは、オブジェクトAを細部まで(高解像度で)取得し、オブジェクトBを大まかに(低解像度で)取得する可能性があります。ほとんどの場合、ビュー・ポイントからの距離が遠くなるほど、オブジェクトの数は著しく増加します。また、離れているオブジェクトが近くにあるオブジェクトより低解像度で取得されると、問合せによって戻されるバイト数およびオブジェクトのレンダリング時間は飛躍的に短縮されます。

点群の一般的な操作手順は次のとおりです。

  1. SDO_PC_PKG.INITファンクションを使用して、点群を初期化します。

  2. SDO_PC_PKG.CREATE_PCプロシージャを使用して点群を作成します。

  3. 問合せが必要な場合は、SDO_PC_PKG.CLIP_PCファンクションを使用して、点群をクリップします。

  4. 必要に応じて、SDO_PC_PKG.TO_GEOMETRYファンクションを使用します(たとえば、クリップ操作の結果を1つのSDO_GEOMETRYオブジェクトに変換する場合)。

点群の操作に使用するPL/SQLサブプログラムについては、第28章を参照してください。

Javaによる点群の操作の例は、次のファイルを参照してください。

$ORACLE_HOME/md/demo/PointCloud/examples/java/README.txt
$ORACLE_HOME/md/demo/PointCloud/examples/java/readPointCloud.java

1.11.3 3次元の最適化された矩形

3次元の矩形(3次元空間の矩形状のポリゴン)のすべての頂点を指定するかわりに、X、YおよびZ次元について最小座標値(min-corner)と最大座標値(max-corner)に対応する2つの角を指定するだけで矩形を表現できます。

この方法で定義された3次元の矩形の方向は、次のようになります。

  • 矩形が<min-corner, max-corner>で指定された場合、法線は直交する3つ目の次元の正の方向を指します。

  • 矩形が<max-corner, min-corner>で指定された場合、法線は直交する3つ目の次元の負の方向を指します。

たとえば、矩形がXY面にあり、頂点の順序が<min-corner, max-corner>の場合、法線は正のZ軸方向を指しますが、順序が<max-corner, min-corner>の場合、法線は負のZ軸方向を指します。

矩形におけるこれらの方向規則を使用して、次の要件を満たすように、矩形のmin-cornermax-cornerの各頂点の順序を適切に指定できます。

  • 矩形がソリッドの一部である場合、ソリッドにおける各ポリゴンの法線は常にソリッドから外方向を指します。

  • 矩形が面の一部である場合、内側の矩形ポリゴンはその外側の矩形ポリゴンとは反対の方向を向きます。

1.11.4 3次元ジオメトリの検証

SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXTおよびSDO_GEOM.VALIDATE_LAYER_WITH_CONTEXTサブプログラムで、2次元および3次元のジオメトリを検証できます。3次元ジオメトリの場合、これらのサブプログラムは、3次元ジオメトリ全体内で2次元ジオメトリに必要な検証(SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXTの「使用上の注意」を参照)を行いますが、オブジェクト全体の3次元特性に固有の検証もいくつかの行います。

単純なソリッド(1つの外部表面と任意の数の内部表面を持つソリッド)の場合は、これらのサブプログラムで次の項目を確認します。

  • 閉鎖性: ソリッドは閉じている必要があります。

  • 到達可能性: ソリッドの各面は、隣接する各面と完全に共通なエッジを持つ必要があり、どの面からもすべての面に到達可能であることが必要です。

  • 内部と外部の非連結性: 内部表面は、複数の点や線で外部表面と交差しないことが必要です。つまり、内部表面で領域が重なることはできません。

  • 面への追加がないこと: ソリッドを構成する表面上に、追加の表面を定義することはできません。

  • 方向: すべての面で、法線ベクトル(面法線つまり法線)が外部ソリッドの外側(外部ソリッドから離れた方向)を指すように頂点が配置されている必要があります。したがって、外部ソリッドの容積は0(ゼロ)より大きい必要があり、内部ソリッドの容積は0(ゼロ)より小さい必要があります。

複合ソリッド(1つ以上のソリッドが相互に結合したもの)の場合は、これらのサブプログラムによって次の項目が確認されます。

  • 連結性: 複合ソリッドに含まれるすべてのソリッドは、1つ以上の面を共有している必要があります。

  • 容積0(ゼロ)の交差: 複合ソリッドに含まれるソリッドの交差部分の容積が0(ゼロ)であることが必要です。

マルチソリッド(単純なソリッドまたは複合ソリッドで構成される1つ以上のソリッド)の場合は、これらのサブプログラムによって次の項目が確認されます。

  • 非結合性: マルチソリッドに含まれる任意の2つのソリッドは、点または線を共有できますが、これ以外の方法で交差していないことが必要です。

1.12 ジオコーディング

ジオコーディングは、住所データの表を規格化された住所、位置およびその他のデータに変換するプロセスです。ジオコーディング操作の結果は、入力された住所または場所に対応する経度と緯度の座標のペアを含みます。たとえば、入力住所が22 Monument Square, Concord, MA 01742である場合、ジオコーディング操作の結果の経度と緯度の座標は、それぞれ-71.34937と42.46101(ジオコーディング・データ・プロバイダによって異なる)になります。

住所をジオコードすると、Oracle Spatialなどの空間エンジンを使用して、近接問合せまたは位置問合せを実行したり、Oracleのビジネス・パートナのツールおよびデータを使用して、デモグラフィック分析を行うことができます。また、ジオコードされたデータは、デモグラフィック情報に関連する区画、郵便番号、国コードなど、その他の空間データで使用することもできます。分析または問合せの結果は、Oracle Spatialに統合されているサード・パーティ・ソフトウェアを使用して、表形式のみでなく地図で表すことができます。

Oracle Spatialのジオコーディング機能の概念および使用方法については、第11章を参照してください。MDSYS.SDO_GCDR PL/SQLパッケージのリファレンス情報については、第23章を参照してください。

1.13 Spatial Java Application Programming Interface(API)

Oracle Spatialでは、次のパッケージが含まれるJava Application Programming Interface(API)を提供しています。

これらのパッケージに含まれるクラスとインタフェースのリファレンス情報の詳細は、『Oracle Spatial Java API Reference』(Javadoc)を参照してください。

1.14 Spatialによって作成される事前定義のユーザー・アカウント

Spatialでは、インストール中にジョブの実行に必要な最小限の権限を持つユーザー・アカウントが作成されます。これらのアカウントはロックされた期限切れの状態で作成されます。アカウントを使用する必要がある場合は、ロックを解除する必要があります。表1-2に、Spatialによって作成される事前定義のユーザー・アカウントを示します。

表1-2 Spatialによって作成される事前定義のユーザー・アカウント

ユーザー・アカウント 説明

MDDATA

ジオコーディング・アプリケーションおよびルーティング・アプリケーションで使用するデータを格納するためにOracle Spatialで使用されるスキーマです。これは、ジオコーディング・データおよびルーティング・データにアクセスするOracleソフトウェアのデフォルトのスキーマです。

SPATIAL_CSW_ADMIN_USR

Catalog Services for the Web(CSW)のアカウントです。これは、レコード・タイプのすべてのメタデータ、およびキャッシュされたレコード・タイプのレコード・インスタンスがデータベースからメイン・メモリーにロードされるときに、Oracle Spatial CSWキャッシュ・マネージャで使用されます。

SPATIAL_WFS_ADMIN_USR

Web Feature Service(WFS)のアカウントです。これは、フィーチャ・タイプのすべてのメタデータ、およびキャッシュされたフィーチャ・タイプのフィーチャ・インスタンスがデータベースからメイン・メモリーにロードされるときに、Oracle Spatial WFSキャッシュ・マネージャで使用されます。


Oracle Databaseの事前定義のユーザー・アカウント(アカウント保護方法を含む)の詳細は、『Oracle Database 2日でセキュリティ・ガイド』を参照してください。

1.15 パフォーマンスおよびチューニングの情報

Oracle Spatialアプリケーションのパフォーマンスは、問合せ実行計画に影響するオプティマイザ・ヒントの使用など、多くの要因に影響されます。このマニュアルでは、特定の項目に関連するパフォーマンスおよびチューニングの情報を示します。たとえば、1.7.2項では、Rツリーの品質および問合せのパフォーマンスへの影響について説明します。また1.9項では、空間演算子を使用すると、プロシージャやファンクションを使用する場合よりパフォーマンスが向上する理由について説明します。

Spatialのパフォーマンスおよびチューニングの追加情報は、Oracle Technology Network(OTN)で入手可能なホワイト・ペーパーを参照してください。多くの場合、これらのホワイト・ペーパーの情報はこのマニュアルの情報より詳細で、内部テストおよびSpatialユーザーからの参考を基に定期的に更新されます。OTNでこれらの情報を検索するには、次のURLに接続してください。

http://www.oracle.com/technology/products/spatial/

Spatialのパフォーマンスおよびチューニングに関するページを参照してください。

1.16 Open Geospatial Consortium(OGC)への準拠

Oracle Databaseリリース10g リリース1(バージョン10.1.0.4)以降のOracle Spatialは、Open Geospatial Consortium(OGC)Simple Features Specification 1.1.1(Document 99-049)に準拠しています。SQL92 with Geometry Types Implementationに準拠しているということは、その仕様書の3.2項に詳細が述べられているすべての型、ファンクションおよび言語要素がOracle Spatialでサポートされていることを意味します。

すべてのOGCファンクション名に一致するシノニムが作成されますが、X(p Point)Y(p Point)に一致するシノニムは作成されません。これらのファンクションには、XおよびYのかわりに、OGC_XおよびOGC_Yを使用する必要があります。

1.17 Spatialのリリース(バージョン)番号

実行中のSpatialのリリース番号を確認するには、SDO_VERSIONファンクションを使用します。次に例を示します。

SELECT SDO_VERSION FROM DUAL;

SDO_VERSION
--------------------------------------------------------------------------------
11.1.0.0.0

1.18 空間アプリケーションのハードウェア要件の考慮事項

この項では、Oracle Spatialを使用するアプリケーションに必要なディスク領域の容量およびCPUの能力に影響する一般的なガイドラインについて説明します。このガイドラインは、一般的なアプリケーションのサイズ指定に使用するその他のガイドラインに代わるものではなく、それらのガイドラインを補足することを目的としています。

空間アプリケーションの次の特性は、記憶域およびCPUの能力の要件に影響する可能性があります。

1.19 Spatialのエラー・メッセージ

Spatialのエラー・メッセージの詳細は、『Oracle Databaseエラー・メッセージ』を参照してください。

Oracleエラー・メッセージのドキュメントは、HTML版のみが存在します。Oracle Database JP Documentation Libraryへのアクセス権限のみを所有している場合は、エラー・メッセージを範囲ごとに参照できます。特定の範囲のページを表示したら、ブラウザの「このページの検索」機能を使用して特定のメッセージを検索できます。インターネットに接続できる場合、Oracleオンライン・ドキュメントのエラー・メッセージ検索機能を使用して特定のエラー・メッセージを検索できます。

1.20 Spatialの例

Oracle Spatialでは、特定の処理をコーディングするための理解を深めたり、モデルを作成するための例を提供しています。 Oracle Database Examplesメディアからすでにデモ・ファイルをインストールしている場合は(『Oracle Database Examplesインストレーション・ガイド』を参照)、次のディレクトリにいくつかの例があります。

$ORACLE_HOME/md/demo/examples

ディレクトリに含まれる次のファイルは、Oracle Call Interface(OCI)を使用するアプリケーションに有効です。

このマニュアルには、SQLおよびPL/SQLの例も記載しています。これらの例と一緒に各ファンクションまたは各プロシージャの参照情報も提供されています。また、表と索引の作成方法、ファンクションとプロシージャの組合せ、および拡張機能を説明するための単純な例も提供されています。

1.21 Spatialおよび関連機能のREADMEファイル

README.txtファイルには、『Oracle Spatial開発者ガイド』(このマニュアル)、『Oracle Spatial GeoRaster開発者ガイド』、および『Oracle Spatialトポロジおよびネットワーク・データ・モデル開発者ガイド』の内容を補足する情報が記載されています。このファイルは、次の場所にあります。

$ORACLE_HOME/md/doc/README.txt