br /본 내용은 http://blog.empas.com/joungyup/15397469 에서 발췌하였음을 밝힙니다.br /br /br /br /br /span style=font-size: 10pt; font-family: 바탕; lang=EN-USspan style=font-size: 10pt; font-family: 바탕; lang=EN-USspan style=font-size: 10pt; font-family: 바탕;span lang=EN-USfont face=굴림 divspan style=font-size: 9pt; color: black;자료를 보던중 /spanspan style=font-size: 10pt; color: black; lang=EN-USa href=http://www.navtech.co.kr/ _base_target=_sonwww.navtech.co.kr/a에 근무하시던 분이것 같습니다./spanspan style=font-size: 9pt; color: black; lang=EN-USo:p/o:p/span/div divspan style=font-size: 9pt; color: black; lang=EN-USnbsp;o:p/o:p/span/div divspan style=font-size: 10pt; color: black; lang=EN-USNMEA-0183를 가지고 네비게이션에 응용를 하면서 $GPGGA, $GPGSA, $GPRMC, $GPGSV 등/spanspan style=font-size: 9pt; color: black; lang=EN-USo:p/o:p/span/div divspan style=font-size: 9pt; color: black; lang=EN-USnbsp;o:p/o:p/span/div divspan style=font-size: 10pt; color: black; lang=EN-USNMEA를 쉽게 볼수 있도록 일명 알까기를 하셨습니다./spanspan style=font-size: 9pt; color: black; lang=EN-USo:p/o:p/span/div divspan style=font-size: 9pt; color: black; lang=EN-USnbsp;o:p/o:p/span/div divspan style=font-size: 10pt; color: black;내용은 아래와 같습니다span lang=EN-US./span/spanspan style=font-size: 9pt; color: black; lang=EN-USo:p/o:p/span/div divspan style=font-size: 9pt; color: black; lang=EN-USnbsp;o:p/o:p/span/divspan style=font-size: 10pt; color: black; lang=EN-US div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USNMEA (National Marine Electronics Association)o:p/o:p/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%;”해양 기자재들 간의 통신을 위한 전기적 인터페이스 및 데이터 프로토콜”이span lang=EN-US NMEA의 정의이다. o:p/o:p/span/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%;현재는span lang=EN-US NMEA-0183이 사용되고 있다. 다음은 그 예이다. /span/spanspan style=font-size: 9pt; color: black; line-height: 150%; lang=EN-USo:p/o:p/span/divspan lang=EN-USo:p/o:p/span/span div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=font-family: 굴림; lang=EN-USo:p/o:p/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;nbsp;span style=font-size: 10pt; color: rgb(0, 0, 0); line-height: 21px; font-family: '한컴바탕'; letter-spacing: 0px; text-align: justify;img src=http://i.blog.empas.com/joungyup/25882289_567x448.gif onclick=viewImage('/joungyup/25882289_567x448.gif'); style= _base_target=_son border=0 height=448 width=567/span/divspan style=font-size: 10pt; color: rgb(0, 0, 0); line-height: 21px; font-family: '한컴바탕'; letter-spacing: 0px; text-align: justify; div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;이러한 신호가 각 항목마다span lang=EN-US 1초 내지 수초 마다 한번씩 text형태로 계속 들어온다.br /맨 윗 줄을 예로 sentence 내용을 알아보자. “,”(comma)가 delimiter로 사용된다.br /bu$/u/b : 모든 항목의 첫번째로 나온다.br /buGP/u/b : talker ID, GPS에서는 대게 GP를 사용한다. 가령 Rader에서는 RA가 사용된다.br /buGGA/u/b : sentence ID, GGA는 Global Positioning System Fix Data의 약자이다. 위의 예로 보듯이 /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-US여러가지 항목이 있고 이에 따라 메시지 내용들이 달라진다. 각 항목별 의미는 뒤에 설명한다.br /bu141113.999,3730.0308,N,12655.2369,E,1,06,1.7,98.9,M,,,,0000/u/b : GGA에 해당되는 내용이다. /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USComma가 여러 개인 경우는 형식상 있어야 할 항목인데 실 내용이 없는 경우이다. br /bu*3E/u/b : checksum, “*” 뒤에 16진수 두자리로 표시한다. “$”, “*”를 제외하고 그 사이에 있는 각 문자를 /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USexclusive-or를 한 값을 표시한다. 이 값이 일치하지 않은 경우는 통신에 문제가 있는 경우이므로 그 /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USLine을 사용하면 안된다.br /buCR-LF/u/b : 맨 마지막에 붙는다. 각 sentence는 82자 까지 가능하다.br /위의 예에서는 GPGGA, GPRMC, GPGSA, GPGSV의 네 항목이 사용되었는데 웬만한 GPS 수신기라면 /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-US이 정도는 default로 나온다. 좀 더 고급형의 경우는 더 많은 문장의 출력 여부와 출력시간 등을 사용자가 /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USsetting할 수 있게 되어 있다.span style=nbsp; /span또 제조사들이 각 sentence를 만드는 경우도 있는데 그 경우는 /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-US$P로 시작한다. /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-US심지어 NMEA 포맷이 아닌 제조사만의 binary 포맷을 같이 지원하기도 하기 때문에 NMEA 포맷으로 /span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-US바꾸는 방법을 GPS 구입시 확인하여야 한다.br /우리는 위에 설명된 네 가지 문장을 중심으로 간단한 GPS Viewer를 만드는 것을 목표로 할 것이다.br /br /이제 각 sentence의 내용을 알아보자. 다음은 GPGGA에 관한 내용이다./span/spanspan style=font-family: 굴림; lang=EN-USo:p/o:p/span/div/span/font/span/span/span/spanspan style=font-size: 10pt; font-family: 바탕; lang=EN-USspan style=font-size: 10pt; font-family: 바탕; lang=EN-USspan style=font-size: 10pt; font-family: 바탕;span lang=EN-USv:shapetype id=_x0000_t75 path=m@4@5l@4@11@9@11@9@5xe o:spt=75 coordsize=21600,21600 stroked=f filled=f o:preferrelative=to:lock aspectratio=t v:ext=editfont face=굴림 /font/o:lock/v:shapetypedivspan style=font-size: 10pt; color: rgb(0, 0, 0); line-height: 21px; font-family: '한컴바탕'; letter-spacing: 0px; text-align: justify;font face=굴림img src=http://i.blog.empas.com/joungyup/25882290_537x317.gif onclick=viewImage('/joungyup/25882290_537x317.gif'); style= _base_target=_son border=0 height=317 width=537/font/spanfont face=굴림 /font/div/span/span/span/spanspan style=font-size: 10pt; font-family: 바탕; lang=EN-USspan style=font-size: 10pt; font-family: 바탕; lang=EN-USspan style=font-size: 10pt; font-family: 바탕;span lang=EN-USfont face=굴림 /fontdiv class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;font face=굴림각 항목 중 필요한 것만 분석해보자span lang=EN-US. 언급을 안 하는 항목은 우리 목적에 필요가 없거나 너무 /span/font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림복잡한 경우로 이해하면 될 것이다.br /2번 항목은 시각이다. 앞에서 언급했듯이 아주 정확한 시각이므로 PDA나 Notebook의 시각 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림동기화에 사용해도 괜찮을 것이다. 단 세계 표준시이므로 우리나라에서는 9시간을 더해 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림주어야 한다. /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림날짜까지 알려면 GPRMC에서 처리하면 된다. 그리고 각 sentence 마다 시간이 조금씩 차이가 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림나는데 이는 각 sentence가 생성되는 시점이 차이가 나기 때문이다.br /3번과 5번은 각각 경도와 위도를 나타낸다. 일반적으로 경위도에는 도분초를 사용하는데 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림여기서는 도와 분만을 사용한다. 위도의 경우는 앞에 두자가 도이고 경도의 경우는 앞에서 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림세자가 도에 해당한다. 그 뒤의 숫자는 분을 나타내며 초는 분으로 환산되어 있다.span style=nbsp; /span/font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림그래서 가령 도분초로 환산하려면 소수점 밑에 숫자에 60을 곱해야 한다.br /0.5589분 * 60 = 33.534초br /4번과 6번은 동경과 서경, 북위와 남위를 나타내므로 우리나라에서는 N, E 밖에 볼 수 없다. br /7번은 position이 결정됐느냐를 가리킨다. 만약 0이라면 계산된 위치를 믿을 수 없으므로 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림사용하면 안 된다. /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림처음 켰을 때나 위성신호가 잘 수신이 안되는 지역에서 흔히 볼 수 있다. 1번이나 그 외의 숫자일 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림경우는 사용 가능하다. 2번 이후는 좀 더 복잡한 시스템이므로 그냥 넘어가자. br /8번은 현재 수신되는 위성의 개수이다. 나중에 설명할 GPGSA 문장에 나온다. 9번의 HDOP도 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림뒤에서 설명한다. br /10번은 평균해수면(MSL : Mean Sea Level)을 기준으로 한 고도이다. 보통 우리가 생각하는 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림높이와 일치한다. GPS는 수평오차보다 수직오차가 크다. 간단하게 위성이 우리 발 밑에는 없고 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림전부 머리 위에 있기 때문으로 이해하면 될 것이다. 즉 높이값 자체를 너무 신뢰하지 말기 바란다.br /12번은 MSL과 Geoid의 고도차이다. 물론 마이너스 값이 나올 수 있다. 보통 GPS수신기에는 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림NULL 처리가 되 있다. WGS-84 ellipsoid나 Geoid에 대해서는 다음 회의 좌표에 대한 글에서 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림간단히 언급을 하고 일단 GPS에서 나오는 모든 경위도 좌표는 WGS-84 타원체를 기준으로 /font/span/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림;span lang=EN-USfont face=굴림하고 있다고 이해하면 될 것이다.br /13번과 14번은 고도의 단위이다. M이라는 것은 Meter단위인데 필자도 아직 M외에는 본적이 없다./font/span/spanspan style=font-family: 굴림; lang=EN-USo:p/o:p/span/div divfont face=굴림br /다음은 GPRMC에 관한 내용이다.br //fontspan style=font-size: 10pt; color: rgb(0, 0, 0); line-height: 21px; font-family: '한컴바탕'; letter-spacing: 0px; text-align: justify;font face=굴림img src=http://i.blog.empas.com/joungyup/25882291_559x274.gif onclick=viewImage('/joungyup/25882291_559x274.gif'); style= _base_target=_son border=0 height=274 width=559/font/spanfont face=굴림 /font/div divbr /span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림RMC는 Recommended Minimum Specific GNSS Data의 약자이다. 말뜻 그대로 navigation에 o:p/o:p/font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%;font face=굴림일반적으로 필요한 데이터 항목을 다 가지고 있다span lang=EN-US. 하지만 필자의 기억으로는 모든 GPS에서 o:p/o:p/span/font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%;font face=굴림지원하지는 않았던 것 같다span lang=EN-US. 만약 이 문장이 없다면 필요한 데이터를 다른 문장에서 가져올 수 o:p/o:p/span/font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%;font face=굴림있으므로 너무 신경 쓸 필요는 없다/fontspan lang=EN-USfont face=굴림. br /일단 GPGGA는 지원을 다하므로 (이거 지원하지 않으면 문제 있다) 가장 중요한 위치는 가져올 수 있다. o:p/o:p/font/span/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림GPGGA에서 지원을 안 하지만 흔히 많이 쓰는 것이 속도와 방향 날짜등이다. (GPGGA에서는 시간만 나온다) /font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림가령 속도와 방향은 GPVTG에서 가져 올 수 있으며 날짜는 GPZDA에서 가져 올 수 있다. br /일단 최근에 나온 GPS 들은 모두 RMC를 지원하므로 우리는 이 문장만을 이용하여 진행하기로 하자.br /2번은 UTC time이다. GPGGA항목과 동일하다. NMEA에서는 이렇게 동일한 항목이 여러 문장에 걸쳐 나온다. /font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림10번의 날짜항목과 같이 연산하면 완전한 날짜와 시간을 얻을 수 있다. 역시 9시간을 더해야 한다.br /3번은 GPGGA의 7번 항목인 Position Fix와 비슷하다. 간편하게 A와 V로 표시한다. V일 경우는 위치정보를 /font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림신뢰할 수 없는 경우이다.br /4번부터 7번은 GPGGA와 완전히 동일하다.br /8번은 속도이다. 해양용이라 역시 Knots단위로 되 있다. GPVTG에서는 Km/h도 지원하다. /font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림Km/h로 바꾸려면 1.852를 곱하면 된다.span style=nbsp; /spanbr /9은 진행 방향이다. 진북을 중심으로 시계방향으로 0~359까지의 각도가 주어진다.여기서 말하는 /font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림진북은 WGS-84 타원체를 중심으로 한 것이다. br /11번은 자북과 9번에서 말한 진북과의 차이를 각도로 표시한 것이다. 가령 나침반으로 정밀하게 측정할 때 유용할 것이다. /font/span/div div style=line-height: 150%;span style=font-size: 10pt; color: black; line-height: 150%; lang=EN-USfont face=굴림그러나 웬만한 GPS에서는 대개 NULL로 채워져 있다.o:p/o:p/font/span/div div divfont face=굴림br /다음은 GPGSA에 관한 내용이다.br //fontspan style=font-size: 10pt; color: rgb(0, 0, 0); line-height: 21px; font-family: '한컴바탕'; letter-spacing: 0px; text-align: justify;font face=굴림img src=http://i.blog.empas.com/joungyup/25882292_555x370.gif onclick=viewImage('/joungyup/25882292_555x370.gif'); style= _base_target=_son border=0 height=370 width=555/font/spanfont face=굴림 /font/div/div divbr /font face=굴림nbsp;/font/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림GSA는 GNSS DOP and Active Satellite의 약자이다. GPGSA와 다음에 나올 GPGSV는 navigation에 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림필요하다기 보다는 GPS의 수신상태를 점검하는데 주로 이용된다. 현위치에서 잡히는 각각의 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림위성상태를 알 수 있기 때문에 두 문장을 이용하여 위성의 배열상태를 Graphical하게 표시할 수 있다. /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림(흔히 천공도라고 한다.) br /2번과 3번은 GPS작동 모드에 대한 항목이다. 위에서 보듯 흔히 A와 3으로 되어있다. 간단히 설명하면 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림2D모드란 높이의 변화가 없이 경위도만 변한다고 가정하고 위치를 계산하는 모드이면 3D모드는 /font/spanspan style=color: black; font-family: 굴림; lang=EN-USfont face=굴림경위도와 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림높이가 다 변하는 경우이다. 측량용의 고가 GPS의 경우는 경위도를 고정하고 높이만을 계산하는 모드도 있다.br /4번부터 15까지는 수신기에 잡힌 GPS위성의 번호가 나와 있다. 흔히 12채널 GPS수신기라고 하는 것은 바로 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림위성신호를 12개 까지 수신할 수 있다는 의미이다. 대부분의 GPS수신기는 12채널짜리이면 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림사실 그 이상은 의미가 없다. 앞에서 설명했듯이 총 24개의 위성이 배열되어 있으므로 높은 하늘이라면 모를까 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림지상에서는 12개 이상의 위성이 보이지 않는다. 수신되지 않은 위성의 자리는 NULL처리되어 있다.br /16번부터 18까지는 위성의 측위 오차에 관한 항목이다. 수신기에서 4개이상의 위성이 감지되더라도 수신기는 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림PDOP이 최소인 위성 4개의 배열을 잡아 위치를 계산해 낸다. PDOP은 수신기 위치를 꼭지점으로 각각의 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림위성이 이르는 사각뿔의 체적에 반비례한다. 체적이 큰 경우가 측위 오차가 적게 되는데 이는 위성이 널리 /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림퍼져 오차가 상쇄되기 때문으로 이해하면 될 것이다. 수직방향은 그러한 상쇄되는 면이 없기 때문에/font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림(위성은 전부 하늘에 있다.) 수평오차보다 크게 된다.br /VDOP은 수직오차를 HDOP은 수평오차를 말한다. br /PDOP = Sqrt(HDOP*HDOP + VDOP*VDOP)의 관계가 성립한다. 최적값은 1.0으로 대개 6이하면 쓸만하다고 보면 된다. br /사실 전문가가 아니면 크게 필요없는 내용이다. 더 자세한 내용을 알고자 하면 인터넷에서 검색해보기 바란다. /font/span/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-USfont face=굴림상당히 많은 내용이 나와 있을 것이다./font/spanspan style=font-family: 굴림; lang=EN-USo:p/o:p/span/div divfont face=굴림br /다음은 GPGSV에 관한 내용이다.br //fontspan style=font-size: 10pt; color: rgb(0, 0, 0); line-height: 21px; font-family: '한컴바탕'; letter-spacing: 0px; text-align: justify;font face=굴림img src=http://i.blog.empas.com/joungyup/25882293_555x418.gif onclick=viewImage('/joungyup/25882293_555x418.gif'); style= _base_target=_son border=0 height=418 width=555/font/spanfont face=굴림 /font/div divnbsp;/div div class=MsoNormal style=margin: 0cm 0cm 0pt; line-height: 150%;span style=color: black; font-family: 굴림; lang=EN-US$GPGSV,2,1,07,07,84,025,47,04,51,289,48,20,40,048,47,02,32,203,46*74br /$GPGSV,2,2,07,01,23,101,47,13,20,131,32,24,19,268,40*49br /br /GSV 는 GNSS Satellite in View의 약자이다. 각각 위성의 상태에 대해 나와있는 문장이다. 여기서 주의해야 할 것은 GSV는 한 문장에 4개의 위성에 대한 정보만이 나와 있다. 그러므로 위성이 12개일 경우는 세 문장이 연속으로 나오고 가령 7개일 경우는 두 문장이 나오게 된다.br /2번이 바로 총 문장 갯수를 나타낸다. 위의 예에서는 위성이 10개 이므로 3으로 되어 있다. br /3번은 몇 번째 문장인지를 가리킨다. 다음의 예처럼 총문장이 2일 때는 1과 2가 순서대로 나오게 된다.br /br /$GPGSV,2,/spanbspan style=border: 1pt solid windowtext; padding: 0cm; color: red; font-family: 굴림; lang=EN-US1/span/bspan style=color: black; font-family: 굴림; lang=EN-US,07,07,84,025,47,04,51,289,48,20,40,048,47,02,32,203,46*74br /$GPGSV,2,/spanbspan style=border: 1pt solid windowtext; padding: 0cm; color: red; font-family: 굴림; lang=EN-US2/span/bspan style=color: black; font-family: 굴림; lang=EN-US,07,01,23,101,47,13,20,131,32,24,19,268,40*49br /br /4번은 총 보이는 위성의 개수이다. 바로 위의 예를 보면 위성개수가 7개이므로 두번째 문장에서는 3개의 위성에 대한 설명만 나온다. NULL처리 된 게 아니고 아예 안나오므로 이 값에 따라 parsing을 해야 한다.span style=nbsp; /spanbr /5번부터 8번 항목이 위성 한 개에 대한 내용이다. 같은 내용이 위성 개수에 따라 반복이 된다.br /5번은 위성번호로 각 위성마다 가지는 고유번호가 나오게 된다. GPGSA에 나온 위성번호와 일치한다.br /6번은 고도각으로 90도 까지 나온다. 7번은 방향각으로 북쪽을 중심으로 0~359도 까지 나온다. 구좌표계를 생각하면 이해가 될 것이다. 이 항목을 이용하여 위성의 위치를 표시할 수 있다.br /8번은 위성에서 수신된 전파강도로 0~99까지 나온다. 각 위성의 수신상태를 표시 할 수 있다.br /br /이 상으로 NMEA에 대한 기본 설명을 마친다. 본 글은 GPS나 NMEA에 대한 글이 아니라 그 응용프로그램에 대한 글이기 떄문에 너무 전문적인 설명은 피했다. 설명되지 않은 다른 문장이나 더 자세한 내용은 다른 글을 참조하기 바란다./span/div/span/span/span/spanbr /
크리에이티브 커먼즈 라이센스
Creative Commons License
2007/06/22 15:16 2007/06/22 15:16
TAG , , ,
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://blog.minzkn.com/rss/response/200

댓글+트랙백 ATOM :: http://blog.minzkn.com/atom/response/200

트랙백 주소 :: http://blog.minzkn.com/trackback/200

트랙백 RSS :: http://blog.minzkn.com/rss/trackback/200

트랙백 ATOM :: http://blog.minzkn.com/atom/trackback/200

댓글을 달아 주세요

댓글 RSS 주소 : http://blog.minzkn.com/rss/comment/200
댓글 ATOM 주소 : http://blog.minzkn.com/atom/comment/200