80 lines
3 KiB
C
80 lines
3 KiB
C
/* cmapf.h. Generated by configure. */
|
|
#ifndef CMAPF_H
|
|
#define CMAPF_H
|
|
#define HAVE_STRCASECMP 1
|
|
#include <math.h>
|
|
/* #include <float.h> */
|
|
/*
|
|
* cmapf.h - header file for conformal mapping function utility.
|
|
* Written 12/21/94 by
|
|
* Dr. Albion Taylor
|
|
* NOAA / OAR / ARL Phone: (301) 713-0295 ext 132
|
|
* Rm. 3151, 1315 East-West Highway Fax: (301) 713-0119
|
|
* Silver Spring, MD 20910 E-mail: ADTaylor@arlrisc.ssmc.noaa.gov
|
|
*/
|
|
|
|
typedef struct {
|
|
double arad,brad,eccen,gamma,reflon,
|
|
x0,y0, crotate,srotate,gridszeq,
|
|
npwarn,spwarn;
|
|
} maparam;
|
|
|
|
#define RADPDEG (M_PI/180.)
|
|
#define DEGPRAD (180./M_PI)
|
|
int stlmbr(maparam * stcprm,double tnglat,double reflon) ;
|
|
void stcm2p(maparam * stcprm,
|
|
double x1, double y1, double xlat1, double xlong1,
|
|
double x2, double y2, double xlat2, double xlong2) ;
|
|
void stcm1p(maparam * stcprm,
|
|
double x1, double y1, double xlat1, double xlong1,
|
|
double xlatg, double xlong,double gridsz, double orient) ;
|
|
|
|
void cll2xy(maparam * stcprm,double lat,double longit,
|
|
double * x,double * y) ;
|
|
void ccrvll(maparam * stcprm,double lat, double longit,
|
|
double * gx, double * gy) ;
|
|
void cxy2ll(maparam * stcprm,double x, double y,
|
|
double * lat, double * longit) ;
|
|
void ccrvxy(maparam * stcprm,double x, double y,
|
|
double * gx, double * gy) ;
|
|
|
|
void cc2gll(maparam * stcprm,double lat,double longit,
|
|
double ue,double vn, double * ug,double * vg) ;
|
|
void cg2cll(maparam * stcprm,double lat,double longit,
|
|
double ug,double vg, double * ue,double * vn) ;
|
|
void cc2gxy(maparam * stcprm,double x,double y,
|
|
double ue,double vn, double * ug,double * vg) ;
|
|
void cg2cxy(maparam * stcprm,double x,double y,
|
|
double ug,double vg, double * ue,double * vn) ;
|
|
void cw2gll(maparam * stcprm,double lat,double longit,
|
|
double ue,double vn, double * ug,double * vg) ;
|
|
void cg2wll(maparam * stcprm,double lat,double longit,
|
|
double ug,double vg, double * ue,double * vn) ;
|
|
void cw2gxy(maparam * stcprm,double x,double y,
|
|
double ue,double vn, double * ug,double * vg) ;
|
|
void cg2wxy(maparam * stcprm,double x,double y,
|
|
double ug,double vg, double * ue,double * vn) ;
|
|
|
|
double log1pabovera(double a,double b) ;
|
|
double cperiodic(double value,double begin,double end) ;
|
|
double eqvlat(maparam * stcprm,double lat1,double lat2) ;
|
|
|
|
double cgszll(maparam * stcprm,double lat,double longit) ;
|
|
double cgszxy(maparam * stcprm,double x,double y) ;
|
|
|
|
void cpolll(maparam * stcprm,double lat, double longit,
|
|
double * enx,double * eny, double * enz) ;
|
|
void cpolxy(maparam * stcprm,double x, double y,
|
|
double * enx,double * eny, double * enz) ;
|
|
|
|
/*Helping Functions for mercator Computations*/
|
|
void cmr2sc(maparam * stcprm,double ymerc,double * sinlat,double * coslat) ;
|
|
double cl2ymr(maparam * stcprm,double lat) ;
|
|
double cymr2l(maparam * stcprm,double ymerc) ;
|
|
|
|
typedef enum {AF,AE,AB,BE,TST} GspecType;
|
|
int mkGeoid(maparam * stcprm,GspecType t,double arg1,double arg2);
|
|
int useGeoid (maparam * stcprm,char * name);
|
|
void lsGeoid();
|
|
|
|
#endif /* CMAPF_H */
|