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

前
次

20.12 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表(「SDO_PREFERRED_OPS_USER表」を参照)のUSE_CASE列の値である必要があります。

source_srid

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

target_srid

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

使用上の注意

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

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))