사진 파일에서 GPS 위치 추출하는 방법

사진 파일에서 GPS 위치를 추출하려면 메타데이터를 읽는 도구로 이미지를 열고 GPS 그룹을 보면 됩니다. 무언가를 계산하거나 온라인에서 조회하는 과정은 없습니다. 좌표는 이미 파일 안에 들어 있으며, 위치 서비스가 켜진 휴대폰의 셔터가 눌린 그 순간에 기록된 값입니다. 돌아오는 것은 위도와 경도, 그리고 그 두 숫자가 정말 당신이 생각하는 의미인지를 결정하는 소수의 동반 태그입니다.
이 한 쌍을 읽는 일은 쉽습니다. 제대로 읽는 지점에서 대부분의 사람이 틀리며, 이 글의 나머지는 그 이유를 설명합니다.
사진 파일에서 GPS 위치를 추출하는 방법
- 사진을 메타데이터 뷰어에서 열거나 운영체제의 파일 속성 창에서 엽니다.
- 카메라와 노출 섹션과는 별도로 있는 GPS라고 표시된 섹션을 찾습니다.
- 위도와 경도를 읽고, 곧바로 두 개의 반구 태그도 함께 읽습니다.
- 이를 부호가 붙은 한 쌍으로 합쳐 아무 지도에나 붙여 넣어 핀을 확인합니다.
- 믿기 전에 측위가 어떤 방식으로 이루어졌고 어느 정도 정확도를 주장하는지 확인합니다.
1단계에는 알아둘 만한 개인정보 문제가 있습니다. 대부분의 온라인 메타데이터 판독기는 사진을 서버에 업로드해서 분석합니다. 즉, 당신이 확인하려던 정확한 좌표를 낯선 사람에게 넘기는 셈입니다. 저희 EXIF 뷰어는 브라우저 안에서 파일을 읽으며 어디로도 전송하지 않는데, 이 점은 다른 어떤 종류의 도구보다 여기서 더 중요합니다.
파일 속 숫자에 마이너스 기호가 없는 이유
리우데자네이루에서 찍은 사진을 열어도 위도는 −22.95로 표시되지 않습니다. 22, 57, 6.98이라는 세 개의 별개 양수와, 단 한 글자 S를 담은 태그가 함께 나타납니다.
이 부분에서 누구나 한 번은 걸려 넘어집니다. 파일은 음수 좌표를 결코 저장하지 않습니다. 도, 분, 초를 양수 값으로 저장하고 반구는 동반 태그에 넣습니다. GPSLatitudeRef는 N 또는 S를 담고, GPSLongitudeRef는 E 또는 W를 담습니다.
구세주 그리스도상을 예로 들어봅시다. 이 상은 22°57′7″S, 43°12′38″W에 있습니다. 지도가 기대하는 십진수 값을 되살리려면 분을 60으로, 초를 3,600으로 나눈 뒤 도에 더하고, 마지막에 문자가 부호를 정하도록 합니다.
- 22 + (57 ÷ 60) + (6.98 ÷ 3600) = 22.95194
- 동반 태그가
S이므로 답은 −22.95194입니다 - 43 + (12 ÷ 60) + (38.02 ÷ 3600) = 43.21056, 그리고
W가 이를 −43.21056으로 만듭니다
이 두 반구 태그를 빼면 같은 사진이 소말리아 앞바다, 약 9,000킬로미터 떨어진 지점을 주장하게 되는데, 어디에서도 오류 메시지는 뜨지 않습니다. 문자 없이 맨 양수만 보여주는 뷰어는 답의 절반만 준 것입니다.
핀을 믿어도 되는지 알려주는 태그
좌표는 위성 측위로 잡힌 것이든 누군가가 입력란에 타이핑한 것이든 똑같이 확신에 차 보입니다. GPS 그룹의 두 태그가 이를 판가름하는데, 읽는 사람은 거의 없습니다.
GPSProcessingMethod는 위치를 어떻게 얻었는지 기록합니다. EXIF 규격은 네 가지 값을 정의합니다. 위성 측위, 기지국, Wi‑Fi 네트워크, 수동 입력입니다. 위치를 손으로 입력한 사진은 측정이 아니라 주장을 하고 있는 것이며, 이 구분은 해당 이미지가 보험이나 점검 서류에서 증거로 쓰일 수 있는지를 결정합니다.
GPSHPositioningError는 측위가 얼마나 벗어날 수 있는지를 미터 단위로 기록합니다. "바로 이 출입구"와 "이 우편번호 어딘가"의 차이입니다. GPS 오차에 대해 막연하게 경고하는 안내문들은 바로 이 태그가 측정하는 것을 설명하고 있는 셈입니다.
이 둘을 함께 읽으면 핀은 신뢰도가 명시된 증거가 되거나, 추측이었음이 드러납니다. 고객이 현장 사진을 보냈는데 위치가 수동으로 입력되었고 정확도 수치도 없다면, 이제 물어봐야 한다는 것을 알 수 있습니다.
카메라가 서 있던 곳과 향하던 곳
주 좌표 쌍은 촬영자가 어디에 서 있었는지에 답합니다. 무엇을 바라보고 있었는지는 말해주지 않으며, 부동산, 측량, 점검 업무에서는 그 간극이 중요합니다.
GPSImgDirection은 카메라가 향하던 나침반 방위를 담고 있으며, 동반 태그가 그 방위를 진북 기준으로 쟀는지 자북 기준으로 쟀는지 기록합니다. 둘의 차이는 엉뚱한 건물을 가리킬 만큼 큽니다. 상점을 밖에서 찍은 사진과 그 안에서 찍은 사진을 갈라놓는 것이 바로 이 태그입니다.
카메라가 아니라 피사체를 위해 마련된, 거의 알려지지 않은 두 번째 위치 태그 묶음도 있습니다. 덕분에 한 파일이 촬영자가 서 있던 곳과 촬영 대상의 위치를 함께 기록할 수 있습니다. 이를 기록하는 카메라는 드물지만 측량과 드론 도구는 기록하며, 첫 번째 쌍만 보여주는 뷰어는 두 번째를 조용히 감춰버립니다.
좌표와 함께 시계를 읽기
GPS 그룹은 자체 날짜와 시각을 지니며, 이들은 UTC로 기록됩니다. 파일의 다른 곳에 있는 일반적인 촬영 시각은 카메라의 현지 시간 기준입니다.
둘 사이의 차이가 곧 사진이 촬영된 시간대이며, 이는 유용한 교차 확인이 됩니다. 브라질의 위치를 주장하면서 두 시계가 아홉 시간이나 차이 나는 사진은 무언가 잘못되었다고 알려주는 것입니다. 파일이 편집되었거나 여러 조각을 이어 붙인 경우, 이 두 값은 픽셀이 결코 드러내지 않는 방식으로 서로 어긋나는 일이 많습니다.
파일에 위치가 전혀 없을 때
GPS 섹션이 비어 있는 경우는 흔하고 대개는 별문제가 아닙니다. 위치 서비스가 꺼져 있었거나, 카메라에 수신기가 없거나, 실내에서 신호 없이 찍었거나, 사진이 이미 메타데이터를 제거하는 플랫폼을 거쳤을 수 있습니다. 업로드된 이미지 2,475쌍을 조사한 2023년 연구는 Facebook이 Artist와 Copyright를 제외한 모든 EXIF 필드를 제거했다는 사실을 확인했습니다. 그래서 피드에서 다시 저장한 사진은 대개 GPS 섹션이 비어 있는 상태로 도착합니다.
애초에 기록되지 않은 좌표를 되살릴 방법은 없습니다. 어떤 도구도 픽셀에서 이를 추론할 수 없습니다. 대신 의도적으로 설정할 수는 있습니다. 사진을 어디서 찍었는지 알고 있고 파일이 그것을 담고 있어야 한다면, 파일에 좌표를 추가하세요. 위에서 설명한 바로 그 태그들이 기록됩니다.
이 작업과 구분해둘 만한 이웃 작업이 둘 있습니다. GPS 그룹뿐 아니라 사진이 지닌 모든 필드에 대한 완전한 설명은 편집할 수 있는 태그 참고서에 있습니다. 그리고 위치를 읽는 이유가 사진을 내보내기 전에 그것을 없애기 위해서라면, 지오태그 제거는 함정이 다른 별개의 작업입니다. 읽는 것과 지우는 것은 같지 않습니다.



