GIS

PostgreSQL/PostGIS에서 투영법 변환하기

유병혁 2018. 5. 28. 16:23

본 글은 콜로라도대학교 덴버캠퍼스 지리학부 FOSS4G Lab의 리카르도 올리베이라(Ricardo Oliveira) 님이

작성하신 'Getting Started with PostGIS' 온라인 튜토리얼 시리즈를 한국어 사용자에 맞게 수정한 글입니다.

이 글은 GIS United 김우미 님과 함께 작성하고 있습니다.

 

[1] 윈도우에서 PostgreSQL과 PostGIS 설치하기 | http://blog.daum.net/geoscience/1237
[2] PostgreSQL/PostGIS에서 DB 생성하고 공간데이터 추가하기 | http://blog.daum.net/geoscience/1249
[3] QGIS에서 PostGIS 레이어 추가하기 | http://blog.daum.net/geoscience/1250
[4] PostgreSQL/PostGIS에서 SQL 언어 학습하기 | http://blog.daum.net/geoscience/1253

 

이번 글에서는 PostgreSQL/PostGIS에서 투영법을 변환하는 방법을 학습해 보도록 하겠습니다.

일단, 서울열린데이터광장(http://data.seoul.go.kr)에서 '서울시 기타 수질오염원 위치정보'를 검색합니다.

 

아래와 같이 2종 좌표계로 된 데이터셋이 제공되는데요, 이번에는 ITRF2000 좌표계 파일을 선택해 보겠습니다.

 

MAP 버튼을 클릭하고 OT_1_SHP.zip 파일을 다운로드하고 압축을 해제합니다.

 

PostGIS Shapefile Import/Export Manager를 통해 해당 공간데이터를 임포트합니다. 이때 SRID는 5181로 설정합니다.

 

자, 아래 쿼리를 통해 현재 PostgreSQL에 추가된 데이터 목록을 확인해 보겠습니다.

 

앞서 2개 추가한 공간데이터(읍면동,도로)는 SRID가 4326, 방금 추가한 공간데이터(기타 수질오염원)의 SRID는 5181인 것을 확인할 수 있습니다.

공간쿼리를 적용하기 위해서는 데이터들이 서로 같은 좌표계를 가지고 있어야 합니다. 따라서 ot_1 투영법을 4326으로 변환해 보도록 하겠습니다.

 

좌표계를 변환하는 쿼리는 아래와 같습니다. 쿼리문이 길어질 때는 아래와 같이 각 파트를

새 줄로 작성하는 것이 좋습니다. 작성 후에는 아래 줄에서 'F5' 버튼을 실행하시면 됩니다.

 

alter table은 ot_1 데이터의 변경을 선언하며, alter column은 변경할 컬럼을 정확히 지시합니다.

geom은 모든 공간데이터를 지시하는 컬럼이며, type은 처리할 데이터의 지오메트리 유형을 정의해 줍니다.

using은 해당 컬럼에 적용할 명령어를 정의하며, 여기서는 정의된 SRID에 기반한 새 지오메트리를 반환합니다.

 

자, 다시 데이터 목록을 확인해 보면 ot_1의 SRID가 4326으로 변경된 것을 확인하실 수 있습니다.