가볍게 읽는 세계의 IT·AI 이야기

updated

지도 속 나는 왜 자꾸 길 건너편에 있을까?

분명 카페 앞에 서 있는데 지도 속 나는 길 건너편에 있다면. 건물에 반사된 위성 신호와 파란 점 주변의 원을 통해, 휴대폰이 내 위치를 알아내는 과정을 쉽게 풀어봅니다.

청록색과 아이보리색 건물 사이에서 주황색 신호선이 벽에 반사되어 거리의 작은 수신기로 이어지는 모습
청록색과 아이보리색 건물 사이에서 주황색 신호선이 벽에 반사되어 거리의 작은 수신기로 이어지는 모습

카페 간판은 눈앞에 있는데, 지도 속 나는 길 건너편에 있다. 몇 걸음 움직여 봐도 점은 엉뚱한 건물에 붙어 있다. 이런 상황이라면 누구나 잠깐 멈춰 휴대폰을 돌려 보게 된다. 내가 방향을 잘못 잡았나, 지도가 고장 났나.

그럴 때는 화면 밖의 건물도 의심해 볼 만하다. 건물이 위성 신호를 가리고, 벽에 부딪힌 신호가 돌아서 휴대폰에 도착하면 위치 계산에 오차가 생길 수 있다. 신호를 못 받아서 헤매는 것과, 돌아온 신호를 받아서 잘못 짚는 것은 서로 다른 문제다.

Google은 2020년 기술 설명에서 ‘도로 반대편에 위치가 표시되는 오류’를 다뤘다. 오래된 발표지만, 도심의 이상한 길찾기를 이해하는 좋은 출발점이다. Google의 도심 GPS 오류 설명

이 글의 카페 장면은 특정 장소에서 측정한 실험이 아니라 원리를 설명하기 위한 상황이다. 실제 길찾기 오류의 원인은 하나가 아니다. 다만 점이 만들어지는 과정을 알고 나면, 휴대폰을 돌려야 할 때와 설정을 볼 때, 잠깐 화면 대신 간판을 봐야 할 때를 구분하기가 한결 쉬워진다.

위성은 나를 내려다보며 찍고 있지 않다

‘내 위치’를 누르면 하늘에서 나를 찾아 점을 찍어 주는 것처럼 느껴진다. 하지만 GPS의 기본 동작은 사진 촬영과 다르다. 위성이 내 얼굴이나 옷을 알아보는 것이 아니라, 휴대폰이 위성에서 온 신호를 받아 자신의 위치를 계산한다. 계산의 출발점은 ‘어느 방향에서 나를 보고 있느냐’가 아니라 ‘얼마나 떨어져 있느냐’다.

거리를 알아내는 단서는 신호가 오는 데 걸린 시간이다. 위성 신호에는 시각과 궤도에 관한 정보가 담긴다. 수신기는 그 정보를 이용해 위성이 어디에 있었는지, 신호가 얼마나 걸려 도착했는지를 계산한다. 전파가 이동하는 속도를 아니까, 걸린 시간을 거리로 바꿀 수 있다. 유럽우주국 ESA는 위성 항법의 원리를 이렇게 설명한다. ESA의 위성 항법 설명

우리에게 익숙한 약속 장소 찾기로 바꿔 보자. 친구가 ‘역에서 500m 떨어진 곳이야’라고만 말하면 장소를 특정하기 어렵다. 역을 중심으로 같은 거리에 있는 곳이 많기 때문이다. ‘도서관에서는 300m쯤 떨어져 있어’라는 단서가 더해지면 후보가 줄어든다. 서로 다른 기준점까지의 거리를 함께 만족하는 곳을 찾는 것이다. 이 숫자는 이해를 위한 가정이며, 위성과 휴대폰의 실제 거리를 뜻하지 않는다.

실제 위치 계산은 종이 위의 원이 아니라 3차원 공간에서 이뤄진다. 여기에 시계 문제도 끼어든다. 휴대폰의 시각이 아주 조금만 어긋나도 신호가 이동한 시간을 잘못 잴 수 있다. 그래서 일반적인 위성 위치 계산에서는 네 번째 위성 신호까지 이용해 위치와 수신기 시계의 차이를 함께 푼다. ESA의 거리와 시계 보정 설명

중요한 것은 위성 개수를 외우는 일이 아니다. 지도 위의 점은 여러 개의 거리 조건을 맞춰 얻은 계산 결과라는 점이다. 조건 하나가 틀렸다고 언제나 계산이 멈추는 것은 아니다. 틀어진 조건들을 그럴듯하게 만족하는 위치가 나올 수도 있다. 카페 앞에 있는 내가 길 건너편에 나타나는 이야기는 여기서 시작된다.

건물에 부딪힌 신호는 먼 길로 온다

위성에서 곧장 도착한 신호라면, 이동 시간을 거리로 바꾸는 설명이 잘 들어맞는다. 그런데 높은 건물이 그 길을 막고, 다른 벽에 반사된 신호가 휴대폰으로 들어온다면 어떨까. 신호가 실제로 이동한 길은 위성과 휴대폰 사이의 곧은 거리보다 길어진다.

전화 통화에서 상대방의 말이 메아리처럼 겹쳐 들리는 모습을 떠올리면 이해가 쉽다. 소리가 들린다는 사실과 소리가 깨끗하게 전달됐다는 사실은 다르다. 위성 신호도 마찬가지다. ‘받았다’는 사실만으로 위치 계산에 쓰기 좋은 신호라고 단정할 수 없다. 물론 GPS는 소리를 쓰는 기술이 아니며, 이 비유는 직접 온 것과 돌아온 것을 구분하기 위해서다.

ESA의 기술 자료는 직접 들어온 신호와 반사된 신호가 겹치는 현상을 ‘다중 경로’, 영어로는 멀티패스라고 설명한다. 반면 직접 오는 길이 완전히 가려져 돌아온 신호에 의존하는 경우는 따로 구분해서 볼 필요가 있다. 일상에서는 둘 다 ‘건물 때문에 GPS가 튄다’고 말하지만, 수신기 안에서 생기는 문제까지 똑같지는 않다. ESA Navipedia의 다중 경로 설명

아래 그림은 복잡한 경우 중에서, 곧장 오는 길과 벽을 거쳐 오는 길의 차이만 떼어 놓았다. 같은 사람에게 도착해도 신호가 어떤 길을 왔느냐에 따라 거리 계산에 쓸 시간이 달라진다.

신호의 길

같은 사람에게, 다른 길로 도착한다

곧장 온 신호

위성 → 휴대폰
직접 경로로 거리를 계산한다.

벽에 반사된 신호

위성 → 건물 벽 → 휴대폰
돌아온 길을 직접 거리로 오인하면 오차가 생긴다.

그림 읽기점선은 가려진 직접 경로, 주황색 꺾인 선은 반사되어 들어오는 경로입니다.
도심 신호 반사를 설명한 개념도입니다. 실제 위성 높이·건물 크기·반사 각도·거리 비율을 재현하지 않았으며, 실제 위치 계산에는 여러 위성 신호가 쓰입니다.

가령 신호가 반사 때문에 30m를 더 이동했다고 가정하자. 전파의 속도를 초당 약 3억m로 단순화하면, 더 걸리는 시간은 약 0.0000001초다. 사람에게는 감각으로 구별하기 어려운 순간이지만, 그 시간을 거리로 환산하는 장치에는 30m의 차이다. 이 값은 원리를 보여 주기 위한 계산이며 현장에서 잰 오차가 아니다.

그렇다고 지도 속 점이 반드시 30m 밀린다는 뜻은 아니다. 여기서 늘어난 30m는 한 위성 신호의 이동 경로에 관한 값이다. 최종 위치는 여러 위성 신호와 계산 방법에 따라 정해지므로, 한 신호의 거리 오차를 지도 위 이동 거리로 그대로 옮겨서는 안 된다. 점이 어느 방향으로 얼마나 빗나갈지까지 이 그림 하나로 예측할 수는 없다.

반사 문제는 유리 외벽이 있는 도심만의 이야기도 아니다. ESA가 소개한 숲속 위성 항법 연구는 나무가 신호를 약하게 만드는 것뿐 아니라 흩뜨리는 현상도 다뤘다. 도시의 벽과 숲의 나무가 똑같이 작용한다는 뜻은 아니다. 휴대폰과 하늘 사이에 무엇이 있는지가 생각보다 중요하다는 공통점이 있다. ESA의 숲속 위성 신호 연구 소개

잘 터지는 휴대폰이 길을 잘 찾는 휴대폰은 아니다

메신저 사진은 바로 전송되고 동영상도 잘 나오는데, 지도 속 점만 엉뚱한 곳에 있다. 이럴 때 ‘신호가 이렇게 좋은데 왜 이러지?’라는 생각이 들 수 있다. 여기서 우리가 보고 있는 휴대폰 상단의 통신 표시와 GPS 수신 상태는 같은 지표가 아니다.

모바일 통신은 기지국을 통해 인터넷과 연결되는 일이고, 위성 위치 측정은 하늘에서 온 신호로 거리 조건을 구하는 일이다. 기지국과 연결이 좋아도 높은 건물 때문에 위성 신호를 받는 조건은 나쁠 수 있다. 반대로 인터넷 연결이 없는 곳에서도, 수신 조건과 기기 상태가 갖춰지면 위성 신호를 이용한 위치 계산 자체는 가능하다. GPS 수신기의 기본 역할은 위성이 방송하는 신호를 처리하는 것이다. ESA Navipedia의 GPS 수신기 설명

이 차이는 해외여행에서 떠올리기 좋다. 현지 데이터 연결이 안 되는 상태에서 지도에 점이 보인다고 해서, 주변 식당 검색이나 최신 교통 정보까지 되는 것은 아니다. 내 위치를 계산하는 일, 배경 지도를 불러오는 일, 길을 찾아 주는 일은 구분되는 기능이기 때문이다. 한 가지가 된다고 나머지도 모두 되는 것은 아니다.

Google 지도에는 지역을 미리 내려받아 오프라인으로 이용하는 기능이 있다. 다만 공식 도움말은 오프라인 상태에서 대중교통·자전거·도보 경로를 이용할 수 없고, 운전 안내에도 실시간 교통 정보 등이 없다고 설명한다. 내려받을 수 있는 지역에도 제한이 있다. ‘GPS는 인터넷 없이 작동한다’는 원리 설명을 ‘내가 쓰는 지도 앱의 모든 기능이 인터넷 없이 된다’로 넓히면 곤란한 이유다. Google 지도의 오프라인 이용 범위

그래서 지도 화면이 비어 있는 경우와, 지도는 멀쩡한데 내 점만 잘못 놓인 경우를 나눠 보면 도움이 된다. 앞의 경우에는 지도 데이터를 불러오는 연결을 살펴볼 이유가 있다. 뒤의 경우에는 위치 추정이나 권한 설정을 살펴볼 이유가 있다. 이것만으로 원인이 확정되지는 않지만, 같은 ‘지도 오류’라는 말 속에 다른 문제가 들어 있다는 사실은 드러난다.

실내에서도 점이 뜨는 이유

그렇다면 하늘이 보이지 않는 실내에서 내 위치가 나타나는 것은 어떻게 설명할까. 휴대폰은 꼭 GPS 하나만 보고 점을 찍지 않기 때문이다. Android의 ‘위치 정확도’ 기능은 위성 신호 외에도 주변 Wi-Fi, 이동통신망, 기기 센서 같은 정보를 이용해 위치 추정을 돕는다. Google의 위치 정확도 기능 설명

낯선 동네에서 주소를 모를 때를 떠올려 보자. 정확한 번지는 모르더라도 역 이름, 가까운 가게, 눈앞의 큰 건물을 종합하면 대략 어느 부근인지 짐작할 수 있다. Wi-Fi와 기지국 같은 주변 정보도 위치를 좁혀 가는 단서가 된다. 이 비유에서 각각의 단서는 서로 다른 정밀도를 가진다. 역 이름만 아는 것과 건물 출입구 번호를 아는 것은 같은 수준의 정보가 아니다.

Apple 역시 위치 서비스가 이용 가능한 GPS와 Bluetooth, Wi-Fi와 기지국 정보를 함께 활용한다고 안내한다. 따라서 ‘실내에서 점이 보인다’는 관찰만으로 GPS 위성 신호가 지붕을 잘 통과했다고 판단할 수 없다. 화면에는 여러 단서로 만든 결과가 하나의 점으로 나타날 수 있기 때문이다. Apple의 위치 서비스 안내

여기서 Wi-Fi를 켜라는 조언도 조금 다르게 이해할 수 있다. 단순히 인터넷 속도를 높이려는 이야기만은 아니다. 주변 네트워크 정보가 위치를 추정하는 단서로 쓰일 수 있다는 뜻이다. 다만 위치 정확도 기능은 설정과 정보 처리에 관한 선택을 동반한다. 길을 더 잘 찾겠다는 이유로 아무 공용 Wi-Fi에나 접속하거나, 모든 앱에 위치 접근을 허용해야 하는 것은 아니다.

여러 단서를 섞는 방식은 유용하지만, 어느 단서도 없는 정보를 마법처럼 만들어 내지는 못한다. 예를 들어 지도에서 내가 큰 쇼핑몰 건물 안에 있다는 것을 알아도, 그 사실만으로 몇 층의 어느 매장 앞인지까지 알았다고 볼 수는 없다. ‘이 건물 부근’과 ‘이 출입구 바로 앞’ 사이에는 길찾기에서 무시하기 어려운 차이가 있다. 지도에 점이 생겼다는 사실보다 그 점을 어느 정도 정밀하게 해석할 수 있는지를 보는 편이 낫다.

파란 점보다 주변의 원을 볼 때

지도 속 위치 표시는 작은 점 하나라서 단정적으로 보인다. 마치 종이에 찍은 압정처럼 ‘바로 여기’라고 말하는 듯하다. 그러나 계산 결과에는 불확실성이 있다. Google 지도는 내 위치를 확실히 파악하기 어려울 때 점 주변에 연한 파란 원을 보여 주며, 원이 작을수록 위치를 더 정확하게 파악하고 있다는 뜻이라고 안내한다. Google 지도의 파란 점과 원 설명

아래 두 그림의 중심점은 같지만, 그 주변을 읽는 방법은 다르다. 작은 원은 좁은 범위를, 큰 원은 더 넓은 범위를 염두에 두라는 신호다. 점의 중심만 확대해서 보면 이 차이를 놓치기 쉽다.

지도 위의 단서

점은 같아 보여도, 원의 의미는 다르다

작은 원

더 좁혀진 위치 추정
내 위치를 비교적 정확하게 파악한 상태.

넓은 원

덜 정확한 위치 추정
가운데 점을 정확한 발밑 위치로 단정하지 않는다.

Google 지도의 원 표시를 단순화한 설명 그림입니다. 실제 앱 화면이나 측정 결과가 아니며, 원의 크기는 특정 오차 거리·확률을 나타내지 않습니다.

여기서 원을 울타리처럼 받아들이면 또 다른 오해가 생긴다. 위치 정확도는 추정값이지 ‘반드시 이 선 안에 있다’는 물리적 보증이 아니다. 예를 들어 Android가 개발자에게 제공하는 위치 정확도 값 중에는 실제 위치가 해당 반경 안에 있을 확률을 68%로 설명하는 값이 있다. 이는 운영체제의 특정 데이터 정의이며, 모든 지도 앱의 파란 원이 그대로 68%를 뜻한다는 말은 아니다. Android의 위치 정확도 데이터 정의

독자가 기억할 것은 확률 숫자보다 사용 방식이다. 원이 길 양쪽을 함께 덮는다면, 중심점이 오른쪽 보도에 있다고 해서 오른쪽이라는 결론부터 내리지 않는 편이 합리적이다. 불확실한 계산을 화면에 또렷한 점으로 표시했다고 해서, 원래 없던 확신이 생기는 것은 아니다.

택시를 부르는 상황으로 옮겨 보자. 내가 ‘지도에 찍힌 곳에 있어요’라고만 말했는데, 기사에게는 건너편 건물 앞이 보일 수 있다. 이때 ‘편의점 간판 쪽, 횡단보도 옆 출입구’ 같은 설명은 지도 좌표와 다른 종류의 정보를 보탠다. 어느 쪽 보도인지가 중요한 상황에서는 점의 정밀도를 더 믿으려 하기보다, 사람끼리 확인 가능한 기준점을 하나 추가하는 편이 실용적이다. 이는 특정 호출 앱의 오류를 조사한 사례가 아니라, 위치 불확실성이 일상에서 왜 중요한지를 보여 주는 예다.

휴대폰을 돌리는 것과 내 위치를 고치는 것은 다르다

지도 앞에서 휴대폰을 이리저리 돌리는 행동이 항상 엉뚱한 것은 아니다. 다만 무엇을 바로잡으려는지 구분해야 한다. 내가 있는 장소를 나타내는 점과, 휴대폰이 향한 쪽을 보여 주는 방향 표시는 서로 다른 정보를 전한다.

카페 앞 같은 자리에 서서 휴대폰만 반대로 돌려 보자. 내 위치는 그대로다. 달라진 것은 기기의 방향이다. 반대로 휴대폰을 같은 쪽으로 든 채 옆으로 이동하면 장소는 달라지지만 기기가 향한 방향은 같을 수 있다. 이런 차이를 생각하면 ‘방향이 틀렸다’와 ‘위치가 틀렸다’를 한꺼번에 GPS 고장으로 부를 필요가 없어진다.

Google 지도의 나침반 보정 안내에는 휴대폰으로 숫자 8을 그리는 동작이 나온다. 방향을 조정하는 방법이지, 건물에 막힌 위성 신호의 길을 열어 주는 동작은 아니다. Google 지도의 방향 보정 안내

‘어느 쪽을 보고 있나’와 ‘어느 쪽으로 움직이나’도 다를 수 있다. Android의 위치 데이터 문서는 이동 방향을 기기 자체의 방향과 구분한다. 휴대폰을 몸 옆으로 든 채 앞으로 걷는 장면을 생각하면 쉽다. 다만 앱 화면이 어느 정보를 어떤 모양으로 표시하는지는 구현에 따라 다르므로, 특정 화살표 하나만 보고 센서의 종류까지 단정할 수는 없다. Android의 이동 방향 정의

처음 만난 골목에서 방향 표시가 불안정하다면, 안전한 보행 공간에서 실제 건물과 도로 모양을 먼저 대조해 보자. 점의 자리 자체가 건너편이라면 나침반 보정만 반복할 일이 아니다. 반대로 점은 맞는 보도에 있는데 방향만 뒤집혀 있다면, 위치 정확도 문제와 다른 접근이 필요할 수 있다. 두 문제를 구분하면 휴대폰을 계속 흔들며 기다리는 시간을 줄일 수 있다.

‘정확한 위치’는 오차를 없애는 버튼일까

휴대폰 설정에는 이름부터 든든한 항목이 있다. ‘정확한 위치’다. 켜면 내가 선 보도까지 정확히 표시해 줄 것 같지만, 이 설정의 핵심은 앱에 얼마나 자세한 위치 정보를 제공할지 정하는 데 있다. 오차 없는 좌표를 약속하는 품질 인증이 아니다.

Android는 앱이 대략적인 위치에 접근하는 경우와 더 정밀한 위치에 접근하는 경우를 구분한다. 사용자가 대략적인 위치만 허용했다면, 앱이 더 자세한 정보를 요청하더라도 받을 수 있는 정보에 제한이 생긴다. Apple도 앱별로 ‘정확한 위치’를 끄면 대략적인 위치만 공유하도록 선택할 수 있다고 안내한다. Android의 위치 권한 구분

날씨를 확인하는 앱을 생각하면 대략적인 동네만 알아도 충분한 일이 있다. 반면 처음 가는 곳의 출입구를 찾을 때는 더 정밀한 위치가 유용할 수 있다. 어느 수준의 정보가 필요한지는 목적에 달렸다. 위치가 어긋난다고 해서 모든 앱에 가장 넓은 권한을 주는 것이 해결책은 아니다.

또 ‘정확한 위치’와 ‘항상 허용’은 같은 질문에 대한 답이 아니다. 앞의 선택은 위치의 상세함에 관한 것이고, 뒤의 선택은 앱이 위치에 접근할 수 있는 상황에 관한 것이다. 앱을 사용 중일 때 필요한 권한을 확인하는 것과, 사용하지 않을 때도 계속 접근하도록 허용하는 것을 섞지 말아야 한다. 메뉴 이름과 선택지는 기기와 운영체제에 따라 다를 수 있으니 해당 앱의 설정 설명을 함께 보는 편이 좋다.

설정을 점검했는데도 높은 건물 사이에서 위치가 빗나간다면, 그것만으로 설정이 실패했다고 볼 수는 없다. 앱에 더 정밀한 정보를 받을 권한을 줬어도 수신 환경 자체가 좋아지는 것은 아니기 때문이다. 문을 열어 줬다는 사실과, 문밖에 정확한 정보가 준비돼 있다는 사실은 별개다.

건물 때문에 생긴 오류를 건물 정보로 줄인다

건물이 문제를 만든다면, 그 건물의 모양을 계산에 활용할 수는 없을까.

Google이 2020년 소개한 ‘3차원 지도 보조 보정’이 그런 예다. 건물의 입체 모델과 위성 신호 측정 등을 위치 계산에 보탠다. 신호를 방해하던 도시의 형태가 오류를 해석하는 단서로 바뀌는 셈이다.

당시 Google은 Pixel 5와 Pixel 4a (5G)의 두 번째 버전에서 도로 반대편 오류를 약 75% 줄였다고 밝혔다. 회사가 당시 구현에 대해 제시한 수치이지, 오늘 한국의 모든 기기·지역·지도 앱에 대한 결과는 아니다. Google의 2020년 보정 기술 발표

‘오류를 75% 줄였다’와 ‘75% 확률로 맞힌다’도 다른 말이다. 앞의 표현은 특정 오류의 감소 폭이고, 뒤의 표현은 성공률이다. 발표 숫자를 내 휴대폰의 정확도로 읽으려면 무엇을 비교했는지부터 확인해야 한다.

도로를 매끈하게 따라가는 점에도 계산이 들어간다

위치를 얻은 다음에도 일이 끝나지 않을 수 있다. 얻어 낸 좌표를 지도에서 어떻게 보여 줄지 정하는 과정이 남기 때문이다. GPS 좌표가 실제 도로 옆에 조금씩 흩어졌다면, 차량이 지나갔을 법한 도로와 맞춰 보는 방법을 사용할 수 있다.

Google의 개발자용 Roads API는 이동 경로를 따라 수집한 GPS 점들을 받아, 차량이 지나갔을 가능성이 높은 도로에 맞춘 위치를 반환하는 기능을 제공한다. 필요하면 도로의 굽은 모양을 따라 중간 경로를 보완할 수도 있다. 이는 공개된 기술의 한 예이며, 모든 소비자용 지도 앱이 이 기능을 사용한다는 증거는 아니다. Google Roads API의 도로 맞춤 기능

이런 기능을 알면 화면이 부드럽다는 인상을 조금 다르게 읽게 된다. 점이나 경로가 도로를 매끈하게 따라간다고 해서, 그 선의 모든 지점에서 위성 신호를 똑같이 정확하게 측정했다는 뜻은 아니다. 측정 결과에 도로 정보와 보완 과정이 더해질 수 있다.

예를 들어 가까이 나란히 놓인 두 길을 상상해 보자. 기록된 점들이 둘 사이에 애매하게 놓였다면, 어느 길을 지나갔는지 판단하려면 앞뒤 이동과 도로 연결 같은 맥락이 중요해진다. 이 장면은 특정 앱의 오작동을 재현한 것이 아니라, 좌표를 도로에 맞춘다는 일이 왜 해석을 포함하는지 설명하기 위한 가정이다.

보정 자체가 나쁘다는 이야기는 아니다. 흔들리는 좌표를 그대로 보여 주는 것보다 실제 길을 이해하는 데 도움이 될 수 있다. 다만 ‘보기 편하게 정리된 결과’와 ‘측정 자체가 완벽한 결과’를 구분하면 된다. 지도 화면은 측정값을 그대로 쏟아 놓는 곳이 아니라, 사람이 길을 찾을 수 있도록 여러 정보를 정리해 보여 주는 화면이다.

카페 앞에서라면 무엇부터 볼까

다시 처음 장면으로 돌아가 보자. 카페는 눈앞에 있고 지도 속 나는 건너편이다. 이제는 ‘GPS가 이상하다’는 말보다 조금 구체적으로 화면을 살펴볼 수 있다. 아래 순서는 고장의 원인을 확정하는 진단법이 아니라, 서로 다른 문제를 혼동하지 않기 위한 확인 방법이다.

  • 점이 잘못 놓였는지, 방향만 틀렸는지 본다. 점은 맞는 곳인데 바라보는 방향만 이상하다면 앱의 나침반 보정 안내가 관련될 수 있다. 점 자체가 다른 보도에 놓였다면 방향 보정만으로 해결된다고 기대하지 않는다.
  • 지금의 위치인지 확인한다. Google 지도는 위치를 찾지 못할 때 점이 회색으로 보이거나 마지막 위치를 표시할 수 있다고 안내한다. 다른 앱도 같다고 단정하지 말고, 해당 앱의 갱신 상태나 메시지를 읽는다.
  • 사용 중인 지도 앱의 권한을 확인한다. 위치 접근이 허용돼 있는지, 더 정밀한 위치가 필요한 용도인데 대략적인 위치만 공유하고 있지는 않은지 살핀다. 다른 앱의 권한까지 함께 바꿀 필요는 없다.
  • 주변 환경과 실제 표지를 대조한다. 안전하게 이동할 수 있다면 하늘이 더 트인 보행 공간에서 다시 확인해 볼 수 있다. 다만 이동한다고 반드시 고쳐지는 것은 아니다. 간판, 출입구, 횡단보도 위치처럼 직접 확인할 수 있는 정보도 함께 쓴다.

한 번에 설정을 여러 개 바꾸기보다 무엇이 달라지는지 보면서 확인하는 편이 낫다. 가령 방향 표시는 안정됐는데 점은 여전히 건너편이라면, 적어도 두 문제가 같지는 않았다는 단서를 얻는다. 반대로 건물 밖으로 나와 점이 제자리로 돌아왔더라도, 그것만으로 원인이 반사 신호 하나였다고 입증한 것은 아니다. 관찰에서 알 수 있는 범위와 추측을 구분해야 한다.

길을 건너야 하는 순간에는 화면 속 점보다 실제 도로와 신호를 먼저 본다. 지도에 맞추려고 무리하게 움직일 필요는 없다. 목적지가 보인다면 출입구를 직접 확인하고, 누군가를 만나야 한다면 서로 알아볼 수 있는 장소를 말하는 것으로 더 빨리 해결될 때도 있다.

내 위치는 하늘에서 내려온 정답 한 줄이 아니다. 위성 신호가 도착한 시간, 주변 건물, 가까운 무선망, 앱에 허용한 정보와 화면의 보정이 맞물려 만들어진 추정이다. 그래서 지도는 먼 곳까지의 길을 훌륭하게 안내하면서도, 눈앞의 두 보도 중 어디에 내가 서 있는지는 헷갈릴 수 있다.

카페 간판과 파란 점이 서로 다른 말을 한다면, 점 하나를 따라 즉시 길을 건널 필요는 없다. 그 작은 점 뒤에 어떤 계산이 있는지 알게 된 우리는, 이번만큼은 눈앞의 간판을 더 믿을 이유도 알고 있다.

참고자료
  1. Google Android Developers — 도심 GPS 오차와 3차원 지도 보정
  2. ESA — How does it work?
  3. Google 지도 고객센터 — 위치 검색 및 정확도 개선
  4. ESA — Seeing the satnav for the trees
  5. ESA — 위성 항법의 시간·거리 계산
  6. ESA Navipedia — 다중 경로
  7. ESA Navipedia — GPS 수신기
  8. Google 지도 — 오프라인 지도와 기능 제한
  9. Google Android — 위치 정확도가 이용하는 정보
  10. Apple — 위치 서비스와 앱별 정확한 위치 설정
  11. Android 개발자 문서 — 위치 정확도와 이동 방향
  12. Android 개발자 문서 — 위치 접근 권한
  13. Google Roads API — 좌표를 도로에 맞추는 기능