|
Maps SDK for C++ 1.0.0
|
Definition of Position interface. More...


Public Types | |
| enum class | EProvider { Unknown , GPS , Network , SensorFusion , MapMatching , Simulation } |
| Values that represent the type of position provider. More... | |
| enum class | EFixQuality { Invalid , Inertial , Low , High } |
| Values that represent position data quality. More... | |
Public Member Functions | |
| EDataType | getType () const override |
| Get data type. | |
| virtual LargeInteger | getSatelliteTime () const =0 |
| Satellite timestamp, milliseconds since 1970. | |
| LargeInteger | getSatelliteTimestamp () const |
| Satellite timestamp, milliseconds since 1970. | |
| virtual EProvider | getProvider () const =0 |
| Provider type: GPS, Network, Unknown. | |
| virtual double | getLatitude () const =0 |
| Geographical latitude. | |
| virtual double | getLongitude () const =0 |
| Geographical longitude. | |
| Coordinates | getCoordinates () const |
| Latitude and longitude. | |
| virtual double | getAltitude () const =0 |
| Altitude above main sea level. | |
| virtual double | getSpeed () const =0 |
| Travel speed. | |
| virtual double | getSpeedAccuracy () const =0 |
| Travel speed accuracy. | |
| virtual double | getCourse () const =0 |
| The course of the movement. | |
| virtual double | getCourseAccuracy () const =0 |
| Course accuracy. | |
| virtual double | getHorizontalAccuracy () const =0 |
| Horizontal accuracy of position. | |
| virtual double | getVerticalAccuracy () const =0 |
| Vertical accuracy of position. | |
| virtual EFixQuality | getFixQuality () const =0 |
| Fix quality (whether this position is trustworthy); see the explanations at EFixQuality. | |
| bool | isValid () const |
| virtual bool | hasCoordinates () const =0 |
| Query if this object has valid coordinates. | |
| virtual bool | hasAltitude () const =0 |
| Query if this object has altitude. | |
| virtual bool | hasSpeed () const =0 |
| Query if this object has speed. | |
| virtual bool | hasSpeedAccuracy () const =0 |
| Query if this object has speed accuracy. | |
| virtual bool | hasCourse () const =0 |
| Query if this object has course. | |
| virtual bool | hasCourseAccuracy () const =0 |
| Query if this object has course accuracy. | |
| virtual bool | hasHorizontalAccuracy () const =0 |
| Query if this object has horizontal accuracy. | |
| virtual bool | hasVerticalAccuracy () const =0 |
| Query if this object has vertical accuracy. | |
| virtual LargeInteger | getAcquisitionTimestamp () const =0 |
| Time | getTime () const |
| template<typename TDerivedType> | |
| StrongPointer< TDerivedType > | cast () |
| Cast to a derived type. | |
Static Public Member Functions | |
| static bool | isSameType (const IData *ptr) |
| Check if a certain data element is of Position type. | |
Definition of Position interface.
|
strong |
Values that represent position data quality.
Invalid means the position can not or should not be processed (for instance, invalid coordinates)
Inertial means position has resulted from inertial extrapolation; there is a GPS outage (e.g. tunnel)
Low means the position is valid but cannot be trusted because of bad GPS accuracy (e.g. urban canyon)
High means the position is valid and can be trusted (is recent and has a good accuracy)
|
strong |
Values that represent the type of position provider.
GPS means that the position comes from a GPS sensor.
Network means that the position comes from a network source, but not GPS.
|
inlineinherited |
Cast to a derived type.
|
pure virtualinherited |
Implemented in gem::sense::MockPosition.
|
pure virtual |
Altitude above main sea level.
Implemented in gem::sense::MockPosition.
|
inline |
Latitude and longitude.
If both values are equal to 0, the position is considered invalid
|
pure virtual |
The course of the movement.
Represents true heading, not magnetic heading.
0 means true north, 90 east, 180 south, 270 west.
A negative value (-1 by default) means the position has no course information.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Course accuracy.
Typical accuracy for consumer GPS is 25 degrees at high speeds.
Valid course accuracy should always be positive.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Fix quality (whether this position is trustworthy); see the explanations at EFixQuality.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Horizontal accuracy of position.
Typical accuracy for consumer GPS is 5-20 meters.
Valid position accuracy should always be positive.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Geographical latitude.
From -90 to +90; positive on northern hemisphere
If value is out of the -90...90 range, the position is considered invalid.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Geographical longitude.
From -180 to +180; positive on eastern hemisphere
If value is out of the -180...180 range, the position is considered invalid.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Provider type: GPS, Network, Unknown.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Satellite timestamp, milliseconds since 1970.
Timestamps are expected to increase monotonously for subsequent positions; data with timestamp from the past will be discarded.
Implemented in gem::sense::MockPosition.
|
inline |
Satellite timestamp, milliseconds since 1970.
Timestamps are expected to increase monotonously for subsequent positions; data with timestamp from the past will be discarded.
|
pure virtual |
Travel speed.
Valid speed information should always be non-negative.
A negative value (-1 by default) means the position has no speed information.
If car is going backwards, the course should change by 180, but the speed should still be non-negative.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Travel speed accuracy.
Typical accuracy for consumer GPS is 2 m/s at steady speed and high position accuracy.
Valid speed accuracy should always be positive.
Implemented in gem::sense::MockPosition.
|
inlineinherited |
|
inlineoverridevirtual |
|
pure virtual |
Vertical accuracy of position.
Valid position accuracy should always be positive.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has altitude.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has valid coordinates.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has course.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has course accuracy.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has horizontal accuracy.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has speed.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has speed accuracy.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Query if this object has vertical accuracy.
Implemented in gem::sense::MockPosition.
|
inlinestatic |
Check if a certain data element is of Position type.
| ptr | The other IData pointer to check against. |
|
inline |