ヘッダーをスキップ
Oracle® Spatial開発者ガイド
11gリリース2 (11.2)
B72087-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

21 SDO_CSパッケージ(座標系変換)

MDSYS.SDO_CSパッケージには、座標系で使用するサブプログラムが含まれます。単一ジオメトリまたはジオメトリのレイヤー全体(表の指定した列に含まれるすべてのジオメトリ)で、明示的に座標変換を行うことができます。

この章で説明するサブプログラムを使用する場合は、座標系の概念を理解しておく必要があります(1.5.4項および第6章を参照)。

表21-1に、座標系変換サブプログラムを示します。

表21-1 座標系変換のサブプログラム

サブプログラム 説明

SDO_CS.ADD_PREFERENCE_FOR_OP


ソース座標系とターゲット座標系の間での操作のプリファレンスを追加します。

SDO_CS.CONVERT_NADCON_TO_XML


ASCII形式のNADCON(North American Datum Conversion)グリッドをOracle Spatial XML表現に変換します。

SDO_CS.CONVERT_NTV2_TO_XML


ASCII形式のNTv2(National Transformation Version 2)グリッドをOracle Spatial XML表現に変換します。

SDO_CS.CONVERT_XML_TO_NADCON


NADCON(North American Datum Conversion)グリッドのOracle Spatial XML表現をNADCON ASCII形式に変換します。

SDO_CS.CONVERT_XML_TO_NTV2


NTv2(National Transformation Version 2)グリッドのOracle Spatial XML表現をNTv2 ASCII形式に変換します。

SDO_CS.CREATE_CONCATENATED_OP


連結操作を作成します。

SDO_CS.CREATE_OBVIOUS_EPSG_RULES


特定の変換で適用するEPSGルールの基本セットを作成します。

SDO_CS.CREATE_PREF_CONCATENATED_OP


連結操作を作成し、変換計画に関連付け、システム全体または指定したユースケースのいずれかで優先させます。

SDO_CS.DELETE_ALL_EPSG_RULES


特定の変換で適用するEPSGルールの基本セットを削除します。

SDO_CS.DELETE_OP


連結操作を削除します。

SDO_CS.DETERMINE_CHAIN


システムのルール・セットに基づいて、座標参照系間の変換で使用する問合せの連鎖を戻します。

SDO_CS.DETERMINE_DEFAULT_CHAIN


座標参照系間の変換で使用するSRID値のデフォルトの連鎖を戻します。

SDO_CS.FIND_GEOG_CRS


指定した参照SRID値を持つ座標参照系と同じwell-knownテキスト(WKT)数値を持つ測地(地理)座標参照系のSRID値を戻します。

SDO_CS.FIND_PROJ_CRS


指定した参照SRID値を持つ座標参照系と同じwell-knownテキスト(WKT)数値を持つ投影座標参照系のSRID値を戻します。

SDO_CS.FIND_SRID


指定した情報に一致する座標系のSRID値を検索します。

SDO_CS.FROM_OGC_SIMPLEFEATURE_SRS


well-knownテキスト文字列をTOWGS84キーワードのないOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードを含む形式に変換します。

SDO_CS.FROM_USNG


U.S. National Grid形式で表される点を空間点ジオメトリ・オブジェクトに変換します。

SDO_CS.GET_EPSG_DATA_VERSION


Spatialによって使用されるEPSGデータセットのバージョン番号を取得します。

SDO_CS.MAKE_2D


3次元のジオメトリを2次元のジオメトリに変換します。

SDO_CS.MAKE_3D


2次元のジオメトリを3次元のジオメトリに変換します。

SDO_CS.MAP_EPSG_SRID_TO_ORACLE


指定したEPSG SRID値に対応するOracle Spatial SRID値を戻します。

SDO_CS.MAP_ORACLE_SRID_TO_EPSG


指定したOracle Spatial SRID値に対応するEPSG SRID値を戻します。

SDO_CS.REVOKE_PREFERENCE_FOR_OP


ソース座標系とターゲット座標系の間での操作のプリファレンスを取り消します。

SDO_CS.TO_OGC_SIMPLEFEATURE_SRS


well-knownテキスト文字列を、TOWGS84キーワードを含むOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードのない形式に変換します。

SDO_CS.TRANSFORM


座標系(SRIDまたは名前で指定)を使用してジオメトリ表現を変換します。

SDO_CS.TRANSFORM_LAYER


ジオメトリのレイヤー全体(表内の指定した列に含まれるすべてのジオメトリ)を変換します。

SDO_CS.UPDATE_WKTS_FOR_ALL_EPSG_CRS


すべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

SDO_CS.UPDATE_WKTS_FOR_EPSG_CRS


指定したSRIDに関連付けられたEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

SDO_CS.UPDATE_WKTS_FOR_EPSG_DATUM


指定したデータに関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

SDO_CS.UPDATE_WKTS_FOR_EPSG_ELLIPS


指定した楕円体に関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

SDO_CS.UPDATE_WKTS_FOR_EPSG_OP


指定した座標変換操作に関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

SDO_CS.UPDATE_WKTS_FOR_EPSG_PARAM


指定した座標変換操作と変換操作のパラメータに関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

SDO_CS.UPDATE_WKTS_FOR_EPSG_PM


指定した本初子午線に関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

SDO_CS.VALIDATE_WKT


指定されたSRIDに関連付けられたwell-knownテキスト(WKT)の説明を検査します。


この章では、これらのサブプログラムのリファレンス情報をアルファベット順に説明します。

SDO_CS.ADD_PREFERENCE_FOR_OP

構文

SDO_CS.ADD_PREFERENCE_FOR_OP(

     op_id IN NUMBER,

     source_crs IN NUMBER DEFAULT NULL,

     target_crs IN NUMBER DEFAULT NULL,

     use_case IN VARCHAR2 DEFAULT NULL);

説明

ソース座標系とターゲット座標系の間での操作のプリファレンスを追加します。

パラメータ

op_id

操作のID番号を指定します。この値は、SDO_COORD_OPS表(6.7.8項を参照)のCOORD_OP_ID列の値である必要があります。

source_crs

ソース座標参照系のSRIDを指定します。この値は、NULLまたはSDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

target_crs

ターゲット座標参照系のSRIDを指定します。この値は、NULLまたはSDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

use_case

このプリファレンスに関連付けるユースケースの名前を指定します。この値は、NULLまたはSDO_PREFERRED_OPS_USER表(6.7.25項を参照)のUSE_CASE列の値である必要があります。

使用上の注意

use_caseがNULLの場合、この操作に関連付けられた変換計画はシステム全体のプリファレンスになり、行(逆の操作が存在する場合は2つの行)がSDO_PREFERRED_OPS_SYSTEM表(6.7.24項を参照)に追加されます。use_caseがNULL以外の場合、この操作に関連付けられた変換計画は指定したユースケースに関連するプリファレンスになり、行(逆の操作が存在する場合は2つの行)がSDO_PREFERRED_OPS_USER表(6.7.25項を参照)に追加されます。

連結操作を作成して、システム全体または指定したユースケースのいずれかで優先させるには、SDO_CS.CREATE_PREF_CONCATENATED_OP簡易プロシージャを使用します。

ソース座標系とターゲット座標系の間での操作のプリファレンスを取り消すには、SDO_CS.REVOKE_PREFERENCE_FOR_OPプロシージャを使用します。

次の例では、変換にユースケースuse_case_Bが指定されている場合に、SRID 4301からSRID 4326への変換で使用する操作19977のプリファレンスを追加します。

EXECUTE SDO_CS.ADD_PREFERENCE_FOR_OP(19977, 4301, 4326, 'use_case_B');

SDO_CS.CONVERT_NADCON_TO_XML

構文

SDO_CS.CONVERT_NADCON_TO_XML(

     laa_clob IN CLOB,

     loa_clob IN CLOB,

     xml_grid OUT XMLTYPE );

説明

ASCII形式のNADCON(North American Datum Conversion)グリッドをOracle Spatial XML表現に変換します。

パラメータ

laa_clob

CLOBオブジェクトにあるNADCONグリッドの緯度の値を指定します。

loa_clob

CLOBオブジェクトにあるNADCONグリッドの経度の値を指定します。

xml_grid

NADCONグリッドのOracle Spatial XML表現を含む出力XML文書を指定します。

使用上の注意

Oracle Spatial XML表現をNADCONグリッドに変換するには、SDO_CS.CONVERT_XML_TO_NADCONプロシージャを使用します。

次の例では、ASCII形式のNADCONグリッドをOracle Spatial XML表現に変換し、結果として戻されるXML表現をNADCON ASCII表現に変換して、戻されるASCII表現を表示します。(出力の一部のみを示します。)

set lines 32000
set long 2000000000
 
DECLARE
  laa       CLOB;
  loa       CLOB;
  xml       XMLTYPE;
  laa_file  BFILE;
  loa_file  BFILE;
BEGIN
  laa_file := BFILENAME('MY_WORK_DIR', 'samplenadcon.laa');
  loa_file := BFILENAME('MY_WORK_DIR', 'samplenadcon.loa');
  DBMS_LOB.OPEN(laa_file, DBMS_LOB.LOB_READONLY);
  DBMS_LOB.OPEN(loa_file, DBMS_LOB.LOB_READONLY);
 
  DBMS_LOB.CREATETEMPORARY(laa, TRUE, DBMS_LOB.SESSION);
  DBMS_LOB.CREATETEMPORARY(loa, TRUE, DBMS_LOB.SESSION);
  DBMS_LOB.OPEN(laa, DBMS_LOB.LOB_READWRITE);
  DBMS_LOB.OPEN(loa, DBMS_LOB.LOB_READWRITE);
  DBMS_LOB.LOADFROMFILE(laa, laa_file, DBMS_LOB.LOBMAXSIZE);
  DBMS_LOB.LOADFROMFILE(loa, loa_file, DBMS_LOB.LOBMAXSIZE);
  DBMS_LOB.CLOSE(laa);
  DBMS_LOB.CLOSE(loa);
  DBMS_LOB.CLOSE(laa_file);
  DBMS_LOB.CLOSE(loa_file);
 
  SDO_CS.convert_NADCON_to_XML(laa, loa, xml);
  SDO_CS.convert_XML_to_NADCON(xml, laa, loa);
  DBMS_OUTPUT.PUT_LINE(SUBSTR(laa, 1, 32000));
  DBMS_OUTPUT.PUT_LINE(SUBSTR(loa, 1, 32000));
END;
/
NADCON EXTRACTED REGION                                 NADGRD  
  33  49   1  -107.00000      .25000    25.00000      .25000      .00000
     .006731     .006444     .006208     .006036     .005935     .005904
     .005932     .006002     .006092     .006174     .006218     .006198
     .006087     .005867     .005522     .005045     .004432     .003688
     .002818     .001836     .000759    -.000385    -.001559    -.002704
. . .
NADCON EXTRACTED REGION                                 NADGRD  
  33  49   1  -107.00000      .25000    25.00000      .25000      .00000
     .008509     .007147     .005756     .004331     .002879     .001410
    -.000060    -.001507    -.002904    -.004222    -.005431    -.006498
    -.007395    -.008095    -.008579    -.008832    -.008848    -.008632
    -.008200    -.007577    -.006800    -.005911    -.004957    -.003974
. . .

SDO_CS.CONVERT_NTV2_TO_XML

構文

SDO_CS.CONVERT_NTV2_TO_XML(

     ntv2_clob IN CLOB,

     xml_grid OUT XMLTYPE );

説明

ASCII形式のNTv2(National Transformation Version 2)グリッドをOracle Spatial XML表現に変換します。

パラメータ

ntv2_clob

CLOBオブジェクトのNTv2グリッド値を指定します。

xml_grid

NTv2グリッドのOracle Spatial XML表現を含む出力XML文書を指定します。

使用上の注意

Oracle Spatial XML表現をNTv2グリッドに変換するには、SDO_CS.CONVERT_XML_TO_NTV2プロシージャを使用します。

次の例では、ASCII形式のNTv2グリッドをOracle Spatial XML表現に変換し、結果として戻されるXML表現をNTv2 ASCII表現に変換して、戻されるASCII表現を表示します。(出力の一部のみを示します。)

set lines 32000
set long 2000000000
 
DECLARE
  ntv2      CLOB;
  xml       XMLTYPE;
  ntv2_file BFILE;
BEGIN
  ntv2_file := BFILENAME('MY_WORK_DIR', 'samplentv2.gsa');
  DBMS_LOB.OPEN(ntv2_file, DBMS_LOB.LOB_READONLY);
 
  DBMS_LOB.CREATETEMPORARY(ntv2, TRUE, DBMS_LOB.SESSION);
  DBMS_LOB.OPEN(ntv2, DBMS_LOB.LOB_READWRITE);
  DBMS_LOB.LOADFROMFILE(ntv2, ntv2_file, DBMS_LOB.LOBMAXSIZE);
  DBMS_LOB.CLOSE(ntv2);
  DBMS_LOB.CLOSE(ntv2_file);
 
  SDO_CS.convert_NTv2_to_XML(ntv2, xml);
  SDO_CS.convert_XML_to_NTv2(xml, ntv2);
  DBMS_OUTPUT.PUT_LINE(SUBSTR(ntv2, 1, 32000));
END;
/
NUM_OREC 11
NUM_SREC 11
NUM_FILE  2
GS_TYPE SECONDS 
VERSION NTv2.0  
DATUM_F NAD27   
DATUM_T NAD83   
MAJOR_F  6378206.400
MINOR_F  6356583.800
MAJOR_T  6378137.000
MINOR_T  6356752.314
SUB_NAMEALbanff 
PARENT  NONE    
CREATED 95-06-29
UPDATED 95-07-04
S_LAT     183900.000000
N_LAT     184500.000000
E_LONG    415800.000000
W_LONG    416100.000000
LAT_INC       30.000000
LONG_INC      30.000000
GS_COUNT   231
  0.084020  3.737300  0.005000  0.008000
  0.083029  3.738740  0.017000  0.011000
  0.082038  3.740180  0.029000  0.015000
. . .

SDO_CS.CONVERT_XML_TO_NADCON

構文

SDO_CS.CONVERT_XML_TO_NADCON(

     xml_grid IN XMLTYPE,

     laa_clob OUT CLOB,

     loa_clob OUT CLOB);

説明

NADCON(North American Datum Conversion)グリッドのOracle Spatial XML表現をNADCON ASCII形式に変換します。

パラメータ

xml_grid

NADCONグリッドのOracle Spatial XML表現を含むXML文書を指定します。

laa_clob

NADCONグリッドの緯度の値を含む出力CLOBオブジェクトを指定します。

loa_clob

NADCONグリッドの経度の値を含む出力CLOBオブジェクトを指定します。

使用上の注意

ASCII形式のNADCONグリッドをOracle Spatial XML表現に変換するには、SDO_CS.CONVERT_NADCON_TO_XMLプロシージャを使用します。

次の例では、ASCII形式のNADCONグリッドをOracle Spatial XML表現に変換し、結果として戻されるXML表現をNADCON ASCII表現に変換して、戻されるASCII表現を表示します。(出力の一部のみを示します。)

set lines 32000
set long 2000000000
 
DECLARE
  laa       CLOB;
  loa       CLOB;
  xml       XMLTYPE;
  laa_file  BFILE;
  loa_file  BFILE;
BEGIN
  laa_file := BFILENAME('MY_WORK_DIR', 'samplenadcon.laa');
  loa_file := BFILENAME('MY_WORK_DIR', 'samplenadcon.loa');
  DBMS_LOB.OPEN(laa_file, DBMS_LOB.LOB_READONLY);
  DBMS_LOB.OPEN(loa_file, DBMS_LOB.LOB_READONLY);
 
  DBMS_LOB.CREATETEMPORARY(laa, TRUE, DBMS_LOB.SESSION);
  DBMS_LOB.CREATETEMPORARY(loa, TRUE, DBMS_LOB.SESSION);
  DBMS_LOB.OPEN(laa, DBMS_LOB.LOB_READWRITE);
  DBMS_LOB.OPEN(loa, DBMS_LOB.LOB_READWRITE);
  DBMS_LOB.LOADFROMFILE(laa, laa_file, DBMS_LOB.LOBMAXSIZE);
  DBMS_LOB.LOADFROMFILE(loa, loa_file, DBMS_LOB.LOBMAXSIZE);
  DBMS_LOB.CLOSE(laa);
  DBMS_LOB.CLOSE(loa);
  DBMS_LOB.CLOSE(laa_file);
  DBMS_LOB.CLOSE(loa_file);
 
  SDO_CS.convert_NADCON_to_XML(laa, loa, xml);
  SDO_CS.convert_XML_to_NADCON(xml, laa, loa);
  DBMS_OUTPUT.PUT_LINE(SUBSTR(laa, 1, 32000));
  DBMS_OUTPUT.PUT_LINE(SUBSTR(loa, 1, 32000));
END;
/
NADCON EXTRACTED REGION                                 NADGRD  
  33  49   1  -107.00000      .25000    25.00000      .25000      .00000
     .006731     .006444     .006208     .006036     .005935     .005904
     .005932     .006002     .006092     .006174     .006218     .006198
     .006087     .005867     .005522     .005045     .004432     .003688
     .002818     .001836     .000759    -.000385    -.001559    -.002704
. . .
NADCON EXTRACTED REGION                                 NADGRD  
  33  49   1  -107.00000      .25000    25.00000      .25000      .00000
     .008509     .007147     .005756     .004331     .002879     .001410
    -.000060    -.001507    -.002904    -.004222    -.005431    -.006498
    -.007395    -.008095    -.008579    -.008832    -.008848    -.008632
    -.008200    -.007577    -.006800    -.005911    -.004957    -.003974
. . .

SDO_CS.CONVERT_XML_TO_NTV2

構文

SDO_CS.CONVERT_XML_TO_NTV2(

     xml_grid IN XMLTYPE,

     ntv2_clob OUT CLOB);

説明

NTv2(National Transformation Version 2)グリッドのOracle Spatial XML表現をNTv2 ASCII形式に変換します。

パラメータ

xml_grid

NTv2グリッドのOracle Spatial XML表現を含むXML文書を指定します。

ntv2_clob

NTv2グリッドの値を含む出力CLOBオブジェクトを指定します。

使用上の注意

ASCII形式のNTv2グリッドをOracle Spatial XML表現に変換するには、SDO_CS.CONVERT_NTV2_TO_XMLプロシージャを使用します。

次の例では、ASCII形式のNTv2グリッドをOracle Spatial XML表現に変換し、結果として戻されるXML表現をNTv2 ASCII表現に変換して、戻されるASCII表現を表示します。(出力の一部のみを示します。)

set lines 32000
set long 2000000000
 
DECLARE
  ntv2      CLOB;
  xml       XMLTYPE;
  ntv2_file BFILE;
BEGIN
  ntv2_file := BFILENAME('MY_WORK_DIR', 'samplentv2.gsa');
  DBMS_LOB.OPEN(ntv2_file, DBMS_LOB.LOB_READONLY);
 
  DBMS_LOB.CREATETEMPORARY(ntv2, TRUE, DBMS_LOB.SESSION);
  DBMS_LOB.OPEN(ntv2, DBMS_LOB.LOB_READWRITE);
  DBMS_LOB.LOADFROMFILE(ntv2, ntv2_file, DBMS_LOB.LOBMAXSIZE);
  DBMS_LOB.CLOSE(ntv2);
  DBMS_LOB.CLOSE(ntv2_file);
 
  SDO_CS.convert_NTv2_to_XML(ntv2, xml);
  SDO_CS.convert_XML_to_NTv2(xml, ntv2);
  DBMS_OUTPUT.PUT_LINE(SUBSTR(ntv2, 1, 32000));
END;
/
NUM_OREC 11
NUM_SREC 11
NUM_FILE  2
GS_TYPE SECONDS 
VERSION NTv2.0  
DATUM_F NAD27   
DATUM_T NAD83   
MAJOR_F  6378206.400
MINOR_F  6356583.800
MAJOR_T  6378137.000
MINOR_T  6356752.314
SUB_NAMEALbanff 
PARENT  NONE    
CREATED 95-06-29
UPDATED 95-07-04
S_LAT     183900.000000
N_LAT     184500.000000
E_LONG    415800.000000
W_LONG    416100.000000
LAT_INC       30.000000
LONG_INC      30.000000
GS_COUNT   231
  0.084020  3.737300  0.005000  0.008000
  0.083029  3.738740  0.017000  0.011000
  0.082038  3.740180  0.029000  0.015000
. . .

SDO_CS.CREATE_CONCATENATED_OP

構文

SDO_CS.CREATE_CONCATENATED_OP(

     op_id IN NUMBER,

     op_name IN VARCHAR2,

     use_plan IN TFM_PLAN);

説明

連結操作を作成します。

パラメータ

op_id

連結操作のID番号を指定します。

op_name

連結操作に関連付ける名前を指定します。

use_plan

変換計画を指定します。TFM_PLANオブジェクト型の詳細は、6.6項を参照してください。

使用上の注意

連結操作は、2つ以上の基本操作を連結(連鎖)したものです。

連結操作を作成して、システム全体または指定したユースケースのいずれかで優先させるには、SDO_CS.CREATE_PREF_CONCATENATED_OP簡易プロシージャを使用します。

次の例では、操作IDが2999で、CONCATENATED_OPERATION_2999という名前の連結操作を作成します。

DECLARE
BEGIN
SDO_CS.CREATE_CONCATENATED_OP(
  2999,
  'CONCATENATED_OPERATION_2999',
  TFM_PLAN(SDO_TFM_CHAIN(4242, 19910, 24200, 1000000000, 24200)));
END;
/

SDO_CS.CREATE_OBVIOUS_EPSG_RULES

構文

SDO_CS.CREATE_OBVIOUS_EPSG_RULES(

     use_case IN VARCHAR2 DEFAULT NULL);

説明

特定の変換で適用するEPSGルールの基本セットを作成します。

パラメータ

use_case

作成するEPSGルールのアプリケーションに関連付けるユースケースの名前を指定します。この値は、SDO_PREFERRED_OPS_USER表(6.7.25項を参照)のUSE_CASE列の値である必要があります。

使用上の注意

このプロシージャでは、特定の座標参照系間で実行する主要なEPSG定義の変換ルールを作成します。一部の座標参照系間の変換では、EPSGで適用するルールがすでに指定されている場合があります。また、座標参照系間の特定の変換で、EPSGルールがデフォルトのOracle Spatialルールと異なる場合があります。このような場合、このプロシージャを実行すると、EPSGルールが適用されます。このプロシージャを実行しない場合は、デフォルトのSpatialルールが使用されます。

このプロシージャでは、複数の行をSDO_PREFERRED_OPS_SYSTEM表(6.7.24項を参照)に挿入します。

このプロシージャで作成したEPSGルールを削除して、すべてのケースでデフォルトのSpatialルールを使用するようにするには、SDO_CS.DELETE_ALL_EPSG_RULESプロシージャを使用します。

次の例では、特定の変換で適用するEPSGルールの基本セットを作成します。

EXECUTE SDO_CS.CREATE_OBVIOUS_EPSG_RULES;

SDO_CS.CREATE_PREF_CONCATENATED_OP

構文

SDO_CS.CREATE_PREF_CONCATENATED_OP(

     op_id IN NUMBER,

     op_name IN VARCHAR2,

     use_plan IN TFM_PLAN,

     use_case IN VARCHAR2 DEFAULT NULL);

説明

連結操作を作成し、変換計画に関連付け、システム全体または指定したユースケースのいずれかで優先させます。

パラメータ

op_id

作成する連結操作のID番号を指定します。

op_name

連結操作に関連付ける名前を指定します。

use_plan

変換計画を指定します。TFM_PLANオブジェクト型の詳細は、6.6項を参照してください。

use_case

優先させるこの連結操作を適用するユースケースを指定します。この値は、NULLまたはSDO_PREFERRED_OPS_USER表(6.7.25項を参照)のUSE_CASE列の値である必要があります。

使用上の注意

この簡易プロシージャは、SDO_CS.CREATE_CONCATENATED_OPSDO_CS.ADD_PREFERENCE_FOR_OPのプロシージャの操作を結合します。

連結操作は、2つ以上の基本操作を連結(連鎖)したものです。

use_caseがNULLの場合、この操作に関連付けられた変換計画はシステム全体のプリファレンスになり、行(逆の操作が存在する場合は2つの行)がSDO_PREFERRED_OPS_SYSTEM表(6.7.24項を参照)に追加されます。use_caseがNULL以外の場合、この操作に関連付けられた変換計画は指定したユースケースに関連するプリファレンスになり、行(逆の操作が存在する場合は2つの行)がSDO_PREFERRED_OPS_USER表(6.7.25項を参照)に追加されます。

システム全体または指定したユースケースのいずれでも優先させずに連結を作成するには、SDO_CS.CREATE_CONCATENATED_OPプロシージャを使用します。

連結操作を削除するには、SDO_CS.DELETE_OPプロシージャを使用します。

次の例では、操作IDが300で、MY_CONCATENATION_OPERATIONという名前の連結操作を作成し、この操作が使用される場合に、(use_caseがNULLのため)すべてのケースで、指定した変換計画をSpatialが使用するようにします。

DECLARE
BEGIN
SDO_CS.CREATE_PREF_CONCATENATED_OP(
  300,
  'MY_CONCATENATED_OPERATION',
  TFM_PLAN(SDO_TFM_CHAIN(4242, 19910, 24200, 1000000000, 24200)),
  NULL);
END;
/

SDO_CS.DELETE_ALL_EPSG_RULES

構文

SDO_CS.DELETE_ALL_EPSG_RULES(

     use_case IN VARCHAR2 DEFAULT NULL);

説明

特定の変換で適用するEPSGルールの基本セットを削除します。

パラメータ

use_case

作成するEPSGルールのアプリケーションに関連付けるユースケースの名前を指定します。SDO_CS.CREATE_OBVIOUS_EPSG_RULESプロシージャがコールされた場合、use_caseパラメータ値(NULLまたは指定した値のいずれか)に使用した値と一致する必要があります。

使用上の注意

このプロシージャでは、SDO_CS.CREATE_OBVIOUS_EPSG_RULESプロシージャで以前に作成したEPSGルールを削除し、すべてのケースでデフォルトのSpatialルールを使用するようにします。(詳細は、SDO_CS.CREATE_OBVIOUS_EPSG_RULESプロシージャの「使用上の注意」を参照してください。)

use_caseがNULLの場合、このプロシージャはSDO_PREFERRED_OPS_SYSTEM表(6.7.24項を参照)からすべての行を削除します。use_caseがNULL以外の場合、このプロシージャはSDO_PREFERRED_OPS_USER表(6.7.25項を参照)から、指定したユースケースに関連付けられた行を削除します。

次の例では、特定の変換で適用するEPSGルールの基本セットを削除します。

EXECUTE SDO_CS.DELETE_ALL_EPSG_RULES;

SDO_CS.DELETE_OP

構文

SDO_CS.DELETE_OP(

     op_id IN NUMBER);

説明

連結操作を削除します。

パラメータ

op_id

削除する操作のID番号を指定します。

使用上の注意

連結操作を作成して、システム全体または指定したユースケースのみで優先させるには、SDO_CS.CREATE_CONCATENATED_OPプロシージャを使用します。

次の例では、ID番号が300の操作を削除します。

EXECUTE SDO_CS.DELETE_OP(300);

SDO_CS.DETERMINE_CHAIN

構文

SDO_CS.DETERMINE_CHAIN(

     transient_rule_set IN SDO_TRANSIENT_RULE_SET,

     use_case IN VARCHAR2,

     source_srid IN NUMBER,

     target_srid IN NUMBER) RETURN TFM_PLAN;

説明

システムのルール・セットに基づいて、座標参照系間の変換で使用する問合せの連鎖を戻します。

パラメータ

transient_rule_set

変換で使用するルール・セットを指定します。NULL値を指定すると、Oracleシステムのルール・セットが使用されます。

use_case

問合せの連鎖を決定するユースケースを指定します。この値は、NULL値またはSDO_PREFERRED_OPS_USER表(6.7.25項を参照)のUSE_CASE列の値である必要があります。

source_srid

ソース座標参照系のSRIDを指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

target_srid

ターゲット座標参照系のSRIDを指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

使用上の注意

このファンクションは、TFM_PLAN型のオブジェクトを戻します(6.6項を参照)。

transient_rule_setパラメータはSDO_TRANSIENT_RULE_SET型で、次のように定義されています。

CREATE TYPE sdo_transient_rule_set AS OBJECT (
  source_srid  NUMBER,
  target_srid  NUMBER,
  tfm          NUMBER);

次の例では、システムのルール・セットに基づいて問合せの連鎖を戻します。

SELECT MDSYS.SDO_CS.DETERMINE_CHAIN(NULL, NULL, 4804, 4257) FROM DUAL;
 
MDSYS.SDO_CS.DETERMINE_CHAIN(NULL,NULL,4804,4257)(THE_PLAN)                     
--------------------------------------------------------------------------------
TFM_PLAN(SDO_TFM_CHAIN(4804, -2, 4257))

次の例では、SRID 4804からSRID 4257への変換用に指定した連鎖を持つ、優先する連結操作(操作ID 300)を作成し、DETERMINE_CHAINファンクションをコールして異なる結果を戻します。(この例で作成した操作は実用的ではありません。参考用として作成されたものです。)

CALL SDO_CS.CREATE_PREF_CONCATENATED_OP(
    300,
    'CONCATENATED OPERATION',
    TFM_PLAN(
      SDO_TFM_CHAIN(
                    4804,
        1000000001, 4804,
        1000000002, 4804,
        1000000001, 4804,
        1000000001, 4804,
        1000000002, 4804,
        1000000002, 4804,
        1000000001, 4804,
        1000000001, 4804,
        1000000001, 4804,
        1000000002, 4804,
        1000000002, 4804,
        1000000002, 4257)),
    NULL);
 
SELECT MDSYS.SDO_CS.DETERMINE_CHAIN(NULL, NULL, 4804, 4257) FROM DUAL;
 
MDSYS.SDO_CS.DETERMINE_CHAIN(NULL,NULL,4804,4257)(THE_PLAN)                     
--------------------------------------------------------------------------------
TFM_PLAN(SDO_TFM_CHAIN(4804, 300, 4257))

SDO_CS.DETERMINE_DEFAULT_CHAIN

構文

SDO_CS.DETERMINE_DEFAULT_CHAIN(

     source_srid IN NUMBER,

     target_srid IN NUMBER) RETURN SDO_SRID_CHAIN;

説明

座標参照系間の変換で使用するSRID値のデフォルトの連鎖を戻します。

パラメータ

source_srid

ソース座標参照系のSRIDを指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

target_srid

ターゲット座標参照系のSRIDを指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

使用上の注意

このファンクションは、VARRAY(1048576) OF NUMBERとして定義されるSDO_SRID_CHAIN型のオブジェクトを戻します。

次の例では、SRID 4804からSRID 4257への変換で使用するSRID値のデフォルトの連鎖を戻します。

SELECT MDSYS.SDO_CS.DETERMINE_DEFAULT_CHAIN(4804, 4257) FROM DUAL;
 
MDSYS.SDO_CS.DETERMINE_DEFAULT_CHAIN(4804,4257)                                 
--------------------------------------------------------------------------------
SDO_SRID_CHAIN(NULL, 4804, 4257, NULL)

SDO_CS.FIND_GEOG_CRS

構文

SDO_CS.FIND_GEOG_CRS(

     reference_srid IN NUMBER,

     is_legacy IN VARCHAR2,

     max_rel_num_difference IN NUMBER DEFAULT 0.000001) RETURN SDO_SRID_LIST;

説明

指定した参照SRID値を持つ座標参照系と同じwell-knownテキスト(WKT)数値を持つ測地(地理)座標参照系のSRID値を戻します。

パラメータ

reference_srid

同じWKT数値を持つ他のすべての測地座標参照系を検索する座標参照系のSRIDを指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

is_legacy

TRUEは、SDO_COORD_REF_SYS表(6.7.9項を参照)のIS_LEGACY列の値がTRUEである測地座標参照系に結果を制限します。FALSEは、SDO_COORD_REF_SYS表のIS_LEGACY列の値がFALSEである測地座標参照系に結果を制限します。このパラメータにNULL値を指定すると、結果の判断時に、SDO_COORD_REF_SYS表のIS_LEGACY列の値は無視されます。

max_rel_num_difference

投影座標参照系を一致対象にする場合、WKT値がどの程度一致する必要があるかを示す数値を指定します。デフォルト値は0.000001です。WKT項目の各数値は、参照SRIDのWKT内の対応する値と比較されるか、このファンクションで指定するパラメータのリスト内の対応する値と比較されます。すべてのケースで差がmax_rel_num_differenceの値以下の場合は、この座標参照系のSRIDが結果に含まれます。

使用上の注意

このファンクションは、VARRAY(1048576) OF NUMBERとして定義されるSDO_SRID_LIST型のオブジェクトを戻します。

well-knownテキスト(WKT)形式の詳細は、6.8.1.1項を参照してください。

次の例では、is_legacyパラメータ値が結果に与える影響を示します。最初の例では、SRID値が8307の座標参照系と同じWKT数値を持つすべてのレガシー測地座標参照系のSRID値を戻します。

SELECT SDO_CS.FIND_GEOG_CRS(
  8307,
  'TRUE') FROM DUAL;

SDO_CS.FIND_GEOG_CRS(8307,'TRUE')                                               
--------------------------------------------------------------------------------
SDO_SRID_LIST(8192, 8265, 8307, 8311, 8320, 524288, 2000002, 2000006, 2000012, 2
000015, 2000023, 2000028)     

次の例では、SRID値が8307の座標参照系と同じWKT数値を持つすべての非レガシー測地座標参照系のSRID値を戻します。

SELECT SDO_CS.FIND_GEOG_CRS(
  8307,
  'FALSE') FROM DUAL;

SDO_CS.FIND_GEOG_CRS(8307,'FALSE')                                              
--------------------------------------------------------------------------------
SDO_SRID_LIST(4019, 4030, 4031, 4032, 4033, 4041, 4121, 4122, 4126, 4130, 4133, 
4140, 4141, 4148, 4151, 4152, 4163, 4166, 4167, 4170, 4171, 4172, 4173, 4176, 41
80, 4189, 4190, 4258, 4269, 4283, 4318, 4319, 4326, 4610, 4612, 4617, 4619, 4624
, 4627, 4640, 4659, 4661, 4667, 4669, 4670) 

次の例では、SRID値が8307の座標参照系と同じWKT数値を持つすべての測地座標参照系(レガシーおよび非レガシー)のSRID値を戻します。

SELECT SDO_CS.FIND_GEOG_CRS(
  8307,
  NULL) FROM DUAL;
 
SDO_CS.FIND_GEOG_CRS(8307,NULL)                                                 
--------------------------------------------------------------------------------
SDO_SRID_LIST(4019, 4030, 4031, 4032, 4033, 4041, 4121, 4122, 4126, 4130, 4133, 
4140, 4141, 4148, 4151, 4152, 4163, 4166, 4167, 4170, 4171, 4172, 4173, 4176, 41
80, 4189, 4190, 4258, 4269, 4283, 4318, 4319, 4326, 4610, 4612, 4617, 4619, 4624
, 4627, 4640, 4659, 4661, 4667, 4669, 4670, 8192, 8265, 8307, 8311, 8320, 524288
, 2000002, 2000006, 2000012, 2000015, 2000023, 2000028) 

SDO_CS.FIND_PROJ_CRS

構文

SDO_CS.FIND_PROJ_CRS(

     reference_srid IN NUMBER,

     is_legacy IN VARCHAR2,

     max_rel_num_difference IN NUMBER DEFAULT 0.000001) RETURN SDO_SRID_LIST;

説明

指定した参照SRID値を持つ座標参照系と同じwell-knownテキスト(WKT)数値を持つ投影座標参照系のSRID値を戻します。

パラメータ

reference_srid

同じWKT数値を持つ他のすべての投影座標参照系を検索する座標参照系のSRIDを指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

is_legacy

TRUEは、SDO_COORD_REF_SYS表(6.7.9項を参照)のIS_LEGACY列の値がTRUEである投影座標参照系に結果を制限します。FALSEは、SDO_COORD_REF_SYS表のIS_LEGACY列の値がFALSEである投影座標参照系に結果を制限します。このパラメータにNULL値を指定すると、結果の判断時に、SDO_COORD_REF_SYS表のIS_LEGACY列の値は無視されます。

max_rel_num_difference

座標参照系を一致対象にする場合、WKT値がどの程度一致する必要があるかを示す数値を指定します。デフォルト値は0.000001です。WKT項目の各数値は、参照SRIDのWKT内の対応する値と比較されるか、このファンクションで指定するパラメータのリスト内の対応する値と比較されます。すべてのケースで差がmax_rel_num_differenceの値以下の場合は、この座標参照系のSRIDが結果に含まれます。

使用上の注意

このファンクションは、VARRAY(1048576) OF NUMBERとして定義されるSDO_SRID_LIST型のオブジェクトを戻します。

well-knownテキスト(WKT)形式の詳細は、6.8.1.1項を参照してください。

次の例では、is_legacyパラメータ値が結果に与える影響を示します。最初の例では、SRID値が2007の座標参照系と同じWKT数値を持つすべてのレガシー投影座標参照系のSRID値を戻します。検索条件に一致するレガシー投影座標参照系はないため、戻される結果リストは空になります。

SELECT SDO_CS.FIND_PROJ_CRS(
  2007,
  'TRUE') FROM DUAL;
 
SDO_CS.FIND_PROJ_CRS(2007,'TRUE')                                               
--------------------------------------------------------------------------------
SDO_SRID_LIST()

次の例では、SRID値が2007の座標参照系と同じWKT数値を持つすべての非レガシー投影座標参照系のSRID値を戻します。

SELECT SDO_CS.FIND_PROJ_CRS(
  2007,
  'FALSE') FROM DUAL;
 
SDO_CS.FIND_PROJ_CRS(2007,'FALSE')                                              
--------------------------------------------------------------------------------
SDO_SRID_LIST(2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 21291)

次の例では、SRID値が2007の座標参照系と同じWKT数値を持つすべての投影座標参照系(レガシーおよび非レガシー)のSRID値を戻します。戻される結果リストは、前述の例と同じになります。

SELECT SDO_CS.FIND_PROJ_CRS(
  2007,
  NULL) FROM DUAL;
 
SDO_CS.FIND_PROJ_CRS(2007,NULL)                                                 
--------------------------------------------------------------------------------
SDO_SRID_LIST(2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 21291)

SDO_CS.FIND_SRID

構文

SDO_CS.FIND_SRID(

     srid OUT NUMBER,

     epsg_srid_geog IN NUMBER DEFAULT NULL,

     epsg_srid_proj IN NUMBER DEFAULT NULL,

     datum_id IN NUMBER DEFAULT NULL,

     pm_id IN NUMBER DEFAULT NULL,

     proj_method_id IN NUMBER DEFAULT NULL,

     coord_ref_sys_kind IN VARCHAR2 DEFAULT NULL,

     semi_major_axis IN NUMBER DEFAULT NULL,

     semi_minor_axis IN NUMBER DEFAULT NULL,

     inv_flattening IN NUMBER DEFAULT NULL,

     params IN EPSG_PARAMS DEFAULT NULL);

または

SDO_CS.FIND_SRID(

     srid OUT NUMBER,

     epsg_srid_geog IN NUMBER DEFAULT NULL,

     epsg_srid_proj IN NUMBER DEFAULT NULL,

     datum_id IN NUMBER DEFAULT NULL,

     pm_id IN NUMBER DEFAULT NULL,

     proj_method_id IN NUMBER DEFAULT NULL,

     proj_op_id IN NUMBER DEFAULT NULL,

     coord_ref_sys_kind IN VARCHAR2 DEFAULT NULL,

     semi_major_axis IN NUMBER DEFAULT NULL,

     semi_minor_axis IN NUMBER DEFAULT NULL,

     inv_flattening IN NUMBER DEFAULT NULL,

     params IN EPSG_PARAMS DEFAULT NULL,

     max_rel_num_difference IN NUMBER DEFAULT 0.000001);

説明

指定した情報に一致する座標系のSRID値を検索します。

パラメータ

srid

出力パラメータ。SRID値(数値)またはNULL値を含みます(「使用上の注意」を参照)。

epsg_srid_geog

地理座標系のEPGS SRID値。coord_ref_sys_kindパラメータの値に応じて、地理SRID値を持つ座標系の存在を確認するか、またはこのSRID値を持つ座標系に基づく投影座標系のSRID値を検索します。

epsg_srid_proj

投影座標系のEPGS SRID値。

datum_id

データID値。coord_ref_sys_kindパラメータの値に応じて、このデータに基づく地理座標系または投影座標系のSRIDを検索します。

ellipsoid_id

楕円体のID値。coord_ref_sys_kindパラメータの値に応じて、この楕円体に基づく地理座標系または投影座標系のSRIDを検索します。

pm_id

本初子午線のID値。coord_ref_sys_kindパラメータの値に応じて、この本初子午線に基づく地理座標系または投影座標系のSRIDを検索します。

proj_method_id

投影方法のID値。この投影方法に基づく投影座標系のSRIDを検索します。

proj_op_id

投影操作のID値。この投影操作に基づく投影座標系のSRIDを検索します。投影操作は、特定の投影パラメータと組み合された投影方法です。

coord_ref_sys_kind

座標系の種類またはカテゴリ。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のCOORD_REF_SYS_KIND列の文字列値である必要があります。例: GEOGRAPHIC2DおよびPROJECTED

semi_major_axis

半長径のID値。coord_ref_sys_kindパラメータの値に応じて、この半長径に基づく地理座標系または投影座標系のSRIDを検索します。

semi_minor_axis

半短径のID値。coord_ref_sys_kindパラメータの値に応じて、この半短径に基づく地理座標系または投影座標系のSRIDを検索します。

inv_flattening

逆フラット化(単位は「unity」)。coord_ref_sys_kindパラメータの値に応じて、この逆フラット化に基づく地理座標系または投影座標系のSRIDを検索します。

params

投影パラメータ。このパラメータは、投影方法に基づきます。EPSG_PARAMSタイプはVARRAY(1048576) OF EPSG_PARAMとして定義され、EPSG_PARAMタイプは(id NUMBER, val NUMBER, uom NUMBER)として定義されます。次の例に示すように、この書式にはパラメータID、値、測定単位IDの属性が含まれます。

epsg_params(
  epsg_param(8801,      0.0,    9102),
  epsg_param(8802,      9.0,    9102),
  epsg_param(8805,      0.9996, 9201),
  epsg_param(8806, 500000.0,    9001),
  epsg_param(8807,      0.0,    9001));
max_rel_num_difference

座標参照系を一致対象にする場合、WKT値がどの程度一致する必要があるかを示す数値を指定します。デフォルト値は0.000001です。WKT項目の各数値は、参照SRIDのWKT内の対応する値と比較されるか、このプロシージャで指定するパラメータのリスト内の対応する値と比較されます。すべてのケースで差がmax_rel_num_differenceの値以下の場合は、この座標参照系のSRIDが結果に含まれます。

使用上の注意

このプロシージャは、操作の結果をsrid出力パラメータに格納します。結果は、SRID値(数値)またはNULL値のいずれかです。

このプロシージャには、主に次の使用方法があります。

  • 特定のSRID値を持つ座標系が存在するかどうかを確認します。この場合、epsg_srid_geog(地理座標系の場合)またはepsg_srid_proj(投影座標系の場合)に値を指定し、有効なPL/SQL文を作成するのに十分な数のパラメータを指定します。指定した値と結果のsridパラメータの値が同じ場合は、そのSRID値を持つ座標系が存在します。結果のsridパラメータの値がNULLの場合は、そのSRID値を持つ座標系は存在しません。

  • 指定した情報に基づく座標系のSRID値を検索します。

入力パラメータで指定した基準に一致する座標系が複数ある場合も、sridパラメータには1つのSRID値のみが戻されます。この値は、一致している可能性のあるSRID値うちのいずれの値になる可能性もあり、同じ入力パラメータを指定して、後でこのプロシージャを実行しても、同じ値が得られる保証はありません。

次の例では、定義にデータID6267を使用する投影座標系のSRID値を検索します。

DECLARE
  returned_srid  NUMBER;
BEGIN
SDO_CS.FIND_SRID (
   srid               => returned_srid,
   epsg_srid_geog     => null,
   epsg_srid_proj     => null,
   datum_id           => 6267,
   ellips_id          => null,
   pm_id              => null,
   proj_method_id     => null,
   proj_op_id         => null,
   coord_ref_sys_kind => 'PROJECTED');
DBMS_OUTPUT.PUT_LINE('SRID = ' || returned_srid);
END;
/
SRID = 4267

SDO_CS.FROM_OGC_SIMPLEFEATURE_SRS

構文

SDO_CS.FROM_OGC_SIMPLEFEATURE_SRS(

     wkt IN VARCHAR2) RETURN VARCHAR2;

説明

well-knownテキスト文字列をTOWGS84キーワードのないOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードを含む形式に変換します。

パラメータ

wkt

well-knownテキスト文字列を指定します。

使用上の注意

well-knownテキスト文字列をTOWGS84キーワードを含むOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードのない形式に変換するには、SDO_CS.TO_OGC_SIMPLEFEATURE_SRSファンクションを使用します。

次の例では、well-knownテキスト文字列をTOWGS84キーワードのないOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードを含む形式に変換します。

SELECT sdo_cs.from_OGC_SimpleFeature_SRS('GEOGCS [ "Longitude / Latitude (DHDN)", 
  DATUM ["", SPHEROID ["Bessel 1841", 6377397.155, 299.1528128], 
  582.000000, 105.000000, 414.000000, -1.040000, -0.350000, 3.080000, 8.300000 ], 
  PRIMEM [ "Greenwich", 0.000000 ], UNIT ["Decimal Degree", 0.01745329251994330]]') 
FROM DUAL;
 
MDSYS.SDO_CS.FROM_OGC_SIMPLEFEATURE_SRS('GEOGCS["LONGITUDE/LATITUDE(DHDN)",DATUM
--------------------------------------------------------------------------------
GEOGCS [ "Longitude / Latitude (DHDN)", DATUM ["", SPHEROID ["Bessel 1841", 6377
397.155, 299.1528128], TOWGS84[ 582.000000, 105.000000, 414.000000, -1.040000, -
0.350000, 3.080000, 8.300000]], PRIMEM [ "Greenwich", 0.000000 ], UNIT ["Decimal
 Degree", 0.01745329251994330]]

SDO_CS.FROM_USNG

構文

SDO_CS.FROM_USNG(

     usng IN VARCHAR2,

     srid IN NUMBER,

     datum IN VARCHAR2 DEFAULT 'NAD83') RETURN SDO_GEOMETRY;

説明

U.S. National Grid形式で表される点を空間点ジオメトリ・オブジェクトに変換します。

パラメータ

usng

well-knownテキスト文字列を指定します。

srid

変換に使用する座標系のSRID(戻されるジオメトリで使用するSRID)を指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

datum

点のU.S. National Grid座標がベースとするデータの名前を指定します。この値は、SDO_DATUMS表(6.7.22項を参照)のDATUM_NAME列の値またはNULLのいずれかである必要があります。デフォルト値はNAD83です。

使用上の注意

Oracle SpatialでサポートされるU.S. National Gridの詳細は、6.11項を参照してください。

空間点ジオメトリをU.S. National Grid形式で表される点に変換するには、SDO_CS.TO_USNGファンクションを使用します。

次の例では、U.S. National Grid形式で表される点を、経度/緯度座標の付いた空間ジオメトリの点オブジェクトに変換します。

-- Convert US National Grid point to SDO_GEMETRY point using SRID 4326
-- (WGS 84, longitude/latitude).
SELECT SDO_CS.FROM_USNG(
  '18SUJ2348316806479498',
  4326) FROM DUAL;
 
WGS84(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_ORDINATES)
--------------------------------------------------------------------------------
SDO_GEOMETRY(2001, 4326, SDO_POINT_TYPE(-77.03524, 38.8894673, NULL), NULL, NULL)

SDO_CS.GET_EPSG_DATA_VERSION

構文

SDO_CS.GET_EPSG_DATA_VERSION() RETURN VARCHAR2;

説明

Spatialによって使用されるEPSGデータセットのバージョン番号を取得します。

パラメータ

なし。

使用上の注意

EPSGデータセットは、European Petroleum Survey Groupから提供されており、Microsoft Access 97データベース形式およびSQLスクリプトとして配布されています。

次の例では、Spatialによって使用されるEPSGデータセットのバージョン番号を取得します。

SELECT SDO_CS.GET_EPSG_DATA_VERSION FROM DUAL;
 
GET_EPSG_DATA_VERSION
-------------------------------------------------------------------------------
6.5

SDO_CS.MAKE_2D

構文

SDO_CS.MAKE_2D(

     geom3d IN SDO_GEOMETRY,

     target_srid IN NUMBER DEFAULT NULL) RETURN SDO_GEOMETRY;

説明

3次元のジオメトリを2次元のジオメトリに変換します。

パラメータ

geom3d

3次元のジオメトリ・オブジェクトを指定します。

target_srid

ターゲット座標参照系のSRIDを指定します。この値は、NULLまたはSDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

使用上の注意

このファンクションは、入力ジオメトリの各頂点から3番目の次元値(高さ)を削除した2次元のジオメトリ・オブジェクトを戻します。

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

次の例では、3番目の次元値(高さ)をすべて削除して、3次元のジオメトリを2次元のジオメトリに変換します。(この例では、SDO_CS.MAKE_3Dファンクションの例からの出力ジオメトリを入力ジオメトリとして使用します。)

SELECT SDO_CS.MAKE_2D(SDO_GEOMETRY(3003, 8307, NULL,
 SDO_ELEM_INFO_ARRAY(1, 1003, 1),
   SDO_ORDINATE_ARRAY(1, 1, 10, 5, 1, 10, 5, 7, 10, 1, 7, 10, 1, 1, 10)))
FROM DUAL;
 
SDO_CS.MAKE_2D(SDO_GEOMETRY(3003,8307,NULL,SDO_ELEM_INFO_ARRAY(1,1003,1),SDO_ORD
--------------------------------------------------------------------------------
SDO_GEOMETRY(2003, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR
AY(1, 1, 5, 1, 5, 7, 1, 7, 1, 1))

SDO_CS.MAKE_3D

構文

SDO_CS.MAKE_3D(

     geom2d IN SDO_GEOMETRY,

     height IN NUMBER DEFAULT 0,

     target_srid IN NUMBER DEFAULT NULL) RETURN SDO_GEOMETRY;

説明

2次元のジオメトリを3次元のジオメトリに変換します。

パラメータ

geom2d

2次元のジオメトリ・オブジェクトを指定します。

height

戻されたジオメトリ内のすべての頂点に対して、3番目の次元で使用される高さの値を指定します。このパラメータがNULLであるか、または指定されていない場合は、すべての頂点に対して高さ0(ゼロ)が使用されます。

target_srid

ターゲット座標参照系のSRIDを指定します。この値は、NULLまたはSDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

使用上の注意

このファンクションを使用して、次元間での変換をシミュレートする方法については、6.5.4項を参照してください。

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

次の例では、cola_aの2次元ジオメトリを3次元ジオメトリに変換します。(例では、6.13項の例の定義を使用しています。)

SELECT SDO_CS.MAKE_3D(c.shape, 10, 8307) FROM cola_markets_cs c
  WHERE c.name = 'cola_a';
 
SDO_CS.MAKE_3D(C.SHAPE,10,8307)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELE
--------------------------------------------------------------------------------
SDO_GEOMETRY(3003, 8307, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR
AY(1, 1, 10, 5, 1, 10, 5, 7, 10, 1, 7, 10, 1, 1, 10))

SDO_CS.MAP_EPSG_SRID_TO_ORACLE

構文

SDO_CS.MAP_EPSG_SRID_TO_ORACLE(

     epsg_srid IN NUMBER) RETURN NUMBER;

説明

指定したEPSG SRID値に対応するOracle Spatial SRID値を戻します。

パラメータ

epsg_srid

EPSG座標参照系のSRIDを指定します。EPSG座標参照系表のCOORD_REF_SYS_CODEフィールドに示されます。

使用上の注意

このファンクションは、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値に一致する値を戻します。

指定したOracle Spatial SRID値に対応するEPSG SRID値を戻すには、SDO_CS.MAP_ORACLE_SRID_TO_EPSGファンクションを使用します。

次の例では、EPSG SRID 23038に対応するOracle Spatial SRID値を戻します。

SELECT SDO_CS.MAP_EPSG_SRID_TO_ORACLE(23038) FROM DUAL;
 
SDO_CS.MAP_EPSG_SRID_TO_ORACLE(23038)                                           
-------------------------------------                                           
                                82361

SDO_CS.MAP_ORACLE_SRID_TO_EPSG

構文

SDO_CS.MAP_ORACLE_SRID_TO_EPSG(

     legacy_srid IN NUMBER) RETURN NUMBER;

説明

指定したOracle Spatial SRID値に対応するEPSG SRID値を戻します。

パラメータ

legacy_srid

Oracle Spatial SRID値を指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のLEGACY_CODE列の値と一致する必要があります。

使用上の注意

このファンクションは、EPSG座標参照系のSRIDを戻します。座標参照系のEPSG SRID値は、EPSG座標参照系表のCOORD_REF_SYS_CODEフィールドに示されます。

指定したEPSG SRID値に対応するOracle Spatial SRID値を戻すには、SDO_CS.MAP_EPSG_SRID_TO_ORACLEファンクションを使用します。

次の例では、Oracle Spatial SRID 82361に対応するEPSG SRID値を戻します。

SELECT SDO_CS.MAP_ORACLE_SRID_TO_EPSG(82361) FROM DUAL;
 
SDO_CS.MAP_ORACLE_SRID_TO_EPSG(82361)                                           
-------------------------------------                                           
                                23038

SDO_CS.REVOKE_PREFERENCE_FOR_OP

構文

SDO_CS.REVOKE_PREFERENCE_FOR_OP(

     op_id IN NUMBER,

     source_crs IN NUMBER DEFAULT NULL,

     target_crs IN NUMBER DEFAULT NULL,

     use_case IN VARCHAR2 DEFAULT NULL);

説明

ソース座標系とターゲット座標系の間での操作のプリファレンスを取り消します。

パラメータ

op_id

操作のID番号を指定します。この値は、SDO_CS.ADD_PREFERENCE_FOR_OPプロシージャへのコールで指定したop_id値と一致する必要があります。

source_crs

ソース座標参照系のSRIDを指定します。この値は、SDO_CS.ADD_PREFERENCE_FOR_OPプロシージャへのコールで指定したsource_crstarget_crsおよびuse_caseの組合せのsource_crs値と一致する必要があります。

target_crs

ターゲット座標参照系のSRIDを指定します。SDO_CS.ADD_PREFERENCE_FOR_OPプロシージャへのコールで指定したsource_crstarget_crsおよびuse_caseの組合せのtarget_crs値と一致する必要があります。

use_case

このプリファレンスに関連付けられたユースケースの名前を指定します。SDO_CS.ADD_PREFERENCE_FOR_OPプロシージャへのコールで指定したsource_crstarget_crsおよびuse_caseの組合せのuse_case値と一致する必要があります。

使用上の注意

このプロシージャは、SDO_CS.ADD_PREFERENCE_FOR_OPプロシージャの効果とは逆になります。

use_caseがNULLの場合、このプロシージャはSDO_PREFERRED_OPS_SYSTEM表(6.7.24項を参照)から1つ以上の行を削除します。use_caseがNULL以外の場合、このプロシージャはSDO_PREFERRED_OPS_USER表(6.7.25項を参照)から1つ以上の行を削除します。

次の例では、ユースケースuse_case_Bが変換の対象に指定されている場合に、SRID 4301からSRID 4326への変換で使用する操作ID 19777のプリファレンスを取り消します。

EXECUTE SDO_CS.REVOKE_PREFERENCE_FOR_OP(19977, 4301, 4326, 'use_case_B');

SDO_CS.TO_OGC_SIMPLEFEATURE_SRS

構文

SDO_CS.TO_OGC_SIMPLEFEATURE_SRS(

     wkt IN VARCHAR2) RETURN VARCHAR2;

説明

well-knownテキスト文字列を、TOWGS84キーワードを含むOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードのない形式に変換します。

パラメータ

wkt

well-knownテキスト文字列を指定します。

使用上の注意

well-knownテキスト文字列をTOWGS84キーワードのないOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードを含む形式に変換するには、SDO_CS.FROM_OGC_SIMPLEFEATURE_SRSプロシージャを使用します。

次の例では、well-knownテキスト文字列をTOWGS84キーワードを含むOpen Geospatial Consortiumのシンプル・フィーチャ形式からTOWGS84キーワードのない形式に変換します。

SELECT sdo_cs.to_OGC_SimpleFeature_SRS('GEOGCS [ "Longitude / Latitude (DHDN)", 
  DATUM ["", SPHEROID ["Bessel 1841", 6377397.155, 299.1528128], 
  TOWGS84 [582.000000, 105.000000, 414.000000, -1.040000, -0.350000, 3.080000,
    8.300000] ],
  PRIMEM [ "Greenwich", 0.000000 ], UNIT ["Decimal Degree", 0.01745329251994330]]')
FROM DUAL;
 
MDSYS.SDO_CS.TO_OGC_SIMPLEFEATURE_SRS('GEOGCS["LONGITUDE/LATITUDE(DHDN)",DATUM["
--------------------------------------------------------------------------------
GEOGCS [ "Longitude / Latitude (DHDN)", DATUM ["", SPHEROID ["Bessel 1841", 6377
397.155, 299.1528128], 582.000000, 105.000000, 414.000000, -1.040000, -0.350000,
3.080000, 8.300000 ], PRIMEM [ "Greenwich", 0.000000 ], UNIT ["Decimal Degree",
0.01745329251994330]]

SDO_CS.TO_USNG

構文

SDO_CS.TO_USNG(

     geom IN SDO_GEOMETRY,

     accuracy_in_meters IN NUMBER,

     datum IN VARCHAR2 DEFAULT 'NAD83') RETURN VARCHAR2;

説明

空間点ジオメトリ・オブジェクトをU.S. National Grid形式で表される点に変換します。

パラメータ

geom

表現をU.S. National Grid形式で表される点に変換する点ジオメトリを指定します。入力ジオメトリには、NULL以外の有効なSRID(SDO_COORD_REF_SYS表のSRID列の値)を指定する必要があります(6.7.9項を参照)。

accuracy_in_meters

点の位置の精度をm単位で指定します。負または正の方向に10の累乗単位で指定します(0.001、0.01、0.1、1、10、100、1000など)。これ以外の値を指定すると、Spatialによって内部調節されるため、結果が予想した値と異なることがあります。

datum

点のU.S. National Grid座標がベースとするデータの名前を指定します。NAD83またはNAD27のいずれかを指定する必要があります。デフォルト値はNAD83です。

使用上の注意

Oracle SpatialでサポートされるU.S. National Gridの詳細は、6.11項を参照してください。

accuracy_in_meters値は、戻されるU.S. National Grid文字列の精度を表すために使用される桁数に影響を与えます。たとえば、0.000001を指定すると、文字列の桁数は多くなりますが、データのソースによっては、この桁が実際の地理を正確に反映しないことがあります。次の例を考えてみます。UTMジオメトリからU.S. National Grid文字列を作成すると、不正確な変換は伴わないため、完全な精度が得られます。ただし、Lambert投影からU.S. National Grid形式への変換には、逆のLambert投影と前方UTM投影が伴うため、各投影が不正確になることがあります。戻されるU.S. National Grid文字列で1mm(0.001)の精度を求める場合は、この文字列にすべての桁が含まれますが、mmの桁の部分は正確な地理を反映しない可能性があります。

U.S. National Grid形式で表される点を空間点ジオメトリに変換するには、SDO_CS.FROM_USNGファンクションを使用します。

次の例では、経度/緯度座標の付いた空間ジオメトリの点オブジェクトを、0.001m(1mm)の精度を使用するU.S. National Grid形式で表される点に変換します。

-- Convert longitude/latitude (WGS 84) point to US National Grid.
SELECT SDO_CS.TO_USNG(
  SDO_GEOMETRY(2001, 4326,
    SDO_POINT_TYPE(-77.0352402158258, 38.8894673086544, NULL),
    NULL, NULL),
  0.001) FROM DUAL;
 
SDO_CS.TO_USNG(SDO_GEOMETRY(2001,4326,SDO_POINT_TYPE(-77.0352402158258,38.889467
--------------------------------------------------------------------------------
18SUJ2348316806479498

SDO_CS.TRANSFORM

構文

SDO_CS.TRANSFORM(

     geom IN SDO_GEOMETRY,

     to_srid IN NUMBER

     ) RETURN SDO_GEOMETRY;

または

SDO_CS.TRANSFORM(

     geom IN SDO_GEOMETRY,

     to_srname IN VARCHAR2

     ) RETURN SDO_GEOMETRY;

または

SDO_CS.TRANSFORM(

     geom IN SDO_GEOMETRY,

     use_case IN VARCHAR2,

     to_srid IN NUMBER

     ) RETURN SDO_GEOMETRY;

または

SDO_CS.TRANSFORM(

     geom IN SDO_GEOMETRY,

     use_plan IN TFM_PLAN

     ) RETURN SDO_GEOMETRY;

説明

座標系(SRIDまたは名前で指定)を使用してジオメトリ表現を変換します。

変換にユースケースまたは変換計画を関連付けることもできます。

パラメータ

geom

他の座標系を使用して表現を変換するジオメトリを指定します。入力ジオメトリには、NULL以外の有効なSRID(SDO_COORD_REF_SYS表のSRID列の値)を指定する必要があります(6.7.9項を参照)。

to_srid

変換に使用する座標系のSRIDを指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

to_srname

変換に使用する座標系の名前を指定します。この値は、SDO_COORD_REF_SYS表(6.7.9項を参照)のCOORD_REF_SYS_NAME列の正確に指定された値である必要があります。

use_case

この変換に関連付けるユースケースの名前を指定します。文字列USE_SPHERICALを指定すると、変換は楕円体の計算ではなく球体の計算を使用するので、対応するGoogle Mapsおよびその他のサード・パーティのツールは球体の計算に基づいた投影を使用することになります。ユースケースの詳細は、6.4項を参照してください。Google Mapsに関する考慮事項は6.12項を参照してください。

use_plan

変換計画を指定します。TFM_PLANオブジェクト型の詳細は、6.6項を参照してください。

使用上の注意

変換は、2つの異なる地形参照座標系間または2つの異なるローカル座標系間のみで実行できます。

使用する座標系の種類に関係なく、円および円弧の変換はサポートされていません。

geomto_sridまたはto_srnameが無効な場合は例外が発生します。このファンクションに有効なgeomは、その定義にSDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値と一致するSRIDの値が含まれている必要があります。

次の例では、cola_cジオメトリを、SRID値8199を使用する表現に変換します。(例では、6.13項の例の定義を使用しています。)

-- Return the transformation of cola_c using to_srid 8199 
-- ('Longitude / Latitude (Arc 1950)')
SELECT c.name, SDO_CS.TRANSFORM(c.shape, 8199) 
  FROM cola_markets_cs c WHERE c.name = 'cola_c';

NAME
--------------------------------
SDO_CS.TRANSFORM(C.SHAPE,8199)(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM
--------------------------------------------------------------------------------
cola_c
SDO_GEOMETRY(2003, 8199, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR
AY(3.00074114, 3.00291482, 6.00067068, 3.00291287, 6.0006723, 5.00307625, 4.0007
1961, 5.00307838, 3.00074114, 3.00291482))

-- Same as preceding, but using to_srname parameter.
SELECT c.name, SDO_CS.TRANSFORM(c.shape, 'Longitude / Latitude (Arc 1950)') 
  FROM cola_markets_cs c  WHERE c.name = 'cola_c';

NAME
--------------------------------
SDO_CS.TRANSFORM(C.SHAPE,'LONGITUDE/LATITUDE(ARC1950)')(SDO_GTYPE, SDO_SRID, SDO
--------------------------------------------------------------------------------
cola_c
SDO_GEOMETRY(2003, 8199, NULL, SDO_ELEM_INFO_ARRAY(1, 1003, 1), SDO_ORDINATE_ARR
AY(3.00074114, 3.00291482, 6.00067068, 3.00291287, 6.0006723, 5.00307625, 4.0007
1961, 5.00307838, 3.00074114, 3.00291482))

SDO_CS.TRANSFORM_LAYER

構文

SDO_CS.TRANSFORM_LAYER(

     table_in IN VARCHAR2,

     column_in IN VARCHAR2,

     table_out IN VARCHAR2,

     to_srid IN NUMBER);

または

SDO_CS.TRANSFORM_LAYER(

     table_in IN VARCHAR2,

     column_in IN VARCHAR2,

     table_out IN VARCHAR2,

     use_plan IN TFM_PLAN);

または

SDO_CS.TRANSFORM_LAYER(

     table_in IN VARCHAR2,

     column_in IN VARCHAR2,

     table_out IN VARCHAR2,

     use_case IN VARCHAR2,

     to_srid IN NUMBER);

説明

ジオメトリのレイヤー全体(表内の指定した列に含まれるすべてのジオメトリ)を変換します。

パラメータ

table_in

ジオメトリを変換するレイヤー(column_in)を含む表を指定します。

column_in

変換するジオメトリを含む、table_inの列を指定します。

table_out

変換の結果作成される表で、変換結果を含みます。この表の形式については、「使用上の注意」を参照してください。

to_srid

変換に使用する座標系のSRIDを指定します。to_sridは、SDO_COORD_REF_SYS表(6.7.9項を参照)のSRID列の値である必要があります。

use_plan

変換計画を指定します。TFM_PLANオブジェクト型の詳細は、6.6項を参照してください。

use_case

変換を実行する際に変換ルールを適用するユースケースの名前を指定します。ユースケースの詳細は、6.4項を参照してください。

使用上の注意

変換は、2つの異なる地形参照座標系間または2つの異なるローカル座標系間のみで実行できます。

次の場合に例外が発生します。

  • table_inが存在しない、または表にcolumn_inが存在しない場合

  • column_inのジオメトリのSDO_SRID値がNULLまたは無効である場合

  • table_outがすでに存在する場合

  • to_sridが無効な場合

table_out表は、プロシージャによって作成され、変換したジオメトリごとに1行書き込まれます。この表には、表21-2に示す列があります。

表21-2 変換したレイヤーを格納する表

列名 データ型 説明

SDO_ROWID

ROWID

Oracle ROWID(行アドレス識別子)です。ROWIDデータ型については、『Oracle Database SQL言語リファレンス』を参照してください。

GEOMETRY

SDO_GEOMETRY

(to_sridパラメータで)指定した座標系に座標値を持つジオメトリ・オブジェクトです。


次の例では、COLA_MARKETS_CS表のshape列のジオメトリをSRID値8199を使用する表現に変換します。変換されたジオメトリは、新しく作成されたCOLA_MARKETS_CS_8199表に格納されます。(例では、6.13項の例の定義を使用しています。)

-- Transform the entire SHAPE layer and put results in the table
-- named cola_markets_cs_8199, which the procedure will create.
CALL SDO_CS.TRANSFORM_LAYER('COLA_MARKETS_CS','SHAPE','COLA_MARKETS_CS_8199',8199);

6.13項例6-18は、COLA_MARKETS_CSおよびCOLA_MARKETS_CS_8199の両方の表のジオメトリ・オブジェクトの座標表示を含みます。

SDO_CS.UPDATE_WKTS_FOR_ALL_EPSG_CRS

構文

SDO_CS.UPDATE_WKTS_FOR_ALL_EPSG_CRS();

説明

すべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

パラメータ

なし。

使用上の注意

well-knownテキスト(WKT)の説明を更新するプロシージャの使用方法については、6.8.1.3項を参照してください。

次の例では、すべてのEPSG座標参照系のWKTの説明を更新します。

EXECUTE SDO_CS.UPDATE_WKTS_FOR_ALL_EPSG_CRS;
Updating SRID 4001...                                                           
Updating SRID 4002...                                                           
Updating SRID 4003...                                                           
. . .                                                      
Updating SRID 69036405...                                                       
Updating SRID 69046405...

SDO_CS.UPDATE_WKTS_FOR_EPSG_CRS

構文

SDO_CS.UPDATE_WKTS_FOR_EPSG_CRS(

     srid IN NUMBER);

説明

指定したSRIDに関連付けられたEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

パラメータ

srid

well-knownテキスト(WKT)の説明を更新する座標系のSRIDを指定します。指定する値のエントリは、SDO_COORD_REF_SYS表(6.7.9項を参照)に含まれている必要があります。

使用上の注意

このプロシージャは、指定したSRIDおよびすべての依存SRIDのWKTの説明を更新します。たとえば、SRID 4326 (WGS84測地座標系)の場合、この測地座標系を使用するすべてのEPSG座標系が更新されます。

well-knownテキスト(WKT)の説明を更新するプロシージャの使用方法については、6.8.1.3項を参照してください。

次の例では、SRID 4326に関連付けられたEPSG座標参照系のWKTの説明を更新します。

EXECUTE SDO_CS.UPDATE_WKTS_FOR_EPSG_CRS(4326);

SDO_CS.UPDATE_WKTS_FOR_EPSG_DATUM

構文

SDO_CS.UPDATE_WKTS_FOR_EPSG_DATUM(

     datum_id IN NUMBER);

説明

指定したデータに関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

パラメータ

datum_id

データのIDを指定します。この値は、SDO_DATUMS表(6.7.22項を参照)のDATUM_ID列の値と一致する必要があります。

使用上の注意

well-knownテキスト(WKT)の説明を更新するプロシージャの使用方法については、6.8.1.3項を参照してください。

次の例では、データ5100に関連付けられたすべてのEPSG座標参照系のWKTの説明を更新します。

EXECUTE SDO_CS.UPDATE_WKTS_FOR_EPSG_DATUM(5100);
Updating SRID 5714...                                                           
Updating SRID 5715...

SDO_CS.UPDATE_WKTS_FOR_EPSG_ELLIPS

構文

SDO_CS.UPDATE_WKTS_FOR_EPSG_ELLIPS(

     ellipsoid_id IN NUMBER);

説明

指定した楕円体に関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

パラメータ

ellipsoid_id

楕円体のIDを指定します。この値は、SDO_ELLIPSOIDS表(6.7.23項を参照)のELLIPSOID_ID列の値と一致する必要があります。

使用上の注意

well-knownテキスト(WKT)の説明を更新するプロシージャの使用方法については、6.8.1.3項を参照してください。

次の例では、楕円体7100に関連付けられたすべてのEPSG座標参照系のWKTの説明を更新します。

EXECUTE SDO_CS.UPDATE_WKTS_FOR_EPSG_ELLIPS(7001);
Updating SRID 4001...                                                           
Updating SRID 4188...                                                           
Updating SRID 29901...                                                          
Updating SRID 61886405...                                                       
Updating SRID 4277...                                                           
Updating SRID 27700...                                                          
Updating SRID 62776405...                                                       
Updating SRID 4278...                                                           
Updating SRID 62786405...                                                       
Updating SRID 4279...                                                           
Updating SRID 62796405...

SDO_CS.UPDATE_WKTS_FOR_EPSG_OP

構文

SDO_CS.UPDATE_WKTS_FOR_EPSG_OP(

     coord_op_id IN NUMBER);

説明

指定した座標変換操作に関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

パラメータ

coord_op_id

座標変換操作のSRIDのIDを指定します。この値は、SDO_COORD_OP_PARAM_VALS表(6.7.5項を参照)のCOORD_OP_ID列の値と一致する必要があります。

使用上の注意

well-knownテキスト(WKT)の説明を更新するプロシージャの使用方法については、6.8.1.3項を参照してください。

次の例では、座標変換操作2000067に関連付けられたすべてのEPSG座標参照系のWKTの説明を更新します。

EXECUTE SDO_CS.UPDATE_WKTS_FOR_EPSG_OP(2000067);
Updating SRID 20000671...

SDO_CS.UPDATE_WKTS_FOR_EPSG_PARAM

構文

SDO_CS.UPDATE_WKTS_FOR_EPSG_PARAM(

     coord_op_id IN NUMBER,

     parameter_id IN NUMBER);

説明

指定した座標変換操作と変換操作のパラメータに関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

パラメータ

coord_op_id

座標変換操作のSRIDのIDを指定します。この値は、SDO_COORD_OP_PARAM_VALS表(6.7.5項を参照)のCOORD_OP_ID列の値と一致する必要があります。

parameter_id

変換操作のパラメータのSRIDのIDを指定します。この値は、SDO_COORD_OP_PARAM_VALS表(6.7.5項を参照)のPARAMETER_ID列の値と一致する必要があります。COORD_OP_ID列の値は、coord_op_idパラメータ値と同じです。

使用上の注意

well-knownテキスト(WKT)の説明を更新するプロシージャの使用方法については、6.8.1.3項を参照してください。

次の例では、座標変換操作9601とパラメータ8602に関連付けられたすべてのEPSG座標参照系のWKTの説明を更新します。

EXECUTE SDO_CS.UPDATE_WKTS_FOR_EPSG_PARAM(9601, 8602);

SDO_CS.UPDATE_WKTS_FOR_EPSG_PM

構文

SDO_CS.UPDATE_WKTS_FOR_EPSG_PM(

     prime_meridian_id IN NUMBER);

説明

指定した本初子午線に関連付けられたすべてのEPSG座標参照系のwell-knownテキスト(WKT)の説明を更新します。

パラメータ

prime_meridian_id

本初子午線のIDを指定します。この値は、SDO_PRIME_MERIDIANS表(6.7.26項を参照)のPRIME_MERIDIAN_ID列の値と一致する必要があります。

使用上の注意

well-knownテキスト(WKT)の説明を更新するプロシージャの使用方法については、6.8.1.3項を参照してください。

次の例では、本初子午線8902に関連付けられたすべてのEPSG座標参照系のWKTの説明を更新します。

EXECUTE SDO_CS.UPDATE_WKTS_FOR_EPSG_PM(8902);
Updating SRID 4803...                                                           
Updating SRID 20790...                                                          
Updating SRID 20791...                                                          
Updating SRID 68036405...                                                       
Updating SRID 4904...                                                           
Updating SRID 2963...                                                           
Updating SRID 69046405...

SDO_CS.VALIDATE_WKT

構文

SDO_CS.VALIDATE_WKT(

     srid IN NUMBER

     ) RETURN VARCHAR2;

説明

指定されたSRIDに関連付けられたwell-knownテキスト(WKT)の説明を検査します。

パラメータ

srid

well-knownテキスト(WKT)の説明を検査する座標系のSRIDを指定します。指定する値のエントリは、SDO_COORD_REF_SYS表(6.7.9項を参照)に含まれている必要があります。

使用上の注意

このファンクションは、WKTの説明が有効である場合は文字列「TRUE」を戻します。WKTの説明が無効である場合、このファンクションは「FALSE (<position-number>)」という形式の文字列を戻します。ここで、<position-number>は、WKTの説明内で、最初のエラーが発生した文字の位置の番号です。

WKTの説明が6.8.1.1項に示す要件を満たすかどうかが確認されます。

次の例では、SRID 81989000に関連付けられた座標系のWKTの説明を検査します。結果は、無効な状態の原因部分(無効な状態の最初の原因)がWKTの説明内の文字位置181から始まっていることを示しています。(SRID 81989000は、既定の座標系には関連付けられていません。これは、MDSYS.CS_SRS表のテスト・バージョンに挿入された意図的に無効な状態の座標系のためのものであり、Oracle Spatialに付属するMDSYS.CS_SRS表には含まれていません。)

SELECT SDO_CS.VALIDATE_WKT(81989000) FROM DUAL;

SDO_CS.VALIDATE_WKT(81989000)                                                   
--------------------------------------------------------------------------------
FALSE (181)