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

前
次

6.8 レガシー表およびビュー

リリース10.2より前のSpatial and Graphでは、座標系ファンクションおよびプロシージャは、次の表の情報を使用していましたが、その一部は名前が新しくなったり、現在、表ではなくビューになっています。

6.8.1 MDSYS.CS_SRS表

MDSYS.CS_SRS参照表には4000を超える行が含まれ、それぞれが有効な座標系に割り当てられています。この表に含まれる列を、表6-28に示します。

表6-28 MDSYS.CS_SRS表

列名 データ型 説明

CS_NAME

VARCHAR2(68)

わかりやすい名前(ニーモニック)を指定します。これによって、ユーザーは座標系を参照できます。

SRID

NUMBER(38)

座標系の一意のID番号(空間参照ID)です。現在、SRID値1から999999は、Oracle Spatial and Graphが使用するために予約されているため、ユーザー定義の座標系には、1000000以上のSRID値を使用できます。

AUTH_SRID

NUMBER(38)

オプションのID番号です。エントリの抽出方法を指定します。たとえば、別の座標系への外部キーとなる場合があります。

AUTH_NAME

VARCHAR2(256)

座標系の認可レベル名です。指定された表にはOracleが含まれます。ユーザーが追加するすべての行には、どのような値でも指定できます。

WKTEXT

VARCHAR2(2046)

SRSのwell-knownテキスト(WKT)の説明で、Open Geospatial Consortiumによって定義されています。詳細は、「well-knownテキスト(WKT)」を参照してください。

CS_BOUNDS

SDO_GEOMETRY

WGS 84経度および緯度の頂点を持つポリゴンであるオプションのSDO_GEOMETRYオブジェクトで、投影座標系の有効範囲に関する球形ポリゴンの説明を表します。地理または非地球座標系の場合は、NULLである必要があります。すべての行にNULLが入ります。

6.8.1.1 well-knownテキスト(WKT)

MDSYS.CS_SRS表のWKTEXT列には、SRSの説明としてOpen Geospatial Consortiumによって定義されたwell-knownテキスト(WKT)の説明が含まれています。WKT EBNF構文を次に示します。

<coordinate system> ::=
     <horz cs> | <local cs>

<horz cs> ::=
     <geographic cs> | <projected cs>


<projected cs> ::=
     PROJCS [ "<name>", <geographic cs>, <projection>, 
           {<parameter>,}* <linear unit> ]

<projection> ::=
     PROJECTION [ "<name>" ]

<parameter> ::= 
     PARAMETER [ "<name>", <number> ]

<geographic cs> ::=
     GEOGCS [ "<name>", <datum>, <prime meridian>, <angular unit> ]

<datum> ::=
     DATUM [ "<name>", <spheroid> 
     {, <shift-x>, <shift-y>, <shift-z> 
       , <rot-x>, <rot-y>, <rot-z>, <scale_adjust>}  
     ]  

<spheroid> ::=
     SPHEROID ["<name>", <semi major axis>, <inverse flattening> ]

<prime meridian> ::=
     PRIMEM ["<name>", <longitude> ]

<longitude> ::=
     <number>

<semi-major axis> ::=
     <number>

<inverse flattening> ::=
     <number>

<angular unit> ::= <unit>

<linear unit> ::= <unit>

<unit> ::=
     UNIT [ "<name>", <conversion factor> ]

<local cs> ::=
     LOCAL_CS [ "<name>", <local datum>, <linear unit>,
          <axis> {, <axis>}* ]

<local datum> ::=
     LOCAL_DATUM [ "<name>", <datum type>
          {, <shift-x>, <shift-y>, <shift-z> 
           , <rot-x>, <rot-y>, <rot-z>, <scale_adjust>} 
          ]

<datum type> ::=
     <number>

<axis> ::=
     AXIS [ "<name>", NORTH | SOUTH | EAST |
           WEST | UP | DOWN | OTHER ]

それぞれの<parameter>指定は、次のいずれかです。

  • Standard_Parallel_1(10進度単位)

  • Standard_Parallel_2(10進度単位)

  • Central_Meridian(10進度単位)

  • Latitude_of_Origin(10進度単位)

  • Azimuth(10進度単位)

  • False_Easting(座標系の単位。たとえば、m)

  • False_Northing(座標系の単位。たとえば、m)

  • Perspective_Point_Height(座標系の単位。たとえば、m)

  • Landsat_Number(1、2、3、4または5である必要があります)

  • Path_Number

  • Scale_Factor

注意:

WKTのデータ回転パラメータに使用されている表記法が米国式ではなくヨーロッパ式の場合、または変換結果が正しくないと思われる場合は、「米国式およびヨーロッパ式のデータ・パラメータ表記法」を参照してください。

<parameter>指定のデフォルト値は0(ゼロ)です。つまり、投影に対して指定が必要なときに値がWKTで指定されていない場合は、値0が使用されます。

本初子午線(PRIMEM)は、10進度の経度で指定されます。

測地(地理)座標系のWKTの例を次に示します。

'GEOGCS [ "Longitude / Latitude (Old Hawaiian)", DATUM ["Old Hawaiian", SPHEROID
["Clarke 1866", 6378206.400000, 294.978698]], PRIMEM [ "Greenwich", 0.000000 ],
UNIT ["Decimal Degree", 0.01745329251994330]]'

座標系のWKT定義は、階層的にネストされています。Old Hawaiian地理座標系(GEOGCS)は、名前が付いたデータ(DATUM)、本初子午線(PRIMEM)および単位定義(UNIT)で構成されています。逆に、データは、名前が付いた球体およびそのsemi-major axisパラメータおよびinverse flatteningパラメータで構成されています。

投影座標系のWKTの例(Wyoming州平地)を次に示します。

'PROJCS["Wyoming 4901, Eastern Zone (1983, meters)", GEOGCS [ "GRS 80", DATUM
["GRS 80", SPHEROID ["GRS 80", 6378137.000000, 298.257222]], PRIMEM [
"Greenwich", 0.000000 ], UNIT ["Decimal Degree", 0.01745329251994330]],
PROJECTION ["Transverse Mercator"], PARAMETER ["Scale_Factor", 0.999938],
PARAMETER ["Central_Meridian", -105.166667], PARAMETER ["Latitude_Of_Origin",
40.500000], PARAMETER ["False_Easting", 200000.000000], UNIT ["Meter",
1.000000000000]]'

投影座標系には、投影を制御するパラメータと同様に、ネストした地理座標系が基準として含まれます。

Oracle Spatial and Graphでは、すべての測地データおよび投影図をサポートします。

ローカル座標系のWKTの例を次に示します。

LOCAL_CS [ "Non-Earth (Meter)", LOCAL_DATUM ["Local Datum", 0], UNIT ["Meter", 1.0], AXIS ["X", EAST], AXIS["Y", NORTH]]

ローカル座標系の詳細は、「ローカル座標のサポート」を参照してください。

SDO_CS.VALIDATE_WKTファンクション(「SDO_CSパッケージ(座標系変換)」を参照)を使用すると、MDSYS.CS_SRS表に定義されているすべての座標系のWKTを検証できます。

6.8.1.2 米国式およびヨーロッパ式のデータ・パラメータ表記法

データ関連のWKTパラメータは、Bursa Wolf変換パラメータを最大7個含むリストです。回転パラメータではアーク秒が指定され、シフト・パラメータではmが指定されます。

米国式およびヨーロッパ式の異なる2つの表記法は、3つの汎用回転パラメータで使用されており、またそれぞれ正反対の符号を使用しています。Spatial and Graphでは、米国式の表記法を採用し想定しています。したがって、WKTでヨーロッパ式表記法が使用されている場合は、回転パラメータの符号を逆にして、米国式表記法に変換する必要があります。

パラメータ・セットで使用されている表記法が米国式かヨーロッパ式か不明な場合は、次のテストを実行します。

  1. 正しい変換結果がわかっている単一の点を選択します。

  2. 現行のWKTを使用して変換を実行します。

  3. 想定した正しい結果と計算結果が一致しない場合は、回転パラメータの符号を逆にして変換を実行し、想定した正しい結果と計算結果が一致するかを確認します。

6.8.1.3 well-knownテキストの更新手順

SDO_COORD_REF_SYSTEMビュー(「SDO_COORD_REF_SYSTEMビュー」を参照)に対して行を挿入または削除すると、MDSYS.CS_SRS表のWKTEXT列が自動的に更新されます。(WKTEXT列の書式については、「well-knownテキスト(WKT)」を参照してください。)ただし、SDO_COORD_REF_SYSTEMビュー内の既存行を更新した場合は、well-knownテキスト(WKT)値は自動的に更新されません。

さらに、座標参照系に関連する情報は、SDO_DATUMS (「SDO_DATUMS表」を参照)、SDO_ELLIPSOIDS (「SDO_ELLIPSOIDS表」を参照)、SDO_PRIME_MERIDIANS (「SDO_PRIME_MERIDIANS表」を参照)などのシステム表にも格納されています。これらの表の情報を追加、削除または変更した場合も、MDSYS.CS_SRS表のWKTEXT値は自動的に更新されません。たとえば、SDO_ELLIPSOIDS表の楕円体のフラット化の値を更新したとしても、関連付けられている座標系のwell-knownテキスト文字列は更新されません。

ただし、名前がUPDATE_WKTS_FOR で始まるプロシージャ(たとえば、SDO_CS.UPDATE_WKTS_FOR_ALL_EPSG_CRSSDO_CS.UPDATE_WKTS_FOR_EPSG_DATUMなど)を使用すると、MDSYS.CS_SRS表のWKTEXT値を手動で更新できます。SERVEROUTPUT情報の表示が有効になっている場合は、MDSYS.CS_SRS表内で、WKTEXT値が更新される行のSRID値を識別するメッセージが、これらのプロシージャによって表示されます。これらのプロシージャの説明は、「SDO_CSパッケージ(座標系変換)」を参照してください。

6.8.2 MDSYS.SDO_ANGLE_UNITSビュー

MDSYS.SDO_ANGLE_UNITS参照ビューには、座標系定義のwell-knownテキスト(WKT)の説明に含まれる有効な角度のUNIT指定ごとに1つの行が含まれます。WKTの説明は、「well-knownテキスト(WKT)」を参照してください。

MDSYS.SDO_ANGLE_UNITSビューは、SDO_UNITS_OF_MEASURE表(「SDO_UNITS_OF_MEASURE表」を参照)に基づいており、これには表6-29に示す列が含まれています。

表6-29 MDSYS.SDO_ANGLE_UNITSビュー

列名 データ型 説明

SDO_UNIT

VARCHAR2(32)

角度単位名(ほとんどの場合は、UNIT_NAME値の略称)です。SDO_UNIT値は、SDO_UTIL.CONVERT_UNITファンクションのfrom_unitおよびto_unitパラメータで使用します。

UNIT_NAME

VARCHAR2(100)

角度単位名です。任意のユーザー定義の座標系に対するWKTのUNIT指定にこの列の値を指定します。値は、Decimal Degree (10進度)、Radian (ラジアン)、Decimal Second (10進秒)、Decimal Minute (10進分)、Gon、Gradなどです。

CONVERSION_FACTOR

NUMBER

1ラジアンに対する指定した単位の比率です。たとえば、ラジアンに対する10進度の比率は0.017453293です。

6.8.3 MDSYS.SDO_AREA_UNITSビュー

MDSYS.SDO_AREA_UNITS参照ビューには、座標系定義のwell-knownテキスト(WKT)の説明に含まれる有効な面積のUNIT指定ごとに1つの行が含まれます。WKTの説明は、「well-knownテキスト(WKT)」を参照してください。

MDSYS.SDO_AREA_UNITSビューは、SDO_UNITS_OF_MEASURE表(「SDO_UNITS_OF_MEASURE表」を参照)に基づいており、これには表6-30に示す列が含まれています。

表6-30 SDO_AREA_UNITSビュー

列名 データ型 用途

SDO_UNIT

VARCHAR2

値は、SDO_UNITS_OF_MEASURE表のSHORT_NAME列から取得されます。

UNIT_NAME

VARCHAR2

値は、SDO_UNITS_OF_MEASURE表のUNIT_OF_MEAS_NAME列から取得されます。

CONVERSION_FACTOR

NUMBER

1平方mに対する単位の比率です。たとえば、1平方mの換算係数は1.0で、1平方マイルの換算係数は2589988です。

6.8.4 MDSYS.SDO_DATUMS_OLD_FORMAT表およびSDO_DATUMS_OLD_SNAPSHOT表

MDSYS.SDO_DATUMS_OLD_FORMAT参照表とMDSYS.SDO_DATUMS_OLD_SNAPSHOT参照表には、座標系定義のwell-knownテキスト(WKT)の説明に含まれる有効なDATUM指定ごとに1つの行が含まれます。(WKTの説明は、「well-knownテキスト(WKT)」を参照してください。)

  • MDSYS.SDO_DATUMS_OLD_FORMATには、新しいデータが旧形式で格納されています(リリース2(10.2)より前の形式でEPSGベースのデータ指定が表に格納されています)。

  • MDSYS.SDO_DATUMS_OLD_SNAPSHOTには、旧データが旧形式で格納されています(リリース2(10.2)より前のデータ指定と表形式)。

これらの表に含まれる列を、次の表に示します。

表6-31 MDSYS.SDO_DATUMS_OLD_FORMAT表およびSDO_DATUMS_OLD_SNAPSHOT表

列名 データ型 説明

NAME

VARCHAR2(80)(OLD_FORMATの場合)

VARCHAR2(64)(OLD_SNAPSHOTの場合)

データ名です。任意のユーザー定義の座標系に対するWKTのDATUM指定にこの列の値(Oracleが指定する値またはユーザー定義の値)を指定します。値は、Adindan、Afgooye、Ain el Abd 1970、Anna 1 Astro 1965、Arc 1950、Arc 1960、Ascension Island 1958などです。

SHIFT_X

NUMBER

X軸上で楕円体の中心をWGS 84楕円体の中心に相対的にシフトする数(m)です。

SHIFT_Y

NUMBER

Y軸上で楕円体の中心をWGS 84楕円体の中心に相対的にシフトする数(m)です。

SHIFT_Z

NUMBER

Z軸上で楕円体の中心をWGS 84楕円体の中心に相対的にシフトする数(m)です。

ROTATE_X

NUMBER

X軸を中心にした回転のアーク秒数です。

ROTATE_Y

NUMBER

Y軸を中心にした回転のアーク秒数です。

ROTATE_Z

NUMBER

Z軸を中心にした回転のアーク秒数です。

SCALE_ADJUST

NUMBER

1.0 +(SCALE_ADJUST×10-6)という計算式に従って、シフトおよび回転後のX値、Y値およびZ値の調整に使用する値です。

これらの表内のデータの名前を表示するには、適切なSELECT文を入力します。次に例を示します。

SELECT name FROM MDSYS.SDO_DATUMS_OLD_FORMAT ORDER BY name;

6.8.5 MDSYS.SDO_DIST_UNITSビュー

MDSYS.SDO_DIST_UNITS参照ビューには、座標系定義のwell-knownテキスト(WKT)の説明に含まれる有効な距離のUNIT指定ごとに1つの行が含まれます。WKTの説明は、「well-knownテキスト(WKT)」を参照してください。

MDSYS.SDO_DIST_UNITSビューは、SDO_UNITS_OF_MEASURE表(「SDO_UNITS_OF_MEASURE表」を参照)に基づいており、これには表6-32に示す列が含まれています。

表6-32 MDSYS.SDO_DIST_UNITSビュー

列名 データ型 説明

SDO_UNIT

VARCHAR2

値は、SDO_UNITS_OF_MEASURE表のSHORT_NAME列から取得されます。

UNIT_NAME

VARCHAR2

値は、SDO_UNITS_OF_MEASURE表のUNIT_OF_MEAS_NAME列から取得されます。

CONVERSION_FACTOR

NUMBER

1mに対する単位の比率です。たとえば、1mの換算係数は1.0で、1マイルの換算係数は1609.344です。

6.8.6 MDSYS.SDO_ELLIPSOIDS_OLD_FORMAT表およびSDO_ELLIPSOIDS_OLD_SNAPSHOT表

MDSYS.SDO_ELLIPSOIDS_OLD_FORMAT参照表とMDSYS.SDO_ELLIPSOIDS_OLD_SNAPSHOT参照表には、座標系定義のwell-knownテキスト(WKT)の説明に含まれる有効なSPHEROID指定ごとに1つの行が含まれます。(WKTの説明は、「well-knownテキスト(WKT)」を参照してください。)

  • MDSYS.SDO_ELLIPSOIDS_OLD_FORMATには、新しいデータが旧形式で格納されています(リリース2(10.2)より前の形式でEPSGベースの楕円体指定が表に格納されています)。

  • MDSYS.SDO_ELLIPSOIDS_OLD_SNAPSHOTには、旧データが旧形式で格納されています(リリース2(10.2)より前の楕円体指定と表形式)。

これらの表に含まれる列を、次の表に示します。

表6-33 MDSYS.SDO_ELLIPSOIDS_OLD_FORMAT表およびSDO_ELLIPSOIDS_OLD_SNAPSHOT表

列名 データ型 説明

NAME

VARCHAR2(80)(OLD_FORMATの場合)

VARCHAR2(64)(OLD_SNAPSHOTの場合)

楕円体(球体)の名前です。任意のユーザー定義の座標系に対するWKTのSPHEROID指定にこの列の値を指定します。値は、Clarke 1866、WGS 72、Australian、Krassovsky、International 1924などです。

SEMI_MAJOR_AXIS

NUMBER

半長径(楕円体の長軸の半分)に沿った半径(m)です。

INVERSE_FLATTENING

NUMBER

楕円体の逆フラット化です。この場合(1/f)、 f = (a-b)/aaは半長径、bは半短径です。

これらの表内の楕円体の名前を表示するには、適切なSELECT文を入力します。次に例を示します。

SELECT name FROM MDSYS.SDO_ELLIPSOIDS_OLD_FORMAT ORDER BY name;

6.8.7 MDSYS.SDO_PROJECTIONS_OLD_FORMAT表およびSDO_PROJECTIONS_OLD_SNAPSHOT表

MDSYS.SDO_PROJECTIONS_OLD_FORMAT参照表とMDSYS.SDO_PROJECTIONS_OLD_SNAPSHOT参照表には、座標系定義のwell-knownテキスト(WKT)の説明に含まれる有効なPROJECTION指定ごとに1つの行が含まれます。(WKTの説明は、「well-knownテキスト(WKT)」を参照してください。)

  • MDSYS.SDO_PROJECTIONS_OLD_FORMATには、新しいデータが旧形式で格納されています(リリース2(10.2)より前の形式でEPSGベースの投影法指定が表に格納されています)。

  • MDSYS.SDO_PROJECTIONS_OLD_SNAPSHOTには、旧データが旧形式で格納されています(リリース2(10.2)より前の投影法指定と表形式)。

これらの表に含まれる列を、次の表に示します。

表6-34 MDSYS.SDO_PROJECTIONS_OLD_FORMAT表およびSDO_PROJECTIONS_OLD_SNAPSHOT表

列名 データ型 説明

NAME

VARCHAR2(80)(OLD_FORMATの場合)

VARCHAR2(64)(OLD_SNAPSHOTの場合)

投影図名です。任意のユーザー定義の座標系に対するPROJECTION指定にこの列の値を指定します。値は、Geographic (Lat/Long)、Universal Transverse Mercator、State Plane Coordinates、Albers Conical Equal Areaなどです。

これらの表内の投影の名前を表示するには、適切なSELECT文を入力します。次に例を示します。

SELECT name FROM MDSYS.SDO_PROJECTIONS_OLD_FORMAT ORDER BY name;