#include <XYZ2NED.hpp>
Inheritance diagram for XYZ2NED:


The NED system may be used when comparing the relative accuracy of a given GNSS data processing strategy. This is a "right-handed" system, and be aware that "down" is positive and "up" is negative.
A typical way to use this class follows:
RinexObsStream rin("ebre0300.02o"); // Reference position of receiver station Position nominalPos(4833520.2269, 41537.00768, 4147461.489); // Some more code and definitions here... // GDS object gnssRinex gRin; // Set model defaults. A typical C1-based modeling is used ModeledPR modelRef( nominalPos, ionoStore, mopsTM, bceStore, TypeID::C1, true ); // Let's define a new equation definition to adapt // solver object to base change TypeIDSet typeSet; typeSet.insert(TypeID::dLat); typeSet.insert(TypeID::dLon); typeSet.insert(TypeID::dH); typeSet.insert(TypeID::cdt); gnssEquationDefinition newEq(TypeID::prefitC, typeSet); // Declare (and tune) a SolverLMS object SolverLMS solver; solver.setDefaultEqDefinition(newEq); // Declare the base-changing object setting the reference position XYZ2NED baseChange(nominalPos); while(rin >> gRin) { gRin >> modelRef >> baseChange >> solver; }
The "XYZ2NED" object will visit every satellite in the GNSS data structure that is "gRin" and will apply a rotation matrix to coefficients dx, dy and dz of the design matrix, yielding corresponding dLat, dLon and dH for each satellite.
Take notice that the design matrix coefficients dx, dy and dz were computed by the "ModeledPR" object, so that step is mandatory.
Also, the "XYZ2NED" class is effective when properly coupled with the "solver" object (be it based on LMS or WMS). In order to get this, you must instruct the "solver" object to get the solution using a geometry/design matrix based on dLat, dLon and dH, instead of the defaults (dx, dy and dz).
The later is achieved defining an appropriate "gnssEquationDefinition" object and instructing "solver" to use it as the default equation definition.
Definition at line 121 of file XYZ2NED.hpp.
Public Member Functions | |
| XYZ2NED () | |
| Default constructor. | |
| XYZ2NED (const double &lat, const double &lon) | |
| Common constructor taking reference point latitude and longitude. | |
| XYZ2NED (const Position &refPos) | |
| Common constructor taking reference point Position object. | |
| virtual XYZ2NED & | setLat (const double &lat) |
| Method to set the latitude of the reference point, in degrees. | |
| virtual double | getLat (void) const |
| Method to get the latitude of the reference point, in degrees. | |
| virtual XYZ2NED & | setLon (const double &lon) |
| Method to set the longitude of the reference point, in degrees. | |
| virtual double | getLon (void) const |
| Method to get the longitude of the reference point, in degrees. | |
| virtual XYZ2NED & | setLatLon (const double &lat, const double &lon) |
| Method to simultaneously set the latitude and longitude of the reference point, in degrees. | |
| virtual satTypeValueMap & | Process (satTypeValueMap &gData) throw (ProcessingException) |
| Returns a reference to a satTypeValueMap object after converting from a geocentric reference system to a topocentric reference system. | |
| virtual gnssSatTypeValue & | Process (gnssSatTypeValue &gData) throw (ProcessingException) |
| Returns a reference to a gnssSatTypeValue object after converting from a geocentric reference system to a topocentric reference system. | |
| virtual gnssRinex & | Process (gnssRinex &gData) throw (ProcessingException) |
| Returns a reference to a gnnsRinex object after converting from a geocentric reference system to a topocentric reference system. | |
| virtual int | getIndex (void) const |
| Returns an index identifying this object. | |
| virtual std::string | getClassName (void) const |
| Returns a string identifying this object. | |
| virtual | ~XYZ2NED () |
| Destructor. | |
|
|
Default constructor.
Definition at line 127 of file XYZ2NED.hpp. |
|
||||||||||||
|
Common constructor taking reference point latitude and longitude.
Definition at line 137 of file XYZ2NED.hpp. |
|
|
Common constructor taking reference point Position object.
Definition at line 57 of file XYZ2NED.cpp. References Position::getGeodeticLatitude(), Position::getLongitude(), and XYZ2NED::setLatLon(). |
|
|
Destructor.
Definition at line 230 of file XYZ2NED.hpp. |
|
|
Returns a string identifying this object.
Implements ProcessingClass. Definition at line 48 of file XYZ2NED.cpp. |
|
|
Returns an index identifying this object.
Implements ProcessingClass. Definition at line 43 of file XYZ2NED.cpp. |
|
|
Method to get the latitude of the reference point, in degrees.
Definition at line 160 of file XYZ2NED.hpp. |
|
|
Method to get the longitude of the reference point, in degrees.
Definition at line 172 of file XYZ2NED.hpp. |
|
|
Returns a reference to a gnnsRinex object after converting from a geocentric reference system to a topocentric reference system.
Implements ProcessingClass. Definition at line 216 of file XYZ2NED.hpp. |
|
|
Returns a reference to a gnssSatTypeValue object after converting from a geocentric reference system to a topocentric reference system.
Implements ProcessingClass. Definition at line 205 of file XYZ2NED.hpp. |
|
|
Returns a reference to a satTypeValueMap object after converting from a geocentric reference system to a topocentric reference system.
Definition at line 154 of file XYZ2NED.cpp. References GPSTK_THROW. |
|
|
Method to set the latitude of the reference point, in degrees.
Definition at line 76 of file XYZ2NED.cpp. |
|
||||||||||||
|
Method to simultaneously set the latitude and longitude of the reference point, in degrees.
Definition at line 124 of file XYZ2NED.cpp. Referenced by XYZ2NED::XYZ2NED(). |
|
|
Method to set the longitude of the reference point, in degrees.
Definition at line 102 of file XYZ2NED.cpp. |
1.3.9.1