본문 바로가기
DBMS/PostgreSQL

[PostgreSQL] UpdateGeometrySRID() - geometry 컬럼 SRID 좌표계 변경하기

by 썸머워즈 2021. 9. 4.
반응형

PostgreSQL의 특징 중 하나인 공간쿼리를 사용하다보면 당연하게도 좌표계에 영향을 받을수밖에 없는데

geometry 컬럼에 좌표계를 주입 혹은 변경하는 방법에 대해 알아보자.

 

▷ 구문

UpdateGeometrySRID(varchar table_name, varchar geometry_column_name, integer srid);
UpdateGeometrySRID(varchar schema_name, varchar table_name, varchar geometry_column_name, integer srid);
UpdateGeometrySRID(varchar catalog_name, varchar schema_name, varchar table_name, varchar geometry_column_name, integer srid);

 

3개의 구문에 대해 알아봤는데 매개변수의 의미가 달라질뿐 UpdateGeometrySRID() 함수의 기능이 바뀌는건 아니다.

 

UpdateGeometrySRID() 함수를 사용하기에 앞서 알아봐야할게 하나 있는데,

PostgreSQL에는 좌표체계를 넣어두는 spatial_ref_sys 테이블이 존재한다.

spatial_ref_sys 테이블에 좌표계가 없는건 사용할 수 없다 먼저 확인하고 없으면 넣어줘야 하며,

넣는 방법은 따로 존재하니 잘 찾아보고 진행해보자.

 

이제 예제를 통해 좌표계 주입 혹은 변경하는 방법에 대해 알아보자.


▷ 예제1) UpdateGeometrySRID() 기본 사용법

select updategeometrysrid(schema_name, table_name, geometry_column_name, srid);

 

위 구문에서 설명한것처럼 사용만 해주면 되기에 별다른 설명은 필요가 없을듯 하다.

보통 스키마 별로 구분하기에 저 두번째 구문을 많이 사용할 듯 싶다.

 

그리고 해당 테이블의 geometry 컬럼의 좌표계가 변경됐는지 확인하면 끝이다.

select st_srid(geometry_column_name) from table_name limit 1

참고 : https://postgis.net/docs/UpdateGeometrySRID.html

 

UpdateGeometrySRID

Name UpdateGeometrySRID — Updates the SRID of all features in a geometry column, and the table metadata. Synopsis text UpdateGeometrySRID(varchar table_name, varchar column_name, integer srid); text UpdateGeometrySRID(varchar schema_name, varchar table_n

postgis.net

 

반응형


댓글

TOP