-
GPS raw 데이터 분석 - NMEA(GPGGA, GRPMC)항법연구실 2025. 11. 28. 09:28
NMEA란
NMEA(NMEA 0183)은 시간, 위치, 방위 등의 정보를 전송하기 위한 규격이다.
미국 NMEA(The National Marine Electronics Association)에서 정의해두었다.
NMEA약어에서 알 수 있듯 항해 데이터를 위한 규격으로 선박의 전자 장비들 간 통신을 위해 만든 규격이었다.
현재는 위치 정보(GPS/GNSS)관련 데이터의 표준 프로토콜로 널리 사용된다.
NMEA 핵심 용도 : 시간(Time), 위치(Position), 속도(Velocity), 방위(Bearing)등의 정보를 전송
NMEA 적용 분야 : 해양 장비 외에도 항공, 측량, GIS(지리정보시스템)을 비롯해 휴대폰 GPS앱에서 위치 데이터를 추출하는 등 육상 분야에서도 광범위하게 사용된다.
NMEA 규격
NMEA의 개념보다 중요한 것이 NMEA 규격을 해석하고 활용하는 것이다.
다음은 필자가 실제 GPS앱을 통해 저장한 NMEA 데이터 예시이다.
$GPGGA,080014.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3A $GPRMC,080014.00,A,3736.09244,N,12651.87374,E,0.000,193.8,271125,,,A*56 $GPGGA,080020.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3D $GPRMC,080020.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*52 $GPGGA,080032.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3E $GPRMC,080032.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*51 $GPGGA,080035.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*39 $GPRMC,080035.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*56 $GPGGA,080044.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3F $GPRMC,080044.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*50 $GPGGA,080050.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3A $GPRMC,080050.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*55 $GPGGA,080102.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3C $GPRMC,080102.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*53 $GPGGA,080105.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3B $GPRMC,080105.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*54 $GPGGA,080114.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3B $GPRMC,080114.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*54 $GPGGA,080120.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3C $GPRMC,080120.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*53 $GPGGA,080132.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3F $GPRMC,080132.00,A,3736.09244,N,12651.87374,E,0.000,127.4,271125,,,A*50 $GPGGA,080135.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*382개의 문장이 함께 오는 것을 확인할 수 있다. - GPGGA, GRPMC
따로 분리해야하기 때문에 각각의 정보에 대한 개념을 잡고 가자
두 문장의 동일한 점은 쉼표(,)로 각 필드(데이터 항목)을 순서대로 해석한다는 것이다.
GPGGA Global Positioning System Fix Data
정확한 3차원 위치, 정확도 지표(HDOP), 가시 위성 수를 제공
$GPGGA,080014.00,3736.09244,N,12651.87374,E,1,08,0.00,11.4,M,,,,*3A
순서 필드 내용해석 2 080014.00 UTC 기준 시각 : 08시 00분 14.00초 (한국은 +9해주면 됨) 3, 4 3736.09244,N 위도 : 37 ° 36.09244' 북위 5, 6 12651.87374,E 경도 : 126 ° 51.87374' 동경 7 1 GPS품질 표시 : 1 = 유효한 GPS Fix (2는 DGPS, 0은 무효), 데이터 신뢰도 확인 8 08 가시 위성 수: 8개 9 0.00 HDOP(수평 정밀도 저하율) : 0.00 10, 11 11.4, M 해수면 위 고도 : 11.4m (수신기 높이) GRPMC Recommended Minimum Navigation Data
시간, 날짜, 위치, 속도, 방위 등 항해에 필요한 최소한의 핵심 정보를 제공
순서 필드 내용 해석 2 080014.00 UTC 시각: 08시 00분 14.00초 시간 추출 (GPGGA와 동일) 3 A 상태: A = Active (데이터 유효), V = Void (무효) 데이터 유효성 확인 8 0.000 노면 속도 (Speed Over Ground): 0.000 노트 이동 측량 (속도 변화 분석) 9 193.8 노면 방위 (Track Angle): 193.8도 이동 측량 (방향 분석) 10 271125 UTC 날짜: 2025년 11월 27일 날짜 기록
셀프 Q&A
스마트폰에서 NMEA 규격을 정의 ?
GPS에서 오는 신호를 가공한 NMEA 표준 출력 포맷이다.
GPS에서는 전파 신호를 지속적으로 송출하고 GNSS칩이 내장된 스마트폰에서 정확한 현재 위치를 초당 여러번 계산한다.
계산된 위치 정보는 스마트폰 OS와 앱들이 사용할 수 있도록 정해진 형식으로 제공된다.
이 때 NMEA 형식의 데이터 스트림도 특정 앱이나 앱 개발자가 접근할 수 있도록 형성된다.
'항법연구실' 카테고리의 다른 글
앞으로 공부할 내용 (0) 2025.12.15 python sgp4 함수 사용하여 인공위성의 궤적 그리기 (0) 2025.12.10 테일러 급수(Taylor Series) (0) 2025.11.19