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::UTMCoordinate Struct Reference

This struct stores/contains information about a UTM coordinate. More...

#include <GeospatialOperations.hpp>

Public Member Functions

 UTMCoordinate (double dEasting=0.0, double dNorthing=0.0, int nZone=0, bool bWithinNorthernHemisphere=true, 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 UTMCoordinate object.
 
bool operator== (const UTMCoordinate &stOtherCoordinate) const
 Overridden operator equals for UTMCoordinate struct.
 
bool operator!= (const UTMCoordinate &stOtherCoordinate) const
 Overridden operator not equals for UTMCoordinate struct.
 

Public Attributes

double dEasting
 
double dNorthing
 
int nZone
 
bool bWithinNorthernHemisphere
 
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 UTM coordinate.

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

◆ UTMCoordinate()

geoops::UTMCoordinate::UTMCoordinate ( double  dEasting = 0.0,
double  dNorthing = 0.0,
int  nZone = 0,
bool  bWithinNorthernHemisphere = true,
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 UTMCoordinate object.

Parameters
dEasting- The eastward displacement from the UTM zone's central meridian in meters.
dNorthing- The northward displacement from the equator in meters.
nZone- The UTM zone number identifying the region on the Earth's surface.
bWithinNorthernHemisphere- Indicates whether the coordinate is located in the northern hemisphere.
dAltitude- The elevation above sea level in meters.
d2DAccuracy- The horizontal accuracy of the UTM 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
294 {
295 // Initialize member variables with given values.
296 this->dEasting = dEasting;
297 this->dNorthing = dNorthing;
298 this->nZone = nZone;
299 this->bWithinNorthernHemisphere = bWithinNorthernHemisphere;
300 this->dAltitude = dAltitude;
301 this->d2DAccuracy = d2DAccuracy;
302 this->d3DAccuracy = d3DAccuracy;
303 this->dMeridianConvergence = dMeridianConvergence;
304 this->dScale = dScale;
305 this->eCoordinateAccuracyFixType = eCoordinateAccuracyFixType;
306 this->bIsDifferential = bIsDifferential;
307 this->tmTimestamp = tmTimestamp;
308 }

Member Function Documentation

◆ operator==()

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

Overridden operator equals for UTMCoordinate struct.

Parameters
stOtherCoordinate- The other UTMCoordinate struct we are comparing to.
Returns
true - The two UTMCoordinates are equal.
false - The two UTMCoordinates 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
321 {
322 // Check if location, altitude, and accuracy are the same. Not going to worry about other values for now.
323 return (dEasting == stOtherCoordinate.dEasting && dNorthing == stOtherCoordinate.dNorthing && nZone == stOtherCoordinate.nZone &&
324 bWithinNorthernHemisphere == stOtherCoordinate.bWithinNorthernHemisphere && dAltitude == stOtherCoordinate.dAltitude &&
325 d2DAccuracy == stOtherCoordinate.d2DAccuracy && d3DAccuracy == stOtherCoordinate.d3DAccuracy &&
326 eCoordinateAccuracyFixType == stOtherCoordinate.eCoordinateAccuracyFixType && bIsDifferential == stOtherCoordinate.bIsDifferential);
327 }
Here is the caller graph for this function:

◆ operator!=()

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

Overridden operator not equals for UTMCoordinate struct.

Parameters
stOtherCoordinate- The other UTMCoordinate struct we are comparing to.
Returns
true - The two UTMCoordinates are not equal.
false - The two UTMCoordinates 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
339{ return !this->operator==(stOtherCoordinate); }
bool operator==(const UTMCoordinate &stOtherCoordinate) const
Overridden operator equals for UTMCoordinate struct.
Definition GeospatialOperations.hpp:320
Here is the call graph for this function:

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