Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Введение
GPS отправляет данные в единицах строк, формат данных следующий:
$infotype,x,x,x,x,x,x,x,x,x,x,x,x,x
Каждая строка начинается с символа «$».,к<CR><LF>для конца,CR—Carriage Return,LF—Line Feed означает возврат каретки и перевод строки. Типы информации следующие, как показано в Таблице 1:
Таблица 1. Классификация типов информации GPS-данных
Тип информации | Английская семантика | Китайская семантика |
---|---|---|
GPRMC | Recommended Minimum Specific GPS/TRANSIT Data(RMC) | Рекомендуемая информация о местоположении |
GPVTG | Track Made Good and Ground Speed(VTG) | информация о скорости относительно земли |
GPGGA | Global Positioning System Fix Data(GGA) | информация о глобальном местоположении |
GPGSA | GPS DOP and Active Satellites(GSA) | Текущая спутниковая информация |
GPGSV | GPS Satellites in View(GSV) | Видимая спутниковая информация |
GPGLL | Geographic Position(GLL) | Информация о геолокации |
Введены следующие категории:
1.$GPRMC(RecommendedMinimum Specific GPS/TRANSIT Data)
Рекомендуемая информация о местоположении$GPRMCстандарты Форматследующее:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | $GPRMC |
Поле1 | время UTC | hhmmss.ss |
Поле2 | состояние | A/V, A означает действительный, V означает недействительный |
Поле3 | широта | ddmm.mmmm |
Поле4 | Северная/Южная широта | С/Ю, N представляет собой северную широту, S представляет собой южную широту. |
Поле5 | долгота | ddmm.mmmm |
Поле6 | Восточная долгота/Западная долгота | E/W, E представляет собой восточную долготу, W представляет собой западную долготу. |
Поле7 | скорость | Фестиваль(длинный), 1 узел = 1852 км/ч. |
Поле8 | азимут | градусы (на основе истинного севера) |
Поле9 | Дата UTC | день, месяц, год, ддммгг |
Поле10 | Магнитное склонение | 000~180 градусов |
Поле11 | Магнитное склонениенаправление | Восток/Запад, Восток/Запад |
Поле12 | Выход режима только для NMEA0183 версии 3.00 | A: автоматически, D: разница, E: оценка, N: недействительно |
Поле13 | Проверить значение | hh |
На примере $GPRMC,092427.604,V,4002.1531,N,11618.3097,E,0.000,0.00,280814,,E,N*08 значения каждого Поле следующие:
Поле | параметр | Формат |
---|---|---|
Поле0 | $GPRMC | Представляет информацию GPSТип как GPRMC. |
Поле1 | 092427.604 | Время позиционирования 09:24:27,604 секунды |
Поле2 | V | Таргетинг недействителен. |
Поле3 | 4002.1531 | широта:40степень02.1531точка |
Поле4 | N | северная широта |
Поле5 | 11618.3097 | долгота: 116 градусов 18,3097 минут |
Поле6 | E | восточная долгота |
Поле7 | 0.000 | скорость |
Поле8 | 0.00 | азимут |
Поле9 | 280814 | Дата UTC 28 14 августа |
Поле10 | означает пустой Магнитное склонение | |
Поле11 | E | Магнитное направление отклонения — восток |
Поле12 | N | Режим: недействительный |
Поле13 | 08 | Контрольная сумма |
2.$GPVTG(TrackMade Good and Ground Speed)
информация о скорости относительно земли$GPVTGстандарты Форматследующее:
$GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*hh<CR><LF>
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | $GPVTG |
Поле1 | Наземный курс по истинному северу | 000~359 градусов |
Поле2 | Курсовая отметка, система отсчета истинного севера | Обычно Т |
Поле3 | Наземный курс по магнитному северу | 000~359 градусов |
Поле4 | Курсовая отметка, система отсчета магнитного севера | Обычно М |
Поле5 | Скорость горизонтального перемещения | 0.00 |
Поле6 | подразделение, раздел | N |
Поле7 | Скорость горизонтального перемещения | 0.00 |
Поле8 | Единица измерения, км/ч | K |
Поле9 | Режим (только выход NMEA0183 версии 3.00) | A: автоматически, D: разница, E: оценка, N: недействительно |
Поле10 | hh | Контрольная сумма |
На примере $GPVTG,0.0,T,,M,0.00,N,0.00,K,N*50 значение каждого Поле следующее:
Поле | параметр | Формат |
---|---|---|
Поле0 | $GPVTG | означает GPSТип информациидляGPVTG |
Поле1 | 0.0 | земляскорость |
Поле2 | T | Курсовой знак, истинное направление на север |
Поле3 | никто | земляскорость |
Поле4 | M | Курсовая отметка, направление магнитного севера |
Поле5 | 0.00 | Скорость горизонтального перемещения |
Поле6 | N | Единица измерения: узел |
Поле7 | 0.00 | Скорость горизонтального перемещения |
Поле8 | K | Единица измерения: км/ч |
Поле9 | N | никтоэффект |
Поле10 | 50 | Контрольная сумма |
3. $GPGGA(Global Positioning System Fix Data)
информация о глобальном местоположении$GPGGAстандарты Форматдля:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*hh<CR><LF>
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | $GPGGA |
Поле1 | время UTC | Hhmmss.sss |
Поле2 | широта | ddmm.mmmm |
Поле3 | Северная/Южная широта | N/S |
Поле4 | долгота | dddmm.mmmm |
Поле5 | Восточная долгота/Западная долгота | E/W |
Поле6 | Показатели качества позиционирования | 0:Таргетинг недействителен.,1:Живой GPS, 2: Дифференциальный GPS |
Поле7 | Количество используемых спутников | 00~12 |
Поле8 | горизонтальная точность | 0.5~99.9 |
Поле9 | Высота антенны над уровнем моря | -9999,9~9999,9 метров |
Поле10 | единица высоты | Обычно М: метр |
Поле11 | Высота геодезического эллипсоида относительно уровня моря | -999.9~9999.9 |
Поле12 | единица высоты | Обычно М: метр |
Поле13 | Дифференциальный период данных GPS | |
Поле14 | Этикетка базовой станции с дифференциальным эталоном | 0000~1023 |
Поле15 | hh | Контрольная сумма |
На примере $GPGGA,082006.000,3852.9276,N,11527.4283,E,1,08,1.0,20.6,M,,,,0000*35 значения каждого Поле следующие:
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | означает GPSТип информациидляGPGGA |
Поле1 | 082006.000 | время UTC 08 часов 20 минут 06.000 секунд |
Поле2 | 3852.9276 | широта38степень52.9276точка |
Поле3 | N | северная широта |
Поле4 | 11527.4283 | долгота115 градусов 27,4283 минуты |
Поле5 | E | восточная долгота |
Поле6 | 1 | Живой GPS |
Поле7 | 08 | Количество доступных спутников: 08 |
Поле8 | 1.0 | горизонтальная точностьфактор1.0 |
Поле9 | 20.6 | Высота антенны 20,6 метра |
Поле10 | M | Единица угла возвышения антенны: метры |
Поле11 | никто | Высота геодезического эллипсоида относительно уровня моря |
Поле12 | никто | единица высоты |
Поле13 | никто | Дифференциальный период данных GPS |
Поле14 | 0000 | Живой GPSникто |
Поле15 | 35 | Контрольная сумма |
4. $GPGSA(GPS DOP and Active Satellites)
Текущий стандартный формат спутниковой информации $GPGSA следующий:
$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>*hh<CR><LF>
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | $GPGGA |
Поле1 | модель | М: Ручной, А: Автоматический |
Поле2 | Тип позиционирования | 1: Не позиционировано, 2: Двумерное позиционирование, 3: Трехмерное позиционирование |
Поле3 | Кодовый номер спутникового RPN, используемый каналом 1 | Псевдослучайный шум, код псевдослучайного шума, 01~32 представляет номер спутника, используемого в небе, и может принимать до 12 спутниковых данных. |
Поле4 | Кодовый номер спутникового RPN, используемый каналом 2 | |
Поле5 | Кодовый номер спутникового RPN, используемый каналом 3 | |
Поле6 | Кодовый номер спутникового RPN, используемый каналом 4 | |
Поле7 | Кодовый номер спутникового RPN, используемый каналом 5 | |
Поле8 | Кодовый номер спутникового RPN, используемый каналом 6 | |
Поле9 | Кодовый номер спутникового RPN, используемый каналом 7 | |
Поле10 | Кодовый номер спутникового RPN, используемый каналом 8 | |
Поле11 | Кодовый номер спутникового RPN, используемый каналом 9 | |
Поле12 | Кодовый номер спутникового RPN, используемый каналом 10 | |
Поле13 | Кодовый номер спутникового RPN, используемый каналом 11 | |
Поле14 | Кодовый номер спутникового RPN, используемый каналом 12 | |
Поле15 | Интегрированный коэффициент точности позиционирования PDOP | 0.5~99.9 |
Поле16 | HDOPгоризонтальная точностьфактор | 0.5~99.9 |
Поле17 | Коэффициент вертикальной точности VDOP | 0.5~99.9 |
Поле18 | hh | Контрольная сумма |
5.$GPGSV(GPS Satellites in View)
Видимая спутниковая информация$GPGSVстандарты Форматследующее:
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…,<4>,<5>,<6>,<7>*hh(CR)(LF)
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | $GPGGA |
Поле1 | Общее количество сообщений-предложений GSV | |
Поле2 | Текущий номер выписки GSV | |
Поле3 | Общее количество видимых спутников | 00~12 |
Поле4 | Номер спутника | 01~32 |
Поле5 | Угол возвышения спутника | 00~90 градусов |
Поле6 | спутниковый азимут | 000~359 градусов |
Поле7 | Отношение сигнал/шум (C/No) | 00~99 д Б, 0 означает, что сигнал не получен. |
Поле8 | hh | Контрольная сумма |
Примечание. В каждом операторе содержится информация максимум о четырех спутниках.,Каждый спутник содержит четыре элемента данных: Номер спутника.,Угол возвышения спутника,спутниковый азимут,соотношение сигнал/шум.
Возьмите $GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,078,44,17,36,313,42*78. Например, значение каждого Поле следующее:
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | означает GPSТип информациидляGPGGA |
Поле1 | 2 | Количество сообщений GPS-предложений — 2. |
Поле2 | 1 | Текущий номер выписки ГСВ — 1 |
Поле3 | 08 | Общее количество видимых спутниковдля8 |
Поле4 | 06 | Спутник 06 |
Поле5 | 33 | Угол возвышения спутника33степень |
Поле6 | 240 | спутниковый азимут240степень |
Поле7 | 25 | Отношение сигнал/шум 45 д Б |
Поле8 | 10 | Спутник 10 |
Поле9 | 36 | Угол возвышения спутника36степень |
Поле10 | 074 | спутниковый азимут074степень |
Поле11 | 47 | Отношение сигнал/шум 47д Б |
Поле12 | 16 | Спутник 16 |
Поле13 | 21 | Угол возвышения спутника21степень |
Поле14 | 078 | спутниковый азимут078степень |
Поле15 | 44 | Отношение сигнал/шум 44 д Б |
Поле16 | 17 | Спутник 17 |
Поле17 | 36 | Угол возвышения спутника36степень |
Поле18 | 313 | спутниковый азимут313степень |
Поле19 | 42 | Отношение сигнал/шум 42 д Б |
Поле20 | 78 | Контрольная сумма |
6.$GPGLL(Geographic Position)
Информация о геолокации$GPGLLстандарты Форматследующее:
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>*hh<CR><LF>
Поле | параметр | Формат |
---|---|---|
Поле0 | Заголовок кадра | $GPGLL |
Поле1 | широта | ddmm.mmmm |
Поле2 | Северная/Южная широта | N/S |
Поле3 | долгота | dddmm.mmmm |
Поле4 | Восточная долгота/Западная долгота | E/W |
Поле5 | время UTC (часы минуты секунды) | hhmmss |
Поле6 | состояние флага | А: Действителен,Вникто эффект |
Поле7 | hh | Контрольная сумма |
7、javaанализироватьчерезширота$GPRMCданныечерезширота
/**
* анализироватьширота * @param lat
* @return
*/
public String parseLat(String lat,String type){
//широта
double latitude = Double.parseDouble(lat.substring(0, 2));
latitude+= Double.parseDouble(lat.substring(2))/60;
if("N".equals(type)){ //северная широта
return String.valueOf(latitude);
}else{ //южная широта
return "-"+String.valueOf(latitude);
}
}
/**
* анализироватьдолгота * @param lon
* @return
*/
public String parseLon(String lon,String type){
//долгота
double longitude=Double.parseDouble(lon.substring(0, 3));
longitude+= Double.parseDouble(lon.substring(3))/60;
if("E".equals(type)){ //восточная долгота
return String.valueOf(longitude);
}else{ //Западная долгота
return "-"+String.valueOf(longitude);
}
}
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/147523.html Оригинальная ссылка: https://javaforall.cn