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

前
次

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

use_plan

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

use_case

変換を実行する際に変換ルールを適用するユースケースの名前を指定します。ユースケースの説明は、「EPSGモデルとSpatial and Graph」を参照してください。

使用上の注意

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

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

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

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

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

  • to_sridが無効な場合

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

表20-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表に格納されます。(例では、「座標系変換の簡単な例」の例の定義を使用しています。)

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

「座標系変換の例」の例は、COLA_MARKETS_CSおよびCOLA_MARKETS_CS_8199の両方の表のジオメトリ・オブジェクトの座標表示を含みます。