GPS receivers can provide various solution types. Some are estimated, some are 2 dimensional, an others are three dimensional. As more satellites become available, the type of solution calculated will become better. Typically, three satellites are required to calulate a 2D solution, and four are required to calculate a 3D solution. If WAAS, or other forms of differential corrections are available, the solution may be corrected.
typedef enum {
GPSFIX_UNAVAILABLE,
GPSFIX_1_SATELLITE_SOLUTION,
GPSFIX_2_SATELLITE_SOLUTION,
GPSFIX_3_SATELLITE_SOLUTION,
GPSFIX_3_PLUS_SATELLITE_SOLUTION,
GPSFIX_2D,
GPSFIX_3D,
GPSFIX_DEAD_RECKONING
} GPSFIXTYPE;