QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
GPSObservation Struct Reference

Receiver-independent data. Unknown metadata remains absent, never a manufactured zero. More...

#include <GPSObservation.h>

Public Types

enum class  PositionUse { GroundStation , Motion , RemoteID , Gga }
 
using FixQuality = GPSFixQuality
 

Public Member Functions

std::optional< GPSObservation > projected (PositionUse use) const
 The owner separately enforces freshness and session authorization.
 
bool hasNavigationSolution () const
 
bool usable () const
 
QGeoCoordinate coordinate () const
 
double heading () const
 

Static Public Member Functions

static GPSObservation fromNavigation (const GPSNavigationValues &navigation, quint64 receivedAtUs)
 Converts a native receiver solution that arrived at receivedAtUs on the monotonic clock.
 
static GPSObservation fromSurveyedPosition (const GPSEllipsoidPosition &position, double accuracyMeters, quint64 receivedAtUs)
 A known antenna position, such as a fixed or surveyed RTK base, which receivers report as a time-only fix.
 
static double accuracyFromDop (double dop)
 Nominal accuracy in meters for receivers that report only DOP (DOP x 5.1 m UERE x 2).
 

Public Attributes

QGeoPositionInfo position
 
quint64 monotonicTimestampUs = 0
 
quint64 sessionId = 0
 
FixQuality fixQuality = FixQuality::Unknown
 
std::optional< bool > receiverFixValid = std::nullopt
 
GPSAltitudeDatum altitudeDatum = GPSAltitudeDatum::Unknown
 
std::optional< int > satellitesUsed
 
std::optional< double > horizontalDop
 
std::optional< double > altitudeEllipsoidMeters
 

Detailed Description

Receiver-independent data. Unknown metadata remains absent, never a manufactured zero.

Definition at line 20 of file GPSObservation.h.

Member Typedef Documentation

◆ FixQuality

Definition at line 22 of file GPSObservation.h.

Member Enumeration Documentation

◆ PositionUse

enum class GPSObservation::PositionUse
strong
Enumerator
GroundStation 
Motion 
RemoteID 
Gga 

Definition at line 24 of file GPSObservation.h.

Member Function Documentation

◆ accuracyFromDop()

double GPSObservation::accuracyFromDop ( double  dop)
static

Nominal accuracy in meters for receivers that report only DOP (DOP x 5.1 m UERE x 2).

Definition at line 83 of file GPSObservation.cc.

Referenced by fromNavigation().

◆ coordinate()

QGeoCoordinate GPSObservation::coordinate ( ) const

Definition at line 146 of file GPSObservation.cc.

References coordinate(), position, and usable().

Referenced by coordinate(), fromNavigation(), and projected().

◆ fromNavigation()

◆ fromSurveyedPosition()

GPSObservation GPSObservation::fromSurveyedPosition ( const GPSEllipsoidPosition &  position,
double  accuracyMeters,
quint64  receivedAtUs 
)
static

A known antenna position, such as a fixed or surveyed RTK base, which receivers report as a time-only fix.

Definition at line 61 of file GPSObservation.cc.

References altitudeEllipsoidMeters, fixQuality, monotonicTimestampUs, position, and receiverFixValid.

Referenced by GPSReceiverSession::observation().

◆ hasNavigationSolution()

bool GPSObservation::hasNavigationSolution ( ) const

Definition at line 134 of file GPSObservation.cc.

References fixQuality, position, and receiverFixValid.

Referenced by projected(), and usable().

◆ heading()

double GPSObservation::heading ( ) const

Definition at line 160 of file GPSObservation.cc.

References position, and usable().

Referenced by projected().

◆ projected()

std::optional< GPSObservation > GPSObservation::projected ( PositionUse  use) const

The owner separately enforces freshness and session authorization.

Definition at line 90 of file GPSObservation.cc.

References altitudeDatum, altitudeEllipsoidMeters, coordinate(), Ellipsoid, Gga, GroundStation, hasNavigationSolution(), heading(), Motion, position, RemoteID, Unknown, and usable().

Referenced by NTRIPVehicleGgaSource::gpsObservation().

◆ usable()

bool GPSObservation::usable ( ) const

Definition at line 139 of file GPSObservation.cc.

References hasNavigationSolution(), and position.

Referenced by coordinate(), heading(), and projected().

Member Data Documentation

◆ altitudeDatum

GPSAltitudeDatum GPSObservation::altitudeDatum = GPSAltitudeDatum::Unknown

Definition at line 39 of file GPSObservation.h.

Referenced by fromNavigation(), and projected().

◆ altitudeEllipsoidMeters

std::optional<double> GPSObservation::altitudeEllipsoidMeters

Definition at line 42 of file GPSObservation.h.

Referenced by fromNavigation(), fromSurveyedPosition(), and projected().

◆ fixQuality

FixQuality GPSObservation::fixQuality = FixQuality::Unknown

◆ horizontalDop

std::optional<double> GPSObservation::horizontalDop

Definition at line 41 of file GPSObservation.h.

Referenced by fromNavigation(), and NTRIPVehicleGgaSource::gpsObservation().

◆ monotonicTimestampUs

quint64 GPSObservation::monotonicTimestampUs = 0

◆ position

QGeoPositionInfo GPSObservation::position

◆ receiverFixValid

std::optional<bool> GPSObservation::receiverFixValid = std::nullopt

◆ satellitesUsed

std::optional<int> GPSObservation::satellitesUsed

Definition at line 40 of file GPSObservation.h.

Referenced by fromNavigation().

◆ sessionId

quint64 GPSObservation::sessionId = 0

Definition at line 34 of file GPSObservation.h.

Referenced by GPSReceiverSession::observation().


The documentation for this struct was generated from the following files: