18 Message_NMEA_GGA::content_t::content_t() :
25 orthometric_altitude(),
26 corrected_orthometric_altitude(),
34 out.
printf(
"[NMEA GGA datum]\n");
35 out.
printf(
" Longitude: %.09f deg Latitude: %.09f deg Height: %.03f m\n",
40 out.
printf(
" Geoidal distance: %.03f m Orthometric alt.: %.03f m Corrected ort. alt.: %.03f m\n",
45 out.
printf(
" UTC time-stamp: %02u:%02u:%02.03f #sats=%2u ",
54 case 0: out.
printf(
"(Invalid)\n");
break;
55 case 1: out.
printf(
"(GPS fix)\n");
break;
56 case 2: out.
printf(
"(DGPS fix)\n");
break;
57 case 3: out.
printf(
"(PPS fix)\n");
break;
58 case 4: out.
printf(
"(Real Time Kinematic/RTK Fixed)\n");
break;
59 case 5: out.
printf(
"(Real Time Kinematic/RTK Float)\n");
break;
60 case 6: out.
printf(
"(Dead Reckoning)\n");
break;
61 case 7: out.
printf(
"(Manual)\n");
break;
62 case 8: out.
printf(
"(Simulation)\n");
break;
63 case 9: out.
printf(
"(mmGPS + RTK Fixed)\n");
break;
64 case 10: out.
printf(
"(mmGPS + RTK Float)\n");
break;
65 default: out.
printf(
"(UNKNOWN!)\n");
break;
68 out.
printf(
" HDOP (Horizontal Dilution of Precision): ");
76 o <<
"lon_deg lat_deg hgt_m undulation_m hour min sec num_sats fix_quality hdop";
81 o <<
mrpt::format(
"%.09f %.09f %.04f %.04f %02u %02u %02.03f %2u %u %f",
100 longitude_degrees(0),
106 out.
printf(
"[NMEA GLL datum]\n");
107 out.
printf(
" Longitude: %.09f deg Latitude: %.09f deg Validity: '%c'\n",
111 out.
printf(
" UTC time-stamp: %02u:%02u:%02.03f\n",
119 o <<
"lon_deg lat_deg hour min sec validity";
137 true_track(), magnetic_track(),ground_speed_knots(), ground_speed_kmh()
142 out.
printf(
"[NMEA VTG datum]\n");
149 o <<
"true_track mag_track gnd_speed_knots gnd_speed_kmh";
163 longitude_degrees(0),
165 direction_degrees(0),
170 positioning_mode(
'N')
182 years_century = (dec_parts.
year/100)*100;
199 out.
printf(
"[NMEA RMC datum]\n");
201 out.
printf(
" UTC time-stamp: %02u:%02u:%02.03f\n",
206 out.
printf(
" Date (DD/MM/YY): %02u/%02u/%02u\n ",
208 out.
printf(
" Longitude: %.09f deg Latitude: %.09f deg Valid?: '%c'\n",
213 out.
printf(
" Speed: %.05f knots Direction:%.03f deg.\n ",
222 o <<
"lon_deg lat_deg hour min sec speed_knots direction_deg year month day";
227 o <<
mrpt::format(
"%.09f %.09f %02u %02u %02.03f %.05f %.03f %02u %02u %02u",
244 UTCTime(), date_day(),date_month(),date_year()
249 out.
printf(
"[NMEA ZDA datum]\n");
250 out.
printf(
" UTC time-stamp: %02u:%02u:%02.03f\n",
255 out.
printf(
" Date (DD/MM/YY): %02u/%02u/%04u\n ",
261 o <<
"year month day hour minute second";
uint64_t TTimeStamp
A system independent time type, it holds the the number of 100-nanosecond intervals since January 1...
void dumpToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
Dumps the contents of the observation in a human-readable form to a given output stream.
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
void BASE_IMPEXP timestampToParts(TTimeStamp t, TTimeParts &p, bool localTime=false)
Gets the individual parts of a date/time (days, hours, minutes, seconds) - UTC time or local time...
uint8_t fix_quality
NMEA standard values: 0 = invalid, 1 = GPS fix (SPS), 2 = DGPS fix, 3 = PPS fix, 4 = Real Time Kinema...
content_t fields
Message content, accesible by individual fields.
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
content_t()
Build an MRPT timestamp with the year/month/day of this observation.
unsigned __int16 uint16_t
mrpt::system::TTimeStamp getAsTimestamp(const mrpt::system::TTimeStamp &date) const
Build an MRPT timestamp with the hour/minute/sec of this structure and the date from the given timest...
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
This namespace provides a OS-independent interface to many useful functions: filenames manipulation...
content_t fields
Message content, accesible by individual fields.
bool getAllFieldDescriptions(std::ostream &o) const MRPT_OVERRIDE
Dumps a header for getAllFieldValues()
mrpt::system::TTimeStamp BASE_IMPEXP buildTimestampFromParts(const mrpt::system::TTimeParts &p)
Builds a timestamp from the parts (Parts are in UTC)
uint32_t satellitesUsed
The number of satelites used to compute this estimation.
mrpt::system::TTimeStamp now()
A shortcut for system::getCurrentTime.
content_t fields
Message content, accesible by individual fields.
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
double orthometric_altitude
The measured orthometric altitude, in meters (A)+(B).
bool getAllFieldDescriptions(std::ostream &o) const MRPT_OVERRIDE
Dumps a header for getAllFieldValues()
bool getAllFieldDescriptions(std::ostream &o) const MRPT_OVERRIDE
Dumps a header for getAllFieldValues()
double altitude_meters
The measured altitude, in meters (A).
This base class is used to provide a unified interface to files,memory buffers,..Please see the deriv...
bool thereis_HDOP
This states whether to take into account the value in the HDOP field.
bool getAllFieldDescriptions(std::ostream &o) const MRPT_OVERRIDE
Dumps a header for getAllFieldValues()
void dumpToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
Dumps the contents of the observation in a human-readable form to a given output stream.
bool getAllFieldValues(std::ostream &o) const MRPT_OVERRIDE
Dumps a line with the sequence of all field values (without a line feed at the end).
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)
double corrected_orthometric_altitude
The corrected (only for TopCon mmGPS) orthometric altitude, in meters mmGPS(A+B). ...
mrpt::system::TTimeStamp getDateAsTimestamp() const
Build an MRPT timestamp with the year/month/day of this observation.
The parts of a date/time (it's like the standard 'tm' but with fractions of seconds).
content_t fields
Message content, accesible by individual fields.
float HDOP
The HDOP (Horizontal Dilution of Precision) as returned by the sensor.
double longitude_degrees
The measured longitude, in degrees (East:+ , West:-)
bool getAllFieldValues(std::ostream &o) const MRPT_OVERRIDE
Dumps a line with the sequence of all field values (without a line feed at the end).
std::string BASE_IMPEXP format(const char *fmt,...) MRPT_printf_format_check(1
A std::string version of C sprintf.
uint8_t date_year
Date: day (1-31), month (1-12), two-digits year (00-99)
GNSS (GPS) data structures, mainly for use within mrpt::obs::CObservationGPS.
double second
Minute (0-59)
void dumpToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
Dumps the contents of the observation in a human-readable form to a given output stream.
double geoidal_distance
Undulation: Difference between the measured altitude and the geoid, in meters (B).
double magnetic_dir
Magnetic variation direction (East:+, West:-)
mrpt::system::TTimeStamp getDateAsTimestamp() const
Build an MRPT timestamp with the year/month/day of this observation.
mrpt::system::TTimeStamp getDateTimeAsTimestamp() const
Build an MRPT UTC timestamp with the year/month/day + hour/minute/sec of this observation.
double speed_knots
Measured speed (in knots)
uint8_t minute
Hour (0-23)
bool getAllFieldDescriptions(std::ostream &o) const MRPT_OVERRIDE
Dumps a header for getAllFieldValues()
void dumpToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
Dumps the contents of the observation in a human-readable form to a given output stream.
double direction_degrees
Measured speed direction (in degrees)
bool getAllFieldValues(std::ostream &o) const MRPT_OVERRIDE
Dumps a line with the sequence of all field values (without a line feed at the end).
char positioning_mode
'A': Autonomous, 'D': Differential, 'N': Not valid, 'E': Estimated, 'M': Manual
content_t fields
Message content, accesible by individual fields.
void dumpToStream(mrpt::utils::CStream &out) const MRPT_OVERRIDE
Dumps the contents of the observation in a human-readable form to a given output stream.
double latitude_degrees
The measured latitude, in degrees (North:+ , South:-)
int8_t validity_char
This will be: 'A'=OK or 'V'=void.
double magnetic_track
Degrees.
bool getAllFieldValues(std::ostream &o) const MRPT_OVERRIDE
Dumps a line with the sequence of all field values (without a line feed at the end).
double ground_speed_knots
uint16_t date_year
2000-...
virtual int printf(const char *fmt,...) MRPT_printf_format_check(2
Writes a string to the stream in a textual form.
bool getAllFieldValues(std::ostream &o) const MRPT_OVERRIDE
Dumps a line with the sequence of all field values (without a line feed at the end).
UTC_time UTCTime
The GPS sensor measured timestamp (in UTC time)