geoid.c
Functions:-Provides conversion between the ECEF and WGS84 co-ordinate reference systems.
static double bilinear(double x1, double y1, double x2, double y2, double x, double y, double z11, double z12, double z21, double z22)
This is a piece of mathematical manipulation only used internally in this code, so wrestle with it if you will!
double wgs84_separation(double lat, double lon)
This is used by drivers to get the separation of MSL from the WGS84 datum at a pair of Latitude/Longitude co-ordinates. The data is in a pre-defined table.
void ecef_to_wgs84fix(struct gps_data_t *gpsdata, double x, double y, double z, double vx, double vy, double vz)
This does exactly what it says! Co-ordinate system conversion from ecef to the wgs84 equivalent.
static double fix_minuz(double d)
This forces a value of -0.0 to be the same as 0.0 so that certain trig functions act in a predictable manner.
int main(int argc, char **argv)
This is a local test routine which exercises the other code for debugging purposes. It is normally shut off by an #ifdef.
Notes based on $Id: geoid.c 4257 2007-01-18 03:56:43Z ckuethe $