GPS_POSITION

A version of this page is also available for

Windows Embedded CE 6.0 R3

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

Concepts

Accessing Parsed GPS Data

Other Resources