Go to the documentation of this file.
26 const GCTP_TRANSFORMATION *trans
29 if (trans->forward.print_info)
32 trans->forward.print_info(&trans->forward);
34 if (trans->inverse.print_info)
37 trans->inverse.print_info(&trans->inverse);
52 const GCTP_TRANSFORMATION *trans
55 return &trans->inverse.proj;
69 const GCTP_TRANSFORMATION *trans
72 return &trans->forward.proj;
89 return (
int)(((
lon + 180.0) / 6.0) + 1.0);
129 return 1.0-0.25*
x*(1.0+
x/16.0*(3.0+1.25*
x));
136 return 0.375*
x*(1.0+0.25*
x*(1.0+0.46875*
x));
143 return 0.05859375*
x*
x*(1.0+0.75*
x);
150 return x*
x*
x*(35.0/3072.0);
173 return (sqrt((pow(con,con))*(pow(com,com))));
195 return e0*phi-e1*sin(2.0*phi)+e2*sin(4.0*phi)-e3*sin(6.0*phi);
222 eccnth = .5 * eccent;
224 for (
i = 0;
i <= 15;
i++)
227 con = eccent * sinpi;
228 dphi =
HALF_PI - 2 * atan(ts *(pow(((1.0 - con)/(1.0 + con)),eccnth)))
231 if (
fabs(dphi) <= .0000000001)
261 con = eccent * sinphi;
262 return (cosphi / (sqrt (1.0 - con * con)));
286 con = eccent * sinphi;
288 con = pow(((1.0 - con) / (1.0 + con)),com);
289 return tan(.5 * (
HALF_PI - phi))/con;
double gctp_calc_e2(double x)
int gctp_calc_utm_zone(double lon)
#define GCTP_PRINT_ERROR(format,...)
int gctp_get_sign(double x)
void gctp_print_transformation_info(const GCTP_TRANSFORMATION *trans)
const GCTP_PROJECTION * gctp_get_input_proj(const GCTP_TRANSFORMATION *trans)
const GCTP_PROJECTION * gctp_get_output_proj(const GCTP_TRANSFORMATION *trans)
int gctp_calc_phi2(double eccent, double ts, double *phi2)
#define GCTP_PRINT_INFO(format,...)
double gctp_calc_e0(double x)
double gctp_calc_small_t(double eccent, double phi, double sinphi)
double gctp_calc_e3(double x)
double gctp_calc_e1(double x)
double gctp_calc_small_radius(double eccent, double sinphi, double cosphi)
double gctp_calc_dist_from_equator(double e0, double e1, double e2, double e3, double phi)
double gctp_calc_e4(double x)