22.35 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を参照してください。
使用上のノート
変換は、2つの異なる地形参照座標系間または2つの異なるローカル座標系間のみで実行できます。
次の場合に例外が発生します。
-
table_in
が存在しない、または表にcolumn_in
が存在しない場合 -
column_in
のジオメトリのSDO_SRID値がNULLまたは無効である場合 -
table_out
がすでに存在する場合 -
to_srid
が無効な場合
table_out
表は、プロシージャによって作成され、変換したジオメトリごとに1行書き込まれます。この表には、表22-1に示す列があります。
表22-1 変換したレイヤーを格納する表
列名 | データ型 | 説明 |
---|---|---|
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の両方の表のジオメトリ・オブジェクトの座標表示を含みます。
親トピック: SDO_CSパッケージ(座標系変換)