- カテゴリ:
ST_TRANSFORM¶
GEOMETRY オブジェクトをある 空間参照系(SRS) から別の空間参照系に変換します。
この関数を使用して、 オブジェクトの SRID と座標を変更して、新しい SRS (空間参照系)に一致 させます。座標を変更せずに SRID を変更する必要がある場合(例: SRID が正しくない場合)は、代わりに ST_SETSRID を使用します。
構文¶
ST_TRANSFORM( <geometry_expression> [ , <from_srid> ] , <to_srid> );
引数¶
必須:
geometry_expression
引数は GEOMETRY 型でなければなりません。
to_srid
使用する SRS を識別する 空間参照システム識別子(SRID)。この関数は、入力 GEOMETRY オブジェクトを、この SRS を使用する新しいオブジェクトに変換します。
オプション:
from_srid
入力 GEOMETRY オブジェクトの現在の SRS を識別する SRID。
この引数が省略された場合、この関数は入力 GEOMETRY オブジェクトで指定された SRID を使用します。
戻り値¶
この関数は、 to_srid
により識別された SRS を使用する GEOMETRY オブジェクトを返します。
使用上の注意¶
SRIDs は、 EPSG 規格 (v10.082)に基づいています。たとえば、 SRID 4326は、コード4326の権限 EPSG に対応します。
入力 GEOMETRY に正しい SRID が設定されているか、
from_srid
引数が指定されていることを確認してください。現在、この関数はデータムグリッドファイルをサポートしていません。すべての変換は、グリッドファイルの補正なしに、データムの静的パラメーターを使用して実行されます。
geometry_expression
、from_srid
、またはto_srid
が NULL の場合、この関数は NULL を返します。from_srid
またはto_srid
が有効な SRID に解決できない場合は、エラーが発生します。
例¶
次の例は、 POINT GEOMETRY オブジェクトを EPSG:32633(WGS 84 / UTM zone 33N)から EPSG:3857(Webメルカトル)に変換します。
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT
ST_TRANSFORM(
ST_GEOMFROMWKT('POINT(389866.35 5819003.03)', 32633),
3857
) AS transformed_geom;
+---------------------------------------------------------------+
| transformed_geom |
|---------------------------------------------------------------|
| SRID=3857;POINT(1489140.093765644 6892872.198680112) |
+---------------------------------------------------------------+
GEOMETRY オブジェクトにソース SRID が正しく設定されていない場合は、関数の to_srid
引数に SRID を指定します。たとえば、 POINT GEOMETRY オブジェクトを EPSG:4326(WGS84)から EPSG:28992(Amersfoort / RD New)に変換します。
-- Set the output format to EWKT
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='EWKT';
SELECT
ST_TRANSFORM(
ST_GEOMFROMWKT('POINT(4.500212 52.161170)'),
4326,
28992
) AS transformed_geom;
+---------------------------------------------------------------+
| transformed_geom |
|---------------------------------------------------------------|
| SRID=28992;POINT (94308.66600006013 464038.16881095537) |
+---------------------------------------------------------------+