GIS 좌표계(EPSG) 완벽 이해 — 5186·4326 차이와 자동 변환
GIS를 처음 다룰 때 가장 자주 막히는 지점이 좌표계입니다. “Shapefile을 열었는데 데이터가 아프리카 앞바다 어딘가에 찍혔다”거나, “면적이 이상하게 나온다”는 문제의 90%는 좌표계에서 옵니다. GISDirect를 만들면서 사용자 문의를 받아 보면 이 주제가 압도적으로 많았습니다. 그래서 개념을 확실히 잡고 넘어가겠습니다.
좌표계는 왜 필요한가
지구는 둥근데 지도는 평평합니다. 이 둥근 표면 위의 한 점을 숫자 두 개로 표현하려면 “어떤 기준으로 잴 것인가”를 약속해야 합니다. 그 약속이 좌표계(CRS, Coordinate Reference System)입니다. 같은 지점이라도 어떤 좌표계로 표현하느냐에 따라 숫자가 완전히 달라집니다.
좌표계는 크게 두 종류로 나뉩니다.
1. 지리좌표계 (위경도)
지구를 둥근 그대로 두고 위도·경도(degree)로 위치를 나타냅니다. 대표가 EPSG:4326(WGS84)로, GPS와 구글 지도가 쓰는 그 좌표입니다. 서울시청은 대략 위도 37.566, 경도 126.978이죠. 전 세계 어디든 표현할 수 있지만, 단위가 “도”라서 거리나 면적을 직접 재기엔 부적합합니다. 위도 1도와 경도 1도의 실제 거리가 위치마다 다르기 때문입니다.
2. 투영좌표계 (미터)
둥근 지구를 특정 방식으로 평면에 “펼쳐서” 미터(m) 단위로 나타냅니다. 한국에서 가장 많이 쓰는 것이 EPSG:5186(중부원점 TM)과 UTM-K(EPSG:5179)입니다. 좌표가 “200000, 500000” 같은 큰 미터 값으로 나옵니다. 거리·면적을 정확히 재려면 반드시 이런 투영좌표계를 써야 합니다.
EPSG 코드가 뭔가요
세상엔 수천 개의 좌표계가 있습니다. 이걸 매번 말로 설명할 수 없으니 국제적으로 번호를 붙였습니다. 그게 EPSG 코드입니다. 자주 만나는 것만 추리면:
| EPSG | 이름 | 단위 | 쓰임 |
|---|---|---|---|
| 4326 | WGS84 (위경도) | 도 | GPS, 웹지도, 데이터 교환 |
| 3857 | Web Mercator | m | 구글·네이버 지도 타일 |
| 5186 | 중부원점 TM | m | 한국 지적·측량 |
| 5179 | UTM-K | m | 국토지리정보원 표준 |
| 32652 | UTM Zone 52N | m | 위성영상(동부 한국) |
“데이터가 엉뚱한 곳에 찍혀요” — 실전 진단
Shapefile은 사실 파일 하나가 아니라 여러 파일 묶음입니다. 이 중 .prj 파일이 좌표계 정보를 담습니다. 문제가 생기는 흔한 경우는 이렇습니다.
- .prj이 없다: 프로그램이 좌표계를 몰라 임의로 해석 → 위치가 어긋남. 데이터의 실제 좌표계를 직접 지정해 주면 해결됩니다.
- 미터 좌표인데 위경도로 해석: “200000, 500000”을 위경도로 읽으면 지구 밖으로 나갑니다. 반대의 경우도 마찬가지죠.
- 좌표축 순서(경도·위도 vs 위도·경도): 일부 데이터는 x/y 순서가 뒤바뀌어 저장돼 남해가 동해가 됩니다.
진단 요령: 좌표 숫자를 보세요. -180~180 사이의 소수면 위경도(4326)일 가능성이 높고, 수십만 단위의 큰 정수면 미터 투영좌표계입니다. 이것만 구분해도 절반은 해결됩니다.
브라우저에서 좌표계 다루기
제가 GISDirect를 만들 때 가장 신경 쓴 부분이 바로 이 좌표계 자동 감지입니다. 실무자가 EPSG 코드를 외우고 있을 이유가 없으니까요. 파일을 올리면 .prj과 좌표 범위를 함께 보고 좌표계를 추정하고, 필요하면 지도에 맞게 4326으로, 계산할 땐 적절한 미터 좌표계로 자동 변환합니다.
정리
- 위치 표현엔 위경도(EPSG:4326), 거리·면적 계산엔 미터 투영좌표계(5186·5179 등).
- EPSG는 좌표계에 붙인 국제 번호. 4326·3857·5186만 알아도 대부분 커버됩니다.
- 데이터가 어긋나면 먼저
.prj유무와 좌표 숫자의 크기를 확인하세요. - 좌표계 감지·변환은 도구에 맡기고, 원리만 이해하면 충분합니다.