aboutsummaryrefslogtreecommitdiff
path: root/src/PJ_aea.c
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2017-05-23 23:11:25 +0200
committerKristian Evers <kristianevers@gmail.com>2017-05-24 11:20:08 +0200
commitaf14ae2be7ec4ebb97825ac5578558d144953d27 (patch)
treeae6e3c6b7be116ba637650c0f3d3dc428a0ea43e /src/PJ_aea.c
parentc097d89cc36d16509bdf0bad4f046313468b5063 (diff)
downloadPROJ-af14ae2be7ec4ebb97825ac5578558d144953d27.tar.gz
PROJ-af14ae2be7ec4ebb97825ac5578558d144953d27.zip
Mixed whitespace. Replace tabs with spaces.
Diffstat (limited to 'src/PJ_aea.c')
-rw-r--r--src/PJ_aea.c202
1 files changed, 101 insertions, 101 deletions
diff --git a/src/PJ_aea.c b/src/PJ_aea.c
index d23734a2..e6bb413c 100644
--- a/src/PJ_aea.c
+++ b/src/PJ_aea.c
@@ -30,8 +30,8 @@
#define PJ_LIB__
#include <projects.h>
-# define EPS10 1.e-10
-# define TOL7 1.e-7
+# define EPS10 1.e-10
+# define TOL7 1.e-7
PROJ_HEAD(aea, "Albers Equal Area") "\n\tConic Sph&Ell\n\tlat_1= lat_2=";
PROJ_HEAD(leac, "Lambert Equal Area Conic") "\n\tConic, Sph&Ell\n\tlat_1= south";
@@ -42,39 +42,39 @@ PROJ_HEAD(leac, "Lambert Equal Area Conic") "\n\tConic, Sph&Ell\n\tlat_1= south"
# define EPSILON 1.0e-7
# define TOL 1.0e-10
static double phi1_(double qs, double Te, double Tone_es) {
- int i;
- double Phi, sinpi, cospi, con, com, dphi;
-
- Phi = asin (.5 * qs);
- if (Te < EPSILON)
- return( Phi );
- i = N_ITER;
- do {
- sinpi = sin (Phi);
- cospi = cos (Phi);
- con = Te * sinpi;
- com = 1. - con * con;
- dphi = .5 * com * com / cospi * (qs / Tone_es -
- sinpi / com + .5 / Te * log ((1. - con) /
- (1. + con)));
- Phi += dphi;
- } while (fabs(dphi) > TOL && --i);
- return( i ? Phi : HUGE_VAL );
+ int i;
+ double Phi, sinpi, cospi, con, com, dphi;
+
+ Phi = asin (.5 * qs);
+ if (Te < EPSILON)
+ return( Phi );
+ i = N_ITER;
+ do {
+ sinpi = sin (Phi);
+ cospi = cos (Phi);
+ con = Te * sinpi;
+ com = 1. - con * con;
+ dphi = .5 * com * com / cospi * (qs / Tone_es -
+ sinpi / com + .5 / Te * log ((1. - con) /
+ (1. + con)));
+ Phi += dphi;
+ } while (fabs(dphi) > TOL && --i);
+ return( i ? Phi : HUGE_VAL );
}
struct pj_opaque {
- double ec;
- double n;
- double c;
- double dd;
- double n2;
- double rho0;
- double rho;
- double phi1;
- double phi2;
- double *en;
- int ellips;
+ double ec;
+ double n;
+ double c;
+ double dd;
+ double n2;
+ double rho0;
+ double rho;
+ double phi1;
+ double phi2;
+ double *en;
+ int ellips;
};
@@ -82,42 +82,42 @@ struct pj_opaque {
static XY e_forward (LP lp, PJ *P) { /* Ellipsoid/spheroid, forward */
XY xy = {0.0,0.0};
struct pj_opaque *Q = P->opaque;
- if ((Q->rho = Q->c - (Q->ellips ? Q->n * pj_qsfn(sin(lp.phi),
- P->e, P->one_es) : Q->n2 * sin(lp.phi))) < 0.) F_ERROR
- Q->rho = Q->dd * sqrt(Q->rho);
- xy.x = Q->rho * sin( lp.lam *= Q->n );
- xy.y = Q->rho0 - Q->rho * cos(lp.lam);
- return xy;
+ if ((Q->rho = Q->c - (Q->ellips ? Q->n * pj_qsfn(sin(lp.phi),
+ P->e, P->one_es) : Q->n2 * sin(lp.phi))) < 0.) F_ERROR
+ Q->rho = Q->dd * sqrt(Q->rho);
+ xy.x = Q->rho * sin( lp.lam *= Q->n );
+ xy.y = Q->rho0 - Q->rho * cos(lp.lam);
+ return xy;
}
static LP e_inverse (XY xy, PJ *P) { /* Ellipsoid/spheroid, inverse */
LP lp = {0.0,0.0};
struct pj_opaque *Q = P->opaque;
- if( (Q->rho = hypot(xy.x, xy.y = Q->rho0 - xy.y)) != 0.0 ) {
- if (Q->n < 0.) {
- Q->rho = -Q->rho;
- xy.x = -xy.x;
- xy.y = -xy.y;
- }
- lp.phi = Q->rho / Q->dd;
- if (Q->ellips) {
- lp.phi = (Q->c - lp.phi * lp.phi) / Q->n;
- if (fabs(Q->ec - fabs(lp.phi)) > TOL7) {
- if ((lp.phi = phi1_(lp.phi, P->e, P->one_es)) == HUGE_VAL)
- I_ERROR
- } else
- lp.phi = lp.phi < 0. ? -M_HALFPI : M_HALFPI;
- } else if (fabs(lp.phi = (Q->c - lp.phi * lp.phi) / Q->n2) <= 1.)
- lp.phi = asin(lp.phi);
- else
- lp.phi = lp.phi < 0. ? -M_HALFPI : M_HALFPI;
- lp.lam = atan2(xy.x, xy.y) / Q->n;
- } else {
- lp.lam = 0.;
- lp.phi = Q->n > 0. ? M_HALFPI : - M_HALFPI;
- }
- return lp;
+ if( (Q->rho = hypot(xy.x, xy.y = Q->rho0 - xy.y)) != 0.0 ) {
+ if (Q->n < 0.) {
+ Q->rho = -Q->rho;
+ xy.x = -xy.x;
+ xy.y = -xy.y;
+ }
+ lp.phi = Q->rho / Q->dd;
+ if (Q->ellips) {
+ lp.phi = (Q->c - lp.phi * lp.phi) / Q->n;
+ if (fabs(Q->ec - fabs(lp.phi)) > TOL7) {
+ if ((lp.phi = phi1_(lp.phi, P->e, P->one_es)) == HUGE_VAL)
+ I_ERROR
+ } else
+ lp.phi = lp.phi < 0. ? -M_HALFPI : M_HALFPI;
+ } else if (fabs(lp.phi = (Q->c - lp.phi * lp.phi) / Q->n2) <= 1.)
+ lp.phi = asin(lp.phi);
+ else
+ lp.phi = lp.phi < 0. ? -M_HALFPI : M_HALFPI;
+ lp.lam = atan2(xy.x, xy.y) / Q->n;
+ } else {
+ lp.lam = 0.;
+ lp.phi = Q->n > 0. ? M_HALFPI : - M_HALFPI;
+ }
+ return lp;
}
@@ -141,47 +141,47 @@ static void freeup (PJ *P) {
static PJ *setup(PJ *P) {
- double cosphi, sinphi;
- int secant;
+ double cosphi, sinphi;
+ int secant;
struct pj_opaque *Q = P->opaque;
P->inv = e_inverse;
P->fwd = e_forward;
- if (fabs(Q->phi1 + Q->phi2) < EPS10) E_ERROR(-21);
- Q->n = sinphi = sin(Q->phi1);
- cosphi = cos(Q->phi1);
- secant = fabs(Q->phi1 - Q->phi2) >= EPS10;
- if( (Q->ellips = (P->es > 0.))) {
- double ml1, m1;
-
- if (!(Q->en = pj_enfn(P->es))) E_ERROR_0;
- m1 = pj_msfn(sinphi, cosphi, P->es);
- ml1 = pj_qsfn(sinphi, P->e, P->one_es);
- if (secant) { /* secant cone */
- double ml2, m2;
-
- sinphi = sin(Q->phi2);
- cosphi = cos(Q->phi2);
- m2 = pj_msfn(sinphi, cosphi, P->es);
- ml2 = pj_qsfn(sinphi, P->e, P->one_es);
- Q->n = (m1 * m1 - m2 * m2) / (ml2 - ml1);
- }
- Q->ec = 1. - .5 * P->one_es * log((1. - P->e) /
- (1. + P->e)) / P->e;
- Q->c = m1 * m1 + Q->n * ml1;
- Q->dd = 1. / Q->n;
- Q->rho0 = Q->dd * sqrt(Q->c - Q->n * pj_qsfn(sin(P->phi0),
- P->e, P->one_es));
- } else {
- if (secant) Q->n = .5 * (Q->n + sin(Q->phi2));
- Q->n2 = Q->n + Q->n;
- Q->c = cosphi * cosphi + Q->n2 * sinphi;
- Q->dd = 1. / Q->n;
- Q->rho0 = Q->dd * sqrt(Q->c - Q->n2 * sin(P->phi0));
- }
-
- return P;
+ if (fabs(Q->phi1 + Q->phi2) < EPS10) E_ERROR(-21);
+ Q->n = sinphi = sin(Q->phi1);
+ cosphi = cos(Q->phi1);
+ secant = fabs(Q->phi1 - Q->phi2) >= EPS10;
+ if( (Q->ellips = (P->es > 0.))) {
+ double ml1, m1;
+
+ if (!(Q->en = pj_enfn(P->es))) E_ERROR_0;
+ m1 = pj_msfn(sinphi, cosphi, P->es);
+ ml1 = pj_qsfn(sinphi, P->e, P->one_es);
+ if (secant) { /* secant cone */
+ double ml2, m2;
+
+ sinphi = sin(Q->phi2);
+ cosphi = cos(Q->phi2);
+ m2 = pj_msfn(sinphi, cosphi, P->es);
+ ml2 = pj_qsfn(sinphi, P->e, P->one_es);
+ Q->n = (m1 * m1 - m2 * m2) / (ml2 - ml1);
+ }
+ Q->ec = 1. - .5 * P->one_es * log((1. - P->e) /
+ (1. + P->e)) / P->e;
+ Q->c = m1 * m1 + Q->n * ml1;
+ Q->dd = 1. / Q->n;
+ Q->rho0 = Q->dd * sqrt(Q->c - Q->n * pj_qsfn(sin(P->phi0),
+ P->e, P->one_es));
+ } else {
+ if (secant) Q->n = .5 * (Q->n + sin(Q->phi2));
+ Q->n2 = Q->n + Q->n;
+ Q->c = cosphi * cosphi + Q->n2 * sinphi;
+ Q->dd = 1. / Q->n;
+ Q->rho0 = Q->dd * sqrt(Q->c - Q->n2 * sin(P->phi0));
+ }
+
+ return P;
}
@@ -191,8 +191,8 @@ PJ *PROJECTION(aea) {
return freeup_new (P);
P->opaque = Q;
- Q->phi1 = pj_param(P->ctx, P->params, "rlat_1").f;
- Q->phi2 = pj_param(P->ctx, P->params, "rlat_2").f;
+ Q->phi1 = pj_param(P->ctx, P->params, "rlat_1").f;
+ Q->phi2 = pj_param(P->ctx, P->params, "rlat_2").f;
return setup(P);
}
@@ -203,8 +203,8 @@ PJ *PROJECTION(leac) {
return freeup_new (P);
P->opaque = Q;
- Q->phi2 = pj_param(P->ctx, P->params, "rlat_1").f;
- Q->phi1 = pj_param(P->ctx, P->params, "bsouth").i ? - M_HALFPI: M_HALFPI;
+ Q->phi2 = pj_param(P->ctx, P->params, "rlat_1").f;
+ Q->phi1 = pj_param(P->ctx, P->params, "bsouth").i ? - M_HALFPI: M_HALFPI;
return setup(P);
}