[projections] changes in generation - avoid splitting lines

This commit is contained in:
Barend Gehrels
2015-05-02 20:20:54 +02:00
parent 42550568ee
commit bf623b5d7c
7 changed files with 17 additions and 31 deletions

View File

@@ -158,9 +158,8 @@ namespace boost { namespace geometry { namespace projections
{
int i, j;
char line[10];
for (i = 0;
i < 3;
++i) { /* get control point locations */
for (i = 0; i < 3; ++i) { /* get control point locations */
(void)sprintf(line, "rlat_%d", i+1);
proj_parm.c[i].phi = pj_param(par.params, line).f;
(void)sprintf(line, "rlon_%d", i+1);
@@ -169,9 +168,7 @@ namespace boost { namespace geometry { namespace projections
proj_parm.c[i].cosphi = cos(proj_parm.c[i].phi);
proj_parm.c[i].sinphi = sin(proj_parm.c[i].phi);
}
for (i = 0;
i < 3;
++i) { /* inter ctl pt. distances and azimuths */
for (i = 0; i < 3; ++i) { /* inter ctl pt. distances and azimuths */
j = i == 2 ? 0 : i + 1;
proj_parm.c[i].v = vect(proj_parm.c[j].phi - proj_parm.c[i].phi, proj_parm.c[i].cosphi, proj_parm.c[i].sinphi,
proj_parm.c[j].cosphi, proj_parm.c[j].sinphi, proj_parm.c[j].lam - proj_parm.c[i].lam);

View File

@@ -227,12 +227,12 @@ namespace boost { namespace geometry { namespace projections
void setup_etmerc(Parameters& par, par_etmerc& proj_parm)
{
double f, n, np, Z;
if (par.es <= 0) throw proj_exception(-34);
f = par.es / (1 + sqrt(1 - par.es));
/* Replaces: f = 1 - sqrt(1-par.es);
*/
f = par.es / (1 + sqrt(1 - par.es)); /* Replaces: f = 1 - sqrt(1-par.es); */
/* third flattening */
np = n = f/(2 - f);
/* COEF. OF TRIG SERIES GEO <-> GAUSS */
/* cgb := Gaussian -> Geodetic, KW p190 - 191 (61) - (62) */
/* cbg := Geodetic -> Gaussian, KW p186 - 187 (51) - (52) */

View File

@@ -110,14 +110,11 @@ namespace boost { namespace geometry { namespace projections
proj_parm.c= log(pj_tsfn(-1.0*proj_parm.phic,0.0,0.0))
-proj_parm.n1*log(pj_tsfn(-1.0*par.phi0,-1.0*sin(par.phi0),par.e));
proj_parm.n2= par.k0*par.a*sqrt(1.0-par.es)/(1.0-par.es*sin(par.phi0)*sin(par.phi0));
proj_parm.XS= 0;
/* -par.x0 */
proj_parm.YS= -1.0*proj_parm.n2*proj_parm.phic;
/* -par.y0 */
// par.inv= s_inverse;
// par.fwd= s_forward;
/*fprintf(stderr,"a (m) =%16.4f\ne =%16.13f\nl0(rad)=%16.13f\np0(rad)=%16.13f\nk0 =%16.4f\nX0 (m)=%16.4f\nY0 (m)=%16.4f\n\nlC(rad)=%16.13f\npC(rad)=%16.13f\nc =%16.13f\nn1 =%16.13f\nn2 (m) =%16.4f\nXS (m) =%16.4f\nYS (m) =%16.4f\n", par.a, par.e, par.lam0, par.phi0, par.k0, par.x0, par.y0, proj_parm.lamc, proj_parm.phic, proj_parm.c, proj_parm.n1, proj_parm.n2, proj_parm.XS +par.x0, proj_parm.YS + par.y0);
*/
proj_parm.XS= 0;/* -par.x0 */
proj_parm.YS= -1.0*proj_parm.n2*proj_parm.phic;/* -par.y0 */
/*fprintf(stderr,"a (m) =%16.4f\ne =%16.13f\nl0(rad)=%16.13f\np0(rad)=%16.13f\nk0 =%16.4f\nX0 (m)=%16.4f\nY0 (m)=%16.4f\n\nlC(rad)=%16.13f\npC(rad)=%16.13f\nc =%16.13f\nn1 =%16.13f\nn2 (m) =%16.4f\nXS (m) =%16.4f\nYS (m) =%16.4f\n", par.a, par.e, par.lam0, par.phi0, par.k0, par.x0, par.y0, proj_parm.lamc, proj_parm.phic, proj_parm.c, proj_parm.n1, proj_parm.n2, proj_parm.XS +par.x0, proj_parm.YS + par.y0);*/
}
}} // namespace detail::gstmerc

View File

@@ -1036,9 +1036,9 @@ namespace boost { namespace geometry { namespace projections
// par.fwd = s_forward;
isea_grid_init(&proj_parm.dgg);
proj_parm.dgg.output = ISEA_PLANE;
/* proj_parm.dgg.radius = par.a;
/ * otherwise defaults to 1 */
/* proj_parm.dgg.radius = par.a; / * otherwise defaults to 1 */
/* calling library will scale, I think */
opt = pj_param(par.params, "sorient").s;
if (! opt.empty()) {
if (opt == std::string("isea")) {

View File

@@ -228,13 +228,9 @@ namespace boost { namespace geometry { namespace projections
proj_parm.rlm2 = proj_parm.rlm + TWOPI;
proj_parm.a2 = proj_parm.a4 = proj_parm.b = proj_parm.c1 = proj_parm.c3 = 0.;
seraz0(0., 1., par, proj_parm);
for (lam = 9.;
lam <= 81.0001;
lam += 18.)
for (lam = 9.; lam <= 81.0001; lam += 18.)
seraz0(lam, 4., par, proj_parm);
for (lam = 18;
lam <= 72.0001;
lam += 18.)
for (lam = 18; lam <= 72.0001; lam += 18.)
seraz0(lam, 2., par, proj_parm);
seraz0(90., 1., par, proj_parm);
proj_parm.a2 /= 30.;

View File

@@ -194,8 +194,7 @@ namespace boost { namespace geometry { namespace projections
proj_parm.sinph0 = sin(par.phi0);
proj_parm.cosph0 = cos(par.phi0);
}
proj_parm.pn1 = proj_parm.height / par.a;
/* normalize by radius */
proj_parm.pn1 = proj_parm.height / par.a; /* normalize by radius */
proj_parm.p = 1. + proj_parm.pn1;
proj_parm.rp = 1. / proj_parm.p;
proj_parm.h = 1. / proj_parm.pn1;
@@ -222,10 +221,8 @@ namespace boost { namespace geometry { namespace projections
omega = pj_param(par.params, "dtilt").f * DEG_TO_RAD;
gamma = pj_param(par.params, "dazi").f * DEG_TO_RAD;
proj_parm.tilt = 1;
proj_parm.cg = cos(gamma);
proj_parm.sg = sin(gamma);
proj_parm.cw = cos(omega);
proj_parm.sw = sin(omega);
proj_parm.cg = cos(gamma); proj_parm.sg = sin(gamma);
proj_parm.cw = cos(omega); proj_parm.sw = sin(omega);
setup(par, proj_parm);
}

View File

@@ -158,8 +158,7 @@ namespace boost { namespace geometry { namespace projections
/* get name of projection to be translated */
pj.name = pj_param(par.params, "so_proj").s;
/* copy existing header into new */
par.es = 0.;
/* force to spherical */
par.es = 0.; /* force to spherical */
pj.params = par.params;
pj.over = par.over;
pj.geoc = par.geoc;