반응형
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
반응형
댓글