bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
gctp_prototypes.h
1/*-------------------------------------------------------------------------*/
2/* */
3/* COPYRIGHT[copyright mark] 1999, Raytheon Systems Company, its vendors, */
4/* and suppliers. ALL RIGHTS RESERVED. */
5/* */
6/*-------------------------------------------------------------------------*/
7/*****************************************************************************
8BEGIN_FILE_PROLOG:
9
10FILENAME:
11
12 gctp_prototypes.H
13
14DESCRIPTION:
15
16 This file contains function prototypes that are specific to the
17 GCT Tools
18
19AUTHOR:
20 Ray Milburn / Steven Myers & Associates
21 Abe Taaheri / Emergent Information Tecnologies, Inc.
22
23HISTORY:
24 28-Jan-99 RM Initial version
25 27-June-00 AT added function prototypes for CEA projection
26
27END_FILE_PROLOG:
28*****************************************************************************/
29
30#ifndef gctp_prototypes_h
31#define gctp_prototypes_h
32
33#ifndef PGS_GCT_Prototypes_h
34/*****************************************************************
35 Function prototypes.
36*****************************************************************/
37
38int stplnfor(double lon, double lat, double *x, double *y);
39int stplninv(double x, double y, double *lon, double *lat);
40int stplnforint(long zone, long sphere, char *fn27, char *fn83);
41int stplninvint(long zone, long sphere, char *fn27, char *fn83);
42
43int alberfor(double lon, double lat, double *x, double *y);
44int alberinv(double x, double y, double *lon, double *lat);
45int alberforint(double r_maj, double r_min, double lat1, double lat2,
46 double lon0, double lat0, double false_east,
47 double false_north);
48int alberinvint(double r_maj, double r_min, double lat1, double lat2,
49 double lon0, double lat0, double false_east,
50 double false_north);
51
52int lamccfor(double lon, double lat, double *x, double *y);
53int lamccinv(double x, double y, double *lon, double *lat);
54int lamccforint(double r_maj, double r_min, double lat1, double lat2,
55 double c_lon, double c_lat, double false_east,
56 double false_north);
57int lamccinvint(double r_maj, double r_min, double lat1, double lat2,
58 double c_lon, double c_lat, double false_east,
59 double false_north);
60
61int merfor(double lon, double lat, double *x, double *y);
62int merinv(double x, double y, double *lon, double *lat);
63int merforint(double r_maj, double r_min, double center_lon,
64 double center_lat, double false_east, double false_north);
65int merinvint(double r_maj, double r_min, double center_lon,
66 double center_lat, double false_east, double false_north);
67
68int psfor(double lon, double lat, double *x, double *y);
69int psinv(double x, double y, double *lon, double *lat);
70int psforint(double r_maj, double r_min, double c_lon, double c_lat,
71 double false_east, double false_north);
72int psinvint(double r_maj, double r_min, double c_lon, double c_lat,
73 double false_east, double false_north);
74
75int polyfor(double lon, double lat, double *x, double *y);
76int polyinv(double x, double y, double *lon, double *lat);
77int polyforint(double r_maj, double r_min, double center_lon,
78 double center_lat, double false_east, double false_north);
79int polyinvint(double r_maj, double r_min, double center_lon,
80 double center_lat, double false_east, double false_north);
81
82int eqconfor(double lon, double lat, double *x, double *y);
83int eqconinv(double x, double y, double *lon, double *lat);
84int eqconforint(double r_maj, double r_min, double lat1, double lat2,
85 double center_lon, double center_lat, double false_east,
86 double false_north, long mode);
87int eqconinvint(double r_maj, double r_min, double lat1, double lat2,
88 double center_lon, double center_lat, double false_east,
89 double false_north, long mode);
90
91int tmfor(double lon, double lat, double *x, double *y);
92int tminv(double x, double y, double *lon, double *lat);
93int tmforint(double r_maj, double r_min, double scale_fact,
94 double center_lon, double center_lat, double false_east,
95 double false_north);
96int tminvint(double r_maj, double r_min, double scale_fact,
97 double center_lon, double center_lat, double false_east,
98 double false_north);
99
100int sterfor(double lon, double lat, double *x, double *y);
101int sterinv(double x, double y, double *lon, double *lat);
102int sterforint(double r_maj, double center_lon, double center_lat,
103 double false_east, double false_north);
104int sterinvint(double r_maj, double center_lon, double center_lat,
105 double false_east, double false_north);
106
107int lamazfor(double lon, double lat, double *x, double *y);
108int lamazinv(double x, double y, double *lon, double *lat);
109int lamazforint(double r_maj, double r_min, double center_long,
110 double center_lat, double false_east, double false_north);
111int lamazinvint(double r_maj, double r_min, double center_long,
112 double center_lat, double false_east, double false_north);
113
114int azimfor(double lon, double lat, double *x, double *y);
115int aziminv(double x, double y, double *lon, double *lat);
116int azimforint(double r_maj, double center_lon, double center_lat,
117 double false_east, double false_north);
118int aziminvint(double r_maj, double center_lon, double center_lat,
119 double false_east, double false_north);
120
121int gnomfor(double lon, double lat, double *x, double *y);
122int gnominv(double x, double y, double *lon, double *lat);
123int gnomforint(double r, double center_long, double center_lat,
124 double false_east, double false_north);
125int gnominvint(double r, double center_long, double center_lat,
126 double false_east, double false_north);
127
128int orthfor(double lon, double lat, double *x, double *y);
129int orthinv(double x, double y, double *lon, double *lat);
130int orthforint(double r_maj, double center_lon, double center_lat,
131 double false_east, double false_north);
132int orthinvint(double r_maj, double center_lon, double center_lat,
133 double false_east, double false_north);
134
135int gvnspfor(double lon, double lat, double *x, double *y);
136int gvnspinv(double x, double y, double *lon, double *lat);
137int gvnspforint(double r, double h, double center_long, double center_lat,
138 double false_east, double false_north);
139int gvnspinvint(double r, double h, double center_long, double center_lat,
140 double false_east, double false_north);
141
142int sinfor(double lon, double lat, double *x, double *y);
143int sininv(double x, double y, double *lon, double *lat);
144int sinforint(double r_maj, double r_min, double center_long,
145 double false_east, double false_north);
146int sininvint(double r_maj, double r_min, double center_long,
147 double false_east, double false_north);
148
149int equifor(double lon, double lat, double *x, double *y);
150int equiinv(double x, double y, double *lon, double *lat);
151int equiforint(double r_maj, double center_lon, double lat1,
152 double false_east, double false_north);
153int equiinvint(double r_maj, double center_lon, double lat1,
154 double false_east, double false_north);
155
156int millfor(double lon, double lat, double *x, double *y);
157int millinv(double x, double y, double *lon, double *lat);
158int millforint(double r, double center_long, double false_east,
159 double false_north);
160int millinvint(double r, double center_long, double false_east,
161 double false_north);
162
163int vandgfor(double lon, double lat, double *x, double *y);
164int vandginv(double x, double y, double *lon, double *lat);
165int vandgforint(double r, double center_long, double false_east,
166 double false_north);
167int vandginvint(double r, double center_long, double false_east,
168 double false_north);
169
170int omerfor(double lon, double lat, double *x, double *y);
171int omerinv(double x, double y, double *lon, double *lat);
172int omerforint(double r_maj, double r_min, double scale_fact,
173 double azimuth, double lon_orig, double lat_orig,
174 double false_east, double false_north, double lon1,
175 double lat1, double lon2, double lat2, long mode);
176int omerinvint(double r_maj, double r_min, double scale_fact,
177 double azimuth, double lon_orig, double lat_orig,
178 double false_east, double false_north, double lon1,
179 double lat1, double lon2, double lat2, long mode);
180
181int somfor(double lon, double lat, double *x, double *y);
182int sominv(double x, double y, double *lon, double *lat);
183int somforint(double r_major, double r_minor, long satnum, long path,
184 double alf_in, double lon, double false_east,
185 double false_north, double time, long start1, long flag,
186 double sat_ratio);
187int sominvint(double r_major, double r_minor, long satnum, long path,
188 double alf_in, double lon, double false_east,
189 double false_north, double time, long flag,
190 double sat_ratio);
191
192int hamfor(double lon, double lat, double *x, double *y);
193int haminv(double x, double y, double *lon, double *lat);
194int hamforint(double r, double center_long, double false_east,
195 double false_north);
196int haminvint(double r, double center_long, double false_east,
197 double false_north);
198
199int robfor(double lon, double lat, double *x, double *y);
200int robinv(double x, double y, double *lon, double *lat);
201int robforint(double r, double center_long, double false_east,
202 double false_north);
203int robinvint(double r, double center_long, double false_east,
204 double false_north);
205
206int goodfor(double lon, double lat, double *x, double *y);
207int goodinv(double x, double y, double *lon, double *lat);
208int goodforint(double r);
209int goodinvint(double r);
210
211int molwfor(double lon, double lat, double *x, double *y);
212int molwinv(double x, double y, double *lon, double *lat);
213int molwforint(double r, double center_long, double false_east,
214 double false_north);
215int molwinvint(double r, double center_long, double false_east,
216 double false_north);
217
218int imolwfor(double lon, double lat, double *x, double *y);
219int imolwinv(double x, double y, double *lon, double *lat);
220int imolwforint(double r);
221int imolwinvint(double r);
222
223int alconfor(double lon, double lat, double *x, double *y);
224int alconinv(double x, double y, double *lon, double *lat);
225int alconforint(double r_maj, double r_min, double false_east,
226 double false_north);
227int alconinvint(double r_maj, double r_min, double false_east,
228 double false_north);
229
230int wivfor(double lon, double lat, double *x, double *y);
231int wivinv(double x, double y, double *lon, double *lat);
232int wivforint(double r, double center_long, double false_east,
233 double false_north);
234int wivinvint(double r, double center_long, double false_east,
235 double false_north);
236
237int wviifor(double lon, double lat, double *x, double *y);
238int wviiinv(double x, double y, double *lon, double *lat);
239int wviiforint(double r, double center_long, double false_east,
240 double false_north);
241int wviiinvint(double r, double center_long, double false_east,
242 double false_north);
243
244int obleqfor(double lon, double lat, double *x, double *y);
245int obleqinv(double x, double y, double *lon, double *lat);
246int obleqforint(double r, double center_long, double center_lat,
247 double shape_m, double shape_n, double angle,
248 double false_east, double false_north);
249int obleqinvint(double r, double center_long, double center_lat,
250 double shape_m, double shape_n, double angle,
251 double false_east, double false_north);
252
253int isinusfor(double lon, double lat, double *x, double *y);
254int isinusinv(double x, double y, double *lon, double *lat);
255int isinusforinit(double sphere, double lon_cen_mer, double false_east,
256 double false_north, double dzone, double djustify);
257int isinusinvinit(double sphere, double lon_cen_mer, double false_east,
258 double false_north, double dzone, double djustify);
259
260int utmfor(double lon, double lat, double *x, double *y);
261int utminv(double x, double y, double *lon, double *lat);
262int utmforint(double r_maj, double r_min, double scale_fact, long zone);
263int utminvint(double r_maj, double r_min, double scale_fact, long zone);
264
265long calc_utm_zone(double lon);
266
267int ceaforint(double r_maj, double r_min, double center_lon,
268 double center_lat, double false_east, double false_north);
269int ceafor(double lon, double lat, double *x, double *y);
270
271int ceainvint(double r_maj, double r_min, double center_lon,
272 double center_lat, double false_east, double false_north);
273int ceainv(double x, double y, double *lon, double *lat);
274
275int bceaforint(double r_maj, double r_min, double center_lon,
276 double center_lat, double false_east, double false_north);
277int bceafor(double lon, double lat, double *x, double *y);
278
279int bceainvint(double r_maj, double r_min, double center_lon,
280 double center_lat, double false_east, double false_north);
281int bceainv(double x, double y, double *lon, double *lat);
282
283/* Added prototypes needed by modern/future C compilers 6/5/23 */
284int hfor_init(int outsys, int outzone, double *outparm, int outdatum, char *fn27, char *fn83, int *iflg, int (*hfor_trans[])(double, double, double *, double *));
285long untfz(long inunit, long outunit, double *factor);
286int init(long ipr, long jpr, char *efile, char *pfile);
287void close_file(void);
288int hinv_init(int insys, int inzone, double *inparm, int indatum, char *fn27, char *fn83, int *iflg, int (*hinv_trans[])(double, double, double*, double*));
289int gctp(double *incoor, long *insys, long *inzone, double *inparm, long *inunit, long *indatum, long *ipr, char *efile, long *jpr, char *pfile, double *outcoor, long *outsys, long *outzone, double *outparm, long *outunit, long *outdatum, char *fn27, char *fn83, long *iflg);
290int gctp_(double *incoor, long *insys, long *inzone, double *inparm, long *inunit, long *indatum, long *ipr, char *efile, long *jpr, char *pfile, double *outcoor, long *outsys, long *outzone, double *outparm, long *outunit, long *outdatum, char *fn27, char *fn83, long *iflg);
291
292#endif
293#endif