정부, 공공기관이 생산한 대부분의 공간정보는 생산주체 및 제작시기에 따라 적용된 좌표계에 차이가 존재한다. 개별적으로 운영되는 정보시스템에서 이 들 공간정보의 사용은 큰 문제가 없지만, 서로 다른 공간정보와의 매쉬업, 융합 등을 위해 필수적으로 서비스 좌표계를 통일하는 것이 어플리케이션의 관리 편의성, 서비스 응답 성능 개선, 공개SW의 효율적 사용을 위해 요구된다.
GIS 기반 서버로써 지오서버를 사용한다면 서비스 타일을 생성하는 경우 EPSG:4326, EPSG:3857(EPSG:900913)만을 지원한다. 

따라서 본 글을 통해 PostGIS에 등록된 공간테이블을 EPSG:4326좌표계를 가지도록 변환하는 과정을 설명한다.

1. Table Copy

사용하려는 데이터의 좌표계는 EPSG:5181이고 위내용과 같이 지오서버를 사용하여 서비스 타일을 생성하기 위해 좌표계를 변경해야 한다.

이를 위해 기존 데이터를 복사하는 작업을 진행한다.

Query

 CREATE TABLE NEW_TABLE AS SELECT * FROM Z_NGII_UNSPT;


2. 좌표계 정보 업데이트

해당 테이블의 공간정보컬럼의 타입정보를 확인해 보면


geometry(MultiPoint,5179) 으로 되어 있다. 따라서 해당 좌표계정보 변경 쿼리를 아래와 같이 실행한다.

Query

 ALTER TABLE NEW_TABLE

ALTER COLUMN geom TYPE geometry(MultiPoint,4326) USING ST_Transform(ST_SetSRID(geom,5179), 4326);

위의 쿼리 내용은 https://postgis.net/2013/08/30/tip_ST_Set_or_Transform/ 에서 확인 할 수 있다.


최종적으로 해당 좌표가 변경된 것을 알 수 있다.


EPSG:5179                                                                                                                                                        EPSG:4326

Query

SELECT ST_ASText(GEOM) from NEW_TABLE;




+ Recent posts