Autonomy Software C++ 24.5.1
Welcome to the Autonomy Software repository of the Mars Rover Design Team (MRDT) at Missouri University of Science and Technology (Missouri S&T)! API reference contains the source code and other resources for the development of the autonomy software for our Mars rover. The Autonomy Software project aims to compete in the University Rover Challenge (URC) by demonstrating advanced autonomous capabilities and robust navigation algorithms.
Loading...
Searching...
No Matches
geoops::GPSCoordinate Struct Reference

This struct stores/contains information about a GPS data. More...

#include <GeospatialOperations.hpp>

Public Member Functions

 GPSCoordinate (double dLatitude=0.0, double dLongitude=0.0, double dAltitude=0.0, double d2DAccuracy=-1.0, double d3DAccuracy=-1.0, double dMeridianConvergence=-1.0, double dScale=0.0, PositionFixType eCoordinateAccuracyFixType=PositionFixType::eUNKNOWN, bool bIsDifferential=false, std::chrono::system_clock::time_point tmTimestamp=std::chrono::system_clock::time_point().min())
 Construct a new GPSCoordinate object.
 
bool operator== (const GPSCoordinate &stOtherCoordinate) const
 Overridden operator equals for GPSCoordinate struct.
 
bool operator!= (const GPSCoordinate &stOtherCoordinate) const
 Overridden operator not equals for GPSCoordinate struct.
 

Public Attributes

double dLatitude
 
double dLongitude
 
double dAltitude
 
double d2DAccuracy
 
double d3DAccuracy
 
double dMeridianConvergence
 
double dScale
 
PositionFixType eCoordinateAccuracyFixType
 
bool bIsDifferential
 
std::chrono::system_clock::time_point tmTimestamp
 

Detailed Description

This struct stores/contains information about a GPS data.

Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2023-09-23

Constructor & Destructor Documentation

◆ GPSCoordinate()

geoops::GPSCoordinate::GPSCoordinate ( double  dLatitude = 0.0,
double  dLongitude = 0.0,
double  dAltitude = 0.0,
double  d2DAccuracy = -1.0,
double  d3DAccuracy = -1.0,
double  dMeridianConvergence = -1.0,
double  dScale = 0.0,
PositionFixType  eCoordinateAccuracyFixType = PositionFixType::eUNKNOWN,
bool  bIsDifferential = false,
std::chrono::system_clock::time_point  tmTimestamp = std::chrono::system_clock::time_point().min() 
)
inline

Construct a new GPSCoordinate object.

Parameters
dLatitude- The geographic latitude in degrees, typically within the range [-90, 90].
dLongitude- The geographic longitude in degrees, typically within the range [-180, 180].
dAltitude- The elevation above sea level in meters.
d2DAccuracy- The horizontal accuracy of the GPS coordinates in meters.
d3DAccuracy- The three-dimensional accuracy, including altitude, in meters.
dMeridianConvergence- The angle between true north and grid north at the given location in degrees. Positive in eastern direction.
dScale- The scale factor applied to the UTM coordinates for map projection.
eCoordinateAccuracyFixType- The overall accuracy of the point, the satellite lock type the coordinate was taken under.
bIsDifferential- Whether of not the coordinate was taken under a differential GPS lock.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2023-09-23
191 {
192 // Initialize member variables with given values.
193 this->dLatitude = dLatitude;
194 this->dLongitude = dLongitude;
195 this->dAltitude = dAltitude;
196 this->d2DAccuracy = d2DAccuracy;
197 this->d3DAccuracy = d3DAccuracy;
198 this->dMeridianConvergence = dMeridianConvergence;
199 this->dScale = dScale;
200 this->eCoordinateAccuracyFixType = eCoordinateAccuracyFixType;
201 this->bIsDifferential = bIsDifferential;
202 this->tmTimestamp = tmTimestamp;
203 }

Member Function Documentation

◆ operator==()

bool geoops::GPSCoordinate::operator== ( const GPSCoordinate stOtherCoordinate) const
inline

Overridden operator equals for GPSCoordinate struct.

Parameters
stOtherCoordinate- The other GPSCoordinate struct we are comparing to.
Returns
true - The two GPSCoordinates are equal.
false - The two GPSCoordinates are not equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-04
216 {
217 // Check if location, altitude, and accuracy are the same. Not going to worry about other values for now.
218 return (dLatitude == stOtherCoordinate.dLatitude && dLongitude == stOtherCoordinate.dLongitude && dAltitude == stOtherCoordinate.dAltitude &&
219 d2DAccuracy == stOtherCoordinate.d2DAccuracy && d3DAccuracy == stOtherCoordinate.d3DAccuracy &&
220 eCoordinateAccuracyFixType == stOtherCoordinate.eCoordinateAccuracyFixType && bIsDifferential == stOtherCoordinate.bIsDifferential);
221 }
Here is the caller graph for this function:

◆ operator!=()

bool geoops::GPSCoordinate::operator!= ( const GPSCoordinate stOtherCoordinate) const
inline

Overridden operator not equals for GPSCoordinate struct.

Parameters
stOtherCoordinate- The other GPSCoordinate struct we are comparing to.
Returns
true - The two GPSCoordinates are not equal.
false - The two GPSCoordinates are equal.
Author
clayjay3 (clayt.nosp@m.onra.nosp@m.ycowe.nosp@m.n@gm.nosp@m.ail.c.nosp@m.om)
Date
2024-02-04
233{ return !this->operator==(stOtherCoordinate); }
bool operator==(const GPSCoordinate &stOtherCoordinate) const
Overridden operator equals for GPSCoordinate struct.
Definition GeospatialOperations.hpp:215
Here is the call graph for this function:

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