書式
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値(数値)またはNULL値を含みます(「使用上の注意」を参照)。
地理座標系のEPSG SRID値。coord_ref_sys_kind
パラメータの値に応じて、地理SRID値を持つ座標系の存在を確認するか、またはこのSRID値を持つ座標系に基づく投影座標系のSRID値を検索します。
投影座標系のEPGS SRID値。
データID値。coord_ref_sys_kind
パラメータの値に応じて、このデータに基づく地理座標系または投影座標系のSRIDを検索します。
楕円体のID値。coord_ref_sys_kind
パラメータの値に応じて、この楕円体に基づく地理座標系または投影座標系のSRIDを検索します。
本初子午線のID値。coord_ref_sys_kind
パラメータの値に応じて、この本初子午線に基づく地理座標系または投影座標系のSRIDを検索します。
投影方法のID値。この投影方法に基づく投影座標系のSRIDを検索します。
投影操作のID値。この投影操作に基づく投影座標系のSRIDを検索します。投影操作は、特定の投影パラメータと組み合された投影方法です。
座標系の種類またはカテゴリ。この値は、SDO_COORD_REF_SYS表(「SDO_COORD_REF_SYS表」を参照)のCOORD_REF_SYS_KIND列の文字列値である必要があります。例: GEOGRAPHIC2D
およびPROJECTED
半長径のID値。coord_ref_sys_kind
パラメータの値に応じて、この半長径に基づく地理座標系または投影座標系のSRIDを検索します。
半短径のID値。coord_ref_sys_kind
パラメータの値に応じて、この半短径に基づく地理座標系または投影座標系のSRIDを検索します。
逆フラット化(単位は1です)。coord_ref_sys_kind
パラメータの値に応じて、この逆フラット化に基づく地理座標系または投影座標系のSRIDを検索します。
投影パラメータ。このパラメータは、投影方法に基づきます。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));
座標参照系を一致対象にする場合、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