書式
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);
説明
ジオメトリのレイヤー全体(表内の指定した列に含まれるすべてのジオメトリ)を変換します。
パラメータ
ジオメトリを変換するレイヤー(column_in
)を含む表を指定します。
変換するジオメトリを含む、table_in
の列を指定します。
変換の結果作成される表で、変換結果を含みます。この表の形式については、「使用上の注意」を参照してください。
変換に使用する座標系のSRIDを指定します。to_srid
は、SDO_COORD_REF_SYS表(「SDO_COORD_REF_SYS表」を参照)のSRID列の値である必要があります。
変換計画を指定します。TFM_PLANオブジェクト型の詳細は、「TFM_PLANオブジェクト型」を参照してください。
変換を実行する際に変換ルールを適用するユースケースの名前を指定します。ユースケースの説明は、「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 |
( |
例
次の例では、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の両方の表のジオメトリ・オブジェクトの座標表示を含みます。