티스토리 뷰

애플의 iOS제품이라하면 누구나 하나씩은 다 가지고있을법한 iPhone이 가장 먼저 떠오를 것이다.

그 외에도 iPad, iPod Touch가 더 있다. (iPod shuffle, iPod nano, iPod Classic 등은 iOS제품군이 아니다)

그리고 이런 모바일 iOS장비를 사용한다면 위치정보에 엑세스하는 앱을 쓰지 않는게 이상할 정도로 실생활속에서 많은 편의성을 제공한다.


그런데 최근 이 위치정보에 대한 몇가지 오해가 많은 것 같아 포스팅해보기로 했다.

(물론 위치정보를 사용하는 디바이스는 비단 iOS뿐 아니라 안드로이드를 포함해 모바일장비는 거의 대부분에 해당되는 이야기다)



- GPS에 대하여.

GPS모듈이 자신의 위치를 취득하기 위해서 GPS위성과의 통신이 필요하다는 정도는 얼핏 들어서 아는 분들이 많을 것이다.

그렇다면 정확하게 어떻게 위성으로부터 위치정보를 취득한다는 것 일까?

GPS위성은 지구의 자전(약 하루, 정확히는 23시간 56분 4.091초에 1바퀴를 스스로 도는 것)속도로 같은방향을 향해 돈다.

즉 지구의 중심축에서 어느 한 GPS위성쪽을 향해 수직으로 하늘을 바라본다면, 하루중 그 어느순간에라도 그 자리를 따라 GPS위성이 위치해있다는 뜻.

GPS모듈은 위치취득을 위해 가장 가까운곳 부터 순차적으로 근처의 몇개의 위성에 연결을 시도한다.

항상 같은 자리에 있어주는 위성이 있는 덕분에 현재의 위치를 취득할 수 있는 방식이다.

다만, 위성과 연결후 위치를 취득하고 정확한 좌표를 계산하는데 까지 약 4분 이상의 시간이 소요된다고 한다.


- S-GPS와 A-GPS.

S-GPS 는 그대로 풀어쓰면 알 수 있듯 기초적인 표준 GPS방식이다.

위에서 설명한 기본적인 방식이 S-GPS 이다.

그런데, 지금 내가 바로 여기가 어딘지 알고싶은데 4분이상 기다리라는건 성격급한 한국인으로써 있을 수 없는 일!

그래서 등장하는 것이 A-GPS(Assist-GPS)이다. 말 그대로 GPS를 보조하는 GPS기술이란 의미.

GPS를 보조한다니, 무엇을 보조하는 것일까?

바로 그 4분동안 다른 방법을 이용해 먼저 대략적인 위치를 취득한 후에 S-GPS가 연결되면 더 정확한 위치를 취득하는 방법이다.

대표적으로는 WiFi클라우드소스와 흔히들 아는 셀룰러네트워크기반의 위치취득 방법등이 있다.

* A-GPS가 S-GPS를 보조하는 기술이란 의미때문에 둘을 별개로 분류하면 안된다. A-GPS는 S-GPS를 기본적으로 포함하고 부수적으로 보조의 기능이 붙어 있는 형태이다. (학창시절 배운 수학에서 집합을 기억한다면 '부분집합' 으로 생각하면 틀리지 않다.)



- WiFi Cloud Source.

와이파이클라우드소스는 아주 예전에 어딘가 회사에서 기술을 만들었는데 당시로써는 터무니없는 기술이였기에 빛을 발하지 못했다는 이야기를 들은적이 있다.

후에, 그 기술을 구글이 도입해 지오로케이션이란 서비스의 발판을 만든다.

이 와이파이클라우드 소스를 이용한 위치정보취득은 알고보면 매우 간단하다.

iOS장비를 사용하면서 쉽게 볼 수 있는 "WiFi 네트워크를 활성화하면 더 정확한 위치를 얻을 수 있습니다." 라는 메시지에 오해하는 것중 하나가 '내가 부여받은 ip를 통해 위치추적[?]을 할 수 있나보다' 인데...

완벽하게 틀린말이다.

ip주소대역을 통한 위치추측방법은 오차범위가 40km이상까지 벌어질 수 있는 방법이기때문에 신뢰성이 매우 낮다.

또 유동아이피를 받은경우는 매번 위치가 서울에있다가 몇분후에 부산에있다 몇분후에 목포에 있어야 하는데 실제로 그러지도 않고, VPN이나 사설아이피를 부여받았다면 집에 귀가해도 내 위치가 회사로 나와야하지 않은가?

물론 아예 없는 기술은 아니다. ip대역을 통한 위치취득은 구글웹사이트 접속시 대략적인(시/도 단위) 내 접속위치가 표시돼는데, 이 것이 ip대역을 통한 위치취득이다. 명칭은 똑같이 지오로케이션중 하나로 포함되긴 하지만...


와이파이 클라우드소스. 즉 지오로케이션을 기반으로하는 위치정보취득은 구글의 지오로케이션 데이터베이스에 조회가 필요하다.

조회에 필요한, 인자로 던지는 데이터는 바로 지금 내가 있는곳 주변으로 검색되는 WiFi AP의 MAC어드레스들과 각 MAC의 노이즈(신호세기)이다.

간단하게 이야기하면, 아이패드의 와이파이를 켜고 길을 겆다가 구글맵을 실행하면 그 순간 주변에서 검색돼는 WiFi MAC어드레스들을 수집한 후 구글 지오로케이션서버로 보낸다.

그럼 지오로케이션 서버는 데이터베이스에서 일지하는 MAC어드레스를 기준으로 가장 많이 일치한 데이터를 가져와 그 데이터가 가르키는 좌표를 답해준다.

조금이라도 더 세밀한 위치를 계산하기위해 AP들의 노이즈 세기까지 데이터로 사용한다.

최종적으로 서버가 가장 알맞은 위경도를 응답해주면, 클라이언트 사이드 (웹이나 앱 등) 에서 그래픽으로 된 지도에 사용자의 위치를 표기한다.



- 지오로케이션 데이터베이스는 어떻게 구축했나?

초기에는 구글맵의 데이터구축사업(정확히는 스트리트뷰 데이터 수집)의 일환으로 승용차위에 카메라를 장착하고 전세계의 도로를 누비며 초당 십수장의 사진들을 찰칵찰칵 찍어 모았다. 물론 그 찍힌사진이 어디인지도 마킹해야하니까 GPS정보도 함께 수집되었다.

한데, 여기서 구글은 한가지를 더 수집했다. 매 초당 해당위치에서 검색돼는 WiFi MAC어드레스들이였다.

이렇게 모인 데이터들을 한 곳에 구축한 것이 지오로케이션 데이터베이스이다.

현재는 안드로이드 라는 스마트폰들이 전세계에 무수히 많이 돌아다니면서 스스로 위치정보를 수집해주고있다.

그리고 애플의 iPhone들도 전세계에서 지금 이 시각에도 데이터를 모아주고있다



쓰고보니 매우매우 길어져버린 내용... (...)

뭐 원리만 알고보면 매우 간단한게 WiFi클라우드소스 라는 기술이다.





아이패드 WiFi모델을 살펴보자.




'Wi-Fi를 활성화하면 위치 정보의 정확도가 높아집니다.' 라고 한다.

Wi-Fi Only모델은 애초에 끄면 위치정보를 획득할 방법이 없다. (Celluar 모델은 GPS모듈이 내장되어 있기때문에 그 기준으로는 맞는 말)





위치 서비스탭을 보면, 정확하게 클라우드소스를 활용하여 위치정보를 취득한다고 알리고 있다.

(iOS 5.x 부터 저 문구가 표시되는걸로 기억하고있다.)





와이파이를 켜고 지도앱을 사용하면 사용자의 위치가 정상적으로 확인되는 것을 볼 수 있다.





와이파이를 끄고 다시 시도하니, '위치를 확인할 수 없음' 이라는 얼럿을 확인할 수 있다.

블루투스도 MAC Address를 가지지만, 블루투스 장치들을 통한 지오로케이션은 존재하지 않는다.

아마도 블루투스의 특성자체가 모바일 장비에서 많이 쓰이게 되는데 모바일장비를 1년 365일 한자리에 두고 쓰는 사람은 없을테니까.

다만 구글서버와의 통신을 위해 블루투스 핫스팟에 연결되어있고 (어떤 형태는 인터넷에만 연결된 상태만 유지할 수 있으면 된다), WiFi는 연결된 AP는 없지만 켜져있어 주변 AP검색이 가능한 상태라면 이 와이파이 클라우드 기능을 온전히 사용할 수 있다.





아이폰과 WiFi+3G 또는 WiFi+LTE모델의 아이패드라면 WiFi클라우드소스 외에도 A-GPS와 셀룰러네트워크 기반의 위치취득이 가능하므로 WiFi를 꺼도 현재위치를 취득할 수 있다.

WiFi 클라우드소스를 통해 위치정보 접근이 더 용이하다는 얼럿이 표기되긴 한다.





WiFi가 꺼져있는 상태에서는 셀룰러기반 위치취득과 가장 마지막에 캐싱된 위치순서로 A-GPS기능을 하기때문에 처음 잡힌 위치에서 몇초~몇분 있다가 갑자기 몇미터정도 순간이동 하는 경우가 종종 생길 수 있다.



추가. iMac, Mac mini, MBP, MBA 등 와이파이가 달린 Mac 라인들도 와이파이클라우드소스를 이용해 현재위치를 취득한다.

Find My Mac이란 서비스에서 잃어버린 자신의 맥의 위치를 찾을 수 있는 이유도 이 때문이다.

'Apple > iPad' 카테고리의 다른 글

iPad WiFi only, iPod Touch의 위치정보에대한 오해와 진실  (0) 2012.06.07
댓글
댓글쓰기 폼