지리 정보 시스템(GIS)을 다루다 보면, 행정구역 폴리곤 데이터를 자주 사용하게 된다. 행정구역 폴리곤 데이터는 시, 도, 구, 읍, 면, 동 등의 행정구역을 폴리곤 형태로 나타낸 것으로, 토지이용, 인구밀도, 투표율 등 다양한 정보를 표시할 때 유용한다.
이번에 한국의 행정구역 폴리곤 데이터를 다운로드하려고 "http://www.gisdeveloper.co.kr/?p=2332" 사이트를 방문했다가 "좌표계 prj 파일 다운로드 : GRS80 UTM-K / EPSG:5179"라는 문구를 발견했는데, 이게 무엇을 의미하는지 궁금해졌다. 그래서 이 글에서는 행정구역 폴리곤 데이터와 관련된 좌표계에 대해 기록을 남기고자 한다.
좌표계는 지구의 표면을 2차원 평면에 나타내는 방법을 정의한다. 지도를 만들거나 공간 데이터를 처리할 때 기준이 되는 좌표계를 사용한다. 좌표계는 지구의 모양, 크기, 위치 등을 고려하여 설정된다.
"GRS80 UTM-K / EPSG:5179"는 대한민국에서 사용하는 좌표계를 나타내는 문구이다.
GRS80: 지오이드 참조 시스템 1980으로, 지구의 모양을 나타내는 기준이다.
UTM-K: Universal Transverse Mercator-Korea로, 대한민국에서 사용하는 UTM 좌표계이다.
EPSG:5179: EPSG 코드로, GRS80 UTM-K 좌표계를 고유하게 식별하는 코드이다.
왜 GRS80 UTM-K를 사용하는가?
GRS80 UTM-K 좌표계는 대한민국의 지리적 특성에 맞춰 최적화되어 있으므로, 국내에서 사용할 때 더 정확한 결과를 얻을 수 있다. 미터 단위의 직교 좌표계로, 거리와 면적 계산이 간편하며, 국내 표준으로 사용되고 있다.
WGS 84 (EPSG:4326) 좌표계는 GPS 시스템에서 사용되는 좌표계로, 경도와 위도로 위치를 나타냅니다. folium과 같은 지도 서비스는 WGS 84 좌표계를 사용하므로, GRS80 UTM-K 좌표계의 데이터를 사용하려면 WGS 84로 변환해야 한다. Python의 pyproj 라이브러리를 사용하여 좌표계 변환을 수행할 수 있다.
예를 들어, WGS 84 (EPSG:4326) 좌표계의 좌표 (52.5, 13.4)를 UTM Zone 33N (EPSG:32633) 좌표계의 좌표로 변환하려면 다음 코드를 사용할 수 있다.
from pyproj import Transformer
# Create a transformer object to convert from WGS 84 (EPSG:4326) to UTM Zone 33N (EPSG:32633)
transformer = Transformer.from_crs(4326, 32633)
# Example coordinates in WGS 84 (latitude, longitude)
lat, lon = 52.5, 13.4
# Convert the coordinates to UTM Zone 33N (x, y)
x, y = transformer.transform(lat, lon)
이렇게 변환된 좌표는 x = 391390.73, y = 5817855.24이다.
우리나라 국가 기관 및 현장에서는 GRS80 UTM-K 좌표계를 국내 표준으로 사용하므로, 데이터분석이나 어플리케이션에 사용하기 위해서는 맵서비스들이 이해하는 좌표계로 변환하는 것이 중요한다.