Oracle Spatial and Graph座標系のサポートは、European Petroleum Survey Group (EPSG)のデータ・モデルおよびデータセットに基づいています(ただし、常に同じとはかぎりません)。詳細は、http://www.epsg.org
を参照してください。詳細に説明されています。また、EPSG測地パラメータ・データセットのダウンロードには、「README」が含まれており、エンティティ関連(E-R)ダイアグラムが示されています。Oracle Spatial and Graphによる方法では、標準化、サポートの拡張、柔軟性などの面で、次のようなメリットがあります。
EPSGモデルは、包括的で広く受け入れられているデータ表現用の標準であるため、このモデルを扱い慣れているユーザーは、Spatial and Graphの記憶域と操作を容易に理解できます。
サポートされる座標系と、それに関連するデータ、楕円体および投影図が増加しています。たとえば、EPSGの一部の測地座標系および投影座標系については、それに対応する座標系が以前のリリースのSpatial and Graphではサポートされていませんでした。このような座標系が追加されたことで、サポートされる座標系が拡大しました。
データ変換が柔軟になりました。あるソースとターゲット座標系間で使用可能な変換パスはOracle定義の1種類のみではなく、代替パスを、特定の領域に対して適用するように指定したり(ユースケース)、システム全体のデフォルトとして指定できます。
この項の後半では、この柔軟性について説明します。
データ変換(ある座標系のデータを別の座標系に変換)に適用する変換ルールを指定できるようになりました。以前のリリースおよび今回のリリースのデフォルトでは、指定されたソースとターゲットの座標系のみに基づいて、事前定義済の中間変換手順を使用して変換が行われます。このデフォルトの処理は、正しい変換連鎖(優先する変換連鎖)が1つしか存在しないことを前提としています。
デフォルトでは、ソース座標系とターゲット座標系間でサポートされている変換ごとに、特定の変換メソッドが適用されます。たとえば、ある座標系からWGS 84 (経度/緯度)座標系への変換メソッドは500種類以上サポートされています(WGS 84のEPSG SRID値は4326)。たとえば、SRID 4605からSRID 4326に変換する場合は、COORD_OP_ID値が1445の変換メソッドを使用できます(この値は、座標系間の変換操作ごとに1つの行が含まれるSDO_COORD_OPS表(「SDO_COORD_OPS表」を参照)に示されます)。
ただし、任意のソース/ターゲットSRIDの組合せに対して別のメソッドを指定(Oracleから提供されているメソッドの中から選択)すると、デフォルトの変換を無視できます。ある変換をシステム全体のデフォルトとして新しく指定することもできます。また、名前付きのユースケースに変換を関連付け、空間ジオメトリのレイヤーを変換する際にそのユースケースを指定することもできます。(ユースケースは、単に、使用例や適用範囲に対して付けられる「Project XYZ」、「Mike's Favorite Transformations」などの名前です。ユースケースはデータベース・ユーザーやスキーマとは関係しません。)
ある変換を、システム全体のデフォルトに指定する場合、またはユースケースに関連付ける場合は、SDO_CS.ADD_PREFERENCE_FOR_OPプロシージャを使用します。以前に指定したプリファレンスを削除する場合は、SDO_CS.REVOKE_PREFERENCE_FOR_OPプロシージャを使用します。
Spatial and Graphで座標系を変換する場合、使用する変換は、一般に次の手順によって決定されます。
ユースケースが指定されている場合は、そのユースケースに関連付けられている変換が適用されます。
ユースケースが指定されていない場合、指定されたソース/ターゲット座標系のペアに対して作成されたユーザー定義によるシステム全体の変換が存在すると、その変換が適用されます。
ユースケースが指定されておらず、指定されたソース/ターゲット座標系のペアに対するユーザー定義の変換も存在しない場合の動作は、SDO_CS.CREATE_OBVIOUS_EPSG_RULESプロシージャなどによってEPSGルールが作成済かどうかによって異なります。
EPSGルールが作成済で、この変換に対してEPSGルールが定義されている場合は、そのEPSG変換が適用されます。
EPSGルールが作成されていないか、または作成されていてもこの変換に対してEPSGルールが定義されていない場合は、Oracle Spatial and Graphのデフォルトの変換が適用されます。
Spatial and Graphで使用されるEPSGデータセットのバージョン番号を返すには、SDO_CS.GET_EPSG_DATA_VERSIONファンクションを使用します。