リリース10.2より前のSpatial and Graphでは、座標系ファンクションおよびプロシージャは、次の表の情報を使用していましたが、その一部は名前が新しくなったり、現在、表ではなくビューになっています。
MDSYS.CS_SRS (「MDSYS.CS_SRS表」を参照)は、有効な座標系を定義していました。この表では、各座標系と、それに関する説明を対応付けています。この表は、Open Geospatial Consortium (http://www.opengeospatial.org
)から公開されている標準に準拠しています。
MDSYS.SDO_ANGLE_UNITS (「MDSYS.SDO_ANGLE_UNITSビュー」を参照)は、有効な角度単位を定義します。
MDSYS.SDO_AREA_UNITS (「MDSYS.SDO_AREA_UNITSビュー」を参照)は、有効な面積単位を定義します。
MDSYS.SDO_DIST_UNITS(「MDSYS.SDO_DIST_UNITSビュー」を参照)は、有効な距離単位を定義します。
MDSYS.SDO_DATUMS_OLD_FORMATおよびMDSYS.SDO_DATUMS_OLD_SNAPSHOT(「MDSYS.SDO_DATUMS_OLD_FORMAT表およびSDO_DATUMS_OLD_SNAPSHOT表」を参照)は、リリース10.2より前のMDSYS.SDO_DATUMS表(有効なデータを定義)に基づいています。
MDSYS.SDO_ELLIPSOIDS_OLD_FORMATおよびMDSYS.SDO_ELLIPSOIDS_OLD_SNAPSHOT(「MDSYS.SDO_ELLIPSOIDS_OLD_FORMAT表およびSDO_ELLIPSOIDS_OLD_SNAPSHOT表」を参照)は、リリース10.2より前のMDSYS.SDO_ELLIPSOIDS表(有効な楕円体を定義)に基づいています。
MDSYS.SDO_PROJECTIONS_OLD_FORMATおよびMDSYS.SDO_PROJECTIONS_OLD_SNAPSHOT(「MDSYS.SDO_PROJECTIONS_OLD_FORMAT表およびSDO_PROJECTIONS_OLD_SNAPSHOT表」を参照)は、リリース10.2より前のMDSYS.SDO_PROJECTIONS表(有効な投影図を定義)に基づいています。
注意:
これらのレガシー表でOracleから提供されている情報は、すべて変更および削除しないでください。
SQL文でレガシー表を参照する場合は、表の名前の前にMDSYS.を付ける必要があります。
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) |
座標系の認可レベル名です。指定された表には |
WKTEXT |
VARCHAR2(2046) |
SRSのwell-knownテキスト(WKT)の説明で、Open Geospatial Consortiumによって定義されています。詳細は、「well-knownテキスト(WKT)」を参照してください。 |
CS_BOUNDS |
SDO_GEOMETRY |
WGS 84経度および緯度の頂点を持つポリゴンであるオプションのSDO_GEOMETRYオブジェクトで、投影座標系の有効範囲に関する球形ポリゴンの説明を表します。地理または非地球座標系の場合は、NULLである必要があります。すべての行にNULLが入ります。 |
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を検証できます。
データ関連のWKTパラメータは、Bursa Wolf変換パラメータを最大7個含むリストです。回転パラメータではアーク秒が指定され、シフト・パラメータではmが指定されます。
米国式およびヨーロッパ式の異なる2つの表記法は、3つの汎用回転パラメータで使用されており、またそれぞれ正反対の符号を使用しています。Spatial and Graphでは、米国式の表記法を採用し想定しています。したがって、WKTでヨーロッパ式表記法が使用されている場合は、回転パラメータの符号を逆にして、米国式表記法に変換する必要があります。
パラメータ・セットで使用されている表記法が米国式かヨーロッパ式か不明な場合は、次のテストを実行します。
正しい変換結果がわかっている単一の点を選択します。
現行のWKTを使用して変換を実行します。
想定した正しい結果と計算結果が一致しない場合は、回転パラメータの符号を逆にして変換を実行し、想定した正しい結果と計算結果が一致するかを確認します。
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_CRS、SDO_CS.UPDATE_WKTS_FOR_EPSG_DATUMなど)を使用すると、MDSYS.CS_SRS表のWKTEXT値を手動で更新できます。SERVEROUTPUT情報の表示が有効になっている場合は、MDSYS.CS_SRS表内で、WKTEXT値が更新される行のSRID値を識別するメッセージが、これらのプロシージャによって表示されます。これらのプロシージャの説明は、「SDO_CSパッケージ(座標系変換)」を参照してください。
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ファンクションの |
VARCHAR2(100) |
角度単位名です。任意のユーザー定義の座標系に対するWKTのUNIT指定にこの列の値を指定します。値は、 |
|
NUMBER |
1ラジアンに対する指定した単位の比率です。たとえば、 |
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に示す列が含まれています。
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が指定する値またはユーザー定義の値)を指定します。値は、 |
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;
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に示す列が含まれています。
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指定にこの列の値を指定します。値は、 |
NUMBER |
半長径(楕円体の長軸の半分)に沿った半径(m)です。 |
|
NUMBER |
楕円体の逆フラット化です。この場合( |
これらの表内の楕円体の名前を表示するには、適切なSELECT文を入力します。次に例を示します。
SELECT name FROM MDSYS.SDO_ELLIPSOIDS_OLD_FORMAT ORDER BY name;
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指定にこの列の値を指定します。値は、 |
これらの表内の投影の名前を表示するには、適切なSELECT文を入力します。次に例を示します。
SELECT name FROM MDSYS.SDO_PROJECTIONS_OLD_FORMAT ORDER BY name;