GPS_POSITION

Windows Mobile 6.5
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.


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;

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.

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.

Headergpsapi.h
Windows Embedded CEWindows Embedded CE 6.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions

Show: