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

前
次

20.16 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

地理座標系のEPSG 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表(「SDO_COORD_REF_SYS表」を参照)の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

逆フラット化(単位は1です)。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