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


Public Types | |
| enum | ERoadModifier { None = 0 , Tunnel = 0x1 , Bridge = 0x2 , Ramp = 0x4 , Tollway = 0x8 , Roundabout = 0x10 , OneWay = 0x20 , NoUTurn = 0x40 , LeftDriveSide = 0x80 , Motorway = 0x100 , MotorwayLink = 0x200 } |
| Current position road modifiers. More... | |
| 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 bool | hasRoadLocalization () const =0 |
| Check if improved position has a road localization. | |
| virtual const AddressInfoRef | getRoadAddress () const =0 |
| Get position road address. | |
| virtual int | getRoadModifier () const =0 |
| Get position road modifiers as an integer of packed ERoadModifier flags. | |
| int | getRoadModifiers () const |
| Get position road modifiers as an integer of packed ERoadModifier flags. | |
| virtual double | getRoadSpeedLimit () const =0 |
| Get position road speed limit in m/s. | |
| virtual const RoadInfoListRef | getRoadInfo () const =0 |
| Get position road info details. | |
| virtual class RoadInfoImage | getRoadInfoImage () const =0 |
| Get road info image. | |
| virtual bool | hasTerrainData () const =0 |
| Check if improved position has terrain data. | |
| virtual double | getTerrainAltitude () const =0 |
| Get terrain altitude. | |
| virtual double | getTerrainSlope () const =0 |
| Get terrain slope. | |
| 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 ImprovedPosition type. | |
Definition of ImprovedPosition interface.
|
stronginherited |
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)
|
stronginherited |
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.
Current position road modifiers.
|
inlineinherited |
Cast to a derived type.
|
pure virtualinherited |
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
Altitude above main sea level.
Implemented in gem::sense::MockPosition.
|
inlineinherited |
Latitude and longitude.
If both values are equal to 0, the position is considered invalid
|
pure virtualinherited |
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 virtualinherited |
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 virtualinherited |
Fix quality (whether this position is trustworthy); see the explanations at EFixQuality.
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
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 virtualinherited |
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 virtualinherited |
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 virtualinherited |
Provider type: GPS, Network, Unknown.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Get position road address.
|
pure virtual |
Get position road info details.
The road info list is in ascending priority order.
|
pure virtual |
Get road info image.
|
pure virtual |
Get position road modifiers as an integer of packed ERoadModifier flags.
|
inline |
Get position road modifiers as an integer of packed ERoadModifier flags.
|
pure virtual |
Get position road speed limit in m/s.
If speed limit doesn't exist in map data, 0 is returned.
|
pure virtualinherited |
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.
|
inlineinherited |
Satellite timestamp, milliseconds since 1970.
Timestamps are expected to increase monotonously for subsequent positions; data with timestamp from the past will be discarded.
|
pure virtualinherited |
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 virtualinherited |
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.
|
pure virtual |
Get terrain altitude.
This a map data based value comparing to getAltitude which is GPS sensor data.
|
pure virtual |
Get terrain slope.
The current slope in degrees, positive value for ascent, negative for descent.
|
inlineinherited |
|
inlineoverridevirtual |
|
pure virtualinherited |
Vertical accuracy of position.
Valid position accuracy should always be positive.
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
Query if this object has altitude.
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
Query if this object has valid coordinates.
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
Query if this object has course.
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
Query if this object has course accuracy.
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
Query if this object has horizontal accuracy.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Check if improved position has a road localization.
|
pure virtualinherited |
Query if this object has speed.
Implemented in gem::sense::MockPosition.
|
pure virtualinherited |
Query if this object has speed accuracy.
Implemented in gem::sense::MockPosition.
|
pure virtual |
Check if improved position has terrain data.
|
pure virtualinherited |
Query if this object has vertical accuracy.
Implemented in gem::sense::MockPosition.
|
inlinestatic |
Check if a certain data element is of ImprovedPosition type.
| ptr | The other IData pointer to check against. |
|
inlineinherited |