항법연구실

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,,,,*38

 

 

2개의 문장이 함께 오는 것을 확인할 수 있다. - 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 형식의 데이터 스트림도 특정 앱이나 앱 개발자가 접근할 수 있도록 형성된다.