GPS 좌표가 숫자 하나가 아니라 세 개인 이유 — EXIF DMS 유리수 구조
사진 EXIF에서 GPS 위치를 확인해보면 위도(GPSLatitude) 값이 37 같은 숫자 하나가 아니라 37/1 (37), 33/1 (33), 125/10 (12.5)처럼 세 덩어리로 나옵니다. 오타나 버그처럼 보이지만, 이건 EXIF 스펙이 GPS 좌표를 저장하는 정식 방식입니다. 이 가이드는 그 구조가 왜 이렇게 생겼는지, 그리고 실제 좌표로 바꾸려면 어떻게 계산해야 하는지 설명합니다.
1. EXIF GPS 필드의 실제 구조: 도·분·초 3개의 유리수
EXIF 스펙에서 GPSLatitude와 GPSLongitude는 각각 3개의 RATIONAL 값으로 저장됩니다. RATIONAL은 EXIF 자체 데이터 타입으로, 32비트 부호 없는 정수 두 개(분자/분모)로 이루어진 분수입니다. 이 3개의 RATIONAL이 순서대로 도(degree)·분(minute)·초(second)를 나타내며, 여기에 별도 태그인 GPSLatitudeRef(N/S)·GPSLongitudeRef(E/W) 한 글자가 붙어 남/북, 동/서를 표시합니다. 도·분·초 값 자체는 항상 양수(부호 없음)로 저장되고, 방향은 Ref 필드가 담당하는 구조입니다.
2. 왜 하필 도분초(DMS) 3개로 쪼개 저장할까
이건 GPS나 EXIF가 새로 발명한 방식이 아니라, GPS가 등장하기 훨씬 전부터 항해·측량·지도 제작에서 써온 전통적인 좌표 표기법(DMS, Degrees-Minutes-Seconds)을 그대로 따른 것입니다. 위도·경도를 도 단위로만 쓰면 소수점 이하가 길어져 손으로 다루기 불편했기 때문에, 도 아래를 60분법(1도=60분, 1분=60초)으로 세분화한 표기가 자리잡았습니다. 그리고 EXIF는 소수점 값을 다룰 때 부동소수점 오차 문제를 피하기 위해 숫자 필드 상당수를 "분자/분모" 형태의 유리수(RATIONAL)로 저장하는 걸 기본 설계 원칙으로 삼았습니다 — GPS 좌표도 예외가 아닙니다.
3. 십진 좌표로 변환하는 공식
지도 앱이나 대부분의 소프트웨어가 원하는 형태는 도분초가 아니라 십진수(decimal degree) 하나입니다. 변환 공식은 다음과 같습니다.
(Ref가 S 또는 W이면 위 값에 음수 부호를 붙임)
예시: GPSLatitude가 37/1, 33/1, 12.5(=125/10)이고 GPSLatitudeRef가 N이라면,
37 + 33/60 + 12.5/3600 = 37 + 0.55 + 0.003472... ≈ 37.553472
Ref가 N이므로 그대로 양수, 최종 좌표는 북위 37.553472도입니다. 만약 Ref가 S였다면 -37.553472가 됩니다.
4. 이 EXIF 뷰어는 실제로 무엇을 보여주나
modoohub.com의 EXIF 뷰어(exif-viewer.html)는 GPSLatitude·GPSLongitude의 세 유리수 값을 있는 그대로 쉼표로 구분해 보여주는 방식을 씁니다(예: 37/1 (37), 33/1 (33), 125/10 (12.5)) — 위에서 설명한 십진 좌표로 자동 환산까지는 하지 않습니다. 도구의 FAQ에도 "첫 번째 값(도)만 읽으면 좌표가 실제 위치에서 크게 벗어나 보일 수 있어 세 값 전부를 파싱하는 것이 중요하다"고 명시돼 있습니다. 즉 지도에 바로 찍어보려면 사용자가 위 공식으로 직접 십진수로 변환해야 합니다.
5. GPS 데이터가 왜 프라이버시 문제인가
DMS 세 값을 조합하면 미터 단위로 정확한 위치가 나옵니다. 사진을 블러 처리하거나 얼굴만 가려도 EXIF 메타데이터 자체는 전혀 지워지지 않습니다 — GPS 좌표는 픽셀 정보가 아니라 파일 내부의 별도 바이너리 태그 데이터이기 때문입니다. SNS에 사진을 올리기 전 위치 정보를 지우려면 EXIF 제거 도구로 메타데이터 자체를 제거해야 합니다.
자주 묻는 질문
Q. 왜 위도·경도가 숫자 하나가 아니라 세 개(도·분·초)로 나오나요?
A. EXIF 스펙이 GPSLatitude·GPSLongitude를 도분초(DMS) 표기법에 맞춰 3개의 RATIONAL(유리수) 값으로 저장하도록 정의하고 있기 때문입니다. 첫 번째 값만 읽으면 실제 위치와 크게 어긋난 좌표가 됩니다.
Q. 도분초를 십진 좌표로 어떻게 바꾸나요?
A. 십진좌표 = 도 + 분/60 + 초/3600 공식을 쓰고, GPSLatitudeRef/GPSLongitudeRef가 S 또는 W면 결과에 음수 부호를 붙입니다.
Q. 이 EXIF 뷰어는 좌표를 십진수로 자동 변환해주나요?
A. 아니요. 현재는 도·분·초 세 유리수 값을 쉼표로 구분해 그대로 보여줍니다. 지도에 바로 입력하려면 위 공식으로 직접 변환이 필요합니다.
Q. 사진을 블러 처리하면 GPS 정보도 사라지나요?
A. 아니요. GPS 좌표는 이미지 픽셀과 무관한 별도의 메타데이터 태그이므로, 사진 내용을 아무리 편집해도 지워지지 않습니다. 완전히 제거하려면 EXIF 제거 전용 도구를 써야 합니다.