예전에 회원 한분이 스마트폰 GPS에서 왜 앱마다 고도값이 다른지에 대한 질문이 있었습니다 (http://cafe.daum.net/gpsyn/Pllz/1131 )
그 당시 구동원리로 미루어, 앱마다 고도값이 다르지는 않을 것이다 라는 엉성한 댓글을 달고서는, 뭔가 뒷부분이 찜찜했었습니다.
마침 시간도 나고 해서, 왜 그런 질문이 올라왔을까 궁금하여 직접 테스트해보았습니다.
아래는 동네 뒷산(?)에 올라 몇분간 프로그램 바꾸며, 테스트해본 프로그램들의 스샷입니다
<GPS Status> <Locus> <OruxMaps> <Androzic>
유심히 보면 아시겠지만, 프로그램에 따라 정확히 20m 고도차를 보여주고 있습니다.
이부분은 GPS Status 프로그램이 보여주듯이 '고도(+19m)' 에 따른 것이었습니다.
좀 더 자세히 설명하자면,
스마트폰의 경우, 각 GPS앱(프로그램)들은 해당 폰의 GPS 칩셋에서 보내주는 NMEA 데이터를 파싱하여,
각 프로그램에서 필요한 데이터를 사용하는 것입니다.
즉,
위 붉은 사각형으로 표시된 부분을 프로그램에서 파싱해서 보여주는 것이죠.
NMEA 데이터 파싱에 대해서는
http://danfunga.springnote.com/pages/6564097.xhtml
http://gtko.springnote.com/pages/5126153.xhtml 을 참조하십시오.
위 NMEA 문장 중 고도와 관련된 부분은
$GPGGA,072648.000,3727.060371,N,12655.647654,E,1,09,0.8,366.5,M,19.4,M,,*5D
즉, 평균해수면 기준 고도는 : 366.5 m,
해수면과 지오이드의 고도차가 19.4 m
* Altitude : 평균해수면(MSL) 기준으로한 고도
* Geoid Separation : 평균해수면(MSL)과 지오이드(Geoid : 지구모양, 평균 해면과 그 연장으로 생각되는 상상의 면)의 고도차
지구를 타원체로 모델링 할 경우에, 지표면상에서 정확한 위치를 구하기 위한 정보
결국 스마트폰 GPS 프로그램의 고도차는
아마도 'Geoid Separation' 이부분을 프로그램 고도값에 반영하느냐, 안하느냐에 따른 것 같습니다.
덧> 제가 올리는 글이 늘 그렇듯이, 여기저기 찾아보고 나름의 상상력으로 짜집기한 것이라 오류가 있을 수 있습니다.
잘못된 부분을 가르쳐주시면 바로 수정하겠습니다 -_-
댓글
댓글 리스트-
답댓글 작성자아미산 작성시간 11.08.04 높이를 나타낼 때 기준면이 평균해수면이 아닌 것들도 있지만, 산의 높이는 평균해수면이 기준(0)인 것으로 알고 있습니다.
언급하신 NMEA Sentence 항목의 의미가 맞다면 그런식의 처리가 맞을 것 같군요.^^ -
작성자premium724 작성시간 11.08.09 예전에 해당 질문을 했던 사람으로서 오늘 이글을 보며 무척이나 감동받았습니다.
질문에 대한 답변이 맞고 틀리고를 떠나 직접 테스트를 해가며 분석하여 차후에까지 답변을 해주심에 다시한번 감사드립니다. -
작성자JamesH2 작성시간 11.10.25 와~~ 대단들 하십니다... 배울게 많군요...^^
-
작성자예하 작성시간 12.03.13 하~
무슨 말씀이신지 당췌~ -
작성자김대현 작성시간 12.05.02 전문가분들의 이야기네요