swift
|
Geodetic coordinate, a position in 3D space relative to the reference geoid. More...
Public Types | |
enum | ColumnIndex { IndexLatitude = CPropertyIndexRef::GlobalIndexICoordinateGeodetic , IndexLongitude , IndexLatitudeAsString , IndexLongitudeAsString , IndexGeodeticHeight , IndexGeodeticHeightAsString , IndexNormalVector } |
Properties by index. | |
Public Member Functions | |
ICoordinateGeodetic ()=default | |
Ctor. | |
virtual | ~ICoordinateGeodetic () |
Destructor. | |
ICoordinateGeodetic (const ICoordinateGeodetic &)=default | |
Copy constructor. | |
ICoordinateGeodetic & | operator= (const ICoordinateGeodetic &)=default |
Copy assignment operator. | |
virtual CLatitude | latitude () const =0 |
Latitude. | |
virtual CLongitude | longitude () const =0 |
Longitude. | |
virtual const aviation::CAltitude & | geodeticHeight () const =0 |
Height, ellipsoidal or geodetic height (used in GPS) More... | |
virtual QVector3D | normalVector () const =0 |
Normal vector. More... | |
virtual std::array< double, 3 > | normalVectorDouble () const =0 |
Normal vector with double precision. | |
bool | equalNormalVectorDouble (const std::array< double, 3 > &otherVector) const |
Is equal? Epsilon considered. | |
bool | equalNormalVectorDouble (const ICoordinateGeodetic &otherCoordinate) const |
Is equal, epsilon considered? | |
QString | latitudeAsString () const |
Latitude as string. | |
QString | longitudeAsString () const |
Longitude as string. | |
QString | geodeticHeightAsString () const |
Height as string. | |
bool | isGeodeticHeightNull () const |
Geodetic height null? | |
bool | hasMSLGeodeticHeight () const |
Geodetic height not null and aviation::CAltitude::MeanSeaLevel. | |
virtual bool | isNull () const |
Is null, means vector x, y, z == 0. More... | |
physical_quantities::CLength | calculateGreatCircleDistance (const ICoordinateGeodetic &otherCoordinate) const |
Great circle distance. | |
bool | isWithinRange (const ICoordinateGeodetic &otherCoordinate, const physical_quantities::CLength &range) const |
Object within range? | |
physical_quantities::CAngle | calculateBearing (const ICoordinateGeodetic &otherCoordinate) const |
Initial bearing. | |
QVariant | propertyByIndex (CPropertyIndexRef index) const |
Property by index. More... | |
int | comparePropertyByIndex (CPropertyIndexRef index, const ICoordinateGeodetic &compareValue) const |
Compare for index. More... | |
QString | convertToQString (bool i18n=false) const |
Cast as QString. More... | |
Static Protected Member Functions | |
static bool | canHandleIndex (CPropertyIndexRef index) |
Can given index be handled? | |
bool | isNaNVector () const |
Check values. | |
bool | isNaNVectorDouble () const |
Check values. | |
bool | isInfVector () const |
Check values. | |
bool | isInfVectorDouble () const |
Check values. | |
bool | isValidVectorRange () const |
Check values. | |
static bool | isValidVector (const std::array< double, 3 > &v) |
Check values. | |
Geodetic coordinate, a position in 3D space relative to the reference geoid.
Composed of a latitude, longitude, and height (aka altitude, aka elevation).
Definition at line 38 of file coordinategeodetic.h.
int swift::misc::geo::ICoordinateGeodetic::comparePropertyByIndex | ( | CPropertyIndexRef | index, |
const ICoordinateGeodetic & | compareValue | ||
) | const |
Compare for index.
Definition at line 160 of file coordinategeodetic.cpp.
QString swift::misc::geo::ICoordinateGeodetic::convertToQString | ( | bool | i18n = false | ) | const |
Cast as QString.
Definition at line 188 of file coordinategeodetic.cpp.
|
pure virtual |
Height, ellipsoidal or geodetic height (used in GPS)
This is approximately MSL (orthometric) height, aka altitude, aka elevation. The terms "geodetic height", "altitude", and "elevation" are interchangable. "Geodetic height" is the generic, context-free term for the vertical component of a position. This is commonly called "altitude" for objects that can move freely in the vertical component. By a similar convention, "elevation" is commonly used for objects that are fixed to the ground.
Implemented in swift::misc::simulation::xplane::CNavDataReference, swift::misc::simulation::CSimulatedAircraft, swift::misc::geo::CCoordinateGeodetic, swift::misc::aviation::CAtcStation, swift::misc::aviation::CAirport, and swift::misc::aviation::CAircraftSituation.
|
inlinevirtual |
Is null, means vector x, y, z == 0.
Reimplemented in swift::misc::geo::CElevationPlane, swift::misc::geo::CCoordinateGeodetic, swift::misc::aviation::CAirport, and swift::misc::aviation::CAircraftSituation.
Definition at line 115 of file coordinategeodetic.h.
|
pure virtual |
Normal vector.
Implemented in swift::misc::simulation::xplane::CNavDataReference, swift::misc::simulation::CSimulatedAircraft, swift::misc::geo::CCoordinateGeodetic, swift::misc::aviation::CAtcStation, swift::misc::aviation::CAirport, and swift::misc::aviation::CAircraftSituation.
QVariant swift::misc::geo::ICoordinateGeodetic::propertyByIndex | ( | CPropertyIndexRef | index | ) | const |
Property by index.
Definition at line 137 of file coordinategeodetic.cpp.