GPS_POSITION
A version of this page is also available for
4/8/2010
This structure contains location information, including latitude and longitude, as well as other related information like heading, speed, the satellites used to retrieve the location information, and so on.
To retrieve the data represented by this structure, call GPSGetPosition.
Syntax
typedef struct _GPS_POSITION {
DWORD dwVersion;
DWORD dwSize;
DWORD dwValidFields;
DWORD dwFlags;
SYSTEMTIME stUTCTime;
double dblLatitude;
double dblLongitude;
float flSpeed;
float flHeading;
double dblMagneticVariation;
float flAltitudeWRTSeaLevel;
float flAltitudeWRTEllipsoid;
GPS_FIX_QUALITY FixQuality;
GPS_FIX_TYPE FixType;
GPS_FIX_SELECTION SelectionType;
float flPositionDilutionOfPrecision;
float flHorizontalDilutionOfPrecision;
float flVerticalDilutionOfPrecision;
DWORD dwSatelliteCount;
DWORD rgdwSatellitesUsedPRNs[GPS_MAX_SATELLITES];
DWORD dwSatellitesInView;
DWORD rgdwSatellitesInViewPRNs[GPS_MAX_SATELLITES];
DWORD rgdwSatellitesInViewElevation[GPS_MAX_SATELLITES];
DWORD rgdwSatellitesInViewAzimuth[GPS_MAX_SATELLITES];
DWORD rgdwSatellitesInViewSignalToNoiseRatio[GPS_MAX_SATELLITES];
} GPS_POSITION, *PGPS_POSITION;
Members
- dwVersion
Version of the GPS Intermediate Driver expected by the application. Must be set before the structure is passed to GPSGetPosition. Must be GPS_VERSION_1.
- dwSize
Size of the structure, in bytes. Must be set before the structure is passed to GPSGetPosition.
- dwValidFields
Valid fields in this instance of the structure. This field is a combination of some number of GPS_VALID_ flags, or is 0 if no fields are valid. Valid fields depend on the GPS hardware, how old the location data can be (controlled by the dwMaximumAge parameter of the GPSGetPosition call), and the current satellite signals, among other things.
- dwFlags
Information about the state of the data retrieved in a call to GPSGetPosition. This field is a combination of GPS_DATA_FLAGS_ flags.
- stUTCTime
Universal time (UTC) according to information provided by GPS satellites.
- dblLatitude
Latitude, in degrees. Positive numbers indicate north latitude.
- dblLongitude
Longitude, in degrees. Positive numbers indicate east longitude.
- flSpeed
Speed, in knots (nautical miles).
- flHeading
Heading, in degrees. A heading of zero is true north.
- dblMagneticVariation
Magnetic variation, which is the difference between the bearing to true north and the bearing shown on a magnetic compass. Positive numbers indicate east.
- flAltitudeWRTSeaLevel
Altitude, in meters, with respect to sea level.
- flAltitudeWRTEllipsoid
Altitude, in meters, of the sea-level with respect to the WGS84 ellipsoid. For more information about the use of the WGS84 ellipsoid with GPS, see this NMEA Web site.
- FixQuality
Quality of the GPS fix, which is one of invalid, normal GPS, or differential GPS (DGPS). This field contains one of the values in the GPS_FIX_QUALITY enumeration.
- FixType
Type of GPS fix, either 2-D (only latitude and longitude, from three satellites), or 3-D (latitude, longitude, and altitude, from four or more satellites). This field contains one of the values in the GPS_FIX_TYPE enumeration.
- SelectionType
Whether 2-D or 3-D mode is selected automatically or manually. This field contains one of the values in the GPS_FIX_SELECTION enumeration.
- flPositionDilutionOfPrecision
Degree to which the overall position is affected by positional dilution of position (PDOP). PDOP is caused by the location of the satellites providing the GPS fix. Lower numbers indicate a more accurate position. A value of 1.0 indicates the least dilution (highest accuracy); a value of 50.0 indicates the most dilution (lowest accuracy).
- flHorizontalDilutionOfPrecision
Degree to which the horizontal position (latitude and longitude) is affected by horizontal dilution of position (HDOP). HDOP is caused by the location of the satellites providing the GPS fix. Lower numbers indicate a more accurate position. A value of 1.0 indicates the least dilution (highest accuracy); a value of 50.0 indicates the most dilution (lowest accuracy).
- flVerticalDilutionOfPrecision
Degree to which the vertical position (altitude) is affected by vertical dilution of position (VDOP). VDOP is caused by the location of the satellites providing the GPS fix. Lower numbers indicate a more accurate position. A value of 1.0 indicates the least dilution (highest accuracy); a value of 50.0 indicates the most dilution (lowest accuracy).
- dwSatelliteCount
Number of satellites used to obtain the position.
- rgdwSatellitesUsedPRNs
PRN (pseudo-random noise) numbers of the satellites used to obtain the position.
- dwSatellitesInView
Number of satellites in view of the GPS hardware. This value ranges from 0 to GPS_MAX_SATELLITES.
- rgdwSatellitesInViewPRNs
PRN (pseudo-random noise) numbers of the satellites in view of the GPS hardware.
- rgdwSatellitesInViewElevation
Elevation, in degrees, of the satellites in view of the GPS hardware.
- rgdwSatellitesInViewAzimuth
Azimuth, in degrees, of the satellites in view of the GPS hardware.
- rgdwSatellitesInViewSignalToNoiseRatio
Signal to noise ratio of the satellites in view of the GPS hardware. Higher numbers indicate greater signal strength.
Remarks
The majority of the fields in this structure are translations from the fields defined by the NMEA. For more information about NMEA standard, including additional description of the nature of the fields, see this NMEA Web site.
Requirements
Header | gpsapi.h |
Windows Embedded CE | Windows Embedded CE 6.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
GPS Intermediate Driver Structures
GPS_DATA_FLAGS_
GPS_FIX_SELECTION
GPS_FIX_TYPE
GPS_FIX_QUALITY
GPS_VALID_
GPSGetPosition