ST_TRANSFORM
ST_TRANSFORM (공간 참조 시스템 변환)
GEOMETRY 객체를 한 공간 참조 시스템(SRS)에서 다른 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 객체를 반환해요.
사용 참고 사항
- SRID는 EPSG 표준(v10.082)을 기반으로 해요. 예를 들어 SRID 4326은 코드 4326의 EPSG 권위(authority)에 해당해요.
- 입력 GEOMETRY에 올바른 SRID가 설정되어 있거나
from_srid인자를 지정해야 해요. - 현재 이 함수는 데이텀 그리드 파일(datum grid file)을 지원하지 않아요. 모든 변환은 그리드 파일 보정 없이 데이텀의 정적 매개변수를 사용해 수행돼요.
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 Mercator)로 변환해요.
-- 출력 형식을 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) |
+---------------------------------------------------------------+
소스 SRID가 GEOMETRY 객체에 올바르게 설정되지 않았다면 함수의 인자에서 SRID를 지정할 수 있어요. 예를 들어 POINT GEOMETRY 객체를 EPSG:4326(WGS84)에서 EPSG:28992(Amersfoort / RD New)로 변환하려면:
-- 출력 형식을 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) |
+---------------------------------------------------------------+