My favorites | Sign in
Project Home Source
Checkout   Browse   Changes  
Changes to /trunk/gpsbabel/jeeps/gpsmath.h
r4077 vs. r4200 Compare: vs.  Format:
Revision r4200
Go to: 
/trunk/gpsbabel/jeeps/gpsmath.h   r4077 /trunk/gpsbabel/jeeps/gpsmath.h   r4200
1 #ifdef __cplusplus 1 #ifdef __cplusplus
2 extern "C" 2 extern "C"
3 { 3 {
4 #endif 4 #endif
5 5
6 #ifndef gpsmath_h 6 #ifndef gpsmath_h
7 #define gpsmath_h 7 #define gpsmath_h
8 8
9 9
10 #include "gps.h" 10 #include "gps.h"
11 11
12 #define GPS_PI 3.141592653589 12 #define GPS_PI 3.141592653589
13 #define GPS_FLTMIN 1.75494351E-38 13 #define GPS_FLTMIN 1.75494351E-38
14 #define GPS_FLTMAX 3.402823466E+38 14 #define GPS_FLTMAX 3.402823466E+38
15 15
16 16
17 double GPS_Math_Deg_To_Rad(double v); 17 double GPS_Math_Deg_To_Rad(double v);
18 double GPS_Math_Rad_To_Deg(double v); 18 double GPS_Math_Rad_To_Deg(double v);
19 19
20 double GPS_Math_Metres_To_Feet(double v); 20 double GPS_Math_Metres_To_Feet(double v);
21 double GPS_Math_Feet_To_Metres(double v); 21 double GPS_Math_Feet_To_Metres(double v);
22 22
23 int32 GPS_Math_Deg_To_Semi(double v); 23 int32 GPS_Math_Deg_To_Semi(double v);
24 double GPS_Math_Semi_To_Deg(int32 v); 24 double GPS_Math_Semi_To_Deg(int32 v);
25 25
26 time_t GPS_Math_Utime_To_Gtime(time_t v); 26 time_t GPS_Math_Utime_To_Gtime(time_t v);
27 time_t GPS_Math_Gtime_To_Utime(time_t v); 27 time_t GPS_Math_Gtime_To_Utime(time_t v);
28 28
29 void GPS_Math_Deg_To_DegMin(double v, int32* d, double* m); 29 void GPS_Math_Deg_To_DegMin(double v, int32* d, double* m);
30 void GPS_Math_DegMin_To_Deg(int32 d, double m, double* deg); 30 void GPS_Math_DegMin_To_Deg(int32 d, double m, double* deg);
31 void GPS_Math_Deg_To_DegMinSec(double v, int32* d, int32* m, double* s); 31 void GPS_Math_Deg_To_DegMinSec(double v, int32* d, int32* m, double* s);
32 void GPS_Math_DegMinSec_To_Deg(int32 d, int32 m, double s, double* deg); 32 void GPS_Math_DegMinSec_To_Deg(int32 d, int32 m, double s, double* deg);
33 33
34 34
35 void GPS_Math_Airy1830LatLonToNGEN(double phi, double lambda, double* E, 35 void GPS_Math_Airy1830LatLonToNGEN(double phi, double lambda, double* E,
36 double* N); 36 double* N);
37 void GPS_Math_Airy1830M_LatLonToINGEN(double phi, double lambda, double* E, 37 void GPS_Math_Airy1830M_LatLonToINGEN(double phi, double lambda, double* E,
38 double* N); 38 double* N);
39 int32 GPS_Math_EN_To_UKOSNG_Map(double E, double N, double* mE, 39 int32 GPS_Math_EN_To_UKOSNG_Map(double E, double N, double* mE,
40 double* mN, char* map); 40 double* mN, char* map);
41 int32 GPS_Math_UKOSNG_Map_To_EN(char* map, double mapE, double mapN, 41 int32 GPS_Math_UKOSNG_Map_To_EN(char* map, double mapE, double mapN,
42 double* E, double* N); 42 double* E, double* N);
43 43
44 void GPS_Math_LatLonH_To_XYZ(double phi, double lambda, double H, 44 void GPS_Math_LatLonH_To_XYZ(double phi, double lambda, double H,
45 double* x, double* y, double* z, 45 double* x, double* y, double* z,
46 double a, double b); 46 double a, double b);
47 void GPS_Math_XYZ_To_LatLonH(double* phi, double* lambda, double* H, 47 void GPS_Math_XYZ_To_LatLonH(double* phi, double* lambda, double* H,
48 double x, double y, double z, 48 double x, double y, double z,
49 double a, double b); 49 double a, double b);
50 50
51 void GPS_Math_EN_To_LatLon(double E, double N, double* phi, 51 void GPS_Math_EN_To_LatLon(double E, double N, double* phi,
52 double* lambda, double N0, double E0, 52 double* lambda, double N0, double E0,
53 double phi0, double lambda0, 53 double phi0, double lambda0,
54 double F0, double a, double b); 54 double F0, double a, double b);
55 void GPS_Math_LatLon_To_EN(double* E, double* N, double phi, 55 void GPS_Math_LatLon_To_EN(double* E, double* N, double phi,
56 double lambda, double N0, double E0, 56 double lambda, double N0, double E0,
57 double phi0, double lambda0, 57 double phi0, double lambda0,
58 double F0, double a, double b); 58 double F0, double a, double b);
59 59
60 void GPS_Math_NGENToAiry1830LatLon(double E, double N, double* phi, 60 void GPS_Math_NGENToAiry1830LatLon(double E, double N, double* phi,
61 double* lambda); 61 double* lambda);
62 void GPS_Math_INGENToAiry1830MLatLon(double E, double N, double* phi, 62 void GPS_Math_INGENToAiry1830MLatLon(double E, double N, double* phi,
63 double* lambda); 63 double* lambda);
64 64
65 65
66 void GPS_Math_Airy1830LatLonH_To_XYZ(double phi, double lambda, double H, 66 void GPS_Math_Airy1830LatLonH_To_XYZ(double phi, double lambda, double H,
67 double* x, double* y, double* z); 67 double* x, double* y, double* z);
68 void GPS_Math_WGS84LatLonH_To_XYZ(double phi, double lambda, double H, 68 void GPS_Math_WGS84LatLonH_To_XYZ(double phi, double lambda, double H,
69 double* x, double* y, double* z); 69 double* x, double* y, double* z);
70 void GPS_Math_XYZ_To_Airy1830LatLonH(double* phi, double* lambda, double* H, 70 void GPS_Math_XYZ_To_Airy1830LatLonH(double* phi, double* lambda, double* H,
71 double x, double y, double z); 71 double x, double y, double z);
72 void GPS_Math_XYZ_To_WGS84LatLonH(double* phi, double* lambda, double* H, 72 void GPS_Math_XYZ_To_WGS84LatLonH(double* phi, double* lambda, double* H,
73 double x, double y, double z); 73 double x, double y, double z);
74 74
75 void GPS_Math_Molodensky(double Sphi, double Slam, double SH, double Sa, 75 void GPS_Math_Molodensky(double Sphi, double Slam, double SH, double Sa,
76 double Sif, double* Dphi, double* Dlam, 76 double Sif, double* Dphi, double* Dlam,
77 double* DH, double Da, double Dif, double dx, 77 double* DH, double Da, double Dif, double dx,
78 double dy, double dz); 78 double dy, double dz);
79 void GPS_Math_Known_Datum_To_WGS84_M(double Sphi, double Slam, double SH, 79 void GPS_Math_Known_Datum_To_WGS84_M(double Sphi, double Slam, double SH,
80 double* Dphi, double* Dlam, double* DH, 80 double* Dphi, double* Dlam, double* DH,
81 int32 n); 81 int32 n);
82 void GPS_Math_WGS84_To_Known_Datum_M(double Sphi, double Slam, double SH, 82 void GPS_Math_WGS84_To_Known_Datum_M(double Sphi, double Slam, double SH,
83 double* Dphi, double* Dlam, double* DH, 83 double* Dphi, double* Dlam, double* DH,
84 int32 n); 84 int32 n);
85 void GPS_Math_Known_Datum_To_WGS84_C(double Sphi, double Slam, double SH, 85 void GPS_Math_Known_Datum_To_WGS84_C(double Sphi, double Slam, double SH,
86 double* Dphi, double* Dlam, double* DH, 86 double* Dphi, double* Dlam, double* DH,
87 int32 n); 87 int32 n);
88 void GPS_Math_WGS84_To_Known_Datum_C(double Sphi, double Slam, double SH, 88 void GPS_Math_WGS84_To_Known_Datum_C(double Sphi, double Slam, double SH,
89 double* Dphi, double* Dlam, double* DH, 89 double* Dphi, double* Dlam, double* DH,
90 int32 n); 90 int32 n);
91 91
92 void GPS_Math_Known_Datum_To_Known_Datum_M(double Sphi, double Slam, double SH, 92 void GPS_Math_Known_Datum_To_Known_Datum_M(double Sphi, double Slam, double SH,
93 double* Dphi, double* Dlam, 93 double* Dphi, double* Dlam,
94 double* DH, int32 n1, int32 n2); 94 double* DH, int32 n1, int32 n2);
95 void GPS_Math_Known_Datum_To_Known_Datum_C(double Sphi, double Slam, double SH, 95 void GPS_Math_Known_Datum_To_Known_Datum_C(double Sphi, double Slam, double SH,
96 double* Dphi, double* Dlam, 96 double* Dphi, double* Dlam,
97 double* DH, int32 n1, int32 n2); 97 double* DH, int32 n1, int32 n2);
98 98
99 int32 GPS_Math_WGS84_To_UKOSMap_M(double lat, double lon, double* mE, 99 int32 GPS_Math_WGS84_To_UKOSMap_M(double lat, double lon, double* mE,
100 double* mN, char* map); 100 double* mN, char* map);
101 int32 GPS_Math_UKOSMap_To_WGS84_M(char* map, double mE, double mN, 101 int32 GPS_Math_UKOSMap_To_WGS84_M(char* map, double mE, double mN,
102 double* lat, double* lon); 102 double* lat, double* lon);
103 int32 GPS_Math_WGS84_To_UKOSMap_C(double lat, double lon, double* mE, 103 int32 GPS_Math_WGS84_To_UKOSMap_C(double lat, double lon, double* mE,
104 double* mN, char* map); 104 double* mN, char* map);
105 int32 GPS_Math_UKOSMap_To_WGS84_C(char* map, double mE, double mN, 105 int32 GPS_Math_UKOSMap_To_WGS84_C(char* map, double mE, double mN,
106 double* lat, double* lon); 106 double* lat, double* lon);
107 107
108 108
109 int32 GPS_Math_NAD83_To_UTM_EN(double lat, double lon, double* E, 109 int32 GPS_Math_NAD83_To_UTM_EN(double lat, double lon, double* E,
110 double* N, int32* zone, char* zc); 110 double* N, int32* zone, char* zc);
111 int32 GPS_Math_WGS84_To_UTM_EN(double lat, double lon, double* E, 111 int32 GPS_Math_WGS84_To_UTM_EN(double lat, double lon, double* E,
112 double* N, int32* zone, char* zc); 112 double* N, int32* zone, char* zc);
113 113
114 int32 GPS_Math_UTM_EN_To_WGS84(double* lat, double* lon, double E, 114 int32 GPS_Math_UTM_EN_To_WGS84(double* lat, double* lon, double E,
115 double N, int32 zone, char zc); 115 double N, int32 zone, char zc);
116 int32 GPS_Math_UTM_EN_To_NAD83(double* lat, double* lon, double E, 116 int32 GPS_Math_UTM_EN_To_NAD83(double* lat, double* lon, double E,
117 double N, int32 zone, char zc); 117 double N, int32 zone, char zc);
118 118
119 int32 GPS_Math_Known_Datum_To_UTM_EN(double lat, double lon, double* E, 119 int32 GPS_Math_Known_Datum_To_UTM_EN(double lat, double lon, double* E,
120 double* N, int32* zone, char* zc, const int n); 120 double* N, int32* zone, char* zc, const int n);
121 int32 GPS_Math_UTM_EN_To_Known_Datum(double* lat, double* lon, double E, 121 int32 GPS_Math_UTM_EN_To_Known_Datum(double* lat, double* lon, double E,
122 double N, int32 zone, char zc, const int n); 122 double N, int32 zone, char zc, const int n);
123 123
124 void GPS_Math_Swiss_LatLon_To_EN(double phi, double lambda, double* E, 124 void GPS_Math_Swiss_LatLon_To_EN(double phi, double lambda, double* E,
125 double* N,double phi0,double lambda0, 125 double* N,double phi0,double lambda0,
126 double E0, double N0, double a, double b); 126 double E0, double N0, double a, double b);
127 void GPS_Math_Swiss_EN_To_LatLon(double E, double N, double* phi, 127 void GPS_Math_Swiss_EN_To_LatLon(double E, double N, double* phi,
128 double* lambda, double phi0, double lambda0, 128 double* lambda, double phi0, double lambda0,
129 double E0, double N0, double a, double b); 129 double E0, double N0, double a, double b);
130 130
131 int32 GPS_Math_WGS84_To_ICS_EN(double lat, double lon, double* E, 131 int32 GPS_Math_WGS84_To_ICS_EN(double lat, double lon, double* E,
132 double* N); 132 double* N);
133 void GPS_Math_ICS_EN_To_WGS84(double E, double N, double* lat, double* lon); 133 void GPS_Math_ICS_EN_To_WGS84(double E, double N, double* lat, double* lon);
134 134
135 int32 GPS_Math_WGS84_To_Swiss_EN(double phi, double lambda, double* E, double* N); 135 int32 GPS_Math_WGS84_To_Swiss_EN(double phi, double lambda, double* E, double* N);
136 void GPS_Math_Swiss_EN_To_WGS84(double E, double N, double* lat, double* lon); 136 void GPS_Math_Swiss_EN_To_WGS84(double E, double N, double* lat, double* lon);
137 137
138 void GPS_Math_UTM_EN_to_LatLon(int ReferenceEllipsoid, 138 void GPS_Math_UTM_EN_to_LatLon(int ReferenceEllipsoid,
139 const double UTMNorthing, const double UTMEasting, 139 const double UTMNorthing, const double UTMEasting,
140 double* Lat, double* Lon, 140 double* Lat, double* Lon,
141 const double lambda0, const double E0, const double N0); 141 const double lambda0, const double E0, const double N0);
142 142
143 int32 GPS_Lookup_Datum_Index(const char* n); 143 int32 GPS_Lookup_Datum_Index(const char* n);
144 char* GPS_Math_Get_Datum_Name(const int datum_index); 144 const char* GPS_Math_Get_Datum_Name(const int datum_index);
145 145
146 #endif 146 #endif
147 147
148 #ifdef __cplusplus 148 #ifdef __cplusplus
149 } 149 }
150 #endif 150 #endif
Powered by Google Project Hosting