카테고리:

지리 공간 함수

ST_TRANSFORM

GEOMETRY 오브젝트를 한 공간 참조 시스템(SRS) 에서 다른 참조 시스템으로 변환합니다.

이 함수를 사용하면 새 SRS(공간 참조 시스템)와 일치하도록 오브젝트의 좌표와 SRID를 변경 할 수 있습니다. 좌표를 변경하지 않고 SRID만 변경해야 하는 경우(예: SRID가 정확하지 않은 경우) ST_SETSRID 를 대신 사용하십시오.

구문

ST_TRANSFORM( <geometry_expression> [ , <from_srid> ] , <to_srid> );
Copy

인자

필수:

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에 해당합니다.

  • 입력 GEOMETRY에 올바른 SRID 세트가 있는지 확인하거나 from_srid 인자를 지정하십시오.

  • 현재 이 함수는 데이텀 그리드 파일을 지원하지 않습니다. 모든 변환은 그리드 파일 수정 없이 데이텀의 정적 매개 변수를 사용하여 수행됩니다.

  • geometry_expression, from_srid 또는 to_srid 가 NULL인 경우 이 함수는 NULL을 반환합니다.

  • from_srid 또는 to_srid 를 유효한 SRID로 확인할 수 없으면 오류가 발생합니다.

다음 예에서는 POINT GEOMETRY 오브젝트를 EPSG:32633(WGS 84 / UTM 영역 33N)을 EPSG:3857(웹 메르카토르)로 변환합니다.

-- 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;
Copy
+---------------------------------------------------------------+
| transformed_geom                                              |
|---------------------------------------------------------------|
| SRID=3857;POINT(1489140.093765644 6892872.198680112)          |
+---------------------------------------------------------------+

GEOMETRY 오브젝트에 원본 SRID가 올바르게 설정되지 않은 경우 함수의 to_srid 인자에 SRID를 지정할 수 있습니다. 예를 들어 POINT GEOMETRY 오브젝트를 EPSG:4326(WGS84)에서 EPSG:28992(아메르스포르트 / 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;
Copy
+---------------------------------------------------------------+
| transformed_geom                                              |
|---------------------------------------------------------------|
| SRID=28992;POINT (94308.66600006013 464038.16881095537)       |
+---------------------------------------------------------------+