diff options
author | Alex <qt-info@nokia.com> | 2011-05-06 12:59:37 +1000 |
---|---|---|
committer | Alex <qt-info@nokia.com> | 2011-05-06 12:59:37 +1000 |
commit | 31a6300090cf085c55ff43a999bdc8455d2f4b1b (patch) | |
tree | 75e7471720555ddd9409a58458faa48342583348 | |
parent | 336c5619c03cd338142f827ffcdaca855e35096c (diff) | |
download | qtlocation-31a6300090cf085c55ff43a999bdc8455d2f4b1b.tar.gz |
add snapshot of 3rdparty Proj library
support library for QtLocation
172 files changed, 32327 insertions, 0 deletions
diff --git a/src/3rdparty/proj.pri b/src/3rdparty/proj.pri new file mode 100644 index 00000000..e075a68e --- /dev/null +++ b/src/3rdparty/proj.pri @@ -0,0 +1,158 @@ +INCLUDEPATH += $$PWD/proj/include + +SOURCES += $$PWD/proj/PJ_aeqd.c \ + $$PWD/proj/PJ_gnom.c \ + $$PWD/proj/PJ_laea.c \ + $$PWD/proj/PJ_mod_ster.c \ + $$PWD/proj/PJ_nsper.c \ + $$PWD/proj/PJ_nzmg.c \ + $$PWD/proj/PJ_ortho.c \ + $$PWD/proj/PJ_stere.c \ + $$PWD/proj/PJ_sterea.c \ + $$PWD/proj/PJ_aea.c \ + $$PWD/proj/PJ_bipc.c \ + $$PWD/proj/PJ_bonne.c \ + $$PWD/proj/PJ_eqdc.c \ + $$PWD/proj/PJ_imw_p.c \ + $$PWD/proj/PJ_krovak.c \ + $$PWD/proj/PJ_lcc.c \ + $$PWD/proj/PJ_poly.c \ + $$PWD/proj/PJ_rpoly.c \ + $$PWD/proj/PJ_sconics.c \ + $$PWD/proj/proj_rouss.c \ + $$PWD/proj/PJ_cass.c \ + $$PWD/proj/PJ_cc.c \ + $$PWD/proj/PJ_cea.c \ + $$PWD/proj/PJ_eqc.c \ + $$PWD/proj/PJ_gall.c \ + $$PWD/proj/PJ_labrd.c \ + $$PWD/proj/PJ_lsat.c \ + $$PWD/proj/PJ_merc.c \ + $$PWD/proj/PJ_mill.c \ + $$PWD/proj/PJ_ocea.c \ + $$PWD/proj/PJ_omerc.c \ + $$PWD/proj/PJ_somerc.c \ + $$PWD/proj/PJ_tcc.c \ + $$PWD/proj/PJ_tcea.c \ + $$PWD/proj/PJ_tmerc.c \ + $$PWD/proj/PJ_airy.c \ + $$PWD/proj/PJ_aitoff.c \ + $$PWD/proj/PJ_august.c \ + $$PWD/proj/PJ_bacon.c \ + $$PWD/proj/PJ_chamb.c \ + $$PWD/proj/PJ_hammer.c \ + $$PWD/proj/PJ_lagrng.c \ + $$PWD/proj/PJ_larr.c \ + $$PWD/proj/PJ_lask.c \ + $$PWD/proj/PJ_nocol.c \ + $$PWD/proj/PJ_ob_tran.c \ + $$PWD/proj/PJ_oea.c \ + $$PWD/proj/PJ_tpeqd.c \ + $$PWD/proj/PJ_vandg.c \ + $$PWD/proj/PJ_vandg2.c \ + $$PWD/proj/PJ_vandg4.c \ + $$PWD/proj/PJ_wag7.c \ + $$PWD/proj/PJ_lcca.c \ + $$PWD/proj/PJ_geos.c \ + $$PWD/proj/PJ_boggs.c \ + $$PWD/proj/PJ_collg.c \ + $$PWD/proj/PJ_crast.c \ + $$PWD/proj/PJ_denoy.c \ + $$PWD/proj/PJ_eck1.c \ + $$PWD/proj/PJ_eck2.c \ + $$PWD/proj/PJ_eck3.c \ + $$PWD/proj/PJ_eck4.c \ + $$PWD/proj/PJ_eck5.c \ + $$PWD/proj/PJ_fahey.c \ + $$PWD/proj/PJ_fouc_s.c \ + $$PWD/proj/PJ_gins8.c \ + $$PWD/proj/PJ_gstmerc.c \ + $$PWD/proj/PJ_gn_sinu.c \ + $$PWD/proj/PJ_goode.c \ + $$PWD/proj/PJ_hatano.c \ + $$PWD/proj/PJ_loxim.c \ + $$PWD/proj/PJ_mbt_fps.c \ + $$PWD/proj/PJ_mbtfpp.c \ + $$PWD/proj/PJ_mbtfpq.c \ + $$PWD/proj/PJ_moll.c \ + $$PWD/proj/PJ_nell.c \ + $$PWD/proj/PJ_nell_h.c \ + $$PWD/proj/PJ_putp2.c \ + $$PWD/proj/PJ_putp3.c \ + $$PWD/proj/PJ_putp4p.c \ + $$PWD/proj/PJ_putp5.c \ + $$PWD/proj/PJ_putp6.c \ + $$PWD/proj/PJ_robin.c \ + $$PWD/proj/PJ_sts.c \ + $$PWD/proj/PJ_urm5.c \ + $$PWD/proj/PJ_urmfps.c \ + $$PWD/proj/PJ_wag2.c \ + $$PWD/proj/PJ_wag3.c \ + $$PWD/proj/PJ_wink1.c \ + $$PWD/proj/PJ_wink2.c \ + $$PWD/proj/pj_latlong.c \ + $$PWD/proj/pj_geocent.c \ + $$PWD/proj/aasincos.c \ + $$PWD/proj/adjlon.c \ + $$PWD/proj/bch2bps.c \ + $$PWD/proj/bchgen.c \ + $$PWD/proj/biveval.c \ + $$PWD/proj/dmstor.c \ + $$PWD/proj/mk_cheby.c \ + $$PWD/proj/pj_auth.c \ + $$PWD/proj/pj_deriv.c \ + $$PWD/proj/pj_ell_set.c \ + $$PWD/proj/pj_ellps.c \ + $$PWD/proj/pj_errno.c \ + $$PWD/proj/pj_factors.c \ + $$PWD/proj/pj_fwd.c \ + $$PWD/proj/pj_init.c \ + $$PWD/proj/pj_inv.c \ + $$PWD/proj/pj_list.c \ + $$PWD/proj/pj_malloc.c \ + $$PWD/proj/pj_mlfn.c \ + $$PWD/proj/pj_msfn.c \ + $$PWD/proj/proj_mdist.c \ + $$PWD/proj/pj_open_lib_qt.cpp \ + $$PWD/proj/pj_param.c \ + $$PWD/proj/pj_phi2.c \ + $$PWD/proj/pj_pr_list.c \ + $$PWD/proj/pj_qsfn.c \ + $$PWD/proj/pj_strerrno.c \ + $$PWD/proj/pj_tsfn.c \ + $$PWD/proj/pj_units.c \ + $$PWD/proj/pj_zpoly1.c \ + $$PWD/proj/rtodms.c \ + $$PWD/proj/vector1.c \ + $$PWD/proj/pj_release.c \ + $$PWD/proj/pj_gauss.c \ + $$PWD/proj/nad_cvt.c \ + $$PWD/proj/nad_init.c \ + $$PWD/proj/nad_intr.c \ + $$PWD/proj/emess.c \ + $$PWD/proj/pj_apply_gridshift.c \ + $$PWD/proj/pj_datums.c \ + $$PWD/proj/pj_datum_set.c \ + $$PWD/proj/pj_transform.c \ + $$PWD/proj/geocent.c \ + $$PWD/proj/pj_utils.c \ + $$PWD/proj/pj_gridinfo.c \ + $$PWD/proj/pj_gridlist.c \ + $$PWD/proj/pj_mutex.c \ + $$PWD/proj/pj_initcache.c + +DEFINES += DISABLE_CVSID + +unix { + DEFINES += MUTEX_pthread +} + +symbian { + LIBS += -llibpthread -llibm +} + +win32 { + DEFINES += MUTEX_win32 +} + +RESOURCES += $$PWD/proj/data.qrc diff --git a/src/3rdparty/proj/PJ_aea.c b/src/3rdparty/proj/PJ_aea.c new file mode 100644 index 00000000..c3799365 --- /dev/null +++ b/src/3rdparty/proj/PJ_aea.c @@ -0,0 +1,162 @@ +/****************************************************************************** + * $Id: PJ_aea.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Implementation of the aea (Albers Equal Area) projection. + * Author: Gerald Evenden + * + ****************************************************************************** + * Copyright (c) 1995, Gerald Evenden + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PROJ_PARMS__ \ + double ec; \ + double n; \ + double c; \ + double dd; \ + double n2; \ + double rho0; \ + double rho; \ + double phi1; \ + double phi2; \ + double *en; \ + int ellips; + +#define PJ_LIB__ +#include <projects.h> + +PJ_CVSID("$Id: PJ_aea.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +# 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"; +/* determine latitude angle phi-1 */ +# define N_ITER 15 +# 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 ); +} +FORWARD(e_forward); /* ellipsoid & spheroid */ + if ((P->rho = P->c - (P->ellips ? P->n * pj_qsfn(sin(lp.phi), + P->e, P->one_es) : P->n2 * sin(lp.phi))) < 0.) F_ERROR + P->rho = P->dd * sqrt(P->rho); + xy.x = P->rho * sin( lp.lam *= P->n ); + xy.y = P->rho0 - P->rho * cos(lp.lam); + return (xy); +} +INVERSE(e_inverse) /* ellipsoid & spheroid */; + if( (P->rho = hypot(xy.x, xy.y = P->rho0 - xy.y)) != 0.0 ) { + if (P->n < 0.) { + P->rho = -P->rho; + xy.x = -xy.x; + xy.y = -xy.y; + } + lp.phi = P->rho / P->dd; + if (P->ellips) { + lp.phi = (P->c - lp.phi * lp.phi) / P->n; + if (fabs(P->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. ? -HALFPI : HALFPI; + } else if (fabs(lp.phi = (P->c - lp.phi * lp.phi) / P->n2) <= 1.) + lp.phi = asin(lp.phi); + else + lp.phi = lp.phi < 0. ? -HALFPI : HALFPI; + lp.lam = atan2(xy.x, xy.y) / P->n; + } else { + lp.lam = 0.; + lp.phi = P->n > 0. ? HALFPI : - HALFPI; + } + return (lp); +} +FREEUP; if (P) { if (P->en) pj_dalloc(P->en); pj_dalloc(P); } } + static PJ * +setup(PJ *P) { + double cosphi, sinphi; + int secant; + + if (fabs(P->phi1 + P->phi2) < EPS10) E_ERROR(-21); + P->n = sinphi = sin(P->phi1); + cosphi = cos(P->phi1); + secant = fabs(P->phi1 - P->phi2) >= EPS10; + if( (P->ellips = (P->es > 0.))) { + double ml1, m1; + + if (!(P->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(P->phi2); + cosphi = cos(P->phi2); + m2 = pj_msfn(sinphi, cosphi, P->es); + ml2 = pj_qsfn(sinphi, P->e, P->one_es); + P->n = (m1 * m1 - m2 * m2) / (ml2 - ml1); + } + P->ec = 1. - .5 * P->one_es * log((1. - P->e) / + (1. + P->e)) / P->e; + P->c = m1 * m1 + P->n * ml1; + P->dd = 1. / P->n; + P->rho0 = P->dd * sqrt(P->c - P->n * pj_qsfn(sin(P->phi0), + P->e, P->one_es)); + } else { + if (secant) P->n = .5 * (P->n + sin(P->phi2)); + P->n2 = P->n + P->n; + P->c = cosphi * cosphi + P->n2 * sinphi; + P->dd = 1. / P->n; + P->rho0 = P->dd * sqrt(P->c - P->n2 * sin(P->phi0)); + } + P->inv = e_inverse; P->fwd = e_forward; + return P; +} +ENTRY1(aea,en) + P->phi1 = pj_param(P->params, "rlat_1").f; + P->phi2 = pj_param(P->params, "rlat_2").f; +ENDENTRY(setup(P)) +ENTRY1(leac,en) + P->phi2 = pj_param(P->params, "rlat_1").f; + P->phi1 = pj_param(P->params, "bsouth").i ? - HALFPI: HALFPI; +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_aeqd.c b/src/3rdparty/proj/PJ_aeqd.c new file mode 100644 index 00000000..dea9edff --- /dev/null +++ b/src/3rdparty/proj/PJ_aeqd.c @@ -0,0 +1,271 @@ +/****************************************************************************** + * $Id: PJ_aeqd.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Implementation of the aeqd (Azimuthal Equidistant) projection. + * Author: Gerald Evenden + * + ****************************************************************************** + * Copyright (c) 1995, Gerald Evenden + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PROJ_PARMS__ \ + double sinph0; \ + double cosph0; \ + double *en; \ + double M1; \ + double N1; \ + double Mp; \ + double He; \ + double G; \ + int mode; +#define PJ_LIB__ +#include <projects.h> + +PJ_CVSID("$Id: PJ_aeqd.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +PROJ_HEAD(aeqd, "Azimuthal Equidistant") "\n\tAzi, Sph&Ell\n\tlat_0 guam"; + +#define EPS10 1.e-10 +#define TOL 1.e-14 + +#define N_POLE 0 +#define S_POLE 1 +#define EQUIT 2 +#define OBLIQ 3 +FORWARD(e_guam_fwd); /* Guam elliptical */ + double cosphi, sinphi, t; + + cosphi = cos(lp.phi); + sinphi = sin(lp.phi); + t = 1. / sqrt(1. - P->es * sinphi * sinphi); + xy.x = lp.lam * cosphi * t; + xy.y = pj_mlfn(lp.phi, sinphi, cosphi, P->en) - P->M1 + + .5 * lp.lam * lp.lam * cosphi * sinphi * t; + return (xy); +} +FORWARD(e_forward); /* elliptical */ + double coslam, cosphi, sinphi, rho, s, H, H2, c, Az, t, ct, st, cA, sA; + + coslam = cos(lp.lam); + cosphi = cos(lp.phi); + sinphi = sin(lp.phi); + switch (P->mode) { + case N_POLE: + coslam = - coslam; + case S_POLE: + xy.x = (rho = fabs(P->Mp - pj_mlfn(lp.phi, sinphi, cosphi, P->en))) * + sin(lp.lam); + xy.y = rho * coslam; + break; + case EQUIT: + case OBLIQ: + if (fabs(lp.lam) < EPS10 && fabs(lp.phi - P->phi0) < EPS10) { + xy.x = xy.y = 0.; + break; + } + t = atan2(P->one_es * sinphi + P->es * P->N1 * P->sinph0 * + sqrt(1. - P->es * sinphi * sinphi), cosphi); + ct = cos(t); st = sin(t); + Az = atan2(sin(lp.lam) * ct, P->cosph0 * st - P->sinph0 * coslam * ct); + cA = cos(Az); sA = sin(Az); + s = aasin( fabs(sA) < TOL ? + (P->cosph0 * st - P->sinph0 * coslam * ct) / cA : + sin(lp.lam) * ct / sA ); + H = P->He * cA; + H2 = H * H; + c = P->N1 * s * (1. + s * s * (- H2 * (1. - H2)/6. + + s * ( P->G * H * (1. - 2. * H2 * H2) / 8. + + s * ((H2 * (4. - 7. * H2) - 3. * P->G * P->G * (1. - 7. * H2)) / + 120. - s * P->G * H / 48.)))); + xy.x = c * sA; + xy.y = c * cA; + break; + } + return (xy); +} +FORWARD(s_forward); /* spherical */ + double coslam, cosphi, sinphi; + + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + switch (P->mode) { + case EQUIT: + xy.y = cosphi * coslam; + goto oblcon; + case OBLIQ: + xy.y = P->sinph0 * sinphi + P->cosph0 * cosphi * coslam; +oblcon: + if (fabs(fabs(xy.y) - 1.) < TOL) + if (xy.y < 0.) + F_ERROR + else + xy.x = xy.y = 0.; + else { + xy.y = acos(xy.y); + xy.y /= sin(xy.y); + xy.x = xy.y * cosphi * sin(lp.lam); + xy.y *= (P->mode == EQUIT) ? sinphi : + P->cosph0 * sinphi - P->sinph0 * cosphi * coslam; + } + break; + case N_POLE: + lp.phi = -lp.phi; + coslam = -coslam; + case S_POLE: + if (fabs(lp.phi - HALFPI) < EPS10) F_ERROR; + xy.x = (xy.y = (HALFPI + lp.phi)) * sin(lp.lam); + xy.y *= coslam; + break; + } + return (xy); +} +INVERSE(e_guam_inv); /* Guam elliptical */ + double x2, t; + int i; + + x2 = 0.5 * xy.x * xy.x; + lp.phi = P->phi0; + for (i = 0; i < 3; ++i) { + t = P->e * sin(lp.phi); + lp.phi = pj_inv_mlfn(P->M1 + xy.y - + x2 * tan(lp.phi) * (t = sqrt(1. - t * t)), P->es, P->en); + } + lp.lam = xy.x * t / cos(lp.phi); + return (lp); +} +INVERSE(e_inverse); /* elliptical */ + double c, Az, cosAz, A, B, D, E, F, psi, t; + + if ((c = hypot(xy.x, xy.y)) < EPS10) { + lp.phi = P->phi0; + lp.lam = 0.; + return (lp); + } + if (P->mode == OBLIQ || P->mode == EQUIT) { + cosAz = cos(Az = atan2(xy.x, xy.y)); + t = P->cosph0 * cosAz; + B = P->es * t / P->one_es; + A = - B * t; + B *= 3. * (1. - A) * P->sinph0; + D = c / P->N1; + E = D * (1. - D * D * (A * (1. + A) / 6. + B * (1. + 3.*A) * D / 24.)); + F = 1. - E * E * (A / 2. + B * E / 6.); + psi = aasin(P->sinph0 * cos(E) + t * sin(E)); + lp.lam = aasin(sin(Az) * sin(E) / cos(psi)); + if ((t = fabs(psi)) < EPS10) + lp.phi = 0.; + else if (fabs(t - HALFPI) < 0.) + lp.phi = HALFPI; + else + lp.phi = atan((1. - P->es * F * P->sinph0 / sin(psi)) * tan(psi) / + P->one_es); + } else { /* Polar */ + lp.phi = pj_inv_mlfn(P->mode == N_POLE ? P->Mp - c : P->Mp + c, + P->es, P->en); + lp.lam = atan2(xy.x, P->mode == N_POLE ? -xy.y : xy.y); + } + return (lp); +} +INVERSE(s_inverse); /* spherical */ + double cosc, c_rh, sinc; + + if ((c_rh = hypot(xy.x, xy.y)) > PI) { + if (c_rh - EPS10 > PI) I_ERROR; + c_rh = PI; + } else if (c_rh < EPS10) { + lp.phi = P->phi0; + lp.lam = 0.; + return (lp); + } + if (P->mode == OBLIQ || P->mode == EQUIT) { + sinc = sin(c_rh); + cosc = cos(c_rh); + if (P->mode == EQUIT) { + lp.phi = aasin(xy.y * sinc / c_rh); + xy.x *= sinc; + xy.y = cosc * c_rh; + } else { + lp.phi = aasin(cosc * P->sinph0 + xy.y * sinc * P->cosph0 / + c_rh); + xy.y = (cosc - P->sinph0 * sin(lp.phi)) * c_rh; + xy.x *= sinc * P->cosph0; + } + lp.lam = xy.y == 0. ? 0. : atan2(xy.x, xy.y); + } else if (P->mode == N_POLE) { + lp.phi = HALFPI - c_rh; + lp.lam = atan2(xy.x, -xy.y); + } else { + lp.phi = c_rh - HALFPI; + lp.lam = atan2(xy.x, xy.y); + } + return (lp); +} +FREEUP; + if (P) { + if (P->en) + pj_dalloc(P->en); + pj_dalloc(P); + } +} +ENTRY1(aeqd, en) + P->phi0 = pj_param(P->params, "rlat_0").f; + if (fabs(fabs(P->phi0) - HALFPI) < EPS10) { + P->mode = P->phi0 < 0. ? S_POLE : N_POLE; + P->sinph0 = P->phi0 < 0. ? -1. : 1.; + P->cosph0 = 0.; + } else if (fabs(P->phi0) < EPS10) { + P->mode = EQUIT; + P->sinph0 = 0.; + P->cosph0 = 1.; + } else { + P->mode = OBLIQ; + P->sinph0 = sin(P->phi0); + P->cosph0 = cos(P->phi0); + } + if (! P->es) { + P->inv = s_inverse; P->fwd = s_forward; + } else { + if (!(P->en = pj_enfn(P->es))) E_ERROR_0; + if (pj_param(P->params, "bguam").i) { + P->M1 = pj_mlfn(P->phi0, P->sinph0, P->cosph0, P->en); + P->inv = e_guam_inv; P->fwd = e_guam_fwd; + } else { + switch (P->mode) { + case N_POLE: + P->Mp = pj_mlfn(HALFPI, 1., 0., P->en); + break; + case S_POLE: + P->Mp = pj_mlfn(-HALFPI, -1., 0., P->en); + break; + case EQUIT: + case OBLIQ: + P->inv = e_inverse; P->fwd = e_forward; + P->N1 = 1. / sqrt(1. - P->es * P->sinph0 * P->sinph0); + P->G = P->sinph0 * (P->He = P->e / sqrt(P->one_es)); + P->He *= P->cosph0; + break; + } + P->inv = e_inverse; P->fwd = e_forward; + } + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_airy.c b/src/3rdparty/proj/PJ_airy.c new file mode 100644 index 00000000..2de02ee2 --- /dev/null +++ b/src/3rdparty/proj/PJ_airy.c @@ -0,0 +1,124 @@ +/****************************************************************************** + * $Id: PJ_airy.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Implementation of the airy (Airy) projection. + * Author: Gerald Evenden + * + ****************************************************************************** + * Copyright (c) 1995, Gerald Evenden + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PROJ_PARMS__ \ + double p_halfpi; \ + double sinph0; \ + double cosph0; \ + double Cb; \ + int mode; \ + int no_cut; /* do not cut at hemisphere limit */ +#define PJ_LIB__ +#include <projects.h> + +PJ_CVSID("$Id: PJ_airy.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +PROJ_HEAD(airy, "Airy") "\n\tMisc Sph, no inv.\n\tno_cut lat_b="; + +# define EPS 1.e-10 +# define N_POLE 0 +# define S_POLE 1 +# define EQUIT 2 +# define OBLIQ 3 +FORWARD(s_forward); /* spheroid */ + double sinlam, coslam, cosphi, sinphi, t, s, Krho, cosz; + + sinlam = sin(lp.lam); + coslam = cos(lp.lam); + switch (P->mode) { + case EQUIT: + case OBLIQ: + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + cosz = cosphi * coslam; + if (P->mode == OBLIQ) + cosz = P->sinph0 * sinphi + P->cosph0 * cosz; + if (!P->no_cut && cosz < -EPS) + F_ERROR; + if (fabs(s = 1. - cosz) > EPS) { + t = 0.5 * (1. + cosz); + Krho = -log(t)/s - P->Cb / t; + } else + Krho = 0.5 - P->Cb; + xy.x = Krho * cosphi * sinlam; + if (P->mode == OBLIQ) + xy.y = Krho * (P->cosph0 * sinphi - + P->sinph0 * cosphi * coslam); + else + xy.y = Krho * sinphi; + break; + case S_POLE: + case N_POLE: + lp.phi = fabs(P->p_halfpi - lp.phi); + if (!P->no_cut && (lp.phi - EPS) > HALFPI) + F_ERROR; + if ((lp.phi *= 0.5) > EPS) { + t = tan(lp.phi); + Krho = -2.*(log(cos(lp.phi)) / t + t * P->Cb); + xy.x = Krho * sinlam; + xy.y = Krho * coslam; + if (P->mode == N_POLE) + xy.y = -xy.y; + } else + xy.x = xy.y = 0.; + } + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(airy) + double beta; + + P->no_cut = pj_param(P->params, "bno_cut").i; + beta = 0.5 * (HALFPI - pj_param(P->params, "rlat_b").f); + if (fabs(beta) < EPS) + P->Cb = -0.5; + else { + P->Cb = 1./tan(beta); + P->Cb *= P->Cb * log(cos(beta)); + } + if (fabs(fabs(P->phi0) - HALFPI) < EPS) + if (P->phi0 < 0.) { + P->p_halfpi = -HALFPI; + P->mode = S_POLE; + } else { + P->p_halfpi = HALFPI; + P->mode = N_POLE; + } + else { + if (fabs(P->phi0) < EPS) + P->mode = EQUIT; + else { + P->mode = OBLIQ; + P->sinph0 = sin(P->phi0); + P->cosph0 = cos(P->phi0); + } + } + P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_aitoff.c b/src/3rdparty/proj/PJ_aitoff.c new file mode 100644 index 00000000..a49b30bb --- /dev/null +++ b/src/3rdparty/proj/PJ_aitoff.c @@ -0,0 +1,76 @@ +/****************************************************************************** + * $Id: PJ_aitoff.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Implementation of the aitoff (Aitoff) and wintri (Winkel Tripel) + * projections. + * Author: Gerald Evenden + * + ****************************************************************************** + * Copyright (c) 1995, Gerald Evenden + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PROJ_PARMS__ \ + double cosphi1; \ + int mode; +#define PJ_LIB__ +#include <projects.h> + +PJ_CVSID("$Id: PJ_aitoff.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +PROJ_HEAD(aitoff, "Aitoff") "\n\tMisc Sph"; +PROJ_HEAD(wintri, "Winkel Tripel") "\n\tMisc Sph\n\tlat_1"; + +FORWARD(s_forward); /* spheroid */ + double c, d; + + if((d = acos(cos(lp.phi) * cos(c = 0.5 * lp.lam)))) {/* basic Aitoff */ + xy.x = 2. * d * cos(lp.phi) * sin(c) * (xy.y = 1. / sin(d)); + xy.y *= d * sin(lp.phi); + } else + xy.x = xy.y = 0.; + if (P->mode) { /* Winkel Tripel */ + xy.x = (xy.x + lp.lam * P->cosphi1) * 0.5; + xy.y = (xy.y + lp.phi) * 0.5; + } + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + P->inv = 0; + P->fwd = s_forward; + P->es = 0.; + return P; +} +ENTRY0(aitoff) + P->mode = 0; +ENDENTRY(setup(P)) +ENTRY0(wintri) + P->mode = 1; + if (pj_param(P->params, "tlat_1").i) + { + if ((P->cosphi1 = cos(pj_param(P->params, "rlat_1").f)) == 0.) + E_ERROR(-22) + } + else /* 50d28' or acos(2/pi) */ + P->cosphi1 = 0.636619772367581343; +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_august.c b/src/3rdparty/proj/PJ_august.c new file mode 100644 index 00000000..4e6dab98 --- /dev/null +++ b/src/3rdparty/proj/PJ_august.c @@ -0,0 +1,18 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(august, "August Epicycloidal") "\n\tMisc Sph, no inv."; +#define M 1.333333333333333 +FORWARD(s_forward); /* spheroid */ + double t, c1, c, x1, x12, y1, y12; + + t = tan(.5 * lp.phi); + c1 = sqrt(1. - t * t); + c = 1. + c1 * cos(lp.lam *= .5); + x1 = sin(lp.lam) * c1 / c; + y1 = t / c; + xy.x = M * x1 * (3. + (x12 = x1 * x1) - 3. * (y12 = y1 * y1)); + xy.y = M * y1 * (3. + 3. * x12 - y12); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(august) P->inv = 0; P->fwd = s_forward; P->es = 0.; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_bacon.c b/src/3rdparty/proj/PJ_bacon.c new file mode 100644 index 00000000..dfc559b8 --- /dev/null +++ b/src/3rdparty/proj/PJ_bacon.c @@ -0,0 +1,41 @@ +# define HLFPI2 2.46740110027233965467 +# define EPS 1e-10 +#define PROJ_PARMS__ \ + int bacn; \ + int ortl; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(apian, "Apian Globular I") "\n\tMisc Sph, no inv."; +PROJ_HEAD(ortel, "Ortelius Oval") "\n\tMisc Sph, no inv."; +PROJ_HEAD(bacon, "Bacon Globular") "\n\tMisc Sph, no inv."; +FORWARD(s_forward); /* spheroid */ + double ax, f; + + xy.y = P->bacn ? HALFPI * sin(lp.phi) : lp.phi; + if ((ax = fabs(lp.lam)) >= EPS) { + if (P->ortl && ax >= HALFPI) + xy.x = sqrt(HLFPI2 - lp.phi * lp.phi + EPS) + ax - HALFPI; + else { + f = 0.5 * (HLFPI2 / ax + ax); + xy.x = ax - f + sqrt(f * f - xy.y * xy.y); + } + if (lp.lam < 0.) xy.x = - xy.x; + } else + xy.x = 0.; + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(bacon) + P->bacn = 1; + P->ortl = 0; + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) +ENTRY0(apian) + P->bacn = P->ortl = 0; + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) +ENTRY0(ortel) + P->bacn = 0; + P->ortl = 1; + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_bipc.c b/src/3rdparty/proj/PJ_bipc.c new file mode 100644 index 00000000..5cb74256 --- /dev/null +++ b/src/3rdparty/proj/PJ_bipc.c @@ -0,0 +1,132 @@ +#define PROJ_PARMS__ \ + int noskew; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(bipc, "Bipolar conic of western hemisphere") + "\n\tConic Sph."; +# define EPS 1e-10 +# define EPS10 1e-10 +# define ONEEPS 1.000000001 +# define NITER 10 +# define lamB -.34894976726250681539 +# define n .63055844881274687180 +# define F 1.89724742567461030582 +# define Azab .81650043674686363166 +# define Azba 1.82261843856185925133 +# define T 1.27246578267089012270 +# define rhoc 1.20709121521568721927 +# define cAzc .69691523038678375519 +# define sAzc .71715351331143607555 +# define C45 .70710678118654752469 +# define S45 .70710678118654752410 +# define C20 .93969262078590838411 +# define S20 -.34202014332566873287 +# define R110 1.91986217719376253360 +# define R104 1.81514242207410275904 +FORWARD(s_forward); /* spheroid */ + double cphi, sphi, tphi, t, al, Az, z, Av, cdlam, sdlam, r; + int tag; + + cphi = cos(lp.phi); + sphi = sin(lp.phi); + cdlam = cos(sdlam = lamB - lp.lam); + sdlam = sin(sdlam); + if (fabs(fabs(lp.phi) - HALFPI) < EPS10) { + Az = lp.phi < 0. ? PI : 0.; + tphi = HUGE_VAL; + } else { + tphi = sphi / cphi; + Az = atan2(sdlam , C45 * (tphi - cdlam)); + } + if( (tag = (Az > Azba)) ) { + cdlam = cos(sdlam = lp.lam + R110); + sdlam = sin(sdlam); + z = S20 * sphi + C20 * cphi * cdlam; + if (fabs(z) > 1.) { + if (fabs(z) > ONEEPS) F_ERROR + else z = z < 0. ? -1. : 1.; + } else + z = acos(z); + if (tphi != HUGE_VAL) + Az = atan2(sdlam, (C20 * tphi - S20 * cdlam)); + Av = Azab; + xy.y = rhoc; + } else { + z = S45 * (sphi + cphi * cdlam); + if (fabs(z) > 1.) { + if (fabs(z) > ONEEPS) F_ERROR + else z = z < 0. ? -1. : 1.; + } else + z = acos(z); + Av = Azba; + xy.y = -rhoc; + } + if (z < 0.) F_ERROR; + r = F * (t = pow(tan(.5 * z), n)); + if ((al = .5 * (R104 - z)) < 0.) F_ERROR; + al = (t + pow(al, n)) / T; + if (fabs(al) > 1.) { + if (fabs(al) > ONEEPS) F_ERROR + else al = al < 0. ? -1. : 1.; + } else + al = acos(al); + if (fabs(t = n * (Av - Az)) < al) + r /= cos(al + (tag ? t : -t)); + xy.x = r * sin(t); + xy.y += (tag ? -r : r) * cos(t); + if (P->noskew) { + t = xy.x; + xy.x = -xy.x * cAzc - xy.y * sAzc; + xy.y = -xy.y * cAzc + t * sAzc; + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double t, r, rp, rl, al, z, fAz, Az, s, c, Av; + int neg, i; + + if (P->noskew) { + t = xy.x; + xy.x = -xy.x * cAzc + xy.y * sAzc; + xy.y = -xy.y * cAzc - t * sAzc; + } + if( (neg = (xy.x < 0.)) ) { + xy.y = rhoc - xy.y; + s = S20; + c = C20; + Av = Azab; + } else { + xy.y += rhoc; + s = S45; + c = C45; + Av = Azba; + } + rl = rp = r = hypot(xy.x, xy.y); + fAz = fabs(Az = atan2(xy.x, xy.y)); + for (i = NITER; i ; --i) { + z = 2. * atan(pow(r / F,1 / n)); + al = acos((pow(tan(.5 * z), n) + + pow(tan(.5 * (R104 - z)), n)) / T); + if (fAz < al) + r = rp * cos(al + (neg ? Az : -Az)); + if (fabs(rl - r) < EPS) + break; + rl = r; + } + if (! i) I_ERROR; + Az = Av - Az / n; + lp.phi = asin(s * cos(z) + c * sin(z) * cos(Az)); + lp.lam = atan2(sin(Az), c / tan(z) - s * cos(Az)); + if (neg) + lp.lam -= R110; + else + lp.lam = lamB - lp.lam; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(bipc) + P->noskew = pj_param(P->params, "bns").i; + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_boggs.c b/src/3rdparty/proj/PJ_boggs.c new file mode 100644 index 00000000..48fdc9ab --- /dev/null +++ b/src/3rdparty/proj/PJ_boggs.c @@ -0,0 +1,32 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(boggs, "Boggs Eumorphic") "\n\tPCyl., no inv., Sph."; +# define NITER 20 +# define EPS 1e-7 +# define ONETOL 1.000001 +# define FXC 2.00276 +# define FXC2 1.11072 +# define FYC 0.49931 +# define FYC2 1.41421356237309504880 +FORWARD(s_forward); /* spheroid */ + double theta, th1, c; + int i; + + theta = lp.phi; + if (fabs(fabs(lp.phi) - HALFPI) < EPS) + xy.x = 0.; + else { + c = sin(theta) * PI; + for (i = NITER; i; --i) { + theta -= th1 = (theta + sin(theta) - c) / + (1. + cos(theta)); + if (fabs(th1) < EPS) break; + } + theta *= 0.5; + xy.x = FXC * lp.lam / (1. / cos(lp.phi) + FXC2 / cos(theta)); + } + xy.y = FYC * (lp.phi + FYC2 * sin(theta)); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(boggs) P->es = 0.; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_bonne.c b/src/3rdparty/proj/PJ_bonne.c new file mode 100644 index 00000000..81a5bf98 --- /dev/null +++ b/src/3rdparty/proj/PJ_bonne.c @@ -0,0 +1,85 @@ +#define PROJ_PARMS__ \ + double phi1; \ + double cphi1; \ + double am1; \ + double m1; \ + double *en; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(bonne, "Bonne (Werner lat_1=90)") + "\n\tConic Sph&Ell\n\tlat_1="; +#define EPS10 1e-10 +FORWARD(e_forward); /* ellipsoid */ + double rh, E, c; + + rh = P->am1 + P->m1 - pj_mlfn(lp.phi, E = sin(lp.phi), c = cos(lp.phi), P->en); + E = c * lp.lam / (rh * sqrt(1. - P->es * E * E)); + xy.x = rh * sin(E); + xy.y = P->am1 - rh * cos(E); + return (xy); +} +FORWARD(s_forward); /* spheroid */ + double E, rh; + + rh = P->cphi1 + P->phi1 - lp.phi; + if (fabs(rh) > EPS10) { + xy.x = rh * sin(E = lp.lam * cos(lp.phi) / rh); + xy.y = P->cphi1 - rh * cos(E); + } else + xy.x = xy.y = 0.; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double rh; + + rh = hypot(xy.x, xy.y = P->cphi1 - xy.y); + lp.phi = P->cphi1 + P->phi1 - rh; + if (fabs(lp.phi) > HALFPI) I_ERROR; + if (fabs(fabs(lp.phi) - HALFPI) <= EPS10) + lp.lam = 0.; + else + lp.lam = rh * atan2(xy.x, xy.y) / cos(lp.phi); + return (lp); +} +INVERSE(e_inverse); /* ellipsoid */ + double s, rh; + + rh = hypot(xy.x, xy.y = P->am1 - xy.y); + lp.phi = pj_inv_mlfn(P->am1 + P->m1 - rh, P->es, P->en); + if ((s = fabs(lp.phi)) < HALFPI) { + s = sin(lp.phi); + lp.lam = rh * atan2(xy.x, xy.y) * + sqrt(1. - P->es * s * s) / cos(lp.phi); + } else if (fabs(s - HALFPI) <= EPS10) + lp.lam = 0.; + else I_ERROR; + return (lp); +} +FREEUP; + if (P) { + if (P->en) + pj_dalloc(P->en); + pj_dalloc(P); + } +} +ENTRY1(bonne, en) + double c; + + P->phi1 = pj_param(P->params, "rlat_1").f; + if (fabs(P->phi1) < EPS10) E_ERROR(-23); + if (P->es) { + P->en = pj_enfn(P->es); + P->m1 = pj_mlfn(P->phi1, P->am1 = sin(P->phi1), + c = cos(P->phi1), P->en); + P->am1 = c / (sqrt(1. - P->es * P->am1 * P->am1) * P->am1); + P->inv = e_inverse; + P->fwd = e_forward; + } else { + if (fabs(P->phi1) + EPS10 >= HALFPI) + P->cphi1 = 0.; + else + P->cphi1 = 1. / tan(P->phi1); + P->inv = s_inverse; + P->fwd = s_forward; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_cass.c b/src/3rdparty/proj/PJ_cass.c new file mode 100644 index 00000000..4539c66b --- /dev/null +++ b/src/3rdparty/proj/PJ_cass.c @@ -0,0 +1,79 @@ +#define PROJ_PARMS__ \ + double m0; \ + double n; \ + double t; \ + double a1; \ + double c; \ + double r; \ + double dd; \ + double d2; \ + double a2; \ + double tn; \ + double *en; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(cass, "Cassini") "\n\tCyl, Sph&Ell"; +# define EPS10 1e-10 +# define C1 .16666666666666666666 +# define C2 .00833333333333333333 +# define C3 .04166666666666666666 +# define C4 .33333333333333333333 +# define C5 .06666666666666666666 +FORWARD(e_forward); /* ellipsoid */ + xy.y = pj_mlfn(lp.phi, P->n = sin(lp.phi), P->c = cos(lp.phi), P->en); + P->n = 1./sqrt(1. - P->es * P->n * P->n); + P->tn = tan(lp.phi); P->t = P->tn * P->tn; + P->a1 = lp.lam * P->c; + P->c *= P->es * P->c / (1 - P->es); + P->a2 = P->a1 * P->a1; + xy.x = P->n * P->a1 * (1. - P->a2 * P->t * + (C1 - (8. - P->t + 8. * P->c) * P->a2 * C2)); + xy.y -= P->m0 - P->n * P->tn * P->a2 * + (.5 + (5. - P->t + 6. * P->c) * P->a2 * C3); + return (xy); +} +FORWARD(s_forward); /* spheroid */ + xy.x = asin(cos(lp.phi) * sin(lp.lam)); + xy.y = atan2(tan(lp.phi) , cos(lp.lam)) - P->phi0; + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + double ph1; + + ph1 = pj_inv_mlfn(P->m0 + xy.y, P->es, P->en); + P->tn = tan(ph1); P->t = P->tn * P->tn; + P->n = sin(ph1); + P->r = 1. / (1. - P->es * P->n * P->n); + P->n = sqrt(P->r); + P->r *= (1. - P->es) * P->n; + P->dd = xy.x / P->n; + P->d2 = P->dd * P->dd; + lp.phi = ph1 - (P->n * P->tn / P->r) * P->d2 * + (.5 - (1. + 3. * P->t) * P->d2 * C3); + lp.lam = P->dd * (1. + P->t * P->d2 * + (-C4 + (1. + 3. * P->t) * P->d2 * C5)) / cos(ph1); + return (lp); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = asin(sin(P->dd = xy.y + P->phi0) * cos(xy.x)); + lp.lam = atan2(tan(xy.x), cos(P->dd)); + return (lp); +} +FREEUP; + if (P) { + if (P->en) + pj_dalloc(P->en); + pj_dalloc(P); + } +} +ENTRY1(cass, en) + if (P->es) { + if (!(P->en = pj_enfn(P->es))) E_ERROR_0; + P->m0 = pj_mlfn(P->phi0, sin(P->phi0), cos(P->phi0), P->en); + P->inv = e_inverse; + P->fwd = e_forward; + } else { + P->inv = s_inverse; + P->fwd = s_forward; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_cc.c b/src/3rdparty/proj/PJ_cc.c new file mode 100644 index 00000000..be1191b6 --- /dev/null +++ b/src/3rdparty/proj/PJ_cc.c @@ -0,0 +1,19 @@ +#define PROJ_PARMS__ \ + double ap; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(cc, "Central Cylindrical") "\n\tCyl, Sph"; +#define EPS10 1.e-10 +FORWARD(s_forward); /* spheroid */ + if (fabs(fabs(lp.phi) - HALFPI) <= EPS10) F_ERROR; + xy.x = lp.lam; + xy.y = tan(lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = atan(xy.y); + lp.lam = xy.x; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(cc) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_cea.c b/src/3rdparty/proj/PJ_cea.c new file mode 100644 index 00000000..97e4f3aa --- /dev/null +++ b/src/3rdparty/proj/PJ_cea.c @@ -0,0 +1,61 @@ +#define PROJ_PARMS__ \ + double qp; \ + double *apa; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(cea, "Equal Area Cylindrical") "\n\tCyl, Sph&Ell\n\tlat_ts="; +# define EPS 1e-10 +FORWARD(e_forward); /* spheroid */ + xy.x = P->k0 * lp.lam; + xy.y = .5 * pj_qsfn(sin(lp.phi), P->e, P->one_es) / P->k0; + return (xy); +} +FORWARD(s_forward); /* spheroid */ + xy.x = P->k0 * lp.lam; + xy.y = sin(lp.phi) / P->k0; + return (xy); +} +INVERSE(e_inverse); /* spheroid */ + lp.phi = pj_authlat(asin( 2. * xy.y * P->k0 / P->qp), P->apa); + lp.lam = xy.x / P->k0; + return (lp); +} +INVERSE(s_inverse); /* spheroid */ + double t; + + if ((t = fabs(xy.y *= P->k0)) - EPS <= 1.) { + if (t >= 1.) + lp.phi = xy.y < 0. ? -HALFPI : HALFPI; + else + lp.phi = asin(xy.y); + lp.lam = xy.x / P->k0; + } else I_ERROR; + return (lp); +} +FREEUP; + if (P) { + if (P->apa) + pj_dalloc(P->apa); + pj_dalloc(P); + } +} +ENTRY1(cea, apa) + double t; + + if (pj_param(P->params, "tlat_ts").i && + (P->k0 = cos(t = pj_param(P->params, "rlat_ts").f)) < 0.) E_ERROR(-24) + else + t = 0.; + if (P->es) { + t = sin(t); + P->k0 /= sqrt(1. - P->es * t * t); + P->e = sqrt(P->es); + if (!(P->apa = pj_authset(P->es))) E_ERROR_0; + P->qp = pj_qsfn(1., P->e, P->one_es); + P->inv = e_inverse; + P->fwd = e_forward; + } else { + P->inv = s_inverse; + P->fwd = s_forward; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_chamb.c b/src/3rdparty/proj/PJ_chamb.c new file mode 100644 index 00000000..c17a7133 --- /dev/null +++ b/src/3rdparty/proj/PJ_chamb.c @@ -0,0 +1,112 @@ +typedef struct { double r, Az; } VECT; +#define PROJ_PARMS__ \ + struct { /* control point data */ \ + double phi, lam; \ + double cosphi, sinphi; \ + VECT v; \ + XY p; \ + double Az; \ + } c[3]; \ + XY p; \ + double beta_0, beta_1, beta_2; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(chamb, "Chamberlin Trimetric") "\n\tMisc Sph, no inv." +"\n\tlat_1= lon_1= lat_2= lon_2= lat_3= lon_3="; +#include <stdio.h> +#define THIRD 0.333333333333333333 +#define TOL 1e-9 + static VECT /* distance and azimuth from point 1 to point 2 */ +vect(double dphi, double c1, double s1, double c2, double s2, double dlam) { + VECT v; + double cdl, dp, dl; + + cdl = cos(dlam); + if (fabs(dphi) > 1. || fabs(dlam) > 1.) + v.r = aacos(s1 * s2 + c1 * c2 * cdl); + else { /* more accurate for smaller distances */ + dp = sin(.5 * dphi); + dl = sin(.5 * dlam); + v.r = 2. * aasin(sqrt(dp * dp + c1 * c2 * dl * dl)); + } + if (fabs(v.r) > TOL) + v.Az = atan2(c2 * sin(dlam), c1 * s2 - s1 * c2 * cdl); + else + v.r = v.Az = 0.; + return v; +} + static double /* law of cosines */ +lc(double b,double c,double a) { + return aacos(.5 * (b * b + c * c - a * a) / (b * c)); +} +FORWARD(s_forward); /* spheroid */ + double sinphi, cosphi, a; + VECT v[3]; + int i, j; + + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + for (i = 0; i < 3; ++i) { /* dist/azimiths from control */ + v[i] = vect(lp.phi - P->c[i].phi, P->c[i].cosphi, P->c[i].sinphi, + cosphi, sinphi, lp.lam - P->c[i].lam); + if ( ! v[i].r) + break; + v[i].Az = adjlon(v[i].Az - P->c[i].v.Az); + } + if (i < 3) /* current point at control point */ + xy = P->c[i].p; + else { /* point mean of intersepts */ + xy = P->p; + for (i = 0; i < 3; ++i) { + j = i == 2 ? 0 : i + 1; + a = lc(P->c[i].v.r, v[i].r, v[j].r); + if (v[i].Az < 0.) + a = -a; + if (! i) { /* coord comp unique to each arc */ + xy.x += v[i].r * cos(a); + xy.y -= v[i].r * sin(a); + } else if (i == 1) { + a = P->beta_1 - a; + xy.x -= v[i].r * cos(a); + xy.y -= v[i].r * sin(a); + } else { + a = P->beta_2 - a; + xy.x += v[i].r * cos(a); + xy.y += v[i].r * sin(a); + } + } + xy.x *= THIRD; /* mean of arc intercepts */ + xy.y *= THIRD; + } + return xy; +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(chamb) + int i, j; + char line[10]; + + for (i = 0; i < 3; ++i) { /* get control point locations */ + (void)sprintf(line, "rlat_%d", i+1); + P->c[i].phi = pj_param(P->params, line).f; + (void)sprintf(line, "rlon_%d", i+1); + P->c[i].lam = pj_param(P->params, line).f; + P->c[i].lam = adjlon(P->c[i].lam - P->lam0); + P->c[i].cosphi = cos(P->c[i].phi); + P->c[i].sinphi = sin(P->c[i].phi); + } + for (i = 0; i < 3; ++i) { /* inter ctl pt. distances and azimuths */ + j = i == 2 ? 0 : i + 1; + P->c[i].v = vect(P->c[j].phi - P->c[i].phi, P->c[i].cosphi, P->c[i].sinphi, + P->c[j].cosphi, P->c[j].sinphi, P->c[j].lam - P->c[i].lam); + if (! P->c[i].v.r) E_ERROR(-25); + /* co-linearity problem ignored for now */ + } + P->beta_0 = lc(P->c[0].v.r, P->c[2].v.r, P->c[1].v.r); + P->beta_1 = lc(P->c[0].v.r, P->c[1].v.r, P->c[2].v.r); + P->beta_2 = PI - P->beta_0; + P->p.y = 2. * (P->c[0].p.y = P->c[1].p.y = P->c[2].v.r * sin(P->beta_0)); + P->c[2].p.y = 0.; + P->c[0].p.x = - (P->c[1].p.x = 0.5 * P->c[0].v.r); + P->p.x = P->c[2].p.x = P->c[0].p.x + P->c[2].v.r * cos(P->beta_0); + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_collg.c b/src/3rdparty/proj/PJ_collg.c new file mode 100644 index 00000000..ca389a63 --- /dev/null +++ b/src/3rdparty/proj/PJ_collg.c @@ -0,0 +1,29 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(collg, "Collignon") "\n\tPCyl, Sph."; +#define FXC 1.12837916709551257390 +#define FYC 1.77245385090551602729 +#define ONEEPS 1.0000001 +FORWARD(s_forward); /* spheroid */ + if ((xy.y = 1. - sin(lp.phi)) <= 0.) + xy.y = 0.; + else + xy.y = sqrt(xy.y); + xy.x = FXC * lp.lam * xy.y; + xy.y = FYC * (1. - xy.y); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y / FYC - 1.; + if (fabs(lp.phi = 1. - lp.phi * lp.phi) < 1.) + lp.phi = asin(lp.phi); + else if (fabs(lp.phi) > ONEEPS) I_ERROR + else lp.phi = lp.phi < 0. ? -HALFPI : HALFPI; + if ((lp.lam = 1. - sin(lp.phi)) <= 0.) + lp.lam = 0.; + else + lp.lam = xy.x / (FXC * sqrt(lp.lam)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(collg) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_crast.c b/src/3rdparty/proj/PJ_crast.c new file mode 100644 index 00000000..5351a390 --- /dev/null +++ b/src/3rdparty/proj/PJ_crast.c @@ -0,0 +1,22 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(crast, "Craster Parabolic (Putnins P4)") +"\n\tPCyl., Sph."; +#define XM 0.97720502380583984317 +#define RXM 1.02332670794648848847 +#define YM 3.06998012383946546542 +#define RYM 0.32573500793527994772 +#define THIRD 0.333333333333333333 +FORWARD(s_forward); /* spheroid */ + lp.phi *= THIRD; + xy.x = XM * lp.lam * (2. * cos(lp.phi + lp.phi) - 1.); + xy.y = YM * sin(lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = 3. * asin(xy.y * RYM); + lp.lam = xy.x * RXM / (2. * cos((lp.phi + lp.phi) * THIRD) - 1); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(crast) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_denoy.c b/src/3rdparty/proj/PJ_denoy.c new file mode 100644 index 00000000..8b800318 --- /dev/null +++ b/src/3rdparty/proj/PJ_denoy.c @@ -0,0 +1,18 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(denoy, "Denoyer Semi-Elliptical") "\n\tPCyl., no inv., Sph."; +#define C0 0.95 +#define C1 -.08333333333333333333 +#define C3 .00166666666666666666 +#define D1 0.9 +#define D5 0.03 +FORWARD(s_forward); /* spheroid */ + xy.y = lp.phi; + xy.x = lp.lam; + lp.lam = fabs(lp.lam); + xy.x *= cos((C0 + lp.lam * (C1 + lp.lam * lp.lam * C3)) * + (lp.phi * (D1 + D5 * lp.phi * lp.phi * lp.phi * lp.phi))); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(denoy) P->es = 0.; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_eck1.c b/src/3rdparty/proj/PJ_eck1.c new file mode 100644 index 00000000..9b31b095 --- /dev/null +++ b/src/3rdparty/proj/PJ_eck1.c @@ -0,0 +1,19 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(eck1, "Eckert I") "\n\tPCyl., Sph."; +#define FC .92131773192356127802 +#define RP .31830988618379067154 +FORWARD(s_forward); /* spheroid */ + xy.x = FC * lp.lam * (1. - RP * fabs(lp.phi)); + xy.y = FC * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y / FC; + lp.lam = xy.x / (FC * (1. - RP * fabs(lp.phi))); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(eck1) + P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_eck2.c b/src/3rdparty/proj/PJ_eck2.c new file mode 100644 index 00000000..f8e0154e --- /dev/null +++ b/src/3rdparty/proj/PJ_eck2.c @@ -0,0 +1,28 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(eck2, "Eckert II") "\n\tPCyl. Sph."; +#define FXC 0.46065886596178063902 +#define FYC 1.44720250911653531871 +#define C13 0.33333333333333333333 +#define ONEEPS 1.0000001 +FORWARD(s_forward); /* spheroid */ + xy.x = FXC * lp.lam * (xy.y = sqrt(4. - 3. * sin(fabs(lp.phi)))); + xy.y = FYC * (2. - xy.y); + if ( lp.phi < 0.) xy.y = -xy.y; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.lam = xy.x / (FXC * ( lp.phi = 2. - fabs(xy.y) / FYC) ); + lp.phi = (4. - lp.phi * lp.phi) * C13; + if (fabs(lp.phi) >= 1.) { + if (fabs(lp.phi) > ONEEPS) I_ERROR + else + lp.phi = lp.phi < 0. ? -HALFPI : HALFPI; + } else + lp.phi = asin(lp.phi); + if (xy.y < 0) + lp.phi = -lp.phi; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(eck2); P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_eck3.c b/src/3rdparty/proj/PJ_eck3.c new file mode 100644 index 00000000..d7755f0c --- /dev/null +++ b/src/3rdparty/proj/PJ_eck3.c @@ -0,0 +1,50 @@ +#define PROJ_PARMS__ \ + double C_x, C_y, A, B; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(eck3, "Eckert III") "\n\tPCyl, Sph."; +PROJ_HEAD(putp1, "Putnins P1") "\n\tPCyl, Sph."; +PROJ_HEAD(wag6, "Wagner VI") "\n\tPCyl, Sph."; +PROJ_HEAD(kav7, "Kavraisky VII") "\n\tPCyl, Sph."; +FORWARD(s_forward); /* spheroid */ + xy.y = P->C_y * lp.phi; + xy.x = P->C_x * lp.lam * (P->A + asqrt(1. - P->B * lp.phi * lp.phi)); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y / P->C_y; + lp.lam = xy.x / (P->C_x * (P->A + asqrt(1. - P->B * lp.phi * lp.phi))); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + P->es = 0.; + P->inv = s_inverse; + P->fwd = s_forward; + return P; +} +ENTRY0(eck3) + P->C_x = .42223820031577120149; + P->C_y = .84447640063154240298; + P->A = 1.; + P->B = 0.4052847345693510857755; +ENDENTRY(setup(P)) +ENTRY0(kav7) + P->C_x = 0.2632401569273184856851; + P->C_x = 0.8660254037844; + P->C_y = 1.; + P->A = 0.; + P->B = 0.30396355092701331433; +ENDENTRY(setup(P)) +ENTRY0(wag6); + P->C_x = P->C_y = 0.94745; + P->A = 0.; + P->B = 0.30396355092701331433; +ENDENTRY(setup(P)) +ENTRY0(putp1); + P->C_x = 1.89490; + P->C_y = 0.94745; + P->A = -0.5; + P->B = 0.30396355092701331433; +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_eck4.c b/src/3rdparty/proj/PJ_eck4.c new file mode 100644 index 00000000..2b5c8101 --- /dev/null +++ b/src/3rdparty/proj/PJ_eck4.c @@ -0,0 +1,44 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(eck4, "Eckert IV") "\n\tPCyl, Sph."; +#define C_x .42223820031577120149 +#define C_y 1.32650042817700232218 +#define RC_y .75386330736002178205 +#define C_p 3.57079632679489661922 +#define RC_p .28004957675577868795 +#define EPS 1e-7 +#define NITER 6 +FORWARD(s_forward); /* spheroid */ + double p, V, s, c; + int i; + + p = C_p * sin(lp.phi); + V = lp.phi * lp.phi; + lp.phi *= 0.895168 + V * ( 0.0218849 + V * 0.00826809 ); + for (i = NITER; i ; --i) { + c = cos(lp.phi); + s = sin(lp.phi); + lp.phi -= V = (lp.phi + s * (c + 2.) - p) / + (1. + c * (c + 2.) - s * s); + if (fabs(V) < EPS) + break; + } + if (!i) { + xy.x = C_x * lp.lam; + xy.y = lp.phi < 0. ? -C_y : C_y; + } else { + xy.x = C_x * lp.lam * (1. + cos(lp.phi)); + xy.y = C_y * sin(lp.phi); + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double c; + + lp.phi = aasin(xy.y / C_y); + lp.lam = xy.x / (C_x * (1. + (c = cos(lp.phi)))); + lp.phi = aasin((lp.phi + sin(lp.phi) * (c + 2.)) / C_p); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(eck4); P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_eck5.c b/src/3rdparty/proj/PJ_eck5.c new file mode 100644 index 00000000..3eeb3326 --- /dev/null +++ b/src/3rdparty/proj/PJ_eck5.c @@ -0,0 +1,18 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(eck5, "Eckert V") "\n\tPCyl, Sph."; +#define XF 0.44101277172455148219 +#define RXF 2.26750802723822639137 +#define YF 0.88202554344910296438 +#define RYF 1.13375401361911319568 +FORWARD(s_forward); /* spheroid */ + xy.x = XF * (1. + cos(lp.phi)) * lp.lam; + xy.y = YF * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.lam = RXF * xy.x / (1. + cos( lp.phi = RYF * xy.y)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(eck5); P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_eqc.c b/src/3rdparty/proj/PJ_eqc.c new file mode 100644 index 00000000..533fb63e --- /dev/null +++ b/src/3rdparty/proj/PJ_eqc.c @@ -0,0 +1,23 @@ +#define PROJ_PARMS__ \ + double rc; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(eqc, "Equidistant Cylindrical (Plate Caree)") + "\n\tCyl, Sph\n\tlat_ts=[, lat_0=0]"; +FORWARD(s_forward); /* spheroid */ + xy.x = P->rc * lp.lam; + xy.y = lp.phi - P->phi0; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.lam = xy.x / P->rc; + lp.phi = xy.y + P->phi0; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(eqc) + if ((P->rc = cos(pj_param(P->params, "rlat_ts").f)) <= 0.) E_ERROR(-24); + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_eqdc.c b/src/3rdparty/proj/PJ_eqdc.c new file mode 100644 index 00000000..eda95b0d --- /dev/null +++ b/src/3rdparty/proj/PJ_eqdc.c @@ -0,0 +1,85 @@ +#define PROJ_PARMS__ \ + double phi1; \ + double phi2; \ + double n; \ + double rho; \ + double rho0; \ + double c; \ + double *en; \ + int ellips; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(eqdc, "Equidistant Conic") + "\n\tConic, Sph&Ell\n\tlat_1= lat_2="; +# define EPS10 1.e-10 +FORWARD(e_forward); /* sphere & ellipsoid */ + P->rho = P->c - (P->ellips ? pj_mlfn(lp.phi, sin(lp.phi), + cos(lp.phi), P->en) : lp.phi); + xy.x = P->rho * sin( lp.lam *= P->n ); + xy.y = P->rho0 - P->rho * cos(lp.lam); + return (xy); +} +INVERSE(e_inverse); /* sphere & ellipsoid */ + if ((P->rho = hypot(xy.x, xy.y = P->rho0 - xy.y)) != 0.0 ) { + if (P->n < 0.) { + P->rho = -P->rho; + xy.x = -xy.x; + xy.y = -xy.y; + } + lp.phi = P->c - P->rho; + if (P->ellips) + lp.phi = pj_inv_mlfn(lp.phi, P->es, P->en); + lp.lam = atan2(xy.x, xy.y) / P->n; + } else { + lp.lam = 0.; + lp.phi = P->n > 0. ? HALFPI : - HALFPI; + } + return (lp); +} +SPECIAL(fac) { + double sinphi, cosphi; + + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + fac->code |= IS_ANAL_HK; + fac->h = 1.; + fac->k = P->n * (P->c - (P->ellips ? pj_mlfn(lp.phi, sinphi, + cosphi, P->en) : lp.phi)) / pj_msfn(sinphi, cosphi, P->es); +} +FREEUP; if (P) { if (P->en) pj_dalloc(P->en); pj_dalloc(P); } } +ENTRY1(eqdc, en) + double cosphi, sinphi; + int secant; + + P->phi1 = pj_param(P->params, "rlat_1").f; + P->phi2 = pj_param(P->params, "rlat_2").f; + if (fabs(P->phi1 + P->phi2) < EPS10) E_ERROR(-21); + if (!(P->en = pj_enfn(P->es))) + E_ERROR_0; + P->n = sinphi = sin(P->phi1); + cosphi = cos(P->phi1); + secant = fabs(P->phi1 - P->phi2) >= EPS10; + if( (P->ellips = (P->es > 0.)) ) { + double ml1, m1; + + m1 = pj_msfn(sinphi, cosphi, P->es); + ml1 = pj_mlfn(P->phi1, sinphi, cosphi, P->en); + if (secant) { /* secant cone */ + sinphi = sin(P->phi2); + cosphi = cos(P->phi2); + P->n = (m1 - pj_msfn(sinphi, cosphi, P->es)) / + (pj_mlfn(P->phi2, sinphi, cosphi, P->en) - ml1); + } + P->c = ml1 + m1 / P->n; + P->rho0 = P->c - pj_mlfn(P->phi0, sin(P->phi0), + cos(P->phi0), P->en); + } else { + if (secant) + P->n = (cosphi - cos(P->phi2)) / (P->phi2 - P->phi1); + P->c = P->phi1 + cos(P->phi1) / P->n; + P->rho0 = P->c - P->phi0; + } + P->inv = e_inverse; + P->fwd = e_forward; + P->spc = fac; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_fahey.c b/src/3rdparty/proj/PJ_fahey.c new file mode 100644 index 00000000..93e9b38d --- /dev/null +++ b/src/3rdparty/proj/PJ_fahey.c @@ -0,0 +1,17 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(fahey, "Fahey") "\n\tPcyl, Sph."; +#define TOL 1e-6 +FORWARD(s_forward); /* spheroid */ + xy.y = 1.819152 * ( xy.x = tan(0.5 * lp.phi) ); + xy.x = 0.819152 * lp.lam * asqrt(1 - xy.x * xy.x); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = 2. * atan(xy.y /= 1.819152); + lp.lam = fabs(xy.y = 1. - xy.y * xy.y) < TOL ? 0. : + xy.x / (0.819152 * sqrt(xy.y)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(fahey) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_fouc_s.c b/src/3rdparty/proj/PJ_fouc_s.c new file mode 100644 index 00000000..dee05a96 --- /dev/null +++ b/src/3rdparty/proj/PJ_fouc_s.c @@ -0,0 +1,45 @@ +#define PROJ_PARMS__ \ + double n, n1; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(fouc_s, "Foucaut Sinusoidal") "\n\tPCyl., Sph."; +#define MAX_ITER 10 +#define LOOP_TOL 1e-7 +FORWARD(s_forward); /* spheroid */ + double t; + + t = cos(lp.phi); + xy.x = lp.lam * t / (P->n + P->n1 * t); + xy.y = P->n * lp.phi + P->n1 * sin(lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double V; + int i; + + if (P->n) { + lp.phi = xy.y; + for (i = MAX_ITER; i ; --i) { + lp.phi -= V = (P->n * lp.phi + P->n1 * sin(lp.phi) - xy.y ) / + (P->n + P->n1 * cos(lp.phi)); + if (fabs(V) < LOOP_TOL) + break; + } + if (!i) + lp.phi = xy.y < 0. ? -HALFPI : HALFPI; + } else + lp.phi = aasin(xy.y); + V = cos(lp.phi); + lp.lam = xy.x * (P->n + P->n1 * V) / V; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(fouc_s) + P->n = pj_param(P->params, "dn").f; + if (P->n < 0. || P->n > 1.) + E_ERROR(-99) + P->n1 = 1. - P->n; + P->es = 0; + P->inv = s_inverse; + P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_gall.c b/src/3rdparty/proj/PJ_gall.c new file mode 100644 index 00000000..3c507bd0 --- /dev/null +++ b/src/3rdparty/proj/PJ_gall.c @@ -0,0 +1,19 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(gall, "Gall (Gall Stereographic)") "\n\tCyl, Sph"; +#define YF 1.70710678118654752440 +#define XF 0.70710678118654752440 +#define RYF 0.58578643762690495119 +#define RXF 1.41421356237309504880 +FORWARD(s_forward); /* spheroid */ + xy.x = XF * lp.lam; + xy.y = YF * tan(.5 * lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.lam = RXF * xy.x; + lp.phi = 2. * atan(xy.y * RYF); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(gall) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_geos.c b/src/3rdparty/proj/PJ_geos.c new file mode 100644 index 00000000..db9dd7e5 --- /dev/null +++ b/src/3rdparty/proj/PJ_geos.c @@ -0,0 +1,142 @@ +/* +** libproj -- library of cartographic projections +** +** Copyright (c) 2004 Gerald I. Evenden +*/ +static const char +LIBPROJ_ID[] = "$Id: PJ_geos.c 1504 2009-01-06 02:11:57Z warmerdam $"; +/* +** See also (section 4.4.3.2): +** http://www.eumetsat.int/en/area4/msg/news/us_doc/cgms_03_26.pdf +** +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +#define PROJ_PARMS__ \ + double h; \ + double radius_p; \ + double radius_p2; \ + double radius_p_inv2; \ + double radius_g; \ + double radius_g_1; \ + double C; +#define PJ_LIB__ +#include <projects.h> + +PROJ_HEAD(geos, "Geostationary Satellite View") "\n\tAzi, Sph&Ell\n\th="; + +FORWARD(s_forward); /* spheroid */ + double Vx, Vy, Vz, tmp; + +/* Calculation of the three components of the vector from satellite to +** position on earth surface (lon,lat).*/ + tmp = cos(lp.phi); + Vx = cos (lp.lam) * tmp; + Vy = sin (lp.lam) * tmp; + Vz = sin (lp.phi); +/* Check visibility.*/ + if (((P->radius_g - Vx) * Vx - Vy * Vy - Vz * Vz) < 0.) F_ERROR; +/* Calculation based on view angles from satellite.*/ + tmp = P->radius_g - Vx; + xy.x = P->radius_g_1 * atan(Vy / tmp); + xy.y = P->radius_g_1 * atan(Vz / hypot(Vy, tmp)); + return (xy); +} +FORWARD(e_forward); /* ellipsoid */ + double r, Vx, Vy, Vz, tmp; + +/* Calculation of geocentric latitude. */ + lp.phi = atan (P->radius_p2 * tan (lp.phi)); +/* Calculation of the three components of the vector from satellite to +** position on earth surface (lon,lat).*/ + r = (P->radius_p) / hypot(P->radius_p * cos (lp.phi), sin (lp.phi)); + Vx = r * cos (lp.lam) * cos (lp.phi); + Vy = r * sin (lp.lam) * cos (lp.phi); + Vz = r * sin (lp.phi); +/* Check visibility. */ + if (((P->radius_g - Vx) * Vx - Vy * Vy - Vz * Vz * P->radius_p_inv2) < 0.) + F_ERROR; +/* Calculation based on view angles from satellite. */ + tmp = P->radius_g - Vx; + xy.x = P->radius_g_1 * atan (Vy / tmp); + xy.y = P->radius_g_1 * atan (Vz / hypot (Vy, tmp)); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double Vx, Vy, Vz, a, b, c, det, k; + +/* Setting three components of vector from satellite to position.*/ + Vx = -1.0; + Vy = tan (xy.x / (P->radius_g - 1.0)); + Vz = tan (xy.y / (P->radius_g - 1.0)) * sqrt (1.0 + Vy * Vy); +/* Calculation of terms in cubic equation and determinant.*/ + a = Vy * Vy + Vz * Vz + Vx * Vx; + b = 2 * P->radius_g * Vx; + if ((det = (b * b) - 4 * a * P->C) < 0.) I_ERROR; +/* Calculation of three components of vector from satellite to position.*/ + k = (-b - sqrt(det)) / (2 * a); + Vx = P->radius_g + k * Vx; + Vy *= k; + Vz *= k; +/* Calculation of longitude and latitude.*/ + lp.lam = atan2 (Vy, Vx); + lp.phi = atan (Vz * cos (lp.lam) / Vx); + return (lp); +} +INVERSE(e_inverse); /* ellipsoid */ + double Vx, Vy, Vz, a, b, c, det, k; + +/* Setting three components of vector from satellite to position.*/ + Vx = -1.0; + Vy = tan (xy.x / P->radius_g_1); + Vz = tan (xy.y / P->radius_g_1) * hypot(1.0, Vy); +/* Calculation of terms in cubic equation and determinant.*/ + a = Vz / P->radius_p; + a = Vy * Vy + a * a + Vx * Vx; + b = 2 * P->radius_g * Vx; + if ((det = (b * b) - 4 * a * P->C) < 0.) I_ERROR; +/* Calculation of three components of vector from satellite to position.*/ + k = (-b - sqrt(det)) / (2. * a); + Vx = P->radius_g + k * Vx; + Vy *= k; + Vz *= k; +/* Calculation of longitude and latitude.*/ + lp.lam = atan2 (Vy, Vx); + lp.phi = atan (Vz * cos (lp.lam) / Vx); + lp.phi = atan (P->radius_p_inv2 * tan (lp.phi)); + return (lp); +} +FREEUP; if (P) free(P); } +ENTRY0(geos) + if ((P->h = pj_param(P->params, "dh").f) <= 0.) E_ERROR(-30); + if (P->phi0) E_ERROR(-46); + P->radius_g = 1. + (P->radius_g_1 = P->h / P->a); + P->C = P->radius_g * P->radius_g - 1.0; + if (P->es) { + P->radius_p = sqrt (P->one_es); + P->radius_p2 = P->one_es; + P->radius_p_inv2 = P->rone_es; + P->inv = e_inverse; + P->fwd = e_forward; + } else { + P->radius_p = P->radius_p2 = P->radius_p_inv2 = 1.0; + P->inv = s_inverse; + P->fwd = s_forward; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_gins8.c b/src/3rdparty/proj/PJ_gins8.c new file mode 100644 index 00000000..0747d761 --- /dev/null +++ b/src/3rdparty/proj/PJ_gins8.c @@ -0,0 +1,17 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(gins8, "Ginsburg VIII (TsNIIGAiK)") "\n\tPCyl, Sph., no inv."; +#define Cl 0.000952426 +#define Cp 0.162388 +#define C12 0.08333333333333333 +FORWARD(s_forward); /* spheroid */ + double t = lp.phi * lp.phi; + + xy.y = lp.phi * (1. + t * C12); + xy.x = lp.lam * (1. - Cp * t); + t = lp.lam * lp.lam; + xy.x *= (0.87 - Cl * t * t); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(gins8) P->es = 0.; P->inv = 0; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_gn_sinu.c b/src/3rdparty/proj/PJ_gn_sinu.c new file mode 100644 index 00000000..3bf9854f --- /dev/null +++ b/src/3rdparty/proj/PJ_gn_sinu.c @@ -0,0 +1,100 @@ +#define PROJ_PARMS__ \ + double *en; \ + double m, n, C_x, C_y; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(gn_sinu, "General Sinusoidal Series") "\n\tPCyl, Sph.\n\tm= n="; +PROJ_HEAD(sinu, "Sinusoidal (Sanson-Flamsteed)") "\n\tPCyl, Sph&Ell"; +PROJ_HEAD(eck6, "Eckert VI") "\n\tPCyl, Sph."; +PROJ_HEAD(mbtfps, "McBryde-Thomas Flat-Polar Sinusoidal") "\n\tPCyl, Sph."; +#define EPS10 1e-10 +#define MAX_ITER 8 +#define LOOP_TOL 1e-7 +/* Ellipsoidal Sinusoidal only */ +FORWARD(e_forward); /* ellipsoid */ + double s, c; + + xy.y = pj_mlfn(lp.phi, s = sin(lp.phi), c = cos(lp.phi), P->en); + xy.x = lp.lam * c / sqrt(1. - P->es * s * s); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + double s; + + if ((s = fabs(lp.phi = pj_inv_mlfn(xy.y, P->es, P->en))) < HALFPI) { + s = sin(lp.phi); + lp.lam = xy.x * sqrt(1. - P->es * s * s) / cos(lp.phi); + } else if ((s - EPS10) < HALFPI) + lp.lam = 0.; + else I_ERROR; + return (lp); +} +/* General spherical sinusoidals */ +FORWARD(s_forward); /* sphere */ + if (!P->m) + lp.phi = P->n != 1. ? aasin(P->n * sin(lp.phi)): lp.phi; + else { + double k, V; + int i; + + k = P->n * sin(lp.phi); + for (i = MAX_ITER; i ; --i) { + lp.phi -= V = (P->m * lp.phi + sin(lp.phi) - k) / + (P->m + cos(lp.phi)); + if (fabs(V) < LOOP_TOL) + break; + } + if (!i) + F_ERROR + } + xy.x = P->C_x * lp.lam * (P->m + cos(lp.phi)); + xy.y = P->C_y * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* sphere */ + double s; + + xy.y /= P->C_y; + lp.phi = P->m ? aasin((P->m * xy.y + sin(xy.y)) / P->n) : + ( P->n != 1. ? aasin(sin(xy.y) / P->n) : xy.y ); + lp.lam = xy.x / (P->C_x * (P->m + cos(xy.y))); + return (lp); +} +FREEUP; if (P) { if (P->en) pj_dalloc(P->en); pj_dalloc(P); } } + static void /* for spheres, only */ +setup(PJ *P) { + P->es = 0; + P->C_x = (P->C_y = sqrt((P->m + 1.) / P->n))/(P->m + 1.); + P->inv = s_inverse; + P->fwd = s_forward; +} +ENTRY1(sinu, en) + if (!(P->en = pj_enfn(P->es))) + E_ERROR_0; + if (P->es) { + P->inv = e_inverse; + P->fwd = e_forward; + } else { + P->n = 1.; + P->m = 0.; + setup(P); + } +ENDENTRY(P) +ENTRY1(eck6, en) + P->m = 1.; + P->n = 2.570796326794896619231321691; + setup(P); +ENDENTRY(P) +ENTRY1(mbtfps, en) + P->m = 0.5; + P->n = 1.785398163397448309615660845; + setup(P); +ENDENTRY(P) +ENTRY1(gn_sinu, en) + if (pj_param(P->params, "tn").i && pj_param(P->params, "tm").i) { + P->n = pj_param(P->params, "dn").f; + P->m = pj_param(P->params, "dm").f; + } else + E_ERROR(-99) + setup(P); +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_gnom.c b/src/3rdparty/proj/PJ_gnom.c new file mode 100644 index 00000000..11deb86c --- /dev/null +++ b/src/3rdparty/proj/PJ_gnom.c @@ -0,0 +1,105 @@ +#define PROJ_PARMS__ \ + double sinph0; \ + double cosph0; \ + int mode; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(gnom, "Gnomonic") "\n\tAzi, Sph."; +#define EPS10 1.e-10 +#define N_POLE 0 +#define S_POLE 1 +#define EQUIT 2 +#define OBLIQ 3 +FORWARD(s_forward); /* spheroid */ + double coslam, cosphi, sinphi; + + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + switch (P->mode) { + case EQUIT: + xy.y = cosphi * coslam; + break; + case OBLIQ: + xy.y = P->sinph0 * sinphi + P->cosph0 * cosphi * coslam; + break; + case S_POLE: + xy.y = - sinphi; + break; + case N_POLE: + xy.y = sinphi; + break; + } + if (xy.y <= EPS10) F_ERROR; + xy.x = (xy.y = 1. / xy.y) * cosphi * sin(lp.lam); + switch (P->mode) { + case EQUIT: + xy.y *= sinphi; + break; + case OBLIQ: + xy.y *= P->cosph0 * sinphi - P->sinph0 * cosphi * coslam; + break; + case N_POLE: + coslam = - coslam; + case S_POLE: + xy.y *= cosphi * coslam; + break; + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double rh, cosz, sinz; + + rh = hypot(xy.x, xy.y); + sinz = sin(lp.phi = atan(rh)); + cosz = sqrt(1. - sinz * sinz); + if (fabs(rh) <= EPS10) { + lp.phi = P->phi0; + lp.lam = 0.; + } else { + switch (P->mode) { + case OBLIQ: + lp.phi = cosz * P->sinph0 + xy.y * sinz * P->cosph0 / rh; + if (fabs(lp.phi) >= 1.) + lp.phi = lp.phi > 0. ? HALFPI : - HALFPI; + else + lp.phi = asin(lp.phi); + xy.y = (cosz - P->sinph0 * sin(lp.phi)) * rh; + xy.x *= sinz * P->cosph0; + break; + case EQUIT: + lp.phi = xy.y * sinz / rh; + if (fabs(lp.phi) >= 1.) + lp.phi = lp.phi > 0. ? HALFPI : - HALFPI; + else + lp.phi = asin(lp.phi); + xy.y = cosz * rh; + xy.x *= sinz; + break; + case S_POLE: + lp.phi -= HALFPI; + break; + case N_POLE: + lp.phi = HALFPI - lp.phi; + xy.y = -xy.y; + break; + } + lp.lam = atan2(xy.x, xy.y); + } + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(gnom) + if (fabs(fabs(P->phi0) - HALFPI) < EPS10) + P->mode = P->phi0 < 0. ? S_POLE : N_POLE; + else if (fabs(P->phi0) < EPS10) + P->mode = EQUIT; + else { + P->mode = OBLIQ; + P->sinph0 = sin(P->phi0); + P->cosph0 = cos(P->phi0); + } + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_goode.c b/src/3rdparty/proj/PJ_goode.c new file mode 100644 index 00000000..ed8ded8b --- /dev/null +++ b/src/3rdparty/proj/PJ_goode.c @@ -0,0 +1,46 @@ +#define PROJ_PARMS__ \ + struct PJconsts *sinu; \ + struct PJconsts *moll; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(goode, "Goode Homolosine") "\n\tPCyl, Sph."; + C_NAMESPACE PJ +*pj_sinu(PJ *), *pj_moll(PJ *); +#define Y_COR 0.05280 +#define PHI_LIM .71093078197902358062 +FORWARD(s_forward); /* spheroid */ + if (fabs(lp.phi) <= PHI_LIM) + xy = P->sinu->fwd(lp, P->sinu); + else { + xy = P->moll->fwd(lp, P->moll); + xy.y -= lp.phi >= 0.0 ? Y_COR : -Y_COR; + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + if (fabs(xy.y) <= PHI_LIM) + lp = P->sinu->inv(xy, P->sinu); + else { + xy.y += xy.y >= 0.0 ? Y_COR : -Y_COR; + lp = P->moll->inv(xy, P->moll); + } + return (lp); +} +FREEUP; + if (P) { + if (P->sinu) + (*(P->sinu->pfree))(P->sinu); + if (P->moll) + (*(P->moll->pfree))(P->moll); + pj_dalloc(P); + } +} +ENTRY2(goode, sinu, moll) + P->es = 0.; + if (!(P->sinu = pj_sinu(0)) || !(P->moll = pj_moll(0))) + E_ERROR_0; + if (!(P->sinu = pj_sinu(P->sinu)) || !(P->moll = pj_moll(P->moll))) + E_ERROR_0; + P->fwd = s_forward; + P->inv = s_inverse; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_gstmerc.c b/src/3rdparty/proj/PJ_gstmerc.c new file mode 100644 index 00000000..23b86ee8 --- /dev/null +++ b/src/3rdparty/proj/PJ_gstmerc.c @@ -0,0 +1,48 @@ +#define PROJ_PARMS__ \ + double lamc;\ + double phic;\ + double c;\ + double n1;\ + double n2;\ + double XS;\ + double YS; + +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(gstmerc, "Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)") + "\n\tCyl, Sph&Ell\n\tlat_0= lon_0= k_0="; +FORWARD(s_forward); /* spheroid */ + double L, Ls, sinLs1, Ls1; + L= P->n1*lp.lam; + Ls= P->c+P->n1*log(pj_tsfn(-1.0*lp.phi,-1.0*sin(lp.phi),P->e)); + sinLs1= sin(L)/cosh(Ls); + Ls1= log(pj_tsfn(-1.0*asin(sinLs1),0.0,0.0)); + xy.x= (P->XS + P->n2*Ls1)*P->ra; + xy.y= (P->YS + P->n2*atan(sinh(Ls)/cos(L)))*P->ra; + /*fprintf(stderr,"fwd:\nL =%16.13f\nLs =%16.13f\nLs1 =%16.13f\nLP(%16.13f,%16.13f)=XY(%16.4f,%16.4f)\n",L,Ls,Ls1,lp.lam+P->lam0,lp.phi,(xy.x*P->a + P->x0)*P->to_meter,(xy.y*P->a + P->y0)*P->to_meter);*/ + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double L, LC, sinC; + L= atan(sinh((xy.x*P->a - P->XS)/P->n2)/cos((xy.y*P->a - P->YS)/P->n2)); + sinC= sin((xy.y*P->a - P->YS)/P->n2)/cosh((xy.x*P->a - P->XS)/P->n2); + LC= log(pj_tsfn(-1.0*asin(sinC),0.0,0.0)); + lp.lam= L/P->n1; + lp.phi= -1.0*pj_phi2(exp((LC-P->c)/P->n1),P->e); + /*fprintf(stderr,"inv:\nL =%16.13f\nsinC =%16.13f\nLC =%16.13f\nXY(%16.4f,%16.4f)=LP(%16.13f,%16.13f)\n",L,sinC,LC,((xy.x/P->ra)+P->x0)/P->to_meter,((xy.y/P->ra)+P->y0)/P->to_meter,lp.lam+P->lam0,lp.phi);*/ + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(gstmerc) + P->lamc= P->lam0; + P->n1= sqrt(1.0+P->es*pow(cos(P->phi0),4.0)/(1.0-P->es)); + P->phic= asin(sin(P->phi0)/P->n1); + P->c= log(pj_tsfn(-1.0*P->phic,0.0,0.0)) + -P->n1*log(pj_tsfn(-1.0*P->phi0,-1.0*sin(P->phi0),P->e)); + P->n2= P->k0*P->a*sqrt(1.0-P->es)/(1.0-P->es*sin(P->phi0)*sin(P->phi0)); + P->XS= 0;/* -P->x0 */ + P->YS= -1.0*P->n2*P->phic;/* -P->y0 */ + P->inv= s_inverse; + P->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", P->a, P->e, P->lam0, P->phi0, P->k0, P->x0, P->y0, P->lamc, P->phic, P->c, P->n1, P->n2, P->XS +P->x0, P->YS + P->y0);*/ +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_hammer.c b/src/3rdparty/proj/PJ_hammer.c new file mode 100644 index 00000000..a2ba02aa --- /dev/null +++ b/src/3rdparty/proj/PJ_hammer.c @@ -0,0 +1,29 @@ +#define PROJ_PARMS__ \ + double w; \ + double m, rm; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(hammer, "Hammer & Eckert-Greifendorff") + "\n\tMisc Sph, no inv.\n\tW= M="; +FORWARD(s_forward); /* spheroid */ + double cosphi, d; + + d = sqrt(2./(1. + (cosphi = cos(lp.phi)) * cos(lp.lam *= P->w))); + xy.x = P->m * d * cosphi * sin(lp.lam); + xy.y = P->rm * d * sin(lp.phi); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(hammer) + if (pj_param(P->params, "tW").i) { + if ((P->w = fabs(pj_param(P->params, "dW").f)) <= 0.) E_ERROR(-27); + } else + P->w = .5; + if (pj_param(P->params, "tM").i) { + if ((P->m = fabs(pj_param(P->params, "dM").f)) <= 0.) E_ERROR(-27); + } else + P->m = 1.; + P->rm = 1. / P->m; + P->m /= P->w; + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_hatano.c b/src/3rdparty/proj/PJ_hatano.c new file mode 100644 index 00000000..8e0ff5ce --- /dev/null +++ b/src/3rdparty/proj/PJ_hatano.c @@ -0,0 +1,50 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(hatano, "Hatano Asymmetrical Equal Area") "\n\tPCyl, Sph."; +#define NITER 20 +#define EPS 1e-7 +#define ONETOL 1.000001 +#define CN 2.67595 +#define CS 2.43763 +#define RCN 0.37369906014686373063 +#define RCS 0.41023453108141924738 +#define FYCN 1.75859 +#define FYCS 1.93052 +#define RYCN 0.56863737426006061674 +#define RYCS 0.51799515156538134803 +#define FXC 0.85 +#define RXC 1.17647058823529411764 +FORWARD(s_forward); /* spheroid */ + double th1, c; + int i; + + c = sin(lp.phi) * (lp.phi < 0. ? CS : CN); + for (i = NITER; i; --i) { + lp.phi -= th1 = (lp.phi + sin(lp.phi) - c) / (1. + cos(lp.phi)); + if (fabs(th1) < EPS) break; + } + xy.x = FXC * lp.lam * cos(lp.phi *= .5); + xy.y = sin(lp.phi) * (lp.phi < 0. ? FYCS : FYCN); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double th; + + th = xy.y * ( xy.y < 0. ? RYCS : RYCN); + if (fabs(th) > 1.) + if (fabs(th) > ONETOL) I_ERROR + else th = th > 0. ? HALFPI : - HALFPI; + else + th = asin(th); + lp.lam = RXC * xy.x / cos(th); + th += th; + lp.phi = (th + sin(th)) * (xy.y < 0. ? RCS : RCN); + if (fabs(lp.phi) > 1.) + if (fabs(lp.phi) > ONETOL) I_ERROR + else lp.phi = lp.phi > 0. ? HALFPI : - HALFPI; + else + lp.phi = asin(lp.phi); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(hatano) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_imw_p.c b/src/3rdparty/proj/PJ_imw_p.c new file mode 100644 index 00000000..135b3dab --- /dev/null +++ b/src/3rdparty/proj/PJ_imw_p.c @@ -0,0 +1,151 @@ +#define PROJ_PARMS__ \ + double P, Pp, Q, Qp, R_1, R_2, sphi_1, sphi_2, C2; \ + double phi_1, phi_2, lam_1; \ + double *en; \ + int mode; /* = 0, phi_1 and phi_2 != 0, = 1, phi_1 = 0, = -1 phi_2 = 0 */ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(imw_p, "International Map of the World Polyconic") + "\n\tMod. Polyconic, Ell\n\tlat_1= and lat_2= [lon_1=]"; +#define TOL 1e-10 +#define EPS 1e-10 + static int +phi12(PJ *P, double *del, double *sig) { + int err = 0; + + if (!pj_param(P->params, "tlat_1").i || + !pj_param(P->params, "tlat_2").i) { + err = -41; + } else { + P->phi_1 = pj_param(P->params, "rlat_1").f; + P->phi_2 = pj_param(P->params, "rlat_2").f; + *del = 0.5 * (P->phi_2 - P->phi_1); + *sig = 0.5 * (P->phi_2 + P->phi_1); + err = (fabs(*del) < EPS || fabs(*sig) < EPS) ? -42 : 0; + } + return err; +} + static XY +loc_for(LP lp, PJ *P, double *yc) { + XY xy; + + if (! lp.phi) { + xy.x = lp.lam; + xy.y = 0.; + } else { + double xa, ya, xb, yb, xc, D, B, m, sp, t, R, C; + + sp = sin(lp.phi); + m = pj_mlfn(lp.phi, sp, cos(lp.phi), P->en); + xa = P->Pp + P->Qp * m; + ya = P->P + P->Q * m; + R = 1. / (tan(lp.phi) * sqrt(1. - P->es * sp * sp)); + C = sqrt(R * R - xa * xa); + if (lp.phi < 0.) C = - C; + C += ya - R; + if (P->mode < 0) { + xb = lp.lam; + yb = P->C2; + } else { + t = lp.lam * P->sphi_2; + xb = P->R_2 * sin(t); + yb = P->C2 + P->R_2 * (1. - cos(t)); + } + if (P->mode > 0) { + xc = lp.lam; + *yc = 0.; + } else { + t = lp.lam * P->sphi_1; + xc = P->R_1 * sin(t); + *yc = P->R_1 * (1. - cos(t)); + } + D = (xb - xc)/(yb - *yc); + B = xc + D * (C + R - *yc); + xy.x = D * sqrt(R * R * (1 + D * D) - B * B); + if (lp.phi > 0) + xy.x = - xy.x; + xy.x = (B + xy.x) / (1. + D * D); + xy.y = sqrt(R * R - xy.x * xy.x); + if (lp.phi > 0) + xy.y = - xy.y; + xy.y += C + R; + } + return (xy); +} +FORWARD(e_forward); /* ellipsoid */ + double yc; + xy = loc_for(lp, P, &yc); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + XY t; + double yc; + + lp.phi = P->phi_2; + lp.lam = xy.x / cos(lp.phi); + do { + t = loc_for(lp, P, &yc); + lp.phi = ((lp.phi - P->phi_1) * (xy.y - yc) / (t.y - yc)) + P->phi_1; + lp.lam = lp.lam * xy.x / t.x; + } while (fabs(t.x - xy.x) > TOL || fabs(t.y - xy.y) > TOL); + return (lp); +} + static void +xy(PJ *P, double phi, double *x, double *y, double *sp, double *R) { + double F; + + *sp = sin(phi); + *R = 1./(tan(phi) * sqrt(1. - P->es * *sp * *sp )); + F = P->lam_1 * *sp; + *y = *R * (1 - cos(F)); + *x = *R * sin(F); +} +FREEUP; if (P) { if (P->en) pj_dalloc(P->en); pj_dalloc(P); } } +ENTRY1(imw_p, en) + double del, sig, s, t, x1, x2, T2, y1, m1, m2, y2; + int i; + + if (!(P->en = pj_enfn(P->es))) E_ERROR_0; + if( (i = phi12(P, &del, &sig)) != 0) + E_ERROR(i); + if (P->phi_2 < P->phi_1) { /* make sure P->phi_1 most southerly */ + del = P->phi_1; + P->phi_1 = P->phi_2; + P->phi_2 = del; + } + if (pj_param(P->params, "tlon_1").i) + P->lam_1 = pj_param(P->params, "rlon_1").f; + else { /* use predefined based upon latitude */ + sig = fabs(sig * RAD_TO_DEG); + if (sig <= 60) sig = 2.; + else if (sig <= 76) sig = 4.; + else sig = 8.; + P->lam_1 = sig * DEG_TO_RAD; + } + P->mode = 0; + if (P->phi_1) xy(P, P->phi_1, &x1, &y1, &P->sphi_1, &P->R_1); + else { + P->mode = 1; + y1 = 0.; + x1 = P->lam_1; + } + if (P->phi_2) xy(P, P->phi_2, &x2, &T2, &P->sphi_2, &P->R_2); + else { + P->mode = -1; + T2 = 0.; + x2 = P->lam_1; + } + m1 = pj_mlfn(P->phi_1, P->sphi_1, cos(P->phi_1), P->en); + m2 = pj_mlfn(P->phi_2, P->sphi_2, cos(P->phi_2), P->en); + t = m2 - m1; + s = x2 - x1; + y2 = sqrt(t * t - s * s) + y1; + P->C2 = y2 - T2; + t = 1. / t; + P->P = (m2 * y1 - m1 * y2) * t; + P->Q = (y2 - y1) * t; + P->Pp = (m2 * x1 - m1 * x2) * t; + P->Qp = (x2 - x1) * t; + P->fwd = e_forward; + P->inv = e_inverse; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_krovak.c b/src/3rdparty/proj/PJ_krovak.c new file mode 100644 index 00000000..53e50994 --- /dev/null +++ b/src/3rdparty/proj/PJ_krovak.c @@ -0,0 +1,253 @@ +/****************************************************************************** + * $Id: PJ_krovak.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Implementation of the krovak (Krovak) projection. + * Definition: http://www.ihsenergy.com/epsg/guid7.html#1.4.3 + * Author: Thomas Flemming, tf@ttqv.com + * + ****************************************************************************** + * Copyright (c) 2001, Thomas Flemming, tf@ttqv.com + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + *****************************************************************************/ + +#define PROJ_PARMS__ \ + double C_x; +#define PJ_LIB__ + +#include <projects.h> +#include <string.h> +#include <stdio.h> + +PJ_CVSID("$Id: PJ_krovak.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +PROJ_HEAD(krovak, "Krovak") "\n\tPCyl., Ellps."; + +/** + NOTES: According to EPSG the full Krovak projection method should have + the following parameters. Within PROJ.4 the azimuth, and pseudo + standard parallel are hardcoded in the algorithm and can't be + altered from outside. The others all have defaults to match the + common usage with Krovak projection. + + lat_0 = latitude of centre of the projection + + lon_0 = longitude of centre of the projection + + ** = azimuth (true) of the centre line passing through the centre of the projection + + ** = latitude of pseudo standard parallel + + k = scale factor on the pseudo standard parallel + + x_0 = False Easting of the centre of the projection at the apex of the cone + + y_0 = False Northing of the centre of the projection at the apex of the cone + + **/ + + + +FORWARD(e_forward); /* ellipsoid */ +/* calculate xy from lat/lon */ + + char errmess[255]; + char tmp[16]; + +/* Constants, identical to inverse transform function */ + double s45, s90, e2, e, alfa, uq, u0, g, k, k1, n0, ro0, ad, a, s0, n; + double gfi, u, fi0, lon17, lamdd, deltav, s, d, eps, ro; + + + s45 = 0.785398163397448; /* 45° */ + s90 = 2 * s45; + fi0 = P->phi0; /* Latitude of projection centre 49° 30' */ + + /* Ellipsoid is used as Parameter in for.c and inv.c, therefore a must + be set to 1 here. + Ellipsoid Bessel 1841 a = 6377397.155m 1/f = 299.1528128, + e2=0.006674372230614; + */ + a = 1; /* 6377397.155; */ + /* e2 = P->es;*/ /* 0.006674372230614; */ + e2 = 0.006674372230614; + e = sqrt(e2); + + alfa = sqrt(1. + (e2 * pow(cos(fi0), 4)) / (1. - e2)); + + uq = 1.04216856380474; /* DU(2, 59, 42, 42.69689) */ + u0 = asin(sin(fi0) / alfa); + g = pow( (1. + e * sin(fi0)) / (1. - e * sin(fi0)) , alfa * e / 2. ); + + k = tan( u0 / 2. + s45) / pow (tan(fi0 / 2. + s45) , alfa) * g; + + k1 = P->k0; + n0 = a * sqrt(1. - e2) / (1. - e2 * pow(sin(fi0), 2)); + s0 = 1.37008346281555; /* Latitude of pseudo standard parallel 78° 30'00" N */ + n = sin(s0); + ro0 = k1 * n0 / tan(s0); + ad = s90 - uq; + +/* Transformation */ + + gfi =pow ( ((1. + e * sin(lp.phi)) / + (1. - e * sin(lp.phi))) , (alfa * e / 2.)); + + u= 2. * (atan(k * pow( tan(lp.phi / 2. + s45), alfa) / gfi)-s45); + + deltav = - lp.lam * alfa; + + s = asin(cos(ad) * sin(u) + sin(ad) * cos(u) * cos(deltav)); + d = asin(cos(u) * sin(deltav) / cos(s)); + eps = n * d; + ro = ro0 * pow(tan(s0 / 2. + s45) , n) / pow(tan(s / 2. + s45) , n) ; + + /* x and y are reverted! */ + xy.y = ro * cos(eps) / a; + xy.x = ro * sin(eps) / a; + + if( !pj_param(P -> params, "tczech").i ) + { + xy.y *= -1.0; + xy.x *= -1.0; + } + + return (xy); +} + + + +INVERSE(e_inverse); /* ellipsoid */ + /* calculate lat/lon from xy */ + +/* Constants, identisch wie in der Umkehrfunktion */ + double s45, s90, fi0, e2, e, alfa, uq, u0, g, k, k1, n0, ro0, ad, a, s0, n; + double u, l24, lamdd, deltav, s, d, eps, ro, fi1, xy0, lon17; + int ok; + + s45 = 0.785398163397448; /* 45° */ + s90 = 2 * s45; + fi0 = P->phi0; /* Latitude of projection centre 49° 30' */ + + + /* Ellipsoid is used as Parameter in for.c and inv.c, therefore a must + be set to 1 here. + Ellipsoid Bessel 1841 a = 6377397.155m 1/f = 299.1528128, + e2=0.006674372230614; + */ + a = 1; /* 6377397.155; */ + /* e2 = P->es; */ /* 0.006674372230614; */ + e2 = 0.006674372230614; + e = sqrt(e2); + + alfa = sqrt(1. + (e2 * pow(cos(fi0), 4)) / (1. - e2)); + uq = 1.04216856380474; /* DU(2, 59, 42, 42.69689) */ + u0 = asin(sin(fi0) / alfa); + g = pow( (1. + e * sin(fi0)) / (1. - e * sin(fi0)) , alfa * e / 2. ); + + k = tan( u0 / 2. + s45) / pow (tan(fi0 / 2. + s45) , alfa) * g; + + k1 = P->k0; + n0 = a * sqrt(1. - e2) / (1. - e2 * pow(sin(fi0), 2)); + s0 = 1.37008346281555; /* Latitude of pseudo standard parallel 78° 30'00" N */ + n = sin(s0); + ro0 = k1 * n0 / tan(s0); + ad = s90 - uq; + + +/* Transformation */ + /* revert y, x*/ + xy0=xy.x; + xy.x=xy.y; + xy.y=xy0; + + if( !pj_param(P -> params, "tczech").i ) + { + xy.x *= -1.0; + xy.y *= -1.0; + } + + ro = sqrt(xy.x * xy.x + xy.y * xy.y); + eps = atan2(xy.y, xy.x); + d = eps / sin(s0); + s = 2. * (atan( pow(ro0 / ro, 1. / n) * tan(s0 / 2. + s45)) - s45); + + u = asin(cos(ad) * sin(s) - sin(ad) * cos(s) * cos(d)); + deltav = asin(cos(s) * sin(d) / cos(u)); + + lp.lam = P->lam0 - deltav / alfa; + +/* ITERATION FOR lp.phi */ + fi1 = u; + + ok = 0; + do + { + lp.phi = 2. * ( atan( pow( k, -1. / alfa) * + pow( tan(u / 2. + s45) , 1. / alfa) * + pow( (1. + e * sin(fi1)) / (1. - e * sin(fi1)) , e / 2.) + ) - s45); + + if (fabs(fi1 - lp.phi) < 0.000000000000001) ok=1; + fi1 = lp.phi; + + } + while (ok==0); + + lp.lam -= P->lam0; + + return (lp); +} + +FREEUP; if (P) pj_dalloc(P); } + +ENTRY0(krovak) + double ts; + /* read some Parameters, + * here Latitude Truescale */ + + ts = pj_param(P->params, "rlat_ts").f; + P->C_x = ts; + + /* we want Bessel as fixed ellipsoid */ + P->a = 6377397.155; + P->e = sqrt(P->es = 0.006674372230614); + + /* if latitude of projection center is not set, use 49d30'N */ + if (!pj_param(P->params, "tlat_0").i) + P->phi0 = 0.863937979737193; + + /* if center long is not set use 42d30'E of Ferro - 17d40' for Ferro */ + /* that will correspond to using longitudes relative to greenwich */ + /* as input and output, instead of lat/long relative to Ferro */ + if (!pj_param(P->params, "tlon_0").i) + P->lam0 = 0.7417649320975901 - 0.308341501185665; + + /* if scale not set default to 0.9999 */ + if (!pj_param(P->params, "tk").i) + P->k0 = 0.9999; + + /* always the same */ + P->inv = e_inverse; + P->fwd = e_forward; + +ENDENTRY(P) + diff --git a/src/3rdparty/proj/PJ_labrd.c b/src/3rdparty/proj/PJ_labrd.c new file mode 100644 index 00000000..70cd2f42 --- /dev/null +++ b/src/3rdparty/proj/PJ_labrd.c @@ -0,0 +1,109 @@ +#define PROJ_PARMS__ \ + double Az, kRg, p0s, A, C, Ca, Cb, Cc, Cd; \ + int rot; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(labrd, "Laborde") "\n\tCyl, Sph\n\tSpecial for Madagascar"; +#define EPS 1.e-10 +FORWARD(e_forward); + double V1, V2, ps, sinps, cosps, sinps2, cosps2, I1, I2, I3, I4, I5, I6, + x2, y2, t; + + V1 = P->A * log( tan(FORTPI + .5 * lp.phi) ); + t = P->e * sin(lp.phi); + V2 = .5 * P->e * P->A * log ((1. + t)/(1. - t)); + ps = 2. * (atan(exp(V1 - V2 + P->C)) - FORTPI); + I1 = ps - P->p0s; + cosps = cos(ps); cosps2 = cosps * cosps; + sinps = sin(ps); sinps2 = sinps * sinps; + I4 = P->A * cosps; + I2 = .5 * P->A * I4 * sinps; + I3 = I2 * P->A * P->A * (5. * cosps2 - sinps2) / 12.; + I6 = I4 * P->A * P->A; + I5 = I6 * (cosps2 - sinps2) / 6.; + I6 *= P->A * P->A * + (5. * cosps2 * cosps2 + sinps2 * (sinps2 - 18. * cosps2)) / 120.; + t = lp.lam * lp.lam; + xy.x = P->kRg * lp.lam * (I4 + t * (I5 + t * I6)); + xy.y = P->kRg * (I1 + t * (I2 + t * I3)); + x2 = xy.x * xy.x; + y2 = xy.y * xy.y; + V1 = 3. * xy.x * y2 - xy.x * x2; + V2 = xy.y * y2 - 3. * x2 * xy.y; + xy.x += P->Ca * V1 + P->Cb * V2; + xy.y += P->Ca * V2 - P->Cb * V1; + return (xy); +} +INVERSE(e_inverse); /* ellipsoid & spheroid */ + double x2, y2, V1, V2, V3, V4, t, t2, ps, pe, tpe, s, + I7, I8, I9, I10, I11, d, Re; + int i; + + x2 = xy.x * xy.x; + y2 = xy.y * xy.y; + V1 = 3. * xy.x * y2 - xy.x * x2; + V2 = xy.y * y2 - 3. * x2 * xy.y; + V3 = xy.x * (5. * y2 * y2 + x2 * (-10. * y2 + x2 )); + V4 = xy.y * (5. * x2 * x2 + y2 * (-10. * x2 + y2 )); + xy.x += - P->Ca * V1 - P->Cb * V2 + P->Cc * V3 + P->Cd * V4; + xy.y += P->Cb * V1 - P->Ca * V2 - P->Cd * V3 + P->Cc * V4; + ps = P->p0s + xy.y / P->kRg; + pe = ps + P->phi0 - P->p0s; + for ( i = 20; i; --i) { + V1 = P->A * log(tan(FORTPI + .5 * pe)); + tpe = P->e * sin(pe); + V2 = .5 * P->e * P->A * log((1. + tpe)/(1. - tpe)); + t = ps - 2. * (atan(exp(V1 - V2 + P->C)) - FORTPI); + pe += t; + if (fabs(t) < EPS) + break; + } +/* + if (!i) { + } else { + } +*/ + t = P->e * sin(pe); + t = 1. - t * t; + Re = P->one_es / ( t * sqrt(t) ); + t = tan(ps); + t2 = t * t; + s = P->kRg * P->kRg; + d = Re * P->k0 * P->kRg; + I7 = t / (2. * d); + I8 = t * (5. + 3. * t2) / (24. * d * s); + d = cos(ps) * P->kRg * P->A; + I9 = 1. / d; + d *= s; + I10 = (1. + 2. * t2) / (6. * d); + I11 = (5. + t2 * (28. + 24. * t2)) / (120. * d * s); + x2 = xy.x * xy.x; + lp.phi = pe + x2 * (-I7 + I8 * x2); + lp.lam = xy.x * (I9 + x2 * (-I10 + x2 * I11)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(labrd) + double Az, sinp, R, N, t; + + P->rot = pj_param(P->params, "bno_rot").i == 0; + Az = pj_param(P->params, "razi").f; + sinp = sin(P->phi0); + t = 1. - P->es * sinp * sinp; + N = 1. / sqrt(t); + R = P->one_es * N / t; + P->kRg = P->k0 * sqrt( N * R ); + P->p0s = atan( sqrt(R / N) * tan(P->phi0) ); + P->A = sinp / sin(P->p0s); + t = P->e * sinp; + P->C = .5 * P->e * P->A * log((1. + t)/(1. - t)) + + - P->A * log( tan(FORTPI + .5 * P->phi0)) + + log( tan(FORTPI + .5 * P->p0s)); + t = Az + Az; + P->Ca = (1. - cos(t)) * ( P->Cb = 1. / (12. * P->kRg * P->kRg) ); + P->Cb *= sin(t); + P->Cc = 3. * (P->Ca * P->Ca - P->Cb * P->Cb); + P->Cd = 6. * P->Ca * P->Cb; + P->inv = e_inverse; + P->fwd = e_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_laea.c b/src/3rdparty/proj/PJ_laea.c new file mode 100644 index 00000000..d32bb0be --- /dev/null +++ b/src/3rdparty/proj/PJ_laea.c @@ -0,0 +1,233 @@ +#define PROJ_PARMS__ \ + double sinb1; \ + double cosb1; \ + double xmf; \ + double ymf; \ + double mmf; \ + double qp; \ + double dd; \ + double rq; \ + double *apa; \ + int mode; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(laea, "Lambert Azimuthal Equal Area") "\n\tAzi, Sph&Ell"; +#define sinph0 P->sinb1 +#define cosph0 P->cosb1 +#define EPS10 1.e-10 +#define NITER 20 +#define CONV 1.e-10 +#define N_POLE 0 +#define S_POLE 1 +#define EQUIT 2 +#define OBLIQ 3 +FORWARD(e_forward); /* ellipsoid */ + double coslam, sinlam, sinphi, q, sinb=0.0, cosb=0.0, b=0.0; + + coslam = cos(lp.lam); + sinlam = sin(lp.lam); + sinphi = sin(lp.phi); + q = pj_qsfn(sinphi, P->e, P->one_es); + if (P->mode == OBLIQ || P->mode == EQUIT) { + sinb = q / P->qp; + cosb = sqrt(1. - sinb * sinb); + } + switch (P->mode) { + case OBLIQ: + b = 1. + P->sinb1 * sinb + P->cosb1 * cosb * coslam; + break; + case EQUIT: + b = 1. + cosb * coslam; + break; + case N_POLE: + b = HALFPI + lp.phi; + q = P->qp - q; + break; + case S_POLE: + b = lp.phi - HALFPI; + q = P->qp + q; + break; + } + if (fabs(b) < EPS10) F_ERROR; + switch (P->mode) { + case OBLIQ: + xy.y = P->ymf * ( b = sqrt(2. / b) ) + * (P->cosb1 * sinb - P->sinb1 * cosb * coslam); + goto eqcon; + break; + case EQUIT: + xy.y = (b = sqrt(2. / (1. + cosb * coslam))) * sinb * P->ymf; +eqcon: + xy.x = P->xmf * b * cosb * sinlam; + break; + case N_POLE: + case S_POLE: + if (q >= 0.) { + xy.x = (b = sqrt(q)) * sinlam; + xy.y = coslam * (P->mode == S_POLE ? b : -b); + } else + xy.x = xy.y = 0.; + break; + } + return (xy); +} +FORWARD(s_forward); /* spheroid */ + double coslam, cosphi, sinphi; + + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + switch (P->mode) { + case EQUIT: + xy.y = 1. + cosphi * coslam; + goto oblcon; + case OBLIQ: + xy.y = 1. + sinph0 * sinphi + cosph0 * cosphi * coslam; +oblcon: + if (xy.y <= EPS10) F_ERROR; + xy.x = (xy.y = sqrt(2. / xy.y)) * cosphi * sin(lp.lam); + xy.y *= P->mode == EQUIT ? sinphi : + cosph0 * sinphi - sinph0 * cosphi * coslam; + break; + case N_POLE: + coslam = -coslam; + case S_POLE: + if (fabs(lp.phi + P->phi0) < EPS10) F_ERROR; + xy.y = FORTPI - lp.phi * .5; + xy.y = 2. * (P->mode == S_POLE ? cos(xy.y) : sin(xy.y)); + xy.x = xy.y * sin(lp.lam); + xy.y *= coslam; + break; + } + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + double cCe, sCe, q, rho, ab=0.0; + + switch (P->mode) { + case EQUIT: + case OBLIQ: + if ((rho = hypot(xy.x /= P->dd, xy.y *= P->dd)) < EPS10) { + lp.lam = 0.; + lp.phi = P->phi0; + return (lp); + } + cCe = cos(sCe = 2. * asin(.5 * rho / P->rq)); + xy.x *= (sCe = sin(sCe)); + if (P->mode == OBLIQ) { + q = P->qp * (ab = cCe * P->sinb1 + xy.y * sCe * P->cosb1 / rho); + xy.y = rho * P->cosb1 * cCe - xy.y * P->sinb1 * sCe; + } else { + q = P->qp * (ab = xy.y * sCe / rho); + xy.y = rho * cCe; + } + break; + case N_POLE: + xy.y = -xy.y; + case S_POLE: + if (!(q = (xy.x * xy.x + xy.y * xy.y)) ) { + lp.lam = 0.; + lp.phi = P->phi0; + return (lp); + } + /* + q = P->qp - q; + */ + ab = 1. - q / P->qp; + if (P->mode == S_POLE) + ab = - ab; + break; + } + lp.lam = atan2(xy.x, xy.y); + lp.phi = pj_authlat(asin(ab), P->apa); + return (lp); +} +INVERSE(s_inverse); /* spheroid */ + double cosz=0.0, rh, sinz=0.0; + + rh = hypot(xy.x, xy.y); + if ((lp.phi = rh * .5 ) > 1.) I_ERROR; + lp.phi = 2. * asin(lp.phi); + if (P->mode == OBLIQ || P->mode == EQUIT) { + sinz = sin(lp.phi); + cosz = cos(lp.phi); + } + switch (P->mode) { + case EQUIT: + lp.phi = fabs(rh) <= EPS10 ? 0. : asin(xy.y * sinz / rh); + xy.x *= sinz; + xy.y = cosz * rh; + break; + case OBLIQ: + lp.phi = fabs(rh) <= EPS10 ? P->phi0 : + asin(cosz * sinph0 + xy.y * sinz * cosph0 / rh); + xy.x *= sinz * cosph0; + xy.y = (cosz - sin(lp.phi) * sinph0) * rh; + break; + case N_POLE: + xy.y = -xy.y; + lp.phi = HALFPI - lp.phi; + break; + case S_POLE: + lp.phi -= HALFPI; + break; + } + lp.lam = (xy.y == 0. && (P->mode == EQUIT || P->mode == OBLIQ)) ? + 0. : atan2(xy.x, xy.y); + return (lp); +} +FREEUP; + if (P) { + if (P->apa) + pj_dalloc(P->apa); + pj_dalloc(P); + } +} +ENTRY1(laea,apa) + double t; + + if (fabs((t = fabs(P->phi0)) - HALFPI) < EPS10) + P->mode = P->phi0 < 0. ? S_POLE : N_POLE; + else if (fabs(t) < EPS10) + P->mode = EQUIT; + else + P->mode = OBLIQ; + if (P->es) { + double sinphi; + + P->e = sqrt(P->es); + P->qp = pj_qsfn(1., P->e, P->one_es); + P->mmf = .5 / (1. - P->es); + P->apa = pj_authset(P->es); + switch (P->mode) { + case N_POLE: + case S_POLE: + P->dd = 1.; + break; + case EQUIT: + P->dd = 1. / (P->rq = sqrt(.5 * P->qp)); + P->xmf = 1.; + P->ymf = .5 * P->qp; + break; + case OBLIQ: + P->rq = sqrt(.5 * P->qp); + sinphi = sin(P->phi0); + P->sinb1 = pj_qsfn(sinphi, P->e, P->one_es) / P->qp; + P->cosb1 = sqrt(1. - P->sinb1 * P->sinb1); + P->dd = cos(P->phi0) / (sqrt(1. - P->es * sinphi * sinphi) * + P->rq * P->cosb1); + P->ymf = (P->xmf = P->rq) / P->dd; + P->xmf *= P->dd; + break; + } + P->inv = e_inverse; + P->fwd = e_forward; + } else { + if (P->mode == OBLIQ) { + sinph0 = sin(P->phi0); + cosph0 = cos(P->phi0); + } + P->inv = s_inverse; + P->fwd = s_forward; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_lagrng.c b/src/3rdparty/proj/PJ_lagrng.c new file mode 100644 index 00000000..d0e123a9 --- /dev/null +++ b/src/3rdparty/proj/PJ_lagrng.c @@ -0,0 +1,35 @@ +#define PROJ_PARMS__ \ + double hrw; \ + double rw; \ + double a1; +#define TOL 1e-10 +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(lagrng, "Lagrange") "\n\tMisc Sph, no inv.\n\tW="; +FORWARD(s_forward); /* spheroid */ + double v, c; + + if (fabs(fabs(lp.phi) - HALFPI) < TOL) { + xy.x = 0; + xy.y = lp.phi < 0 ? -2. : 2.; + } else { + lp.phi = sin(lp.phi); + v = P->a1 * pow((1. + lp.phi)/(1. - lp.phi), P->hrw); + if ((c = 0.5 * (v + 1./v) + cos(lp.lam *= P->rw)) < TOL) + F_ERROR; + xy.x = 2. * sin(lp.lam) / c; + xy.y = (v - 1./v) / c; + } + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(lagrng) + double phi1; + + if ((P->rw = pj_param(P->params, "dW").f) <= 0) E_ERROR(-27); + P->hrw = 0.5 * (P->rw = 1. / P->rw); + phi1 = pj_param(P->params, "rlat_1").f; + if (fabs(fabs(phi1 = sin(phi1)) - 1.) < TOL) E_ERROR(-22); + P->a1 = pow((1. - phi1)/(1. + phi1), P->hrw); + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_larr.c b/src/3rdparty/proj/PJ_larr.c new file mode 100644 index 00000000..5bab2b09 --- /dev/null +++ b/src/3rdparty/proj/PJ_larr.c @@ -0,0 +1,12 @@ +#define PROJ_PARMS__ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(larr, "Larrivee") "\n\tMisc Sph, no inv."; +#define SIXTH .16666666666666666 +FORWARD(s_forward); /* sphere */ + xy.x = 0.5 * lp.lam * (1. + sqrt(cos(lp.phi))); + xy.y = lp.phi / (cos(0.5 * lp.phi) * cos(SIXTH * lp.lam)); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(larr) P->fwd = s_forward; P->inv = 0; P->es = 0.; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_lask.c b/src/3rdparty/proj/PJ_lask.c new file mode 100644 index 00000000..05e80a19 --- /dev/null +++ b/src/3rdparty/proj/PJ_lask.c @@ -0,0 +1,26 @@ +#define PROJ_PARMS__ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(lask, "Laskowski") "\n\tMisc Sph, no inv."; +#define a10 0.975534 +#define a12 -0.119161 +#define a32 -0.0143059 +#define a14 -0.0547009 +#define b01 1.00384 +#define b21 0.0802894 +#define b03 0.0998909 +#define b41 0.000199025 +#define b23 -0.0285500 +#define b05 -0.0491032 +FORWARD(s_forward); /* sphere */ + double l2, p2; + + l2 = lp.lam * lp.lam; + p2 = lp.phi * lp.phi; + xy.x = lp.lam * (a10 + p2 * (a12 + l2 * a32 + p2 * a14)); + xy.y = lp.phi * (b01 + l2 * (b21 + p2 * b23 + l2 * b41) + + p2 * (b03 + p2 * b05)); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(lask) P->fwd = s_forward; P->inv = 0; P->es = 0.; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_lcc.c b/src/3rdparty/proj/PJ_lcc.c new file mode 100644 index 00000000..80a85d0b --- /dev/null +++ b/src/3rdparty/proj/PJ_lcc.c @@ -0,0 +1,105 @@ +#define PROJ_PARMS__ \ + double phi1; \ + double phi2; \ + double n; \ + double rho0; \ + double c; \ + int ellips; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(lcc, "Lambert Conformal Conic") + "\n\tConic, Sph&Ell\n\tlat_1= and lat_2= or lat_0"; +# define EPS10 1.e-10 +FORWARD(e_forward); /* ellipsoid & spheroid */ + double rho; + if (fabs(fabs(lp.phi) - HALFPI) < EPS10) { + if ((lp.phi * P->n) <= 0.) F_ERROR; + rho = 0.; + } + else + rho = P->c * (P->ellips ? pow(pj_tsfn(lp.phi, sin(lp.phi), + P->e), P->n) : pow(tan(FORTPI + .5 * lp.phi), -P->n)); + xy.x = P->k0 * (rho * sin( lp.lam *= P->n ) ); + xy.y = P->k0 * (P->rho0 - rho * cos(lp.lam) ); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid & spheroid */ + double rho; + xy.x /= P->k0; + xy.y /= P->k0; + if( (rho = hypot(xy.x, xy.y = P->rho0 - xy.y)) != 0.0) { + if (P->n < 0.) { + rho = -rho; + xy.x = -xy.x; + xy.y = -xy.y; + } + if (P->ellips) { + if ((lp.phi = pj_phi2(pow(rho / P->c, 1./P->n), P->e)) + == HUGE_VAL) + I_ERROR; + } else + lp.phi = 2. * atan(pow(P->c / rho, 1./P->n)) - HALFPI; + lp.lam = atan2(xy.x, xy.y) / P->n; + } else { + lp.lam = 0.; + lp.phi = P->n > 0. ? HALFPI : - HALFPI; + } + return (lp); +} +SPECIAL(fac) { + double rho; + if (fabs(fabs(lp.phi) - HALFPI) < EPS10) { + if ((lp.phi * P->n) <= 0.) return; + rho = 0.; + } else + rho = P->c * (P->ellips ? pow(pj_tsfn(lp.phi, sin(lp.phi), + P->e), P->n) : pow(tan(FORTPI + .5 * lp.phi), -P->n)); + fac->code |= IS_ANAL_HK + IS_ANAL_CONV; + fac->k = fac->h = P->k0 * P->n * rho / + pj_msfn(sin(lp.phi), cos(lp.phi), P->es); + fac->conv = - P->n * lp.lam; +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(lcc) + double cosphi, sinphi; + int secant; + + P->phi1 = pj_param(P->params, "rlat_1").f; + if (pj_param(P->params, "tlat_2").i) + P->phi2 = pj_param(P->params, "rlat_2").f; + else { + P->phi2 = P->phi1; + if (!pj_param(P->params, "tlat_0").i) + P->phi0 = P->phi1; + } + if (fabs(P->phi1 + P->phi2) < EPS10) E_ERROR(-21); + P->n = sinphi = sin(P->phi1); + cosphi = cos(P->phi1); + secant = fabs(P->phi1 - P->phi2) >= EPS10; + if( (P->ellips = (P->es != 0.)) ) { + double ml1, m1; + + P->e = sqrt(P->es); + m1 = pj_msfn(sinphi, cosphi, P->es); + ml1 = pj_tsfn(P->phi1, sinphi, P->e); + if (secant) { /* secant cone */ + P->n = log(m1 / + pj_msfn(sinphi = sin(P->phi2), cos(P->phi2), P->es)); + P->n /= log(ml1 / pj_tsfn(P->phi2, sinphi, P->e)); + } + P->c = (P->rho0 = m1 * pow(ml1, -P->n) / P->n); + P->rho0 *= (fabs(fabs(P->phi0) - HALFPI) < EPS10) ? 0. : + pow(pj_tsfn(P->phi0, sin(P->phi0), P->e), P->n); + } else { + if (secant) + P->n = log(cosphi / cos(P->phi2)) / + log(tan(FORTPI + .5 * P->phi2) / + tan(FORTPI + .5 * P->phi1)); + P->c = cosphi * pow(tan(FORTPI + .5 * P->phi1), P->n) / P->n; + P->rho0 = (fabs(fabs(P->phi0) - HALFPI) < EPS10) ? 0. : + P->c * pow(tan(FORTPI + .5 * P->phi0), -P->n); + } + P->inv = e_inverse; + P->fwd = e_forward; + P->spc = fac; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_lcca.c b/src/3rdparty/proj/PJ_lcca.c new file mode 100644 index 00000000..2bb101ad --- /dev/null +++ b/src/3rdparty/proj/PJ_lcca.c @@ -0,0 +1,72 @@ +static const char RCS_ID[] = "$Id: PJ_lcca.c 1504 2009-01-06 02:11:57Z warmerdam $"; +/* PROJ.4 Cartographic Projection System +*/ +#define MAX_ITER 10 +#define DEL_TOL 1e-12 +#define PROJ_PARMS__ \ + double *en; \ + double r0, l, M0; \ + double C; +#define PJ_LIB__ +#include <projects.h> + +PROJ_HEAD(lcca, "Lambert Conformal Conic Alternative") + "\n\tConic, Sph&Ell\n\tlat_0="; + + static double /* func to compute dr */ +fS(double S, double C) { + return(S * ( 1. + S * S * C)); +} + static double /* deriv of fs */ +fSp(double S, double C) { + return(1. + 3.* S * S * C); +} +FORWARD(e_forward); /* ellipsoid */ + double S, S3, r, dr; + + S = pj_mlfn(lp.phi, sin(lp.phi), cos(lp.phi), P->en) - P->M0; + dr = fS(S, P->C); + r = P->r0 - dr; + xy.x = P->k0 * (r * sin( lp.lam *= P->l ) ); + xy.y = P->k0 * (P->r0 - r * cos(lp.lam) ); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid & spheroid */ + double theta, dr, S, dif; + int i; + + xy.x /= P->k0; + xy.y /= P->k0; + theta = atan2(xy.x , P->r0 - xy.y); + dr = xy.y - xy.x * tan(0.5 * theta); + lp.lam = theta / P->l; + S = dr; + for (i = MAX_ITER; i ; --i) { + S -= (dif = (fS(S, P->C) - dr) / fSp(S, P->C)); + if (fabs(dif) < DEL_TOL) break; + } + if (!i) I_ERROR + lp.phi = pj_inv_mlfn(S + P->M0, P->es, P->en); + return (lp); +} +FREEUP; if (P) { if (P->en) pj_dalloc(P->en); pj_dalloc(P); } } +ENTRY0(lcca) + double s2p0, N0, R0, tan0, tan20; + + if (!(P->en = pj_enfn(P->es))) E_ERROR_0; + if (!pj_param(P->params, "tlat_0").i) E_ERROR(50); + if (P->phi0 == 0.) E_ERROR(51); + P->l = sin(P->phi0); + P->M0 = pj_mlfn(P->phi0, P->l, cos(P->phi0), P->en); + s2p0 = P->l * P->l; + R0 = 1. / (1. - P->es * s2p0); + N0 = sqrt(R0); + R0 *= P->one_es * N0; + tan0 = tan(P->phi0); + tan20 = tan0 * tan0; + P->r0 = N0 / tan0; + P->C = 1. / (6. * R0 * N0); + P->inv = e_inverse; + P->fwd = e_forward; +ENDENTRY(P) + diff --git a/src/3rdparty/proj/PJ_loxim.c b/src/3rdparty/proj/PJ_loxim.c new file mode 100644 index 00000000..80c15318 --- /dev/null +++ b/src/3rdparty/proj/PJ_loxim.c @@ -0,0 +1,41 @@ +#define PROJ_PARMS__ \ + double phi1; \ + double cosphi1; \ + double tanphi1; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(loxim, "Loximuthal") "\n\tPCyl Sph"; +#define EPS 1e-8 +FORWARD(s_forward); /* spheroid */ + xy.y = lp.phi - P->phi1; + if (fabs(xy.y) < EPS) + xy.x = lp.lam * P->cosphi1; + else { + xy.x = FORTPI + 0.5 * lp.phi; + if (fabs(xy.x) < EPS || fabs(fabs(xy.x) - HALFPI) < EPS) + xy.x = 0.; + else + xy.x = lp.lam * xy.y / log( tan(xy.x) / P->tanphi1 ); + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y + P->phi1; + if (fabs(xy.y) < EPS) + lp.lam = xy.x / P->cosphi1; + else + if (fabs( lp.lam = FORTPI + 0.5 * lp.phi ) < EPS || + fabs(fabs(lp.lam) - HALFPI) < EPS) + lp.lam = 0.; + else + lp.lam = xy.x * log( tan(lp.lam) / P->tanphi1 ) / xy.y ; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(loxim); + P->phi1 = pj_param(P->params, "rlat_1").f; + if ((P->cosphi1 = cos(P->phi1)) < EPS) E_ERROR(-22); + P->tanphi1 = tan(FORTPI + 0.5 * P->phi1); + P->inv = s_inverse; P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_lsat.c b/src/3rdparty/proj/PJ_lsat.c new file mode 100644 index 00000000..e8edb542 --- /dev/null +++ b/src/3rdparty/proj/PJ_lsat.c @@ -0,0 +1,171 @@ +/* based upon Snyder and Linck, USGS-NMD */ +#define PROJ_PARMS__ \ + double a2, a4, b, c1, c3; \ + double q, t, u, w, p22, sa, ca, xj, rlm, rlm2; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(lsat, "Space oblique for LANDSAT") + "\n\tCyl, Sph&Ell\n\tlsat= path="; +#define TOL 1e-7 +#define PI_HALFPI 4.71238898038468985766 +#define TWOPI_HALFPI 7.85398163397448309610 + static void +seraz0(double lam, double mult, PJ *P) { + double sdsq, h, s, fc, sd, sq, d__1; + + lam *= DEG_TO_RAD; + sd = sin(lam); + sdsq = sd * sd; + s = P->p22 * P->sa * cos(lam) * sqrt((1. + P->t * sdsq) / (( + 1. + P->w * sdsq) * (1. + P->q * sdsq))); + d__1 = 1. + P->q * sdsq; + h = sqrt((1. + P->q * sdsq) / (1. + P->w * sdsq)) * ((1. + + P->w * sdsq) / (d__1 * d__1) - P->p22 * P->ca); + sq = sqrt(P->xj * P->xj + s * s); + P->b += fc = mult * (h * P->xj - s * s) / sq; + P->a2 += fc * cos(lam + lam); + P->a4 += fc * cos(lam * 4.); + fc = mult * s * (h + P->xj) / sq; + P->c1 += fc * cos(lam); + P->c3 += fc * cos(lam * 3.); +} +FORWARD(e_forward); /* ellipsoid */ + int l, nn; + double lamt, xlam, sdsq, c, d, s, lamdp, phidp, lampp, tanph, + lamtp, cl, sd, sp, fac, sav, tanphi; + + if (lp.phi > HALFPI) + lp.phi = HALFPI; + else if (lp.phi < -HALFPI) + lp.phi = -HALFPI; + lampp = lp.phi >= 0. ? HALFPI : PI_HALFPI; + tanphi = tan(lp.phi); + for (nn = 0;;) { + sav = lampp; + lamtp = lp.lam + P->p22 * lampp; + cl = cos(lamtp); + if (fabs(cl) < TOL) + lamtp -= TOL; + fac = lampp - sin(lampp) * (cl < 0. ? -HALFPI : HALFPI); + for (l = 50; l; --l) { + lamt = lp.lam + P->p22 * sav; + if (fabs(c = cos(lamt)) < TOL) + lamt -= TOL; + xlam = (P->one_es * tanphi * P->sa + sin(lamt) * P->ca) / c; + lamdp = atan(xlam) + fac; + if (fabs(fabs(sav) - fabs(lamdp)) < TOL) + break; + sav = lamdp; + } + if (!l || ++nn >= 3 || (lamdp > P->rlm && lamdp < P->rlm2)) + break; + if (lamdp <= P->rlm) + lampp = TWOPI_HALFPI; + else if (lamdp >= P->rlm2) + lampp = HALFPI; + } + if (l) { + sp = sin(lp.phi); + phidp = aasin((P->one_es * P->ca * sp - P->sa * cos(lp.phi) * + sin(lamt)) / sqrt(1. - P->es * sp * sp)); + tanph = log(tan(FORTPI + .5 * phidp)); + sd = sin(lamdp); + sdsq = sd * sd; + s = P->p22 * P->sa * cos(lamdp) * sqrt((1. + P->t * sdsq) + / ((1. + P->w * sdsq) * (1. + P->q * sdsq))); + d = sqrt(P->xj * P->xj + s * s); + xy.x = P->b * lamdp + P->a2 * sin(2. * lamdp) + P->a4 * + sin(lamdp * 4.) - tanph * s / d; + xy.y = P->c1 * sd + P->c3 * sin(lamdp * 3.) + tanph * P->xj / d; + } else + xy.x = xy.y = HUGE_VAL; + return xy; +} +INVERSE(e_inverse); /* ellipsoid */ + int nn; + double lamt, sdsq, s, lamdp, phidp, sppsq, dd, sd, sl, fac, scl, sav, spp; + + lamdp = xy.x / P->b; + nn = 50; + do { + sav = lamdp; + sd = sin(lamdp); + sdsq = sd * sd; + s = P->p22 * P->sa * cos(lamdp) * sqrt((1. + P->t * sdsq) + / ((1. + P->w * sdsq) * (1. + P->q * sdsq))); + lamdp = xy.x + xy.y * s / P->xj - P->a2 * sin( + 2. * lamdp) - P->a4 * sin(lamdp * 4.) - s / P->xj * ( + P->c1 * sin(lamdp) + P->c3 * sin(lamdp * 3.)); + lamdp /= P->b; + } while (fabs(lamdp - sav) >= TOL && --nn); + sl = sin(lamdp); + fac = exp(sqrt(1. + s * s / P->xj / P->xj) * (xy.y - + P->c1 * sl - P->c3 * sin(lamdp * 3.))); + phidp = 2. * (atan(fac) - FORTPI); + dd = sl * sl; + if (fabs(cos(lamdp)) < TOL) + lamdp -= TOL; + spp = sin(phidp); + sppsq = spp * spp; + lamt = atan(((1. - sppsq * P->rone_es) * tan(lamdp) * + P->ca - spp * P->sa * sqrt((1. + P->q * dd) * ( + 1. - sppsq) - sppsq * P->u) / cos(lamdp)) / (1. - sppsq + * (1. + P->u))); + sl = lamt >= 0. ? 1. : -1.; + scl = cos(lamdp) >= 0. ? 1. : -1; + lamt -= HALFPI * (1. - scl) * sl; + lp.lam = lamt - P->p22 * lamdp; + if (fabs(P->sa) < TOL) + lp.phi = aasin(spp / sqrt(P->one_es * P->one_es + P->es * sppsq)); + else + lp.phi = atan((tan(lamdp) * cos(lamt) - P->ca * sin(lamt)) / + (P->one_es * P->sa)); + return lp; +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(lsat) + int land, path; + double lam, alf, esc, ess; + + land = pj_param(P->params, "ilsat").i; + if (land <= 0 || land > 5) E_ERROR(-28); + path = pj_param(P->params, "ipath").i; + if (path <= 0 || path > (land <= 3 ? 251 : 233)) E_ERROR(-29); + if (land <= 3) { + P->lam0 = DEG_TO_RAD * 128.87 - TWOPI / 251. * path; + P->p22 = 103.2669323; + alf = DEG_TO_RAD * 99.092; + } else { + P->lam0 = DEG_TO_RAD * 129.3 - TWOPI / 233. * path; + P->p22 = 98.8841202; + alf = DEG_TO_RAD * 98.2; + } + P->p22 /= 1440.; + P->sa = sin(alf); + P->ca = cos(alf); + if (fabs(P->ca) < 1e-9) + P->ca = 1e-9; + esc = P->es * P->ca * P->ca; + ess = P->es * P->sa * P->sa; + P->w = (1. - esc) * P->rone_es; + P->w = P->w * P->w - 1.; + P->q = ess * P->rone_es; + P->t = ess * (2. - P->es) * P->rone_es * P->rone_es; + P->u = esc * P->rone_es; + P->xj = P->one_es * P->one_es * P->one_es; + P->rlm = PI * (1. / 248. + .5161290322580645); + P->rlm2 = P->rlm + TWOPI; + P->a2 = P->a4 = P->b = P->c1 = P->c3 = 0.; + seraz0(0., 1., P); + for (lam = 9.; lam <= 81.0001; lam += 18.) + seraz0(lam, 4., P); + for (lam = 18; lam <= 72.0001; lam += 18.) + seraz0(lam, 2., P); + seraz0(90., 1., P); + P->a2 /= 30.; + P->a4 /= 60.; + P->b /= 30.; + P->c1 /= 15.; + P->c3 /= 45.; + P->inv = e_inverse; P->fwd = e_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_mbt_fps.c b/src/3rdparty/proj/PJ_mbt_fps.c new file mode 100644 index 00000000..63e02ca3 --- /dev/null +++ b/src/3rdparty/proj/PJ_mbt_fps.c @@ -0,0 +1,38 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(mbt_fps, "McBryde-Thomas Flat-Pole Sine (No. 2)") "\n\tCyl., Sph."; +#define MAX_ITER 10 +#define LOOP_TOL 1e-7 +#define C1 0.45503 +#define C2 1.36509 +#define C3 1.41546 +#define C_x 0.22248 +#define C_y 1.44492 +#define C1_2 0.33333333333333333333333333 +FORWARD(s_forward); /* spheroid */ + double k, V, t; + int i; + + k = C3 * sin(lp.phi); + for (i = MAX_ITER; i ; --i) { + t = lp.phi / C2; + lp.phi -= V = (C1 * sin(t) + sin(lp.phi) - k) / + (C1_2 * cos(t) + cos(lp.phi)); + if (fabs(V) < LOOP_TOL) + break; + } + t = lp.phi / C2; + xy.x = C_x * lp.lam * (1. + 3. * cos(lp.phi)/cos(t) ); + xy.y = C_y * sin(t); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double t, s; + + lp.phi = C2 * (t = aasin(xy.y / C_y)); + lp.lam = xy.x / (C_x * (1. + 3. * cos(lp.phi)/cos(t))); + lp.phi = aasin((C1 * sin(t) + sin(lp.phi)) / C3); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(mbt_fps) P->es = 0; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_mbtfpp.c b/src/3rdparty/proj/PJ_mbtfpp.c new file mode 100644 index 00000000..9549a23a --- /dev/null +++ b/src/3rdparty/proj/PJ_mbtfpp.c @@ -0,0 +1,32 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(mbtfpp, "McBride-Thomas Flat-Polar Parabolic") "\n\tCyl., Sph."; +#define CS .95257934441568037152 +#define FXC .92582009977255146156 +#define FYC 3.40168025708304504493 +#define C23 .66666666666666666666 +#define C13 .33333333333333333333 +#define ONEEPS 1.0000001 +FORWARD(s_forward); /* spheroid */ + lp.phi = asin(CS * sin(lp.phi)); + xy.x = FXC * lp.lam * (2. * cos(C23 * lp.phi) - 1.); + xy.y = FYC * sin(C13 * lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y / FYC; + if (fabs(lp.phi) >= 1.) { + if (fabs(lp.phi) > ONEEPS) I_ERROR + else lp.phi = (lp.phi < 0.) ? -HALFPI : HALFPI; + } else + lp.phi = asin(lp.phi); + lp.lam = xy.x / ( FXC * (2. * cos(C23 * (lp.phi *= 3.)) - 1.) ); + if (fabs(lp.phi = sin(lp.phi) / CS) >= 1.) { + if (fabs(lp.phi) > ONEEPS) I_ERROR + else lp.phi = (lp.phi < 0.) ? -HALFPI : HALFPI; + } else + lp.phi = asin(lp.phi); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(mbtfpp) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_mbtfpq.c b/src/3rdparty/proj/PJ_mbtfpq.c new file mode 100644 index 00000000..3298db4f --- /dev/null +++ b/src/3rdparty/proj/PJ_mbtfpq.c @@ -0,0 +1,47 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(mbtfpq, "McBryde-Thomas Flat-Polar Quartic") "\n\tCyl., Sph."; +#define NITER 20 +#define EPS 1e-7 +#define ONETOL 1.000001 +#define C 1.70710678118654752440 +#define RC 0.58578643762690495119 +#define FYC 1.87475828462269495505 +#define RYC 0.53340209679417701685 +#define FXC 0.31245971410378249250 +#define RXC 3.20041258076506210122 +FORWARD(s_forward); /* spheroid */ + double th1, c; + int i; + + c = C * sin(lp.phi); + for (i = NITER; i; --i) { + lp.phi -= th1 = (sin(.5*lp.phi) + sin(lp.phi) - c) / + (.5*cos(.5*lp.phi) + cos(lp.phi)); + if (fabs(th1) < EPS) break; + } + xy.x = FXC * lp.lam * (1.0 + 2. * cos(lp.phi)/cos(0.5 * lp.phi)); + xy.y = FYC * sin(0.5 * lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double t; + + lp.phi = RYC * xy.y; + if (fabs(lp.phi) > 1.) { + if (fabs(lp.phi) > ONETOL) I_ERROR + else if (lp.phi < 0.) { t = -1.; lp.phi = -PI; } + else { t = 1.; lp.phi = PI; } + } else + lp.phi = 2. * asin(t = lp.phi); + lp.lam = RXC * xy.x / (1. + 2. * cos(lp.phi)/cos(0.5 * lp.phi)); + lp.phi = RC * (t + sin(lp.phi)); + if (fabs(lp.phi) > 1.) + if (fabs(lp.phi) > ONETOL) I_ERROR + else lp.phi = lp.phi < 0. ? -HALFPI : HALFPI; + else + lp.phi = asin(lp.phi); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(mbtfpq) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_merc.c b/src/3rdparty/proj/PJ_merc.c new file mode 100644 index 00000000..f8e0426a --- /dev/null +++ b/src/3rdparty/proj/PJ_merc.c @@ -0,0 +1,47 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(merc, "Mercator") "\n\tCyl, Sph&Ell\n\tlat_ts="; +#define EPS10 1.e-10 +FORWARD(e_forward); /* ellipsoid */ + if (fabs(fabs(lp.phi) - HALFPI) <= EPS10) F_ERROR; + xy.x = P->k0 * lp.lam; + xy.y = - P->k0 * log(pj_tsfn(lp.phi, sin(lp.phi), P->e)); + return (xy); +} +FORWARD(s_forward); /* spheroid */ + if (fabs(fabs(lp.phi) - HALFPI) <= EPS10) F_ERROR; + xy.x = P->k0 * lp.lam; + xy.y = P->k0 * log(tan(FORTPI + .5 * lp.phi)); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + if ((lp.phi = pj_phi2(exp(- xy.y / P->k0), P->e)) == HUGE_VAL) I_ERROR; + lp.lam = xy.x / P->k0; + return (lp); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = HALFPI - 2. * atan(exp(-xy.y / P->k0)); + lp.lam = xy.x / P->k0; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(merc) + double phits=0.0; + int is_phits; + + if( (is_phits = pj_param(P->params, "tlat_ts").i) ) { + phits = fabs(pj_param(P->params, "rlat_ts").f); + if (phits >= HALFPI) E_ERROR(-24); + } + if (P->es) { /* ellipsoid */ + if (is_phits) + P->k0 = pj_msfn(sin(phits), cos(phits), P->es); + P->inv = e_inverse; + P->fwd = e_forward; + } else { /* sphere */ + if (is_phits) + P->k0 = cos(phits); + P->inv = s_inverse; + P->fwd = s_forward; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_mill.c b/src/3rdparty/proj/PJ_mill.c new file mode 100644 index 00000000..03c35598 --- /dev/null +++ b/src/3rdparty/proj/PJ_mill.c @@ -0,0 +1,15 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(mill, "Miller Cylindrical") "\n\tCyl, Sph"; +FORWARD(s_forward); /* spheroid */ + xy.x = lp.lam; + xy.y = log(tan(FORTPI + lp.phi * .4)) * 1.25; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.lam = xy.x; + lp.phi = 2.5 * (atan(exp(.8 * xy.y)) - FORTPI); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(mill) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_mod_ster.c b/src/3rdparty/proj/PJ_mod_ster.c new file mode 100644 index 00000000..854f35e1 --- /dev/null +++ b/src/3rdparty/proj/PJ_mod_ster.c @@ -0,0 +1,211 @@ +/* based upon Snyder and Linck, USGS-NMD */ +#define PROJ_PARMS__ \ + COMPLEX *zcoeff; \ + double cchio, schio; \ + int n; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(mil_os, "Miller Oblated Stereographic") "\n\tAzi(mod)"; +PROJ_HEAD(lee_os, "Lee Oblated Stereographic") "\n\tAzi(mod)"; +PROJ_HEAD(gs48, "Mod. Stererographics of 48 U.S.") "\n\tAzi(mod)"; +PROJ_HEAD(alsk, "Mod. Stererographics of Alaska") "\n\tAzi(mod)"; +PROJ_HEAD(gs50, "Mod. Stererographics of 50 U.S.") "\n\tAzi(mod)"; +#define EPSLN 1e-10 + +FORWARD(e_forward); /* ellipsoid */ + double sinlon, coslon, esphi, chi, schi, cchi, s; + COMPLEX p; + + sinlon = sin(lp.lam); + coslon = cos(lp.lam); + esphi = P->e * sin(lp.phi); + chi = 2. * atan(tan((HALFPI + lp.phi) * .5) * + pow((1. - esphi) / (1. + esphi), P->e * .5)) - HALFPI; + schi = sin(chi); + cchi = cos(chi); + s = 2. / (1. + P->schio * schi + P->cchio * cchi * coslon); + p.r = s * cchi * sinlon; + p.i = s * (P->cchio * schi - P->schio * cchi * coslon); + p = pj_zpoly1(p, P->zcoeff, P->n); + xy.x = p.r; + xy.y = p.i; + return xy; +} +INVERSE(e_inverse); /* ellipsoid */ + int nn; + COMPLEX p, fxy, fpxy, dp; + double den, rh, z, sinz, cosz, chi, phi, dphi, esphi; + + p.r = xy.x; + p.i = xy.y; + for (nn = 20; nn ;--nn) { + fxy = pj_zpolyd1(p, P->zcoeff, P->n, &fpxy); + fxy.r -= xy.x; + fxy.i -= xy.y; + den = fpxy.r * fpxy.r + fpxy.i * fpxy.i; + dp.r = -(fxy.r * fpxy.r + fxy.i * fpxy.i) / den; + dp.i = -(fxy.i * fpxy.r - fxy.r * fpxy.i) / den; + p.r += dp.r; + p.i += dp.i; + if ((fabs(dp.r) + fabs(dp.i)) <= EPSLN) + break; + } + if (nn) { + rh = hypot(p.r, p.i); + z = 2. * atan(.5 * rh); + sinz = sin(z); + cosz = cos(z); + lp.lam = P->lam0; + if (fabs(rh) <= EPSLN) { + lp.phi = P->phi0; + return lp; + } + chi = aasin(cosz * P->schio + p.i * sinz * P->cchio / rh); + phi = chi; + for (nn = 20; nn ;--nn) { + esphi = P->e * sin(phi); + dphi = 2. * atan(tan((HALFPI + chi) * .5) * + pow((1. + esphi) / (1. - esphi), P->e * .5)) - HALFPI - phi; + phi += dphi; + if (fabs(dphi) <= EPSLN) + break; + } + } + if (nn) { + lp.phi = phi; + lp.lam = atan2(p.r * sinz, rh * P->cchio * cosz - p.i * + P->schio * sinz); + } else + lp.lam = lp.phi = HUGE_VAL; + return lp; +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { /* general initialization */ + double esphi, chio; + + if (P->es) { + esphi = P->e * sin(P->phi0); + chio = 2. * atan(tan((HALFPI + P->phi0) * .5) * + pow((1. - esphi) / (1. + esphi), P->e * .5)) - HALFPI; + } else + chio = P->phi0; + P->schio = sin(chio); + P->cchio = cos(chio); + P->inv = e_inverse; P->fwd = e_forward; + return P; +} +ENTRY0(mil_os) + static COMPLEX /* Miller Oblated Stereographic */ +AB[] = { + {0.924500, 0.}, + {0., 0.}, + {0.019430, 0.} +}; + + P->n = 2; + P->lam0 = DEG_TO_RAD * 20.; + P->phi0 = DEG_TO_RAD * 18.; + P->zcoeff = AB; + P->es = 0.; +ENDENTRY(setup(P)) +ENTRY0(lee_os) + static COMPLEX /* Lee Oblated Stereographic */ +AB[] = { + {0.721316, 0.}, + {0., 0.}, + {-0.0088162, -0.00617325} +}; + + P->n = 2; + P->lam0 = DEG_TO_RAD * -165.; + P->phi0 = DEG_TO_RAD * -10.; + P->zcoeff = AB; + P->es = 0.; +ENDENTRY(setup(P)) +ENTRY0(gs48) + static COMPLEX /* 48 United States */ +AB[] = { + {0.98879, 0.}, + {0., 0.}, + {-0.050909, 0.}, + {0., 0.}, + {0.075528, 0.} +}; + + P->n = 4; + P->lam0 = DEG_TO_RAD * -96.; + P->phi0 = DEG_TO_RAD * -39.; + P->zcoeff = AB; + P->es = 0.; + P->a = 6370997.; +ENDENTRY(setup(P)) +ENTRY0(alsk) + static COMPLEX +ABe[] = { /* Alaska ellipsoid */ + {.9945303, 0.}, + {.0052083, -.0027404}, + {.0072721, .0048181}, + {-.0151089, -.1932526}, + {.0642675, -.1381226}, + {.3582802, -.2884586}}, +ABs[] = { /* Alaska sphere */ + {.9972523, 0.}, + {.0052513, -.0041175}, + {.0074606, .0048125}, + {-.0153783, -.1968253}, + {.0636871, -.1408027}, + {.3660976, -.2937382} +}; + + P->n = 5; + P->lam0 = DEG_TO_RAD * -152.; + P->phi0 = DEG_TO_RAD * 64.; + if (P->es) { /* fixed ellipsoid/sphere */ + P->zcoeff = ABe; + P->a = 6378206.4; + P->e = sqrt(P->es = 0.00676866); + } else { + P->zcoeff = ABs; + P->a = 6370997.; + } +ENDENTRY(setup(P)) +ENTRY0(gs50) + static COMPLEX +ABe[] = { /* GS50 ellipsoid */ + {.9827497, 0.}, + {.0210669, .0053804}, + {-.1031415, -.0571664}, + {-.0323337, -.0322847}, + {.0502303, .1211983}, + {.0251805, .0895678}, + {-.0012315, -.1416121}, + {.0072202, -.1317091}, + {-.0194029, .0759677}, + {-.0210072, .0834037} +}, +ABs[] = { /* GS50 sphere */ + {.9842990, 0.}, + {.0211642, .0037608}, + {-.1036018, -.0575102}, + {-.0329095, -.0320119}, + {.0499471, .1223335}, + {.0260460, .0899805}, + {.0007388, -.1435792}, + {.0075848, -.1334108}, + {-.0216473, .0776645}, + {-.0225161, .0853673} +}; + + P->n = 9; + P->lam0 = DEG_TO_RAD * -120.; + P->phi0 = DEG_TO_RAD * 45.; + if (P->es) { /* fixed ellipsoid/sphere */ + P->zcoeff = ABe; + P->a = 6378206.4; + P->e = sqrt(P->es = 0.00676866); + } else { + P->zcoeff = ABs; + P->a = 6370997.; + } +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_moll.c b/src/3rdparty/proj/PJ_moll.c new file mode 100644 index 00000000..ce14cfbc --- /dev/null +++ b/src/3rdparty/proj/PJ_moll.c @@ -0,0 +1,62 @@ +#define PROJ_PARMS__ \ + double C_x, C_y, C_p; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(moll, "Mollweide") "\n\tPCyl., Sph."; +PROJ_HEAD(wag4, "Wagner IV") "\n\tPCyl., Sph."; +PROJ_HEAD(wag5, "Wagner V") "\n\tPCyl., Sph."; +#define MAX_ITER 10 +#define LOOP_TOL 1e-7 +FORWARD(s_forward); /* spheroid */ + double k, V; + int i; + + k = P->C_p * sin(lp.phi); + for (i = MAX_ITER; i ; --i) { + lp.phi -= V = (lp.phi + sin(lp.phi) - k) / + (1. + cos(lp.phi)); + if (fabs(V) < LOOP_TOL) + break; + } + if (!i) + lp.phi = (lp.phi < 0.) ? -HALFPI : HALFPI; + else + lp.phi *= 0.5; + xy.x = P->C_x * lp.lam * cos(lp.phi); + xy.y = P->C_y * sin(lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double th, s; + + lp.phi = aasin(xy.y / P->C_y); + lp.lam = xy.x / (P->C_x * cos(lp.phi)); + lp.phi += lp.phi; + lp.phi = aasin((lp.phi + sin(lp.phi)) / P->C_p); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P, double p) { + double r, sp, p2 = p + p; + + P->es = 0; + sp = sin(p); + r = sqrt(TWOPI * sp / (p2 + sin(p2))); + P->C_x = 2. * r / PI; + P->C_y = r / sp; + P->C_p = p2 + sin(p2); + P->inv = s_inverse; + P->fwd = s_forward; + return P; +} +ENTRY0(moll) ENDENTRY(setup(P, HALFPI)) +ENTRY0(wag4) ENDENTRY(setup(P, PI/3.)) +ENTRY0(wag5) + P->es = 0; + P->C_x = 0.90977; + P->C_y = 1.65014; + P->C_p = 3.00896; + P->inv = s_inverse; + P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_nell.c b/src/3rdparty/proj/PJ_nell.c new file mode 100644 index 00000000..5de57cbc --- /dev/null +++ b/src/3rdparty/proj/PJ_nell.c @@ -0,0 +1,31 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(nell, "Nell") "\n\tPCyl., Sph."; +#define MAX_ITER 10 +#define LOOP_TOL 1e-7 +FORWARD(s_forward); /* spheroid */ + double k, V; + int i; + + k = 2. * sin(lp.phi); + V = lp.phi * lp.phi; + lp.phi *= 1.00371 + V * (-0.0935382 + V * -0.011412); + for (i = MAX_ITER; i ; --i) { + lp.phi -= V = (lp.phi + sin(lp.phi) - k) / + (1. + cos(lp.phi)); + if (fabs(V) < LOOP_TOL) + break; + } + xy.x = 0.5 * lp.lam * (1. + cos(lp.phi)); + xy.y = lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double th, s; + + lp.lam = 2. * xy.x / (1. + cos(xy.y)); + lp.phi = aasin(0.5 * (xy.y + sin(xy.y))); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(nell) P->es = 0; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_nell_h.c b/src/3rdparty/proj/PJ_nell_h.c new file mode 100644 index 00000000..670dea88 --- /dev/null +++ b/src/3rdparty/proj/PJ_nell_h.c @@ -0,0 +1,30 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(nell_h, "Nell-Hammer") "\n\tPCyl., Sph."; +#define NITER 9 +#define EPS 1e-7 +FORWARD(s_forward); /* spheroid */ + xy.x = 0.5 * lp.lam * (1. + cos(lp.phi)); + xy.y = 2.0 * (lp.phi - tan(0.5 *lp.phi)); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double V, c, p; + int i; + + p = 0.5 * xy.y; + for (i = NITER; i ; --i) { + c = cos(0.5 * lp.phi); + lp.phi -= V = (lp.phi - tan(lp.phi/2) - p)/(1. - 0.5/(c*c)); + if (fabs(V) < EPS) + break; + } + if (!i) { + lp.phi = p < 0. ? -HALFPI : HALFPI; + lp.lam = 2. * xy.x; + } else + lp.lam = 2. * xy.x / (1. + cos(lp.phi)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(nell_h) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_nocol.c b/src/3rdparty/proj/PJ_nocol.c new file mode 100644 index 00000000..f129eb25 --- /dev/null +++ b/src/3rdparty/proj/PJ_nocol.c @@ -0,0 +1,38 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(nicol, "Nicolosi Globular") "\n\tMisc Sph, no inv."; +#define EPS 1e-10 +FORWARD(s_forward); /* spheroid */ + if (fabs(lp.lam) < EPS) { + xy.x = 0; + xy.y = lp.phi; + } else if (fabs(lp.phi) < EPS) { + xy.x = lp.lam; + xy.y = 0.; + } else if (fabs(fabs(lp.lam) - HALFPI) < EPS) { + xy.x = lp.lam * cos(lp.phi); + xy.y = HALFPI * sin(lp.phi); + } else if (fabs(fabs(lp.phi) - HALFPI) < EPS) { + xy.x = 0; + xy.y = lp.phi; + } else { + double tb, c, d, m, n, r2, sp; + + tb = HALFPI / lp.lam - lp.lam / HALFPI; + c = lp.phi / HALFPI; + d = (1 - c * c)/((sp = sin(lp.phi)) - c); + r2 = tb / d; + r2 *= r2; + m = (tb * sp / d - 0.5 * tb)/(1. + r2); + n = (sp / r2 + 0.5 * d)/(1. + 1./r2); + xy.x = cos(lp.phi); + xy.x = sqrt(m * m + xy.x * xy.x / (1. + r2)); + xy.x = HALFPI * ( m + (lp.lam < 0. ? -xy.x : xy.x)); + xy.y = sqrt(n * n - (sp * sp / r2 + d * sp - 1.) / + (1. + 1./r2)); + xy.y = HALFPI * ( n + (lp.phi < 0. ? xy.y : -xy.y )); + } + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(nicol) P->es = 0.; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_nsper.c b/src/3rdparty/proj/PJ_nsper.c new file mode 100644 index 00000000..a3ee264e --- /dev/null +++ b/src/3rdparty/proj/PJ_nsper.c @@ -0,0 +1,149 @@ +#define PROJ_PARMS__ \ + double height; \ + double sinph0; \ + double cosph0; \ + double p; \ + double rp; \ + double pn1; \ + double pfact; \ + double h; \ + double cg; \ + double sg; \ + double sw; \ + double cw; \ + int mode; \ + int tilt; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(nsper, "Near-sided perspective") "\n\tAzi, Sph\n\th="; +PROJ_HEAD(tpers, "Tilted perspective") "\n\tAzi, Sph\n\ttilt= azi= h="; +# define EPS10 1.e-10 +# define N_POLE 0 +# define S_POLE 1 +# define EQUIT 2 +# define OBLIQ 3 +FORWARD(s_forward); /* spheroid */ + double coslam, cosphi, sinphi; + + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + switch (P->mode) { + case OBLIQ: + xy.y = P->sinph0 * sinphi + P->cosph0 * cosphi * coslam; + break; + case EQUIT: + xy.y = cosphi * coslam; + break; + case S_POLE: + xy.y = - sinphi; + break; + case N_POLE: + xy.y = sinphi; + break; + } + if (xy.y < P->rp) F_ERROR; + xy.y = P->pn1 / (P->p - xy.y); + xy.x = xy.y * cosphi * sin(lp.lam); + switch (P->mode) { + case OBLIQ: + xy.y *= (P->cosph0 * sinphi - + P->sinph0 * cosphi * coslam); + break; + case EQUIT: + xy.y *= sinphi; + break; + case N_POLE: + coslam = - coslam; + case S_POLE: + xy.y *= cosphi * coslam; + break; + } + if (P->tilt) { + double yt, ba; + + yt = xy.y * P->cg + xy.x * P->sg; + ba = 1. / (yt * P->sw * P->h + P->cw); + xy.x = (xy.x * P->cg - xy.y * P->sg) * P->cw * ba; + xy.y = yt * ba; + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double rh, cosz, sinz; + + if (P->tilt) { + double bm, bq, yt; + + yt = 1./(P->pn1 - xy.y * P->sw); + bm = P->pn1 * xy.x * yt; + bq = P->pn1 * xy.y * P->cw * yt; + xy.x = bm * P->cg + bq * P->sg; + xy.y = bq * P->cg - bm * P->sg; + } + rh = hypot(xy.x, xy.y); + if ((sinz = 1. - rh * rh * P->pfact) < 0.) I_ERROR; + sinz = (P->p - sqrt(sinz)) / (P->pn1 / rh + rh / P->pn1); + cosz = sqrt(1. - sinz * sinz); + if (fabs(rh) <= EPS10) { + lp.lam = 0.; + lp.phi = P->phi0; + } else { + switch (P->mode) { + case OBLIQ: + lp.phi = asin(cosz * P->sinph0 + xy.y * sinz * P->cosph0 / rh); + xy.y = (cosz - P->sinph0 * sin(lp.phi)) * rh; + xy.x *= sinz * P->cosph0; + break; + case EQUIT: + lp.phi = asin(xy.y * sinz / rh); + xy.y = cosz * rh; + xy.x *= sinz; + break; + case N_POLE: + lp.phi = asin(cosz); + xy.y = -xy.y; + break; + case S_POLE: + lp.phi = - asin(cosz); + break; + } + lp.lam = atan2(xy.x, xy.y); + } + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + if ((P->height = pj_param(P->params, "dh").f) <= 0.) E_ERROR(-30); + if (fabs(fabs(P->phi0) - HALFPI) < EPS10) + P->mode = P->phi0 < 0. ? S_POLE : N_POLE; + else if (fabs(P->phi0) < EPS10) + P->mode = EQUIT; + else { + P->mode = OBLIQ; + P->sinph0 = sin(P->phi0); + P->cosph0 = cos(P->phi0); + } + P->pn1 = P->height / P->a; /* normalize by radius */ + P->p = 1. + P->pn1; + P->rp = 1. / P->p; + P->h = 1. / P->pn1; + P->pfact = (P->p + 1.) * P->h; + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0.; + return P; +} +ENTRY0(nsper) + P->tilt = 0; +ENDENTRY(setup(P)) +ENTRY0(tpers) + double omega, gamma; + + omega = pj_param(P->params, "dtilt").f * DEG_TO_RAD; + gamma = pj_param(P->params, "dazi").f * DEG_TO_RAD; + P->tilt = 1; + P->cg = cos(gamma); P->sg = sin(gamma); + P->cw = cos(omega); P->sw = sin(omega); +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_nzmg.c b/src/3rdparty/proj/PJ_nzmg.c new file mode 100644 index 00000000..5a285411 --- /dev/null +++ b/src/3rdparty/proj/PJ_nzmg.c @@ -0,0 +1,107 @@ +/****************************************************************************** + * $Id: PJ_nzmg.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Implementation of the nzmg (New Zealand Map Grid) projection. + * Very loosely based upon DMA code by Bradford W. Drew + * Author: Gerald Evenden + * + ****************************************************************************** + * Copyright (c) 1995, Gerald Evenden + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ +#include <projects.h> + +PJ_CVSID("$Id: PJ_nzmg.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +PROJ_HEAD(nzmg, "New Zealand Map Grid") "\n\tfixed Earth"; + +#define EPSLN 1e-10 +#define SEC5_TO_RAD 0.4848136811095359935899141023 +#define RAD_TO_SEC5 2.062648062470963551564733573 + static COMPLEX +bf[] = { + {.7557853228, 0.0}, + {.249204646, .003371507}, + {-.001541739, .041058560}, + {-.10162907, .01727609}, + {-.26623489, -.36249218}, + {-.6870983, -1.1651967} }; + static double +tphi[] = { 1.5627014243, .5185406398, -.03333098, -.1052906, -.0368594, + .007317, .01220, .00394, -.0013 }, +tpsi[] = { .6399175073, -.1358797613, .063294409, -.02526853, .0117879, + -.0055161, .0026906, -.001333, .00067, -.00034 }; +#define Nbf 5 +#define Ntpsi 9 +#define Ntphi 8 +FORWARD(e_forward); /* ellipsoid */ + COMPLEX p; + double *C; + int i; + + lp.phi = (lp.phi - P->phi0) * RAD_TO_SEC5; + for (p.r = *(C = tpsi + (i = Ntpsi)); i ; --i) + p.r = *--C + lp.phi * p.r; + p.r *= lp.phi; + p.i = lp.lam; + p = pj_zpoly1(p, bf, Nbf); + xy.x = p.i; + xy.y = p.r; + return xy; +} +INVERSE(e_inverse); /* ellipsoid */ + int nn, i; + COMPLEX p, f, fp, dp; + double den, *C; + + p.r = xy.y; + p.i = xy.x; + for (nn = 20; nn ;--nn) { + f = pj_zpolyd1(p, bf, Nbf, &fp); + f.r -= xy.y; + f.i -= xy.x; + den = fp.r * fp.r + fp.i * fp.i; + p.r += dp.r = -(f.r * fp.r + f.i * fp.i) / den; + p.i += dp.i = -(f.i * fp.r - f.r * fp.i) / den; + if ((fabs(dp.r) + fabs(dp.i)) <= EPSLN) + break; + } + if (nn) { + lp.lam = p.i; + for (lp.phi = *(C = tphi + (i = Ntphi)); i ; --i) + lp.phi = *--C + p.r * lp.phi; + lp.phi = P->phi0 + p.r * lp.phi * SEC5_TO_RAD; + } else + lp.lam = lp.phi = HUGE_VAL; + return lp; +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(nzmg) + /* force to International major axis */ + P->ra = 1. / (P->a = 6378388.0); + P->lam0 = DEG_TO_RAD * 173.; + P->phi0 = DEG_TO_RAD * -41.; + P->x0 = 2510000.; + P->y0 = 6023150.; + P->inv = e_inverse; P->fwd = e_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_ob_tran.c b/src/3rdparty/proj/PJ_ob_tran.c new file mode 100644 index 00000000..460a600f --- /dev/null +++ b/src/3rdparty/proj/PJ_ob_tran.c @@ -0,0 +1,144 @@ +#define PROJ_PARMS__ \ + struct PJconsts *link; \ + double lamp; \ + double cphip, sphip; +#define PJ_LIB__ +#include <projects.h> +#include <string.h> +PROJ_HEAD(ob_tran, "General Oblique Transformation") "\n\tMisc Sph" +"\n\to_proj= plus parameters for projection" +"\n\to_lat_p= o_lon_p= (new pole) or" +"\n\to_alpha= o_lon_c= o_lat_c= or" +"\n\to_lon_1= o_lat_1= o_lon_2= o_lat_2="; +#define TOL 1e-10 +FORWARD(o_forward); /* spheroid */ + double coslam, sinphi, cosphi; + + (void) xy; + + coslam = cos(lp.lam); + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + lp.lam = adjlon(aatan2(cosphi * sin(lp.lam), P->sphip * cosphi * coslam + + P->cphip * sinphi) + P->lamp); + lp.phi = aasin(P->sphip * sinphi - P->cphip * cosphi * coslam); + return (P->link->fwd(lp, P->link)); +} +FORWARD(t_forward); /* spheroid */ + double cosphi, coslam; + + (void) xy; + + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + lp.lam = adjlon(aatan2(cosphi * sin(lp.lam), sin(lp.phi)) + P->lamp); + lp.phi = aasin(- cosphi * coslam); + return (P->link->fwd(lp, P->link)); +} +INVERSE(o_inverse); /* spheroid */ + double coslam, sinphi, cosphi; + + lp = P->link->inv(xy, P->link); + if (lp.lam != HUGE_VAL) { + coslam = cos(lp.lam -= P->lamp); + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + lp.phi = aasin(P->sphip * sinphi + P->cphip * cosphi * coslam); + lp.lam = aatan2(cosphi * sin(lp.lam), P->sphip * cosphi * coslam - + P->cphip * sinphi); + } + return (lp); +} +INVERSE(t_inverse); /* spheroid */ + double cosphi, t; + + lp = P->link->inv(xy, P->link); + if (lp.lam != HUGE_VAL) { + cosphi = cos(lp.phi); + t = lp.lam - P->lamp; + lp.lam = aatan2(cosphi * sin(t), - sin(lp.phi)); + lp.phi = aasin(cosphi * cos(t)); + } + return (lp); +} +FREEUP; + if (P) { + if (P->link) + (*(P->link->pfree))(P->link); + pj_dalloc(P); + } +} +ENTRY1(ob_tran, link) + int i; + double phip; + char *name, *s; + + /* get name of projection to be translated */ + if (!(name = pj_param(P->params, "so_proj").s)) E_ERROR(-26); + for (i = 0; (s = pj_list[i].id) && strcmp(name, s) ; ++i) ; + if (!s || !(P->link = (*pj_list[i].proj)(0))) E_ERROR(-37); + /* copy existing header into new */ + P->es = 0.; /* force to spherical */ + P->link->params = P->params; + P->link->over = P->over; + P->link->geoc = P->geoc; + P->link->a = P->a; + P->link->es = P->es; + P->link->ra = P->ra; + P->link->lam0 = P->lam0; + P->link->phi0 = P->phi0; + P->link->x0 = P->x0; + P->link->y0 = P->y0; + P->link->k0 = P->k0; + /* force spherical earth */ + P->link->one_es = P->link->rone_es = 1.; + P->link->es = P->link->e = 0.; + if (!(P->link = pj_list[i].proj(P->link))) { + freeup(P); + return 0; + } + if (pj_param(P->params, "to_alpha").i) { + double lamc, phic, alpha; + + lamc = pj_param(P->params, "ro_lon_c").f; + phic = pj_param(P->params, "ro_lat_c").f; + alpha = pj_param(P->params, "ro_alpha").f; +/* + if (fabs(phic) <= TOL || + fabs(fabs(phic) - HALFPI) <= TOL || + fabs(fabs(alpha) - HALFPI) <= TOL) +*/ + if (fabs(fabs(phic) - HALFPI) <= TOL) + E_ERROR(-32); + P->lamp = lamc + aatan2(-cos(alpha), -sin(alpha) * sin(phic)); + phip = aasin(cos(phic) * sin(alpha)); + } else if (pj_param(P->params, "to_lat_p").i) { /* specified new pole */ + P->lamp = pj_param(P->params, "ro_lon_p").f; + phip = pj_param(P->params, "ro_lat_p").f; + } else { /* specified new "equator" points */ + double lam1, lam2, phi1, phi2, con; + + lam1 = pj_param(P->params, "ro_lon_1").f; + phi1 = pj_param(P->params, "ro_lat_1").f; + lam2 = pj_param(P->params, "ro_lon_2").f; + phi2 = pj_param(P->params, "ro_lat_2").f; + if (fabs(phi1 - phi2) <= TOL || + (con = fabs(phi1)) <= TOL || + fabs(con - HALFPI) <= TOL || + fabs(fabs(phi2) - HALFPI) <= TOL) E_ERROR(-33); + P->lamp = atan2(cos(phi1) * sin(phi2) * cos(lam1) - + sin(phi1) * cos(phi2) * cos(lam2), + sin(phi1) * cos(phi2) * sin(lam2) - + cos(phi1) * sin(phi2) * sin(lam1)); + phip = atan(-cos(P->lamp - lam1) / tan(phi1)); + } + if (fabs(phip) > TOL) { /* oblique */ + P->cphip = cos(phip); + P->sphip = sin(phip); + P->fwd = o_forward; + P->inv = P->link->inv ? o_inverse : 0; + } else { /* transverse */ + P->fwd = t_forward; + P->inv = P->link->inv ? t_inverse : 0; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_ocea.c b/src/3rdparty/proj/PJ_ocea.c new file mode 100644 index 00000000..cdffd6e4 --- /dev/null +++ b/src/3rdparty/proj/PJ_ocea.c @@ -0,0 +1,68 @@ +#define PROJ_PARMS__ \ + double rok; \ + double rtk; \ + double sinphi; \ + double cosphi; \ + double singam; \ + double cosgam; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(ocea, "Oblique Cylindrical Equal Area") "\n\tCyl, Sph" + "lonc= alpha= or\n\tlat_1= lat_2= lon_1= lon_2="; +FORWARD(s_forward); /* spheroid */ + double t; + + xy.y = sin(lp.lam); +/* + xy.x = atan2((tan(lp.phi) * P->cosphi + P->sinphi * xy.y) , cos(lp.lam)); +*/ + t = cos(lp.lam); + xy.x = atan((tan(lp.phi) * P->cosphi + P->sinphi * xy.y) / t); + if (t < 0.) + xy.x += PI; + xy.x *= P->rtk; + xy.y = P->rok * (P->sinphi * sin(lp.phi) - P->cosphi * cos(lp.phi) * xy.y); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double t, s; + + xy.y /= P->rok; + xy.x /= P->rtk; + t = sqrt(1. - xy.y * xy.y); + lp.phi = asin(xy.y * P->sinphi + t * P->cosphi * (s = sin(xy.x))); + lp.lam = atan2(t * P->sinphi * s - xy.y * P->cosphi, + t * cos(xy.x)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(ocea) + double phi_0=0.0, phi_1, phi_2, lam_1, lam_2, lonz, alpha; + + P->rok = P->a / P->k0; + P->rtk = P->a * P->k0; + if ( pj_param(P->params, "talpha").i) { + alpha = pj_param(P->params, "ralpha").f; + lonz = pj_param(P->params, "rlonc").f; + P->singam = atan(-cos(alpha)/(-sin(phi_0) * sin(alpha))) + lonz; + P->sinphi = asin(cos(phi_0) * sin(alpha)); + } else { + phi_1 = pj_param(P->params, "rlat_1").f; + phi_2 = pj_param(P->params, "rlat_2").f; + lam_1 = pj_param(P->params, "rlon_1").f; + lam_2 = pj_param(P->params, "rlon_2").f; + P->singam = atan2(cos(phi_1) * sin(phi_2) * cos(lam_1) - + sin(phi_1) * cos(phi_2) * cos(lam_2), + sin(phi_1) * cos(phi_2) * sin(lam_2) - + cos(phi_1) * sin(phi_2) * sin(lam_1) ); + P->sinphi = atan(-cos(P->singam - lam_1) / tan(phi_1)); + } + P->lam0 = P->singam + HALFPI; + P->cosphi = cos(P->sinphi); + P->sinphi = sin(P->sinphi); + P->cosgam = cos(P->singam); + P->singam = sin(P->singam); + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_oea.c b/src/3rdparty/proj/PJ_oea.c new file mode 100644 index 00000000..b5e42a1f --- /dev/null +++ b/src/3rdparty/proj/PJ_oea.c @@ -0,0 +1,58 @@ +#define PROJ_PARMS__ \ + double theta; \ + double m, n; \ + double two_r_m, two_r_n, rm, rn, hm, hn; \ + double cp0, sp0; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(oea, "Oblated Equal Area") "\n\tMisc Sph\n\tn= m= theta="; +FORWARD(s_forward); /* sphere */ + double Az, M, N, cp, sp, cl, shz; + + cp = cos(lp.phi); + sp = sin(lp.phi); + cl = cos(lp.lam); + Az = aatan2(cp * sin(lp.lam), P->cp0 * sp - P->sp0 * cp * cl) + P->theta; + shz = sin(0.5 * aacos(P->sp0 * sp + P->cp0 * cp * cl)); + M = aasin(shz * sin(Az)); + N = aasin(shz * cos(Az) * cos(M) / cos(M * P->two_r_m)); + xy.y = P->n * sin(N * P->two_r_n); + xy.x = P->m * sin(M * P->two_r_m) * cos(N) / cos(N * P->two_r_n); + return (xy); +} +INVERSE(s_inverse); /* sphere */ + double N, M, xp, yp, z, Az, cz, sz, cAz; + + N = P->hn * aasin(xy.y * P->rn); + M = P->hm * aasin(xy.x * P->rm * cos(N * P->two_r_n) / cos(N)); + xp = 2. * sin(M); + yp = 2. * sin(N) * cos(M * P->two_r_m) / cos(M); + cAz = cos(Az = aatan2(xp, yp) - P->theta); + z = 2. * aasin(0.5 * hypot(xp, yp)); + sz = sin(z); + cz = cos(z); + lp.phi = aasin(P->sp0 * cz + P->cp0 * sz * cAz); + lp.lam = aatan2(sz * sin(Az), + P->cp0 * cz - P->sp0 * sz * cAz); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(oea) + if (((P->n = pj_param(P->params, "dn").f) <= 0.) || + ((P->m = pj_param(P->params, "dm").f) <= 0.)) + E_ERROR(-39) + else { + P->theta = pj_param(P->params, "rtheta").f; + P->sp0 = sin(P->phi0); + P->cp0 = cos(P->phi0); + P->rn = 1./ P->n; + P->rm = 1./ P->m; + P->two_r_n = 2. * P->rn; + P->two_r_m = 2. * P->rm; + P->hm = 0.5 * P->m; + P->hn = 0.5 * P->n; + P->fwd = s_forward; + P->inv = s_inverse; + P->es = 0.; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_omerc.c b/src/3rdparty/proj/PJ_omerc.c new file mode 100644 index 00000000..1b862dbb --- /dev/null +++ b/src/3rdparty/proj/PJ_omerc.c @@ -0,0 +1,166 @@ +#define PROJ_PARMS__ \ + double alpha, lamc, lam1, phi1, lam2, phi2, Gamma, al, bl, el, \ + singam, cosgam, sinrot, cosrot, u_0; \ + int ellips, rot; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(omerc, "Oblique Mercator") + "\n\tCyl, Sph&Ell\n\t no_rot rot_conv no_uoff and\n\t" +"alpha= lonc= or\n\t lon_1= lat_1= lon_2= lat_2="; +#define TOL 1.e-7 +#define EPS 1.e-10 +#define TSFN0(x) tan(.5 * (HALFPI - (x))) +FORWARD(e_forward); /* ellipsoid & spheroid */ + double con, q, s, ul, us, vl, vs; + + vl = sin(P->bl * lp.lam); + if (fabs(fabs(lp.phi) - HALFPI) <= EPS) { + ul = lp.phi < 0. ? -P->singam : P->singam; + us = P->al * lp.phi / P->bl; + } else { + q = P->el / (P->ellips ? pow(pj_tsfn(lp.phi, sin(lp.phi), P->e), P->bl) + : TSFN0(lp.phi)); + s = .5 * (q - 1. / q); + ul = 2. * (s * P->singam - vl * P->cosgam) / (q + 1. / q); + con = cos(P->bl * lp.lam); + if (fabs(con) >= TOL) { + us = P->al * atan((s * P->cosgam + vl * P->singam) / con) / P->bl; + if (con < 0.) + us += PI * P->al / P->bl; + } else + us = P->al * P->bl * lp.lam; + } + if (fabs(fabs(ul) - 1.) <= EPS) F_ERROR; + vs = .5 * P->al * log((1. - ul) / (1. + ul)) / P->bl; + us -= P->u_0; + if (! P->rot) { + xy.x = us; + xy.y = vs; + } else { + xy.x = vs * P->cosrot + us * P->sinrot; + xy.y = us * P->cosrot - vs * P->sinrot; + } + return (xy); +} +INVERSE(e_inverse); /* ellipsoid & spheroid */ + double q, s, ul, us, vl, vs; + + if (! P->rot) { + us = xy.x; + vs = xy.y; + } else { + vs = xy.x * P->cosrot - xy.y * P->sinrot; + us = xy.y * P->cosrot + xy.x * P->sinrot; + } + us += P->u_0; + q = exp(- P->bl * vs / P->al); + s = .5 * (q - 1. / q); + vl = sin(P->bl * us / P->al); + ul = 2. * (vl * P->cosgam + s * P->singam) / (q + 1. / q); + if (fabs(fabs(ul) - 1.) < EPS) { + lp.lam = 0.; + lp.phi = ul < 0. ? -HALFPI : HALFPI; + } else { + lp.phi = P->el / sqrt((1. + ul) / (1. - ul)); + if (P->ellips) { + if ((lp.phi = pj_phi2(pow(lp.phi, 1. / P->bl), P->e)) == HUGE_VAL) + I_ERROR; + } else + lp.phi = HALFPI - 2. * atan(lp.phi); + lp.lam = - atan2((s * P->cosgam - + vl * P->singam), cos(P->bl * us / P->al)) / P->bl; + } + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(omerc) + double con, com, cosph0, d, f, h, l, sinph0, p, j; + int azi; + + P->rot = pj_param(P->params, "bno_rot").i == 0; + if( (azi = pj_param(P->params, "talpha").i) != 0.0) { + P->lamc = pj_param(P->params, "rlonc").f; + P->alpha = pj_param(P->params, "ralpha").f; + if ( fabs(P->alpha) <= TOL || + fabs(fabs(P->phi0) - HALFPI) <= TOL || + fabs(fabs(P->alpha) - HALFPI) <= TOL) + E_ERROR(-32); + } else { + P->lam1 = pj_param(P->params, "rlon_1").f; + P->phi1 = pj_param(P->params, "rlat_1").f; + P->lam2 = pj_param(P->params, "rlon_2").f; + P->phi2 = pj_param(P->params, "rlat_2").f; + if (fabs(P->phi1 - P->phi2) <= TOL || + (con = fabs(P->phi1)) <= TOL || + fabs(con - HALFPI) <= TOL || + fabs(fabs(P->phi0) - HALFPI) <= TOL || + fabs(fabs(P->phi2) - HALFPI) <= TOL) E_ERROR(-33); + } + com = (P->ellips = P->es > 0.) ? sqrt(P->one_es) : 1.; + if (fabs(P->phi0) > EPS) { + sinph0 = sin(P->phi0); + cosph0 = cos(P->phi0); + if (P->ellips) { + con = 1. - P->es * sinph0 * sinph0; + P->bl = cosph0 * cosph0; + P->bl = sqrt(1. + P->es * P->bl * P->bl / P->one_es); + P->al = P->bl * P->k0 * com / con; + d = P->bl * com / (cosph0 * sqrt(con)); + } else { + P->bl = 1.; + P->al = P->k0; + d = 1. / cosph0; + } + if ((f = d * d - 1.) <= 0.) + f = 0.; + else { + f = sqrt(f); + if (P->phi0 < 0.) + f = -f; + } + P->el = f += d; + if (P->ellips) P->el *= pow(pj_tsfn(P->phi0, sinph0, P->e), P->bl); + else P->el *= TSFN0(P->phi0); + } else { + P->bl = 1. / com; + P->al = P->k0; + P->el = d = f = 1.; + } + if (azi) { + P->Gamma = asin(sin(P->alpha) / d); + P->lam0 = P->lamc - asin((.5 * (f - 1. / f)) * + tan(P->Gamma)) / P->bl; + } else { + if (P->ellips) { + h = pow(pj_tsfn(P->phi1, sin(P->phi1), P->e), P->bl); + l = pow(pj_tsfn(P->phi2, sin(P->phi2), P->e), P->bl); + } else { + h = TSFN0(P->phi1); + l = TSFN0(P->phi2); + } + f = P->el / h; + p = (l - h) / (l + h); + j = P->el * P->el; + j = (j - l * h) / (j + l * h); + if ((con = P->lam1 - P->lam2) < -PI) + P->lam2 -= TWOPI; + else if (con > PI) + P->lam2 += TWOPI; + P->lam0 = adjlon(.5 * (P->lam1 + P->lam2) - atan( + j * tan(.5 * P->bl * (P->lam1 - P->lam2)) / p) / P->bl); + P->Gamma = atan(2. * sin(P->bl * adjlon(P->lam1 - P->lam0)) / + (f - 1. / f)); + P->alpha = asin(d * sin(P->Gamma)); + } + P->singam = sin(P->Gamma); + P->cosgam = cos(P->Gamma); + f = pj_param(P->params, "brot_conv").i ? P->Gamma : P->alpha; + P->sinrot = sin(f); + P->cosrot = cos(f); + P->u_0 = pj_param(P->params, "bno_uoff").i ? 0. : + fabs(P->al * atan(sqrt(d * d - 1.) / P->cosrot) / P->bl); + if (P->phi0 < 0.) + P->u_0 = - P->u_0; + P->inv = e_inverse; + P->fwd = e_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_ortho.c b/src/3rdparty/proj/PJ_ortho.c new file mode 100644 index 00000000..202b0176 --- /dev/null +++ b/src/3rdparty/proj/PJ_ortho.c @@ -0,0 +1,95 @@ +#define PROJ_PARMS__ \ + double sinph0; \ + double cosph0; \ + int mode; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(ortho, "Orthographic") "\n\tAzi, Sph."; +#define EPS10 1.e-10 +#define N_POLE 0 +#define S_POLE 1 +#define EQUIT 2 +#define OBLIQ 3 +FORWARD(s_forward); /* spheroid */ + double coslam, cosphi, sinphi; + + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + switch (P->mode) { + case EQUIT: + if (cosphi * coslam < - EPS10) F_ERROR; + xy.y = sin(lp.phi); + break; + case OBLIQ: + if (P->sinph0 * (sinphi = sin(lp.phi)) + + P->cosph0 * cosphi * coslam < - EPS10) F_ERROR; + xy.y = P->cosph0 * sinphi - P->sinph0 * cosphi * coslam; + break; + case N_POLE: + coslam = - coslam; + case S_POLE: + if (fabs(lp.phi - P->phi0) - EPS10 > HALFPI) F_ERROR; + xy.y = cosphi * coslam; + break; + } + xy.x = cosphi * sin(lp.lam); + return (xy); +} + +INVERSE(s_inverse); /* spheroid */ + double rh, cosc, sinc; + + if ((sinc = (rh = hypot(xy.x, xy.y))) > 1.) { + if ((sinc - 1.) > EPS10) I_ERROR; + sinc = 1.; + } + cosc = sqrt(1. - sinc * sinc); /* in this range OK */ + if (fabs(rh) <= EPS10) { + lp.phi = P->phi0; + lp.lam = 0.0; + } else { + switch (P->mode) { + case N_POLE: + xy.y = -xy.y; + lp.phi = acos(sinc); + break; + case S_POLE: + lp.phi = - acos(sinc); + break; + case EQUIT: + lp.phi = xy.y * sinc / rh; + xy.x *= sinc; + xy.y = cosc * rh; + goto sinchk; + case OBLIQ: + lp.phi = cosc * P->sinph0 + xy.y * sinc * P->cosph0 /rh; + xy.y = (cosc - P->sinph0 * lp.phi) * rh; + xy.x *= sinc * P->cosph0; + sinchk: + if (fabs(lp.phi) >= 1.) + lp.phi = lp.phi < 0. ? -HALFPI : HALFPI; + else + lp.phi = asin(lp.phi); + break; + } + lp.lam = (xy.y == 0. && (P->mode == OBLIQ || P->mode == EQUIT)) + ? (xy.x == 0. ? 0. : xy.x < 0. ? -HALFPI : HALFPI) + : atan2(xy.x, xy.y); + } + return (lp); +} + +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(ortho) + if (fabs(fabs(P->phi0) - HALFPI) <= EPS10) + P->mode = P->phi0 < 0. ? S_POLE : N_POLE; + else if (fabs(P->phi0) > EPS10) { + P->mode = OBLIQ; + P->sinph0 = sin(P->phi0); + P->cosph0 = cos(P->phi0); + } else + P->mode = EQUIT; + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_poly.c b/src/3rdparty/proj/PJ_poly.c new file mode 100644 index 00000000..ef5b8905 --- /dev/null +++ b/src/3rdparty/proj/PJ_poly.c @@ -0,0 +1,99 @@ +#define PROJ_PARMS__ \ + double ml0; \ + double *en; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(poly, "Polyconic (American)") + "\n\tConic, Sph&Ell"; +#define TOL 1e-10 +#define CONV 1e-10 +#define N_ITER 10 +#define I_ITER 20 +#define ITOL 1.e-12 +FORWARD(e_forward); /* ellipsoid */ + double ms, sp, cp; + + if (fabs(lp.phi) <= TOL) { xy.x = lp.lam; xy.y = -P->ml0; } + else { + sp = sin(lp.phi); + ms = fabs(cp = cos(lp.phi)) > TOL ? pj_msfn(sp, cp, P->es) / sp : 0.; + xy.x = ms * sin(lp.lam *= sp); + xy.y = (pj_mlfn(lp.phi, sp, cp, P->en) - P->ml0) + ms * (1. - cos(lp.lam)); + } + return (xy); +} +FORWARD(s_forward); /* spheroid */ + double cot, E; + + if (fabs(lp.phi) <= TOL) { xy.x = lp.lam; xy.y = P->ml0; } + else { + cot = 1. / tan(lp.phi); + xy.x = sin(E = lp.lam * sin(lp.phi)) * cot; + xy.y = lp.phi - P->phi0 + cot * (1. - cos(E)); + } + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + xy.y += P->ml0; + if (fabs(xy.y) <= TOL) { lp.lam = xy.x; lp.phi = 0.; } + else { + double r, c, sp, cp, s2ph, ml, mlb, mlp, dPhi; + int i; + + r = xy.y * xy.y + xy.x * xy.x; + for (lp.phi = xy.y, i = I_ITER; i ; --i) { + sp = sin(lp.phi); + s2ph = sp * ( cp = cos(lp.phi)); + if (fabs(cp) < ITOL) + I_ERROR; + c = sp * (mlp = sqrt(1. - P->es * sp * sp)) / cp; + ml = pj_mlfn(lp.phi, sp, cp, P->en); + mlb = ml * ml + r; + mlp = P->one_es / (mlp * mlp * mlp); + lp.phi += ( dPhi = + ( ml + ml + c * mlb - 2. * xy.y * (c * ml + 1.) ) / ( + P->es * s2ph * (mlb - 2. * xy.y * ml) / c + + 2.* (xy.y - ml) * (c * mlp - 1. / s2ph) - mlp - mlp )); + if (fabs(dPhi) <= ITOL) + break; + } + if (!i) + I_ERROR; + c = sin(lp.phi); + lp.lam = asin(xy.x * tan(lp.phi) * sqrt(1. - P->es * c * c)) / sin(lp.phi); + } + return (lp); +} +INVERSE(s_inverse); /* spheroid */ + double B, dphi, tp; + int i; + + if (fabs(xy.y = P->phi0 + xy.y) <= TOL) { lp.lam = xy.x; lp.phi = 0.; } + else { + lp.phi = xy.y; + B = xy.x * xy.x + xy.y * xy.y; + i = N_ITER; + do { + tp = tan(lp.phi); + lp.phi -= (dphi = (xy.y * (lp.phi * tp + 1.) - lp.phi - + .5 * ( lp.phi * lp.phi + B) * tp) / + ((lp.phi - xy.y) / tp - 1.)); + } while (fabs(dphi) > CONV && --i); + if (! i) I_ERROR; + lp.lam = asin(xy.x * tan(lp.phi)) / sin(lp.phi); + } + return (lp); +} +FREEUP; if (P) { if (P->en) pj_dalloc(P->en); pj_dalloc(P); } } +ENTRY1(poly, en) + if (P->es) { + if (!(P->en = pj_enfn(P->es))) E_ERROR_0; + P->ml0 = pj_mlfn(P->phi0, sin(P->phi0), cos(P->phi0), P->en); + P->inv = e_inverse; + P->fwd = e_forward; + } else { + P->ml0 = -P->phi0; + P->inv = s_inverse; + P->fwd = s_forward; + } +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_putp2.c b/src/3rdparty/proj/PJ_putp2.c new file mode 100644 index 00000000..e846f13b --- /dev/null +++ b/src/3rdparty/proj/PJ_putp2.c @@ -0,0 +1,40 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(putp2, "Putnins P2") "\n\tPCyl., Sph."; +#define C_x 1.89490 +#define C_y 1.71848 +#define C_p 0.6141848493043784 +#define EPS 1e-10 +#define NITER 10 +#define PI_DIV_3 1.0471975511965977 +FORWARD(s_forward); /* spheroid */ + double p, c, s, V; + int i; + + p = C_p * sin(lp.phi); + s = lp.phi * lp.phi; + lp.phi *= 0.615709 + s * ( 0.00909953 + s * 0.0046292 ); + for (i = NITER; i ; --i) { + c = cos(lp.phi); + s = sin(lp.phi); + lp.phi -= V = (lp.phi + s * (c - 1.) - p) / + (1. + c * (c - 1.) - s * s); + if (fabs(V) < EPS) + break; + } + if (!i) + lp.phi = lp.phi < 0 ? - PI_DIV_3 : PI_DIV_3; + xy.x = C_x * lp.lam * (cos(lp.phi) - 0.5); + xy.y = C_y * sin(lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double c; + + lp.phi = aasin(xy.y / C_y); + lp.lam = xy.x / (C_x * ((c = cos(lp.phi)) - 0.5)); + lp.phi = aasin((lp.phi + sin(lp.phi) * (c - 1.)) / C_p); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(putp2) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_putp3.c b/src/3rdparty/proj/PJ_putp3.c new file mode 100644 index 00000000..46e25004 --- /dev/null +++ b/src/3rdparty/proj/PJ_putp3.c @@ -0,0 +1,26 @@ +#define PROJ_PARMS__ \ + double A; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(putp3, "Putnins P3") "\n\tPCyl., Sph."; +PROJ_HEAD(putp3p, "Putnins P3'") "\n\tPCyl., no inv., Sph."; +#define C 0.79788456 +#define RPISQ 0.1013211836 +FORWARD(s_forward); /* spheroid */ + xy.x = C * lp.lam * (1. - P->A * lp.phi * lp.phi); + xy.y = C * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y / C; + lp.lam = xy.x / (C * (1. - P->A * lp.phi * lp.phi)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; + return P; +} +ENTRY0(putp3) P->A = 4. * RPISQ; ENDENTRY(setup(P)) +ENTRY0(putp3p) P->A = 2. * RPISQ; ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_putp4p.c b/src/3rdparty/proj/PJ_putp4p.c new file mode 100644 index 00000000..35066c2a --- /dev/null +++ b/src/3rdparty/proj/PJ_putp4p.c @@ -0,0 +1,29 @@ +#define PROJ_PARMS__ \ + double C_x, C_y; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(putp4p, "Putnins P4'") "\n\tPCyl., Sph."; +PROJ_HEAD(weren, "Werenskiold I") "\n\tPCyl., Sph."; +FORWARD(s_forward); /* spheroid */ + lp.phi = aasin(0.883883476 * sin(lp.phi)); + xy.x = P->C_x * lp.lam * cos(lp.phi); + xy.x /= cos(lp.phi *= 0.333333333333333); + xy.y = P->C_y * sin(lp.phi); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = aasin(xy.y / P->C_y); + lp.lam = xy.x * cos(lp.phi) / P->C_x; + lp.phi *= 3.; + lp.lam /= cos(lp.phi); + lp.phi = aasin(1.13137085 * sin(lp.phi)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; + return P; +} +ENTRY0(putp4p) P->C_x = 0.874038744; P->C_y = 3.883251825; ENDENTRY(setup(P)) +ENTRY0(weren) P->C_x = 1.; P->C_y = 4.442882938; ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_putp5.c b/src/3rdparty/proj/PJ_putp5.c new file mode 100644 index 00000000..8d3c59a0 --- /dev/null +++ b/src/3rdparty/proj/PJ_putp5.c @@ -0,0 +1,26 @@ +#define PROJ_PARMS__ \ + double A, B; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(putp5, "Putnins P5") "\n\tPCyl., Sph."; +PROJ_HEAD(putp5p, "Putnins P5'") "\n\tPCyl., Sph."; +#define C 1.01346 +#define D 1.2158542 +FORWARD(s_forward); /* spheroid */ + xy.x = C * lp.lam * (P->A - P->B * sqrt(1. + D * lp.phi * lp.phi)); + xy.y = C * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y / C; + lp.lam = xy.x / (C * (P->A - P->B * sqrt(1. + D * lp.phi * lp.phi))); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; + return P; +} +ENTRY0(putp5) P->A = 2.; P->B = 1.; ENDENTRY(setup(P)) +ENTRY0(putp5p) P->A = 1.5; P->B = 0.5; ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_putp6.c b/src/3rdparty/proj/PJ_putp6.c new file mode 100644 index 00000000..28e82cfd --- /dev/null +++ b/src/3rdparty/proj/PJ_putp6.c @@ -0,0 +1,59 @@ +#define PROJ_PARMS__ \ + double C_x, C_y, A, B, D; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(putp6, "Putnins P6") "\n\tPCyl., Sph."; +PROJ_HEAD(putp6p, "Putnins P6'") "\n\tPCyl., Sph."; +#define EPS 1e-10 +#define NITER 10 +#define CON_POLE 1.732050807568877 +FORWARD(s_forward); /* spheroid */ + double p, r, V; + int i; + + p = P->B * sin(lp.phi); + lp.phi *= 1.10265779; + for (i = NITER; i ; --i) { + r = sqrt(1. + lp.phi * lp.phi); + lp.phi -= V = ( (P->A - r) * lp.phi - log(lp.phi + r) - p ) / + (P->A - 2. * r); + if (fabs(V) < EPS) + break; + } + if (!i) + lp.phi = p < 0. ? -CON_POLE : CON_POLE; + xy.x = P->C_x * lp.lam * (P->D - sqrt(1. + lp.phi * lp.phi)); + xy.y = P->C_y * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double r; + + lp.phi = xy.y / P->C_y; + r = sqrt(1. + lp.phi * lp.phi); + lp.lam = xy.x / (P->C_x * (P->D - r)); + lp.phi = aasin( ( (P->A - r) * lp.phi - log(lp.phi + r) ) / P->B); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + P->es = 0.; + P->inv = s_inverse; + P->fwd = s_forward; + return P; +} +ENTRY0(putp6) + P->C_x = 1.01346; + P->C_y = 0.91910; + P->A = 4.; + P->B = 2.1471437182129378784; + P->D = 2.; +ENDENTRY(setup(P)) +ENTRY0(putp6p) + P->C_x = 0.44329; + P->C_y = 0.80404; + P->A = 6.; + P->B = 5.61125; + P->D = 3.; +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_robin.c b/src/3rdparty/proj/PJ_robin.c new file mode 100644 index 00000000..92f93e4b --- /dev/null +++ b/src/3rdparty/proj/PJ_robin.c @@ -0,0 +1,105 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(robin, "Robinson") "\n\tPCyl., Sph."; +#define V(C,z) (C.c0 + z * (C.c1 + z * (C.c2 + z * C.c3))) +#define DV(C,z) (C.c1 + z * (C.c2 + C.c2 + z * 3. * C.c3)) +/* note: following terms based upon 5 deg. intervals in degrees. */ +static struct COEFS { + float c0, c1, c2, c3; +} X[] = { +1, -5.67239e-12, -7.15511e-05, 3.11028e-06, +0.9986, -0.000482241, -2.4897e-05, -1.33094e-06, +0.9954, -0.000831031, -4.4861e-05, -9.86588e-07, +0.99, -0.00135363, -5.96598e-05, 3.67749e-06, +0.9822, -0.00167442, -4.4975e-06, -5.72394e-06, +0.973, -0.00214869, -9.03565e-05, 1.88767e-08, +0.96, -0.00305084, -9.00732e-05, 1.64869e-06, +0.9427, -0.00382792, -6.53428e-05, -2.61493e-06, +0.9216, -0.00467747, -0.000104566, 4.8122e-06, +0.8962, -0.00536222, -3.23834e-05, -5.43445e-06, +0.8679, -0.00609364, -0.0001139, 3.32521e-06, +0.835, -0.00698325, -6.40219e-05, 9.34582e-07, +0.7986, -0.00755337, -5.00038e-05, 9.35532e-07, +0.7597, -0.00798325, -3.59716e-05, -2.27604e-06, +0.7186, -0.00851366, -7.0112e-05, -8.63072e-06, +0.6732, -0.00986209, -0.000199572, 1.91978e-05, +0.6213, -0.010418, 8.83948e-05, 6.24031e-06, +0.5722, -0.00906601, 0.000181999, 6.24033e-06, +0.5322, 0.,0.,0. }, +Y[] = { +0, 0.0124, 3.72529e-10, 1.15484e-09, +0.062, 0.0124001, 1.76951e-08, -5.92321e-09, +0.124, 0.0123998, -7.09668e-08, 2.25753e-08, +0.186, 0.0124008, 2.66917e-07, -8.44523e-08, +0.248, 0.0123971, -9.99682e-07, 3.15569e-07, +0.31, 0.0124108, 3.73349e-06, -1.1779e-06, +0.372, 0.0123598, -1.3935e-05, 4.39588e-06, +0.434, 0.0125501, 5.20034e-05, -1.00051e-05, +0.4968, 0.0123198, -9.80735e-05, 9.22397e-06, +0.5571, 0.0120308, 4.02857e-05, -5.2901e-06, +0.6176, 0.0120369, -3.90662e-05, 7.36117e-07, +0.6769, 0.0117015, -2.80246e-05, -8.54283e-07, +0.7346, 0.0113572, -4.08389e-05, -5.18524e-07, +0.7903, 0.0109099, -4.86169e-05, -1.0718e-06, +0.8435, 0.0103433, -6.46934e-05, 5.36384e-09, +0.8936, 0.00969679, -6.46129e-05, -8.54894e-06, +0.9394, 0.00840949, -0.000192847, -4.21023e-06, +0.9761, 0.00616525, -0.000256001, -4.21021e-06, +1., 0.,0.,0 }; +#define FXC 0.8487 +#define FYC 1.3523 +#define C1 11.45915590261646417544 +#define RC1 0.08726646259971647884 +#define NODES 18 +#define ONEEPS 1.000001 +#define EPS 1e-8 +FORWARD(s_forward); /* spheroid */ + int i; + double dphi; + + i = floor((dphi = fabs(lp.phi)) * C1); + if (i >= NODES) i = NODES - 1; + dphi = RAD_TO_DEG * (dphi - RC1 * i); + xy.x = V(X[i], dphi) * FXC * lp.lam; + xy.y = V(Y[i], dphi) * FYC; + if (lp.phi < 0.) xy.y = -xy.y; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + int i; + double t, t1; + struct COEFS T; + + lp.lam = xy.x / FXC; + lp.phi = fabs(xy.y / FYC); + if (lp.phi >= 1.) { /* simple pathologic cases */ + if (lp.phi > ONEEPS) I_ERROR + else { + lp.phi = xy.y < 0. ? -HALFPI : HALFPI; + lp.lam /= X[NODES].c0; + } + } else { /* general problem */ + /* in Y space, reduce to table interval */ + for (i = floor(lp.phi * NODES);;) { + if (Y[i].c0 > lp.phi) --i; + else if (Y[i+1].c0 <= lp.phi) ++i; + else break; + } + T = Y[i]; + /* first guess, linear interp */ + t = 5. * (lp.phi - T.c0)/(Y[i+1].c0 - T.c0); + /* make into root */ + T.c0 -= lp.phi; + for (;;) { /* Newton-Raphson reduction */ + t -= t1 = V(T,t) / DV(T,t); + if (fabs(t1) < EPS) + break; + } + lp.phi = (5 * i + t) * DEG_TO_RAD; + if (xy.y < 0.) lp.phi = -lp.phi; + lp.lam /= V(X[i], t); + } + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(robin) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_rpoly.c b/src/3rdparty/proj/PJ_rpoly.c new file mode 100644 index 00000000..1440327d --- /dev/null +++ b/src/3rdparty/proj/PJ_rpoly.c @@ -0,0 +1,35 @@ +#define PROJ_PARMS__ \ + double phi1; \ + double fxa; \ + double fxb; \ + int mode; +#define EPS 1e-9 +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(rpoly, "Rectangular Polyconic") + "\n\tConic, Sph., no inv.\n\tlat_ts="; +FORWARD(s_forward); /* spheroid */ + double fa; + + if (P->mode) + fa = tan(lp.lam * P->fxb) * P->fxa; + else + fa = 0.5 * lp.lam; + if (fabs(lp.phi) < EPS) { + xy.x = fa + fa; + xy.y = - P->phi0; + } else { + xy.y = 1. / tan(lp.phi); + xy.x = sin(fa = 2. * atan(fa * sin(lp.phi))) * xy.y; + xy.y = lp.phi - P->phi0 + (1. - cos(fa)) * xy.y; + } + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(rpoly) + if ((P->mode = (P->phi1 = fabs(pj_param(P->params, "rlat_ts").f)) > EPS)) { + P->fxb = 0.5 * sin(P->phi1); + P->fxa = 0.5 / P->fxb; + } + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_sconics.c b/src/3rdparty/proj/PJ_sconics.c new file mode 100644 index 00000000..c65635d8 --- /dev/null +++ b/src/3rdparty/proj/PJ_sconics.c @@ -0,0 +1,154 @@ +#define PROJ_PARMS__ \ + double n; \ + double rho_c; \ + double rho_0; \ + double sig; \ + double c1, c2; \ + int type; +#define PJ_LIB__ +#include <projects.h> +#define EULER 0 +#define MURD1 1 +#define MURD2 2 +#define MURD3 3 +#define PCONIC 4 +#define TISSOT 5 +#define VITK1 6 +#define EPS10 1.e-10 +#define EPS 1e-10 +#define LINE2 "\n\tConic, Sph\n\tlat_1= and lat_2=" +PROJ_HEAD(tissot, "Tissot") + LINE2; +PROJ_HEAD(murd1, "Murdoch I") + LINE2; +PROJ_HEAD(murd2, "Murdoch II") + LINE2; +PROJ_HEAD(murd3, "Murdoch III") + LINE2; +PROJ_HEAD(euler, "Euler") + LINE2; +PROJ_HEAD(pconic, "Perspective Conic") + LINE2; +PROJ_HEAD(vitk1, "Vitkovsky I") + LINE2; +/* get common factors for simple conics */ + static int +phi12(PJ *P, double *del) { + double p1, p2; + int err = 0; + + if (!pj_param(P->params, "tlat_1").i || + !pj_param(P->params, "tlat_2").i) { + err = -41; + } else { + p1 = pj_param(P->params, "rlat_1").f; + p2 = pj_param(P->params, "rlat_2").f; + *del = 0.5 * (p2 - p1); + P->sig = 0.5 * (p2 + p1); + err = (fabs(*del) < EPS || fabs(P->sig) < EPS) ? -42 : 0; + *del = *del; + } + return err; +} +FORWARD(s_forward); /* spheroid */ + double rho; + + switch (P->type) { + case MURD2: + rho = P->rho_c + tan(P->sig - lp.phi); + break; + case PCONIC: + rho = P->c2 * (P->c1 - tan(lp.phi)); + break; + default: + rho = P->rho_c - lp.phi; + break; + } + xy.x = rho * sin( lp.lam *= P->n ); + xy.y = P->rho_0 - rho * cos(lp.lam); + return (xy); +} +INVERSE(s_inverse); /* ellipsoid & spheroid */ + double rho; + + rho = hypot(xy.x, xy.y = P->rho_0 - xy.y); + if (P->n < 0.) { + rho = - rho; + xy.x = - xy.x; + xy.y = - xy.y; + } + lp.lam = atan2(xy.x, xy.y) / P->n; + switch (P->type) { + case PCONIC: + lp.phi = atan(P->c1 - rho / P->c2) + P->sig; + break; + case MURD2: + lp.phi = P->sig - atan(rho - P->rho_c); + break; + default: + lp.phi = P->rho_c - rho; + } + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + double del, cs; + int i; + + if( (i = phi12(P, &del)) ) + E_ERROR(i); + switch (P->type) { + case TISSOT: + P->n = sin(P->sig); + cs = cos(del); + P->rho_c = P->n / cs + cs / P->n; + P->rho_0 = sqrt((P->rho_c - 2 * sin(P->phi0))/P->n); + break; + case MURD1: + P->rho_c = sin(del)/(del * tan(P->sig)) + P->sig; + P->rho_0 = P->rho_c - P->phi0; + P->n = sin(P->sig); + break; + case MURD2: + P->rho_c = (cs = sqrt(cos(del))) / tan(P->sig); + P->rho_0 = P->rho_c + tan(P->sig - P->phi0); + P->n = sin(P->sig) * cs; + break; + case MURD3: + P->rho_c = del / (tan(P->sig) * tan(del)) + P->sig; + P->rho_0 = P->rho_c - P->phi0; + P->n = sin(P->sig) * sin(del) * tan(del) / (del * del); + break; + case EULER: + P->n = sin(P->sig) * sin(del) / del; + del *= 0.5; + P->rho_c = del / (tan(del) * tan(P->sig)) + P->sig; + P->rho_0 = P->rho_c - P->phi0; + break; + case PCONIC: + P->n = sin(P->sig); + P->c2 = cos(del); + P->c1 = 1./tan(P->sig); + if (fabs(del = P->phi0 - P->sig) - EPS10 >= HALFPI) + E_ERROR(-43); + P->rho_0 = P->c2 * (P->c1 - tan(del)); + break; + case VITK1: + P->n = (cs = tan(del)) * sin(P->sig) / del; + P->rho_c = del / (cs * tan(P->sig)) + P->sig; + P->rho_0 = P->rho_c - P->phi0; + break; + } + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0; + return (P); +} +ENTRY0(euler) P->type = EULER; ENDENTRY(setup(P)) +ENTRY0(tissot) P->type = TISSOT; ENDENTRY(setup(P)) +ENTRY0(murd1) P->type = MURD1; ENDENTRY(setup(P)) +ENTRY0(murd2) P->type = MURD2; ENDENTRY(setup(P)) +ENTRY0(murd3) P->type = MURD3; ENDENTRY(setup(P)) +ENTRY0(pconic) P->type = PCONIC; ENDENTRY(setup(P)) +ENTRY0(vitk1) P->type = VITK1; ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_somerc.c b/src/3rdparty/proj/PJ_somerc.c new file mode 100644 index 00000000..d419e653 --- /dev/null +++ b/src/3rdparty/proj/PJ_somerc.c @@ -0,0 +1,66 @@ +#define PROJ_PARMS__ \ + double K, c, hlf_e, kR, cosp0, sinp0; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(somerc, "Swiss. Obl. Mercator") "\n\tCyl, Ell\n\tFor CH1903"; +#define EPS 1.e-10 +#define NITER 6 +FORWARD(e_forward); + double phip, lamp, phipp, lampp, sp, cp; + + sp = P->e * sin(lp.phi); + phip = 2.* atan( exp( P->c * ( + log(tan(FORTPI + 0.5 * lp.phi)) - P->hlf_e * log((1. + sp)/(1. - sp))) + + P->K)) - HALFPI; + lamp = P->c * lp.lam; + cp = cos(phip); + phipp = aasin(P->cosp0 * sin(phip) - P->sinp0 * cp * cos(lamp)); + lampp = aasin(cp * sin(lamp) / cos(phipp)); + xy.x = P->kR * lampp; + xy.y = P->kR * log(tan(FORTPI + 0.5 * phipp)); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid & spheroid */ + double phip, lamp, phipp, lampp, cp, esp, con, delp; + int i; + + phipp = 2. * (atan(exp(xy.y / P->kR)) - FORTPI); + lampp = xy.x / P->kR; + cp = cos(phipp); + phip = aasin(P->cosp0 * sin(phipp) + P->sinp0 * cp * cos(lampp)); + lamp = aasin(cp * sin(lampp) / cos(phip)); + con = (P->K - log(tan(FORTPI + 0.5 * phip)))/P->c; + for (i = NITER; i ; --i) { + esp = P->e * sin(phip); + delp = (con + log(tan(FORTPI + 0.5 * phip)) - P->hlf_e * + log((1. + esp)/(1. - esp)) ) * + (1. - esp * esp) * cos(phip) * P->rone_es; + phip -= delp; + if (fabs(delp) < EPS) + break; + } + if (i) { + lp.phi = phip; + lp.lam = lamp / P->c; + } else + I_ERROR + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(somerc) + double cp, phip0, sp; + + P->hlf_e = 0.5 * P->e; + cp = cos(P->phi0); + cp *= cp; + P->c = sqrt(1 + P->es * cp * cp * P->rone_es); + sp = sin(P->phi0); + P->cosp0 = cos( phip0 = aasin(P->sinp0 = sp / P->c) ); + sp *= P->e; + P->K = log(tan(FORTPI + 0.5 * phip0)) - P->c * ( + log(tan(FORTPI + 0.5 * P->phi0)) - P->hlf_e * + log((1. + sp) / (1. - sp))); + P->kR = P->k0 * sqrt(P->one_es) / (1. - sp * sp); + P->inv = e_inverse; + P->fwd = e_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_stere.c b/src/3rdparty/proj/PJ_stere.c new file mode 100644 index 00000000..a31bf97b --- /dev/null +++ b/src/3rdparty/proj/PJ_stere.c @@ -0,0 +1,241 @@ +#define PROJ_PARMS__ \ + double phits; \ + double sinX1; \ + double cosX1; \ + double akm1; \ + int mode; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(stere, "Stereographic") "\n\tAzi, Sph&Ell\n\tlat_ts="; +PROJ_HEAD(ups, "Universal Polar Stereographic") "\n\tAzi, Sph&Ell\n\tsouth"; +#define sinph0 P->sinX1 +#define cosph0 P->cosX1 +#define EPS10 1.e-10 +#define TOL 1.e-8 +#define NITER 8 +#define CONV 1.e-10 +#define S_POLE 0 +#define N_POLE 1 +#define OBLIQ 2 +#define EQUIT 3 + static double +ssfn_(double phit, double sinphi, double eccen) { + sinphi *= eccen; + return (tan (.5 * (HALFPI + phit)) * + pow((1. - sinphi) / (1. + sinphi), .5 * eccen)); +} +FORWARD(e_forward); /* ellipsoid */ + double coslam, sinlam, sinX=0.0, cosX=0.0, X, A, sinphi; + + coslam = cos(lp.lam); + sinlam = sin(lp.lam); + sinphi = sin(lp.phi); + if (P->mode == OBLIQ || P->mode == EQUIT) { + sinX = sin(X = 2. * atan(ssfn_(lp.phi, sinphi, P->e)) - HALFPI); + cosX = cos(X); + } + switch (P->mode) { + case OBLIQ: + A = P->akm1 / (P->cosX1 * (1. + P->sinX1 * sinX + + P->cosX1 * cosX * coslam)); + xy.y = A * (P->cosX1 * sinX - P->sinX1 * cosX * coslam); + goto xmul; + case EQUIT: + A = 2. * P->akm1 / (1. + cosX * coslam); + xy.y = A * sinX; +xmul: + xy.x = A * cosX; + break; + case S_POLE: + lp.phi = -lp.phi; + coslam = - coslam; + sinphi = -sinphi; + case N_POLE: + xy.x = P->akm1 * pj_tsfn(lp.phi, sinphi, P->e); + xy.y = - xy.x * coslam; + break; + } + xy.x = xy.x * sinlam; + return (xy); +} +FORWARD(s_forward); /* spheroid */ + double sinphi, cosphi, coslam, sinlam; + + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + sinlam = sin(lp.lam); + switch (P->mode) { + case EQUIT: + xy.y = 1. + cosphi * coslam; + goto oblcon; + case OBLIQ: + xy.y = 1. + sinph0 * sinphi + cosph0 * cosphi * coslam; +oblcon: + if (xy.y <= EPS10) F_ERROR; + xy.x = (xy.y = P->akm1 / xy.y) * cosphi * sinlam; + xy.y *= (P->mode == EQUIT) ? sinphi : + cosph0 * sinphi - sinph0 * cosphi * coslam; + break; + case N_POLE: + coslam = - coslam; + lp.phi = - lp.phi; + case S_POLE: + if (fabs(lp.phi - HALFPI) < TOL) F_ERROR; + xy.x = sinlam * ( xy.y = P->akm1 * tan(FORTPI + .5 * lp.phi) ); + xy.y *= coslam; + break; + } + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + double cosphi, sinphi, tp=0.0, phi_l=0.0, rho, halfe=0.0, halfpi=0.0; + int i; + + rho = hypot(xy.x, xy.y); + switch (P->mode) { + case OBLIQ: + case EQUIT: + cosphi = cos( tp = 2. * atan2(rho * P->cosX1 , P->akm1) ); + sinphi = sin(tp); + if( rho == 0.0 ) + phi_l = asin(cosphi * P->sinX1); + else + phi_l = asin(cosphi * P->sinX1 + (xy.y * sinphi * P->cosX1 / rho)); + + tp = tan(.5 * (HALFPI + phi_l)); + xy.x *= sinphi; + xy.y = rho * P->cosX1 * cosphi - xy.y * P->sinX1* sinphi; + halfpi = HALFPI; + halfe = .5 * P->e; + break; + case N_POLE: + xy.y = -xy.y; + case S_POLE: + phi_l = HALFPI - 2. * atan(tp = - rho / P->akm1); + halfpi = -HALFPI; + halfe = -.5 * P->e; + break; + } + for (i = NITER; i--; phi_l = lp.phi) { + sinphi = P->e * sin(phi_l); + lp.phi = 2. * atan(tp * pow((1.+sinphi)/(1.-sinphi), + halfe)) - halfpi; + if (fabs(phi_l - lp.phi) < CONV) { + if (P->mode == S_POLE) + lp.phi = -lp.phi; + lp.lam = (xy.x == 0. && xy.y == 0.) ? 0. : atan2(xy.x, xy.y); + return (lp); + } + } + I_ERROR; +} +INVERSE(s_inverse); /* spheroid */ + double c, rh, sinc, cosc; + + sinc = sin(c = 2. * atan((rh = hypot(xy.x, xy.y)) / P->akm1)); + cosc = cos(c); + lp.lam = 0.; + switch (P->mode) { + case EQUIT: + if (fabs(rh) <= EPS10) + lp.phi = 0.; + else + lp.phi = asin(xy.y * sinc / rh); + if (cosc != 0. || xy.x != 0.) + lp.lam = atan2(xy.x * sinc, cosc * rh); + break; + case OBLIQ: + if (fabs(rh) <= EPS10) + lp.phi = P->phi0; + else + lp.phi = asin(cosc * sinph0 + xy.y * sinc * cosph0 / rh); + if ((c = cosc - sinph0 * sin(lp.phi)) != 0. || xy.x != 0.) + lp.lam = atan2(xy.x * sinc * cosph0, c * rh); + break; + case N_POLE: + xy.y = -xy.y; + case S_POLE: + if (fabs(rh) <= EPS10) + lp.phi = P->phi0; + else + lp.phi = asin(P->mode == S_POLE ? - cosc : cosc); + lp.lam = (xy.x == 0. && xy.y == 0.) ? 0. : atan2(xy.x, xy.y); + break; + } + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { /* general initialization */ + double t; + + if (fabs((t = fabs(P->phi0)) - HALFPI) < EPS10) + P->mode = P->phi0 < 0. ? S_POLE : N_POLE; + else + P->mode = t > EPS10 ? OBLIQ : EQUIT; + P->phits = fabs(P->phits); + if (P->es) { + double X; + + switch (P->mode) { + case N_POLE: + case S_POLE: + if (fabs(P->phits - HALFPI) < EPS10) + P->akm1 = 2. * P->k0 / + sqrt(pow(1+P->e,1+P->e)*pow(1-P->e,1-P->e)); + else { + P->akm1 = cos(P->phits) / + pj_tsfn(P->phits, t = sin(P->phits), P->e); + t *= P->e; + P->akm1 /= sqrt(1. - t * t); + } + break; + case EQUIT: + P->akm1 = 2. * P->k0; + break; + case OBLIQ: + t = sin(P->phi0); + X = 2. * atan(ssfn_(P->phi0, t, P->e)) - HALFPI; + t *= P->e; + P->akm1 = 2. * P->k0 * cos(P->phi0) / sqrt(1. - t * t); + P->sinX1 = sin(X); + P->cosX1 = cos(X); + break; + } + P->inv = e_inverse; + P->fwd = e_forward; + } else { + switch (P->mode) { + case OBLIQ: + sinph0 = sin(P->phi0); + cosph0 = cos(P->phi0); + case EQUIT: + P->akm1 = 2. * P->k0; + break; + case S_POLE: + case N_POLE: + P->akm1 = fabs(P->phits - HALFPI) >= EPS10 ? + cos(P->phits) / tan(FORTPI - .5 * P->phits) : + 2. * P->k0 ; + break; + } + P->inv = s_inverse; + P->fwd = s_forward; + } + return P; +} +ENTRY0(stere) + P->phits = pj_param(P->params, "tlat_ts").i ? + P->phits = pj_param(P->params, "rlat_ts").f : HALFPI; +ENDENTRY(setup(P)) +ENTRY0(ups) + /* International Ellipsoid */ + P->phi0 = pj_param(P->params, "bsouth").i ? - HALFPI: HALFPI; + if (!P->es) E_ERROR(-34); + P->k0 = .994; + P->x0 = 2000000.; + P->y0 = 2000000.; + P->phits = HALFPI; + P->lam0 = 0.; +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_sterea.c b/src/3rdparty/proj/PJ_sterea.c new file mode 100644 index 00000000..162acf02 --- /dev/null +++ b/src/3rdparty/proj/PJ_sterea.c @@ -0,0 +1,82 @@ +/* +** libproj -- library of cartographic projections +** +** Copyright (c) 2003 Gerald I. Evenden +*/ +static const char +LIBPROJ_ID[] = "$Id: PJ_sterea.c 1504 2009-01-06 02:11:57Z warmerdam $"; +/* +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +#define PROJ_PARMS__ \ + double phic0; \ + double cosc0, sinc0; \ + double R2; \ + void *en; + +#define PJ_LIB__ +#include <projects.h> + +PROJ_HEAD(sterea, "Oblique Stereographic Alternative") "\n\tAzimuthal, Sph&Ell"; + +# define DEL_TOL 1.e-14 +# define MAX_ITER 10 + +FORWARD(e_forward); /* ellipsoid */ + double cosphi, sinphi, coslam, k; + + lp = pj_gauss(lp, P->en); + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + coslam = cos(lp.lam); + k = P->k0 * P->R2 / (1. + P->sinc0 * sinphi + P->cosc0 * cosphi * coslam); + xy.x = k * cosphi * sin(lp.lam); + xy.y = k * (P->cosc0 * sinphi - P->sinc0 * cosphi * coslam); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + double rho, c, sincc, coscc; + + xy.x /= P->k0; + xy.y /= P->k0; + if((rho = hypot(xy.x, xy.y))) { + c = 2. * atan2(rho, P->R2); + sincc = sin(c); + coscc = cos(c); + lp.phi = asin(coscc * P->sinc0 + xy.y * sincc * P->cosc0 / rho); + lp.lam = atan2(xy.x * sincc, rho * P->cosc0 * coscc - + xy.y * P->sinc0 * sincc); + } else { + lp.phi = P->phic0; + lp.lam = 0.; + } + return(pj_inv_gauss(lp, P->en)); +} +FREEUP; if (P) { if (P->en) free(P->en); free(P); } } +ENTRY0(sterea) + double R; + + if (!(P->en = pj_gauss_ini(P->e, P->phi0, &(P->phic0), &R))) E_ERROR_0; + P->sinc0 = sin(P->phic0); + P->cosc0 = cos(P->phic0); + P->R2 = 2. * R; + P->inv = e_inverse; + P->fwd = e_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_sts.c b/src/3rdparty/proj/PJ_sts.c new file mode 100644 index 00000000..f1557feb --- /dev/null +++ b/src/3rdparty/proj/PJ_sts.c @@ -0,0 +1,54 @@ +#define PROJ_PARMS__ \ + double C_x, C_y, C_p; \ + int tan_mode; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(kav5, "Kavraisky V") "\n\tPCyl., Sph."; +PROJ_HEAD(qua_aut, "Quartic Authalic") "\n\tPCyl., Sph."; +PROJ_HEAD(mbt_s, "McBryde-Thomas Flat-Polar Sine (No. 1)") "\n\tPCyl., Sph."; +PROJ_HEAD(fouc, "Foucaut") "\n\tPCyl., Sph."; +FORWARD(s_forward); /* spheroid */ + double c; + + xy.x = P->C_x * lp.lam * cos(lp.phi); + xy.y = P->C_y; + lp.phi *= P->C_p; + c = cos(lp.phi); + if (P->tan_mode) { + xy.x *= c * c; + xy.y *= tan(lp.phi); + } else { + xy.x /= c; + xy.y *= sin(lp.phi); + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double c; + + xy.y /= P->C_y; + c = cos(lp.phi = P->tan_mode ? atan(xy.y) : aasin(xy.y)); + lp.phi /= P->C_p; + lp.lam = xy.x / (P->C_x * cos(lp.phi)); + if (P->tan_mode) + lp.lam /= c * c; + else + lp.lam *= c; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P, double p, double q, int mode) { + P->es = 0.; + P->inv = s_inverse; + P->fwd = s_forward; + P->C_x = q / p; + P->C_y = p; + P->C_p = 1/ q; + P->tan_mode = mode; + return P; +} +ENTRY0(kav5) ENDENTRY(setup(P, 1.50488, 1.35439, 0)) +ENTRY0(qua_aut) ENDENTRY(setup(P, 2., 2., 0)) +ENTRY0(mbt_s) ENDENTRY(setup(P, 1.48875, 1.36509, 0)) +ENTRY0(fouc) ENDENTRY(setup(P, 2., 2., 1)) diff --git a/src/3rdparty/proj/PJ_tcc.c b/src/3rdparty/proj/PJ_tcc.c new file mode 100644 index 00000000..00cdb556 --- /dev/null +++ b/src/3rdparty/proj/PJ_tcc.c @@ -0,0 +1,17 @@ +#define PROJ_PARMS__ \ + double ap; +#define EPS10 1.e-10 +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(tcc, "Transverse Central Cylindrical") "\n\tCyl, Sph, no inv."; +FORWARD(s_forward); /* spheroid */ + double b, bt; + + b = cos(lp.phi) * sin(lp.lam); + if ((bt = 1. - b * b) < EPS10) F_ERROR; + xy.x = b / sqrt(bt); + xy.y = atan2(tan(lp.phi) , cos(lp.lam)); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(tcc) P->es = 0.; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_tcea.c b/src/3rdparty/proj/PJ_tcea.c new file mode 100644 index 00000000..3626fa17 --- /dev/null +++ b/src/3rdparty/proj/PJ_tcea.c @@ -0,0 +1,27 @@ +#define PROJ_PARMS__ \ + double rk0; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(tcea, "Transverse Cylindrical Equal Area") "\n\tCyl, Sph"; +FORWARD(s_forward); /* spheroid */ + xy.x = P->rk0 * cos(lp.phi) * sin(lp.lam); + xy.y = P->k0 * (atan2(tan(lp.phi), cos(lp.lam)) - P->phi0); + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double t; + + xy.y = xy.y * P->rk0 + P->phi0; + xy.x *= P->k0; + t = sqrt(1. - xy.x * xy.x); + lp.phi = asin(t * sin(xy.y)); + lp.lam = atan2(xy.x, t * cos(xy.y)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(tcea) + P->rk0 = 1 / P->k0; + P->inv = s_inverse; + P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_tmerc.c b/src/3rdparty/proj/PJ_tmerc.c new file mode 100644 index 00000000..14cf2e8e --- /dev/null +++ b/src/3rdparty/proj/PJ_tmerc.c @@ -0,0 +1,175 @@ +#define PROJ_PARMS__ \ + double esp; \ + double ml0; \ + double *en; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(tmerc, "Transverse Mercator") "\n\tCyl, Sph&Ell"; +PROJ_HEAD(utm, "Universal Transverse Mercator (UTM)") + "\n\tCyl, Sph\n\tzone= south"; +#define EPS10 1.e-10 +#define aks0 P->esp +#define aks5 P->ml0 +#define FC1 1. +#define FC2 .5 +#define FC3 .16666666666666666666 +#define FC4 .08333333333333333333 +#define FC5 .05 +#define FC6 .03333333333333333333 +#define FC7 .02380952380952380952 +#define FC8 .01785714285714285714 +FORWARD(e_forward); /* ellipse */ + double al, als, n, cosphi, sinphi, t; + + /* + * Fail if our longitude is more than 90 degrees from the + * central meridian since the results are essentially garbage. + * Is error -20 really an appropriate return value? + * + * http://trac.osgeo.org/proj/ticket/5 + */ + if( lp.lam < -HALFPI || lp.lam > HALFPI ) + { + xy.x = HUGE_VAL; + xy.y = HUGE_VAL; + pj_errno = -14; + return xy; + } + + sinphi = sin(lp.phi); cosphi = cos(lp.phi); + t = fabs(cosphi) > 1e-10 ? sinphi/cosphi : 0.; + t *= t; + al = cosphi * lp.lam; + als = al * al; + al /= sqrt(1. - P->es * sinphi * sinphi); + n = P->esp * cosphi * cosphi; + xy.x = P->k0 * al * (FC1 + + FC3 * als * (1. - t + n + + FC5 * als * (5. + t * (t - 18.) + n * (14. - 58. * t) + + FC7 * als * (61. + t * ( t * (179. - t) - 479. ) ) + ))); + xy.y = P->k0 * (pj_mlfn(lp.phi, sinphi, cosphi, P->en) - P->ml0 + + sinphi * al * lp.lam * FC2 * ( 1. + + FC4 * als * (5. - t + n * (9. + 4. * n) + + FC6 * als * (61. + t * (t - 58.) + n * (270. - 330 * t) + + FC8 * als * (1385. + t * ( t * (543. - t) - 3111.) ) + )))); + return (xy); +} +FORWARD(s_forward); /* sphere */ + double b, cosphi; + + /* + * Fail if our longitude is more than 90 degrees from the + * central meridian since the results are essentially garbage. + * Is error -20 really an appropriate return value? + * + * http://trac.osgeo.org/proj/ticket/5 + */ + if( lp.lam < -HALFPI || lp.lam > HALFPI ) + { + xy.x = HUGE_VAL; + xy.y = HUGE_VAL; + pj_errno = -14; + return xy; + } + + b = (cosphi = cos(lp.phi)) * sin(lp.lam); + if (fabs(fabs(b) - 1.) <= EPS10) F_ERROR; + xy.x = aks5 * log((1. + b) / (1. - b)); + if ((b = fabs( xy.y = cosphi * cos(lp.lam) / sqrt(1. - b * b) )) >= 1.) { + if ((b - 1.) > EPS10) F_ERROR + else xy.y = 0.; + } else + xy.y = acos(xy.y); + if (lp.phi < 0.) xy.y = -xy.y; + xy.y = aks0 * (xy.y - P->phi0); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + double n, con, cosphi, d, ds, sinphi, t; + + lp.phi = pj_inv_mlfn(P->ml0 + xy.y / P->k0, P->es, P->en); + if (fabs(lp.phi) >= HALFPI) { + lp.phi = xy.y < 0. ? -HALFPI : HALFPI; + lp.lam = 0.; + } else { + sinphi = sin(lp.phi); + cosphi = cos(lp.phi); + t = fabs(cosphi) > 1e-10 ? sinphi/cosphi : 0.; + n = P->esp * cosphi * cosphi; + d = xy.x * sqrt(con = 1. - P->es * sinphi * sinphi) / P->k0; + con *= t; + t *= t; + ds = d * d; + lp.phi -= (con * ds / (1.-P->es)) * FC2 * (1. - + ds * FC4 * (5. + t * (3. - 9. * n) + n * (1. - 4 * n) - + ds * FC6 * (61. + t * (90. - 252. * n + + 45. * t) + 46. * n + - ds * FC8 * (1385. + t * (3633. + t * (4095. + 1574. * t)) ) + ))); + lp.lam = d*(FC1 - + ds*FC3*( 1. + 2.*t + n - + ds*FC5*(5. + t*(28. + 24.*t + 8.*n) + 6.*n + - ds * FC7 * (61. + t * (662. + t * (1320. + 720. * t)) ) + ))) / cosphi; + } + return (lp); +} +INVERSE(s_inverse); /* sphere */ + double h, g; + + h = exp(xy.x / aks0); + g = .5 * (h - 1. / h); + h = cos(P->phi0 + xy.y / aks0); + lp.phi = asin(sqrt((1. - h * h) / (1. + g * g))); + if (xy.y < 0.) lp.phi = -lp.phi; + lp.lam = (g || h) ? atan2(g, h) : 0.; + return (lp); +} +FREEUP; + if (P) { + if (P->en) + pj_dalloc(P->en); + pj_dalloc(P); + } +} + static PJ * +setup(PJ *P) { /* general initialization */ + if (P->es) { + if (!(P->en = pj_enfn(P->es))) + E_ERROR_0; + P->ml0 = pj_mlfn(P->phi0, sin(P->phi0), cos(P->phi0), P->en); + P->esp = P->es / (1. - P->es); + P->inv = e_inverse; + P->fwd = e_forward; + } else { + aks0 = P->k0; + aks5 = .5 * aks0; + P->inv = s_inverse; + P->fwd = s_forward; + } + return P; +} +ENTRY1(tmerc, en) +ENDENTRY(setup(P)) +ENTRY1(utm, en) + int zone; + + if (!P->es) E_ERROR(-34); + P->y0 = pj_param(P->params, "bsouth").i ? 10000000. : 0.; + P->x0 = 500000.; + if (pj_param(P->params, "tzone").i) /* zone input ? */ + if ((zone = pj_param(P->params, "izone").i) > 0 && zone <= 60) + --zone; + else + E_ERROR(-35) + else /* nearest central meridian input */ + if ((zone = floor((adjlon(P->lam0) + PI) * 30. / PI)) < 0) + zone = 0; + else if (zone >= 60) + zone = 59; + P->lam0 = (zone + .5) * PI / 30. - PI; + P->k0 = 0.9996; + P->phi0 = 0.; +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_tpeqd.c b/src/3rdparty/proj/PJ_tpeqd.c new file mode 100644 index 00000000..b4e76aa0 --- /dev/null +++ b/src/3rdparty/proj/PJ_tpeqd.c @@ -0,0 +1,76 @@ +#define PROJ_PARMS__ \ + double cp1, sp1, cp2, sp2, ccs, cs, sc, r2z0, z02, dlam2; \ + double hz0, thz0, rhshz0, ca, sa, lp, lamc; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(tpeqd, "Two Point Equidistant") + "\n\tMisc Sph\n\tlat_1= lon_1= lat_2= lon_2="; +FORWARD(s_forward); /* sphere */ + double t, z1, z2, dl1, dl2, sp, cp; + + sp = sin(lp.phi); + cp = cos(lp.phi); + z1 = aacos(P->sp1 * sp + P->cp1 * cp * cos(dl1 = lp.lam + P->dlam2)); + z2 = aacos(P->sp2 * sp + P->cp2 * cp * cos(dl2 = lp.lam - P->dlam2)); + z1 *= z1; + z2 *= z2; + xy.x = P->r2z0 * (t = z1 - z2); + t = P->z02 - t; + xy.y = P->r2z0 * asqrt(4. * P->z02 * z2 - t * t); + if ((P->ccs * sp - cp * (P->cs * sin(dl1) - P->sc * sin(dl2))) < 0.) + xy.y = -xy.y; + return xy; +} +INVERSE(s_inverse); /* sphere */ + double cz1, cz2, s, d, cp, sp; + + cz1 = cos(hypot(xy.y, xy.x + P->hz0)); + cz2 = cos(hypot(xy.y, xy.x - P->hz0)); + s = cz1 + cz2; + d = cz1 - cz2; + lp.lam = - atan2(d, (s * P->thz0)); + lp.phi = aacos(hypot(P->thz0 * s, d) * P->rhshz0); + if ( xy.y < 0. ) + lp.phi = - lp.phi; + /* lam--phi now in system relative to P1--P2 base equator */ + sp = sin(lp.phi); + cp = cos(lp.phi); + lp.phi = aasin(P->sa * sp + P->ca * cp * (s = cos(lp.lam -= P->lp))); + lp.lam = atan2(cp * sin(lp.lam), P->sa * cp * s - P->ca * sp) + P->lamc; + return lp; +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(tpeqd) + double lam_1, lam_2, phi_1, phi_2, A12, pp; + + /* get control point locations */ + phi_1 = pj_param(P->params, "rlat_1").f; + lam_1 = pj_param(P->params, "rlon_1").f; + phi_2 = pj_param(P->params, "rlat_2").f; + lam_2 = pj_param(P->params, "rlon_2").f; + if (phi_1 == phi_2 && lam_1 == lam_2) E_ERROR(-25); + P->lam0 = adjlon(0.5 * (lam_1 + lam_2)); + P->dlam2 = adjlon(lam_2 - lam_1); + P->cp1 = cos(phi_1); + P->cp2 = cos(phi_2); + P->sp1 = sin(phi_1); + P->sp2 = sin(phi_2); + P->cs = P->cp1 * P->sp2; + P->sc = P->sp1 * P->cp2; + P->ccs = P->cp1 * P->cp2 * sin(P->dlam2); + P->z02 = aacos(P->sp1 * P->sp2 + P->cp1 * P->cp2 * cos(P->dlam2)); + P->hz0 = .5 * P->z02; + A12 = atan2(P->cp2 * sin(P->dlam2), + P->cp1 * P->sp2 - P->sp1 * P->cp2 * cos(P->dlam2)); + P->ca = cos(pp = aasin(P->cp1 * sin(A12))); + P->sa = sin(pp); + P->lp = adjlon(atan2(P->cp1 * cos(A12), P->sp1) - P->hz0); + P->dlam2 *= .5; + P->lamc = HALFPI - atan2(sin(A12) * P->sp1, cos(A12)) - P->dlam2; + P->thz0 = tan(P->hz0); + P->rhshz0 = .5 / sin(P->hz0); + P->r2z0 = 0.5 / P->z02; + P->z02 *= P->z02; + P->inv = s_inverse; P->fwd = s_forward; + P->es = 0.; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_urm5.c b/src/3rdparty/proj/PJ_urm5.c new file mode 100644 index 00000000..70a5a1d6 --- /dev/null +++ b/src/3rdparty/proj/PJ_urm5.c @@ -0,0 +1,28 @@ +#define PROJ_PARMS__ \ + double m, rmn, q3, n; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(urm5, "Urmaev V") "\n\tPCyl., Sph.\n\tn= q= alphi="; +FORWARD(s_forward); /* spheroid */ + double t; + + t = lp.phi = aasin(P->n * sin(lp.phi)); + xy.x = P->m * lp.lam * cos(lp.phi); + t *= t; + xy.y = lp.phi * (1. + t * P->q3) * P->rmn; + return xy; +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(urm5) + double alpha, t; + + P->n = pj_param(P->params, "dn").f; + P->q3 = pj_param(P->params, "dq").f / 3.; + alpha = pj_param(P->params, "ralpha").f; + t = P->n * sin(alpha); + P->m = cos(alpha) / sqrt(1. - t * t); + P->rmn = 1. / (P->m * P->n); + P->es = 0.; + P->inv = 0; + P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_urmfps.c b/src/3rdparty/proj/PJ_urmfps.c new file mode 100644 index 00000000..4a4f31a9 --- /dev/null +++ b/src/3rdparty/proj/PJ_urmfps.c @@ -0,0 +1,40 @@ +#define PROJ_PARMS__ \ + double n, C_y; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(urmfps, "Urmaev Flat-Polar Sinusoidal") "\n\tPCyl, Sph.\n\tn="; +PROJ_HEAD(wag1, "Wagner I (Kavraisky VI)") "\n\tPCyl, Sph."; +#define C_x 0.8773826753 +#define Cy 1.139753528477 +FORWARD(s_forward); /* sphere */ + lp.phi = aasin(P->n * sin(lp.phi)); + xy.x = C_x * lp.lam * cos(lp.phi); + xy.y = P->C_y * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* sphere */ + xy.y /= P->C_y; + lp.phi = aasin(sin(xy.y) / P->n); + lp.lam = xy.x / (C_x * cos(xy.y)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } + static PJ * +setup(PJ *P) { + P->C_y = Cy / P->n; + P->es = 0.; + P->inv = s_inverse; + P->fwd = s_forward; + return P; +} +ENTRY0(urmfps) + if (pj_param(P->params, "tn").i) { + P->n = pj_param(P->params, "dn").f; + if (P->n <= 0. || P->n > 1.) + E_ERROR(-40) + } else + E_ERROR(-40) +ENDENTRY(setup(P)) +ENTRY0(wag1) + P->n = 0.8660254037844386467637231707; +ENDENTRY(setup(P)) diff --git a/src/3rdparty/proj/PJ_vandg.c b/src/3rdparty/proj/PJ_vandg.c new file mode 100644 index 00000000..784674b7 --- /dev/null +++ b/src/3rdparty/proj/PJ_vandg.c @@ -0,0 +1,78 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(vandg, "van der Grinten (I)") "\n\tMisc Sph"; +# define TOL 1.e-10 +# define THIRD .33333333333333333333 +# define TWO_THRD .66666666666666666666 +# define C2_27 .07407407407407407407 +# define PI4_3 4.18879020478639098458 +# define PISQ 9.86960440108935861869 +# define TPISQ 19.73920880217871723738 +# define HPISQ 4.93480220054467930934 +FORWARD(s_forward); /* spheroid */ + double al, al2, g, g2, p2; + + p2 = fabs(lp.phi / HALFPI); + if ((p2 - TOL) > 1.) F_ERROR; + if (p2 > 1.) + p2 = 1.; + if (fabs(lp.phi) <= TOL) { + xy.x = lp.lam; + xy.y = 0.; + } else if (fabs(lp.lam) <= TOL || fabs(p2 - 1.) < TOL) { + xy.x = 0.; + xy.y = PI * tan(.5 * asin(p2)); + if (lp.phi < 0.) xy.y = -xy.y; + } else { + al = .5 * fabs(PI / lp.lam - lp.lam / PI); + al2 = al * al; + g = sqrt(1. - p2 * p2); + g = g / (p2 + g - 1.); + g2 = g * g; + p2 = g * (2. / p2 - 1.); + p2 = p2 * p2; + xy.x = g - p2; g = p2 + al2; + xy.x = PI * (al * xy.x + sqrt(al2 * xy.x * xy.x - g * (g2 - p2))) / g; + if (lp.lam < 0.) xy.x = -xy.x; + xy.y = fabs(xy.x / PI); + xy.y = 1. - xy.y * (xy.y + 2. * al); + if (xy.y < -TOL) F_ERROR; + if (xy.y < 0.) xy.y = 0.; + else xy.y = sqrt(xy.y) * (lp.phi < 0. ? -PI : PI); + } + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + double t, c0, c1, c2, c3, al, r2, r, m, d, ay, x2, y2; + + x2 = xy.x * xy.x; + if ((ay = fabs(xy.y)) < TOL) { + lp.phi = 0.; + t = x2 * x2 + TPISQ * (x2 + HPISQ); + lp.lam = fabs(xy.x) <= TOL ? 0. : + .5 * (x2 - PISQ + sqrt(t)) / xy.x; + return (lp); + } + y2 = xy.y * xy.y; + r = x2 + y2; r2 = r * r; + c1 = - PI * ay * (r + PISQ); + c3 = r2 + TWOPI * (ay * r + PI * (y2 + PI * (ay + HALFPI))); + c2 = c1 + PISQ * (r - 3. * y2); + c0 = PI * ay; + c2 /= c3; + al = c1 / c3 - THIRD * c2 * c2; + m = 2. * sqrt(-THIRD * al); + d = C2_27 * c2 * c2 * c2 + (c0 * c0 - THIRD * c2 * c1) / c3; + if (((t = fabs(d = 3. * d / (al * m))) - TOL) <= 1.) { + d = t > 1. ? (d > 0. ? 0. : PI) : acos(d); + lp.phi = PI * (m * cos(d * THIRD + PI4_3) - THIRD * c2); + if (xy.y < 0.) lp.phi = -lp.phi; + t = r2 + TPISQ * (x2 - y2 + HPISQ); + lp.lam = fabs(xy.x) <= TOL ? 0. : + .5 * (r - PISQ + (t <= 0. ? 0. : sqrt(t))) / xy.x; + } else + I_ERROR; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(vandg) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_vandg2.c b/src/3rdparty/proj/PJ_vandg2.c new file mode 100644 index 00000000..7bfa8f4e --- /dev/null +++ b/src/3rdparty/proj/PJ_vandg2.c @@ -0,0 +1,45 @@ +# define TOL 1e-10 +# define TWORPI 0.63661977236758134308 +#define PROJ_PARMS__ \ + int vdg3; +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(vandg2, "van der Grinten II") "\n\tMisc Sph, no inv."; +PROJ_HEAD(vandg3, "van der Grinten III") "\n\tMisc Sph, no inv."; +FORWARD(s_forward); /* spheroid */ + double x1, at, bt, ct; + + bt = fabs(TWORPI * lp.phi); + if ((ct = 1. - bt * bt) < 0.) + ct = 0.; + else + ct = sqrt(ct); + if (fabs(lp.lam) < TOL) { + xy.x = 0.; + xy.y = PI * (lp.phi < 0. ? -bt : bt) / (1. + ct); + } else { + at = 0.5 * fabs(PI / lp.lam - lp.lam / PI); + if (P->vdg3) { + x1 = bt / (1. + ct); + xy.x = PI * (sqrt(at * at + 1. - x1 * x1) - at); + xy.y = PI * x1; + } else { + x1 = (ct * sqrt(1. + at * at) - at * ct * ct) / + (1. + at * at * bt * bt); + xy.x = PI * x1; + xy.y = PI * sqrt(1. - x1 * (x1 + 2. * at) + TOL); + } + if ( lp.lam < 0.) xy.x = -xy.x; + if ( lp.phi < 0.) xy.y = -xy.y; + } + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(vandg2) + P->vdg3 = 0; + P->inv = 0; P->fwd = s_forward; +ENDENTRY(P) +ENTRY0(vandg3) + P->vdg3 = 1; + P->es = 0.; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_vandg4.c b/src/3rdparty/proj/PJ_vandg4.c new file mode 100644 index 00000000..d6705031 --- /dev/null +++ b/src/3rdparty/proj/PJ_vandg4.c @@ -0,0 +1,41 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(vandg4, "van der Grinten IV") "\n\tMisc Sph, no inv."; +#define TOL 1e-10 +#define TWORPI 0.63661977236758134308 +FORWARD(s_forward); /* spheroid */ + double x1, t, bt, ct, ft, bt2, ct2, dt, dt2; + + if (fabs(lp.phi) < TOL) { + xy.x = lp.lam; + xy.y = 0.; + } else if (fabs(lp.lam) < TOL || fabs(fabs(lp.phi) - HALFPI) < TOL) { + xy.x = 0.; + xy.y = lp.phi; + } else { + bt = fabs(TWORPI * lp.phi); + bt2 = bt * bt; + ct = 0.5 * (bt * (8. - bt * (2. + bt2)) - 5.) + / (bt2 * (bt - 1.)); + ct2 = ct * ct; + dt = TWORPI * lp.lam; + dt = dt + 1. / dt; + dt = sqrt(dt * dt - 4.); + if ((fabs(lp.lam) - HALFPI) < 0.) dt = -dt; + dt2 = dt * dt; + x1 = bt + ct; x1 *= x1; + t = bt + 3.*ct; + ft = x1 * (bt2 + ct2 * dt2 - 1.) + (1.-bt2) * ( + bt2 * (t * t + 4. * ct2) + + ct2 * (12. * bt * ct + 4. * ct2) ); + x1 = (dt*(x1 + ct2 - 1.) + 2.*sqrt(ft)) / + (4.* x1 + dt2); + xy.x = HALFPI * x1; + xy.y = HALFPI * sqrt(1. + dt * fabs(x1) - x1 * x1); + if (lp.lam < 0.) xy.x = -xy.x; + if (lp.phi < 0.) xy.y = -xy.y; + } + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(vandg4) P->es = 0.; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_wag2.c b/src/3rdparty/proj/PJ_wag2.c new file mode 100644 index 00000000..96fd5fcb --- /dev/null +++ b/src/3rdparty/proj/PJ_wag2.c @@ -0,0 +1,21 @@ +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(wag2, "Wagner II") "\n\tPCyl., Sph."; +#define C_x 0.92483 +#define C_y 1.38725 +#define C_p1 0.88022 +#define C_p2 0.88550 +FORWARD(s_forward); /* spheroid */ + lp.phi = aasin(C_p1 * sin(C_p2 * lp.phi)); + xy.x = C_x * lp.lam * cos(lp.phi); + xy.y = C_y * lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y / C_y; + lp.lam = xy.x / (C_x * cos(lp.phi)); + lp.phi = aasin(sin(lp.phi) / C_p1) / C_p2; + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(wag2) P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_wag3.c b/src/3rdparty/proj/PJ_wag3.c new file mode 100644 index 00000000..fbab4c49 --- /dev/null +++ b/src/3rdparty/proj/PJ_wag3.c @@ -0,0 +1,24 @@ +#define PROJ_PARMS__ \ + double C_x; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(wag3, "Wagner III") "\n\tPCyl., Sph.\n\tlat_ts="; +#define TWOTHIRD 0.6666666666666666666667 +FORWARD(s_forward); /* spheroid */ + xy.x = P->C_x * lp.lam * cos(TWOTHIRD * lp.phi); + xy.y = lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y; + lp.lam = xy.x / (P->C_x * cos(TWOTHIRD * lp.phi)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(wag3) + double ts; + + ts = pj_param(P->params, "rlat_ts").f; + P->C_x = cos(ts) / cos(2.*ts/3.); + P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_wag7.c b/src/3rdparty/proj/PJ_wag7.c new file mode 100644 index 00000000..5f6f1bb1 --- /dev/null +++ b/src/3rdparty/proj/PJ_wag7.c @@ -0,0 +1,14 @@ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(wag7, "Wagner VII") "\n\tMisc Sph, no inv."; +FORWARD(s_forward); /* sphere */ + double theta, ct, D; + + theta = asin(xy.y = 0.90630778703664996 * sin(lp.phi)); + xy.x = 2.66723 * (ct = cos(theta)) * sin(lp.lam /= 3.); + xy.y *= 1.24104 * (D = 1/(sqrt(0.5 * (1 + ct * cos(lp.lam))))); + xy.x *= D; + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(wag7) P->fwd = s_forward; P->inv = 0; P->es = 0.; ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_wink1.c b/src/3rdparty/proj/PJ_wink1.c new file mode 100644 index 00000000..214e6f4f --- /dev/null +++ b/src/3rdparty/proj/PJ_wink1.c @@ -0,0 +1,20 @@ +#define PROJ_PARMS__ \ + double cosphi1; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(wink1, "Winkel I") "\n\tPCyl., Sph.\n\tlat_ts="; +FORWARD(s_forward); /* spheroid */ + xy.x = .5 * lp.lam * (P->cosphi1 + cos(lp.phi)); + xy.y = lp.phi; + return (xy); +} +INVERSE(s_inverse); /* spheroid */ + lp.phi = xy.y; + lp.lam = 2. * xy.x / (P->cosphi1 + cos(lp.phi)); + return (lp); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(wink1) + P->cosphi1 = cos(pj_param(P->params, "rlat_ts").f); + P->es = 0.; P->inv = s_inverse; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/PJ_wink2.c b/src/3rdparty/proj/PJ_wink2.c new file mode 100644 index 00000000..8eace009 --- /dev/null +++ b/src/3rdparty/proj/PJ_wink2.c @@ -0,0 +1,34 @@ +#define PROJ_PARMS__ \ + double cosphi1; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(wink2, "Winkel II") "\n\tPCyl., Sph., no inv.\n\tlat_1="; +#define MAX_ITER 10 +#define LOOP_TOL 1e-7 +#define TWO_D_PI 0.636619772367581343 +FORWARD(s_forward); /* spheroid */ + double k, V; + int i; + + xy.y = lp.phi * TWO_D_PI; + k = PI * sin(lp.phi); + lp.phi *= 1.8; + for (i = MAX_ITER; i ; --i) { + lp.phi -= V = (lp.phi + sin(lp.phi) - k) / + (1. + cos(lp.phi)); + if (fabs(V) < LOOP_TOL) + break; + } + if (!i) + lp.phi = (lp.phi < 0.) ? -HALFPI : HALFPI; + else + lp.phi *= 0.5; + xy.x = 0.5 * lp.lam * (cos(lp.phi) + P->cosphi1); + xy.y = FORTPI * (sin(lp.phi) + xy.y); + return (xy); +} +FREEUP; if (P) pj_dalloc(P); } +ENTRY0(wink2) + P->cosphi1 = cos(pj_param(P->params, "rlat_1").f); + P->es = 0.; P->inv = 0; P->fwd = s_forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/aasincos.c b/src/3rdparty/proj/aasincos.c new file mode 100644 index 00000000..460590e4 --- /dev/null +++ b/src/3rdparty/proj/aasincos.c @@ -0,0 +1,33 @@ +/* arc sin, cosine, tan2 and sqrt that will NOT fail */ +#include <projects.h> +#define ONE_TOL 1.00000000000001 +#define TOL 0.000000001 +#define ATOL 1e-50 + double +aasin(double v) { + double av; + + if ((av = fabs(v)) >= 1.) { + if (av > ONE_TOL) + pj_errno = -19; + return (v < 0. ? -HALFPI : HALFPI); + } + return asin(v); +} + double +aacos(double v) { + double av; + + if ((av = fabs(v)) >= 1.) { + if (av > ONE_TOL) + pj_errno = -19; + return (v < 0. ? PI : 0.); + } + return acos(v); +} + double +asqrt(double v) { return ((v <= 0) ? 0. : sqrt(v)); } + double +aatan2(double n, double d) { + return ((fabs(n) < ATOL && fabs(d) < ATOL) ? 0. : atan2(n,d)); +} diff --git a/src/3rdparty/proj/adjlon.c b/src/3rdparty/proj/adjlon.c new file mode 100644 index 00000000..09b3b14b --- /dev/null +++ b/src/3rdparty/proj/adjlon.c @@ -0,0 +1,15 @@ +/* reduce argument to range +/- PI */ +#include <math.h> +#include <projects.h> + +#define SPI 3.14159265359 +#define TWOPI 6.2831853071795864769 +#define ONEPI 3.14159265358979323846 + +double adjlon (double lon) { + if (fabs(lon) <= SPI) return( lon ); + lon += ONEPI; /* adjust to 0..2pi rad */ + lon -= TWOPI * floor(lon / TWOPI); /* remove integral # of 'revolutions'*/ + lon -= ONEPI; /* adjust back to -pi..pi rad */ + return( lon ); +} diff --git a/src/3rdparty/proj/bch2bps.c b/src/3rdparty/proj/bch2bps.c new file mode 100644 index 00000000..68a4737d --- /dev/null +++ b/src/3rdparty/proj/bch2bps.c @@ -0,0 +1,140 @@ +/* convert bivariate w Chebyshev series to w Power series */ +#include <projects.h> +/* basic support procedures */ + static void /* clear vector to zero */ +clear(projUV *p, int n) { static const projUV c = {0., 0.}; while (n--) *p++ = c; } + static void /* clear matrix rows to zero */ +bclear(projUV **p, int n, int m) { while (n--) clear(*p++, m); } + static void /* move vector */ +bmove(projUV *a, projUV *b, int n) { while (n--) *a++ = *b++; } + static void /* a <- m * b - c */ +submop(projUV *a, double m, projUV *b, projUV *c, int n) { + while (n--) { + a->u = m * b->u - c->u; + a++->v = m * b++->v - c++->v; + } +} + static void /* a <- b - c */ +subop(projUV *a, projUV *b, projUV *c, int n) { + while (n--) { + a->u = b->u - c->u; + a++->v = b++->v - c++->v; + } +} + static void /* multiply vector a by scalar m */ +dmult(projUV *a, double m, int n) { while(n--) { a->u *= m; a->v *= m; ++a; } } + static void /* row adjust a[] <- a[] - m * b[] */ +dadd(projUV *a, projUV *b, double m, int n) { + while(n--) { + a->u -= m * b->u; + a++->v -= m * b++->v; + } +} + static void /* convert row to pover series */ +rows(projUV *c, projUV *d, int n) { + projUV sv, *dd; + int j, k; + + dd = (projUV *)vector1(n-1, sizeof(projUV)); + sv.u = sv.v = 0.; + for (j = 0; j < n; ++j) d[j] = dd[j] = sv; + d[0] = c[n-1]; + for (j = n-2; j >= 1; --j) { + for (k = n-j; k >= 1; --k) { + sv = d[k]; + d[k].u = 2. * d[k-1].u - dd[k].u; + d[k].v = 2. * d[k-1].v - dd[k].v; + dd[k] = sv; + } + sv = d[0]; + d[0].u = -dd[0].u + c[j].u; + d[0].v = -dd[0].v + c[j].v; + dd[0] = sv; + } + for (j = n-1; j >= 1; --j) { + d[j].u = d[j-1].u - dd[j].u; + d[j].v = d[j-1].v - dd[j].v; + } + d[0].u = -dd[0].u + .5 * c[0].u; + d[0].v = -dd[0].v + .5 * c[0].v; + pj_dalloc(dd); +} + static void /* convert columns to power series */ +cols(projUV **c, projUV **d, int nu, int nv) { + projUV *sv, **dd; + int j, k; + + dd = (projUV **)vector2(nu, nv, sizeof(projUV)); + sv = (projUV *)vector1(nv, sizeof(projUV)); + bclear(d, nu, nv); + bclear(dd, nu, nv); + bmove(d[0], c[nu-1], nv); + for (j = nu-2; j >= 1; --j) { + for (k = nu-j; k >= 1; --k) { + bmove(sv, d[k], nv); + submop(d[k], 2., d[k-1], dd[k], nv); + bmove(dd[k], sv, nv); + } + bmove(sv, d[0], nv); + subop(d[0], c[j], dd[0], nv); + bmove(dd[0], sv, nv); + } + for (j = nu-1; j >= 1; --j) + subop(d[j], d[j-1], dd[j], nv); + submop(d[0], .5, c[0], dd[0], nv); + freev2((void **) dd, nu); + pj_dalloc(sv); +} + static void /* row adjust for range -1 to 1 to a to b */ +rowshft(double a, double b, projUV *d, int n) { + int k, j; + double fac, cnst; + + cnst = 2. / (b - a); + fac = cnst; + for (j = 1; j < n; ++j) { + d[j].u *= fac; + d[j].v *= fac; + fac *= cnst; + } + cnst = .5 * (a + b); + for (j = 0; j <= n-2; ++j) + for (k = n - 2; k >= j; --k) { + d[k].u -= cnst * d[k+1].u; + d[k].v -= cnst * d[k+1].v; + } +} + static void /* column adjust for range -1 to 1 to a to b */ +colshft(double a, double b, projUV **d, int n, int m) { + int k, j; + double fac, cnst; + + cnst = 2. / (b - a); + fac = cnst; + for (j = 1; j < n; ++j) { + dmult(d[j], fac, m); + fac *= cnst; + } + cnst = .5 * (a + b); + for (j = 0; j <= n-2; ++j) + for (k = n - 2; k >= j; --k) + dadd(d[k], d[k+1], cnst, m); +} + int /* entry point */ +bch2bps(projUV a, projUV b, projUV **c, int nu, int nv) { + projUV **d; + int i; + + if (nu < 1 || nv < 1 || !(d = (projUV **)vector2(nu, nv, sizeof(projUV)))) + return 0; + /* do rows to power series */ + for (i = 0; i < nu; ++i) { + rows(c[i], d[i], nv); + rowshft(a.v, b.v, d[i], nv); + } + /* do columns to power series */ + cols(d, c, nu, nv); + colshft(a.u, b.u, c, nu, nv); + freev2((void **) d, nu); + return 1; +} diff --git a/src/3rdparty/proj/bchgen.c b/src/3rdparty/proj/bchgen.c new file mode 100644 index 00000000..fe2ffe6c --- /dev/null +++ b/src/3rdparty/proj/bchgen.c @@ -0,0 +1,58 @@ +/* generate double bivariate Chebychev polynomial */ +#include <projects.h> + int +bchgen(projUV a, projUV b, int nu, int nv, projUV **f, projUV(*func)(projUV)) { + int i, j, k; + projUV arg, *t, bma, bpa, *c; + double d, fac; + + bma.u = 0.5 * (b.u - a.u); bma.v = 0.5 * (b.v - a.v); + bpa.u = 0.5 * (b.u + a.u); bpa.v = 0.5 * (b.v + a.v); + for ( i = 0; i < nu; ++i) { + arg.u = cos(PI * (i + 0.5) / nu) * bma.u + bpa.u; + for ( j = 0; j < nv; ++j) { + arg.v = cos(PI * (j + 0.5) / nv) * bma.v + bpa.v; + f[i][j] = (*func)(arg); + if ((f[i][j]).u == HUGE_VAL) + return(1); + } + } + if (!(c = (projUV *) vector1(nu, sizeof(projUV)))) return 1; + fac = 2. / nu; + for ( j = 0; j < nv ; ++j) { + for ( i = 0; i < nu; ++i) { + arg.u = arg.v = 0.; + for (k = 0; k < nu; ++k) { + d = cos(PI * i * (k + .5) / nu); + arg.u += f[k][j].u * d; + arg.v += f[k][j].v * d; + } + arg.u *= fac; + arg.v *= fac; + c[i] = arg; + } + for (i = 0; i < nu; ++i) + f[i][j] = c[i]; + } + pj_dalloc(c); + if (!(c = (projUV*) vector1(nv, sizeof(projUV)))) return 1; + fac = 2. / nv; + for ( i = 0; i < nu; ++i) { + t = f[i]; + for (j = 0; j < nv; ++j) { + arg.u = arg.v = 0.; + for (k = 0; k < nv; ++k) { + d = cos(PI * j * (k + .5) / nv); + arg.u += t[k].u * d; + arg.v += t[k].v * d; + } + arg.u *= fac; + arg.v *= fac; + c[j] = arg; + } + f[i] = c; + c = t; + } + pj_dalloc(c); + return(0); +} diff --git a/src/3rdparty/proj/biveval.c b/src/3rdparty/proj/biveval.c new file mode 100644 index 00000000..40f2af41 --- /dev/null +++ b/src/3rdparty/proj/biveval.c @@ -0,0 +1,85 @@ +/* procedures for evaluating Tseries */ +# include <projects.h> +# define NEAR_ONE 1.00001 +static double ceval(struct PW_COEF *C, int n, projUV w, projUV w2) { + double d=0, dd=0, vd, vdd, tmp, *c; + int j; + + for (C += n ; n-- ; --C ) { + if (j = C->m) { + vd = vdd = 0.; + for (c = C->c + --j; j ; --j ) { + vd = w2.v * (tmp = vd) - vdd + *c--; + vdd = tmp; + } + d = w2.u * (tmp = d) - dd + w.v * vd - vdd + 0.5 * *c; + } else + d = w2.u * (tmp = d) - dd; + dd = tmp; + } + if (j = C->m) { + vd = vdd = 0.; + for (c = C->c + --j; j ; --j ) { + vd = w2.v * (tmp = vd) - vdd + *c--; + vdd = tmp; + } + return (w.u * d - dd + 0.5 * ( w.v * vd - vdd + 0.5 * *c )); + } else + return (w.u * d - dd); +} + projUV /* bivariate Chebyshev polynomial entry point */ +bcheval(projUV in, Tseries *T) { + projUV w2, w; + projUV out; + /* scale to +-1 */ + w.u = ( in.u + in.u - T->a.u ) * T->b.u; + w.v = ( in.v + in.v - T->a.v ) * T->b.v; + if (fabs(w.u) > NEAR_ONE || fabs(w.v) > NEAR_ONE) { + out.u = out.v = HUGE_VAL; + pj_errno = -36; + } else { /* double evaluation */ + w2.u = w.u + w.u; + w2.v = w.v + w.v; + out.u = ceval(T->cu, T->mu, w, w2); + out.v = ceval(T->cv, T->mv, w, w2); + } + return out; +} + projUV /* bivariate power polynomial entry point */ +bpseval(projUV in, Tseries *T) { + projUV out; + double *c, row; + int i, m; + + out.u = out.v = 0.; + for (i = T->mu; i >= 0; --i) { + row = 0.; + if (m = T->cu[i].m) { + c = T->cu[i].c + m; + while (m--) + row = *--c + in.v * row; + } + out.u = row + in.u * out.u; + } + for (i = T->mv; i >= 0; --i) { + row = 0.; + if (m = T->cv[i].m) { + c = T->cv[i].c + m; + while (m--) + row = *--c + in.v * row; + } + out.v = row + in.u * out.v; + } + return out; +} + +projUV /* general entry point selecting evaluation mode */ +biveval(projUV in, Tseries *T) { + + if (T->power) { + return bpseval(in, T); + } else { + return bcheval(in, T); + } +} + diff --git a/src/3rdparty/proj/cs2cs.c b/src/3rdparty/proj/cs2cs.c new file mode 100644 index 00000000..f545675a --- /dev/null +++ b/src/3rdparty/proj/cs2cs.c @@ -0,0 +1,417 @@ +/****************************************************************************** + * $Id: cs2cs.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Mainline program sort of like ``proj'' for converting between + * two coordinate systems. + * Author: Frank Warmerdam, warmerda@home.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#include "projects.h" +#include <stdio.h> +#include <stdlib.h> +#include <ctype.h> +#include <string.h> +#include <math.h> +#include "emess.h" + +#define MAX_LINE 1000 +#define MAX_PARGS 100 + +static projPJ fromProj, toProj; + +static int +reversein = 0, /* != 0 reverse input arguments */ +reverseout = 0, /* != 0 reverse output arguments */ +echoin = 0, /* echo input data to output line */ +tag = '#'; /* beginning of line tag character */ + static char +*oform = (char *)0, /* output format for x-y or decimal degrees */ +*oterr = "*\t*", /* output line for unprojectable input */ +*usage = +"%s\nusage: %s [ -eEfIlrstvwW [args] ] [ +opts[=arg] ]\n" +" [+to [+opts[=arg] [ files ]\n"; + +static struct FACTORS facs; +static double (*informat)(const char *, + char **); /* input data deformatter function */ + + +/************************************************************************/ +/* process() */ +/* */ +/* File processing function. */ +/************************************************************************/ +static void process(FILE *fid) + +{ + char line[MAX_LINE+3], *s, pline[40]; + projUV data; + + for (;;) { + double z; + + ++emess_dat.File_line; + if (!(s = fgets(line, MAX_LINE, fid))) + break; + if (!strchr(s, '\n')) { /* overlong line */ + int c; + (void)strcat(s, "\n"); + /* gobble up to newline */ + while ((c = fgetc(fid)) != EOF && c != '\n') ; + } + if (*s == tag) { + fputs(line, stdout); + continue; + } + + if (reversein) { + data.v = (*informat)(s, &s); + data.u = (*informat)(s, &s); + } else { + data.u = (*informat)(s, &s); + data.v = (*informat)(s, &s); + } + + z = strtod( s, &s ); + + if (data.v == HUGE_VAL) + data.u = HUGE_VAL; + + if (!*s && (s > line)) --s; /* assumed we gobbled \n */ + + if ( echoin) { + int t; + t = *s; + *s = '\0'; + (void)fputs(line, stdout); + *s = t; + putchar('\t'); + } + + if (data.u != HUGE_VAL) { + if( pj_transform( fromProj, toProj, 1, 0, + &(data.u), &(data.v), &z ) != 0 ) + { + data.u = HUGE_VAL; + data.v = HUGE_VAL; + } + } + + if (data.u == HUGE_VAL) /* error output */ + fputs(oterr, stdout); + + else if (pj_is_latlong(toProj) && !oform) { /*ascii DMS output */ + if (reverseout) { + fputs(rtodms(pline, data.v, 'N', 'S'), stdout); + putchar('\t'); + fputs(rtodms(pline, data.u, 'E', 'W'), stdout); + } else { + fputs(rtodms(pline, data.u, 'E', 'W'), stdout); + putchar('\t'); + fputs(rtodms(pline, data.v, 'N', 'S'), stdout); + } + + } else { /* x-y or decimal degree ascii output */ + if ( pj_is_latlong(toProj) ) { + data.v *= RAD_TO_DEG; + data.u *= RAD_TO_DEG; + } + if (reverseout) { + printf(oform,data.v); putchar('\t'); + printf(oform,data.u); + } else { + printf(oform,data.u); putchar('\t'); + printf(oform,data.v); + } + } + + putchar(' '); + if( oform != NULL ) + printf( oform, z ); + else + printf( "%.3f", z ); + if( s ) + printf( "%s", s ); + else + printf( "\n" ); + } +} + +/************************************************************************/ +/* main() */ +/************************************************************************/ + +int main(int argc, char **argv) +{ + char *arg, **eargv = argv, *from_argv[MAX_PARGS], *to_argv[MAX_PARGS], + **iargv = argv; + FILE *fid; + int from_argc=0, to_argc=0, iargc = argc, eargc = 0, c, mon = 0; + int have_to_flag = 0, inverse = 0, i; + + if (emess_dat.Prog_name = strrchr(*argv,DIR_CHAR)) + ++emess_dat.Prog_name; + else emess_dat.Prog_name = *argv; + inverse = ! strncmp(emess_dat.Prog_name, "inv", 3); + if (argc <= 1 ) { + (void)fprintf(stderr, usage, pj_get_release(), emess_dat.Prog_name); + exit (0); + } + /* process run line arguments */ + while (--argc > 0) { /* collect run line arguments */ + if(**++argv == '-') for(arg = *argv;;) { + switch(*++arg) { + case '\0': /* position of "stdin" */ + if (arg[-1] == '-') eargv[eargc++] = "-"; + break; + case 'v': /* monitor dump of initialization */ + mon = 1; + continue; + case 'I': /* alt. method to spec inverse */ + inverse = 1; + continue; + case 'E': /* echo ascii input to ascii output */ + echoin = 1; + continue; + case 't': /* set col. one char */ + if (arg[1]) tag = *++arg; + else emess(1,"missing -t col. 1 tag"); + continue; + case 'l': /* list projections, ellipses or units */ + if (!arg[1] || arg[1] == 'p' || arg[1] == 'P') { + /* list projections */ + struct PJ_LIST *lp; + int do_long = arg[1] == 'P', c; + char *str; + + for (lp = pj_get_list_ref() ; lp->id ; ++lp) { + (void)printf("%s : ", lp->id); + if (do_long) /* possibly multiline description */ + (void)puts(*lp->descr); + else { /* first line, only */ + str = *lp->descr; + while ((c = *str++) && c != '\n') + putchar(c); + putchar('\n'); + } + } + } else if (arg[1] == '=') { /* list projection 'descr' */ + struct PJ_LIST *lp; + + arg += 2; + for (lp = pj_get_list_ref() ; lp->id ; ++lp) + if (!strcmp(lp->id, arg)) { + (void)printf("%9s : %s\n", lp->id, *lp->descr); + break; + } + } else if (arg[1] == 'e') { /* list ellipses */ + struct PJ_ELLPS *le; + + for (le = pj_get_ellps_ref(); le->id ; ++le) + (void)printf("%9s %-16s %-16s %s\n", + le->id, le->major, le->ell, le->name); + } else if (arg[1] == 'u') { /* list units */ + struct PJ_UNITS *lu; + + for (lu = pj_get_units_ref(); lu->id ; ++lu) + (void)printf("%12s %-20s %s\n", + lu->id, lu->to_meter, lu->name); + } else if (arg[1] == 'd') { /* list datums */ + struct PJ_DATUMS *ld; + + printf("__datum_id__ __ellipse___ __definition/comments______________________________\n" ); + for (ld = pj_get_datums_ref(); ld->id ; ++ld) + { + printf("%12s %-12s %-30s\n", + ld->id, ld->ellipse_id, ld->defn); + if( ld->comments != NULL && strlen(ld->comments) > 0 ) + printf( "%25s %s\n", " ", ld->comments ); + } + } else if( arg[1] == 'm') { /* list prime meridians */ + struct PJ_PRIME_MERIDIANS *lpm; + + for (lpm = pj_get_prime_meridians_ref(); lpm->id ; ++lpm) + (void)printf("%12s %-30s\n", + lpm->id, lpm->defn); + } else + emess(1,"invalid list option: l%c",arg[1]); + exit(0); + continue; /* artificial */ + case 'e': /* error line alternative */ + if (--argc <= 0) + noargument: + emess(1,"missing argument for -%c",*arg); + oterr = *++argv; + continue; + case 'W': /* specify seconds precision */ + case 'w': /* -W for constant field width */ + if ((c = arg[1]) != 0 && isdigit(c)) { + set_rtodms(c - '0', *arg == 'W'); + ++arg; + } else + emess(1,"-W argument missing or non-digit"); + continue; + case 'f': /* alternate output format degrees or xy */ + if (--argc <= 0) goto noargument; + oform = *++argv; + continue; + case 'r': /* reverse input */ + reversein = 1; + continue; + case 's': /* reverse output */ + reverseout = 1; + continue; + default: + emess(1, "invalid option: -%c",*arg); + break; + } + break; + + } else if (strcmp(*argv,"+to") == 0 ) { + have_to_flag = 1; + + } else if (**argv == '+') { /* + argument */ + if( have_to_flag ) + { + if( to_argc < MAX_PARGS ) + to_argv[to_argc++] = *argv + 1; + else + emess(1,"overflowed + argument table"); + } + else + { + if (from_argc < MAX_PARGS) + from_argv[from_argc++] = *argv + 1; + else + emess(1,"overflowed + argument table"); + } + } else /* assumed to be input file name(s) */ + eargv[eargc++] = *argv; + } + if (eargc == 0 ) /* if no specific files force sysin */ + eargv[eargc++] = "-"; + + /* + * If the user has requested inverse, then just reverse the + * coordinate systems. + */ + if( inverse ) + { + int argcount; + + for( i = 0; i < MAX_PARGS; i++ ) + { + char *arg; + + arg = from_argv[i]; + from_argv[i] = to_argv[i]; + to_argv[i] = arg; + } + + argcount = from_argc; + from_argc = to_argc; + to_argc = argcount; + } + + if (!(fromProj = pj_init(from_argc, from_argv))) + { + printf( "Using from definition: " ); + for( i = 0; i < from_argc; i++ ) + printf( "%s ", from_argv[i] ); + printf( "\n" ); + + emess(3,"projection initialization failure\ncause: %s", + pj_strerrno(pj_errno)); + } + + if( to_argc == 0 ) + { + if (!(toProj = pj_latlong_from_proj( fromProj ))) + { + printf( "Using to definition: " ); + for( i = 0; i < to_argc; i++ ) + printf( "%s ", to_argv[i] ); + printf( "\n" ); + + emess(3,"projection initialization failure\ncause: %s", + pj_strerrno(pj_errno)); + } + } + else if (!(toProj = pj_init(to_argc, to_argv))) + { + printf( "Using to definition: " ); + for( i = 0; i < to_argc; i++ ) + printf( "%s ", to_argv[i] ); + printf( "\n" ); + + emess(3,"projection initialization failure\ncause: %s", + pj_strerrno(pj_errno)); + } + + if (mon) { + printf( "%c ---- From Coordinate System ----\n", tag ); + pj_pr_list(fromProj); + printf( "%c ---- To Coordinate System ----\n", tag ); + pj_pr_list(toProj); + } + + /* set input formating control */ + if( !fromProj->is_latlong ) + informat = strtod; + else { + informat = dmstor; + } + + if( !toProj->is_latlong && !oform ) + oform = "%.2f"; + + /* process input file list */ + for ( ; eargc-- ; ++eargv) { + if (**eargv == '-') { + fid = stdin; + emess_dat.File_name = "<stdin>"; + + } else { + if ((fid = fopen(*eargv, "rt")) == NULL) { + emess(-2, *eargv, "input file"); + continue; + } + emess_dat.File_name = *eargv; + } + emess_dat.File_line = 0; + process(fid); + fclose(fid); + emess_dat.File_name = 0; + } + + if( fromProj != NULL ) + pj_free( fromProj ); + if( toProj != NULL ) + pj_free( toProj ); + + pj_deallocate_grids(); + + exit(0); /* normal completion */ +} diff --git a/src/3rdparty/proj/data.qrc b/src/3rdparty/proj/data.qrc new file mode 100644 index 00000000..34763478 --- /dev/null +++ b/src/3rdparty/proj/data.qrc @@ -0,0 +1,15 @@ +<!DOCTYPE RCC><RCC version="1.0"> +<qresource> + <file>proj_data/epsg</file> + <file>proj_data/esri</file> + <file>proj_data/esri.extra</file> + <file>proj_data/GL27</file> + <file>proj_data/IGNF</file> + <file>proj_data/nad27</file> + <file>proj_data/nad83</file> + <file>proj_data/nad.lst</file> + <file>proj_data/other.extra</file> + <file>proj_data/proj_def.dat</file> + <file>proj_data/world</file> +</qresource> +</RCC> diff --git a/src/3rdparty/proj/dmstor.c b/src/3rdparty/proj/dmstor.c new file mode 100644 index 00000000..1cc99f62 --- /dev/null +++ b/src/3rdparty/proj/dmstor.c @@ -0,0 +1,108 @@ +/* Convert DMS string to radians */ +#include <projects.h> +#include <string.h> +#include <ctype.h> + +static double proj_strtod(char *nptr, char **endptr); + +/* following should be sufficient for all but the rediculous */ +#define MAX_WORK 64 + static const char +*sym = "NnEeSsWw"; + static const double +vm[] = { + .0174532925199433, + .0002908882086657216, + .0000048481368110953599 +}; + double +dmstor(const char *is, char **rs) { + int sign, n, nl; + char *p, *s, work[MAX_WORK]; + double v, tv; + + if (rs) + *rs = (char *)is; + /* copy sting into work space */ + while (isspace(sign = *is)) ++is; + for (n = MAX_WORK, s = work, p = (char *)is; isgraph(*p) && --n ; ) + *s++ = *p++; + *s = '\0'; + /* it is possible that a really odd input (like lots of leading + zeros) could be truncated in copying into work. But ... */ + sign = *(s = work); + if (sign == '+' || sign == '-') s++; + else sign = '+'; + for (v = 0., nl = 0 ; nl < 3 ; nl = n + 1 ) { + if (!(isdigit(*s) || *s == '.')) break; + if ((tv = proj_strtod(s, &s)) == HUGE_VAL) + return tv; + switch (*s) { + case 'D': case 'd': + n = 0; break; + case '\'': + n = 1; break; + case '"': + n = 2; break; + case 'r': case 'R': + if (nl) { + pj_errno = -16; + return HUGE_VAL; + } + ++s; + v = tv; + goto skip; + default: + v += tv * vm[nl]; + skip: n = 4; + continue; + } + if (n < nl) { + pj_errno = -16; + return HUGE_VAL; + } + v += tv * vm[n]; + ++s; + } + /* postfix sign */ + if (*s && (p = strchr(sym, *s))) { + sign = (p - sym) >= 4 ? '-' : '+'; + ++s; + } + if (sign == '-') + v = -v; + if (rs) /* return point of next char after valid string */ + *rs = (char *)is + (s - work); + return v; +} + +static double +proj_strtod(char *nptr, char **endptr) + +{ + char c, *cp = nptr; + double result; + + /* + * Scan for characters which cause problems with VC++ strtod() + */ + while ((c = *cp) != '\0') { + if (c == 'd' || c == 'D') { + + /* + * Found one, so NUL it out, call strtod(), + * then restore it and return + */ + *cp = '\0'; + result = strtod(nptr, endptr); + *cp = c; + return result; + } + ++cp; + } + + /* no offending characters, just handle normally */ + + return strtod(nptr, endptr); +} + diff --git a/src/3rdparty/proj/emess.c b/src/3rdparty/proj/emess.c new file mode 100644 index 00000000..0c7f6c9e --- /dev/null +++ b/src/3rdparty/proj/emess.c @@ -0,0 +1,57 @@ +/* Error message processing */ + +#ifdef _MSC_VER +# ifndef _CRT_SECURE_NO_DEPRECATE +# define _CRT_SECURE_NO_DEPRECATE +# endif +# ifndef _CRT_NONSTDC_NO_DEPRECATE +# define _CRT_NONSTDC_NO_DEPRECATE +# endif +#endif + +#include <stdio.h> +#include <stdlib.h> +#include <stdarg.h> +#include <errno.h> +#include <string.h> +#include <proj_api.h> +#define EMESS_ROUTINE +#include "emess.h" + void +emess(int code, char *fmt, ...) { + va_list args; + + va_start(args, fmt); + /* prefix program name, if given */ + if (fmt != NULL) + (void)fprintf(stderr,"%s\n<%s>: ",pj_get_release(), + emess_dat.Prog_name); + /* print file name and line, if given */ + if (emess_dat.File_name != NULL && *emess_dat.File_name) { + (void)fprintf(stderr,"while processing file: %s", emess_dat.File_name); + if (emess_dat.File_line > 0) + (void)fprintf(stderr,", line %d\n", emess_dat.File_line); + else + (void)fputc('\n', stderr); + } else + putc('\n', stderr); + /* if |code|==2, print errno code data */ + if (code == 2 || code == -2) + (void)fprintf(stderr, "Sys errno: %d: %s\n", + errno, +#ifdef HAVE_STRERROR + strerror(errno)); +#else + "<system mess. texts unavail.>"); +#endif + /* post remainder of call data */ + (void)vfprintf(stderr,fmt,args); + va_end(args); + /* die if code positive */ + if (code > 0) { + (void)fputs("\nprogram abnormally terminated\n", stderr); + exit(code); + } + else + putc('\n', stderr); +} diff --git a/src/3rdparty/proj/emess.h b/src/3rdparty/proj/emess.h new file mode 100644 index 00000000..6724a065 --- /dev/null +++ b/src/3rdparty/proj/emess.h @@ -0,0 +1,32 @@ +/* Error message processing header file */ +#ifndef EMESS_H +#define EMESS_H + +#ifndef lint +static char EMESS_H_ID[] = "@(#)emess.h 4.1 93/03/08 GIE REL"; +#endif + +struct EMESS { + char *File_name, /* input file name */ + *Prog_name; /* name of program */ + int File_line; /* approximate line read + where error occured */ +}; + +#ifdef EMESS_ROUTINE /* use type */ +/* for emess procedure */ +struct EMESS emess_dat = { (char *)0, (char *)0, 0 }; + +#ifdef sun /* Archaic SunOs 4.1.1, etc. */ +extern char *sys_errlist[]; +#define strerror(n) (sys_errlist[n]) +#endif + +#else /* for for calling procedures */ + +extern struct EMESS emess_dat; +void emess(int, char *, ...); + +#endif /* use type */ + +#endif /* end EMESS_H */ diff --git a/src/3rdparty/proj/gen_cheb.c b/src/3rdparty/proj/gen_cheb.c new file mode 100644 index 00000000..82cd926a --- /dev/null +++ b/src/3rdparty/proj/gen_cheb.c @@ -0,0 +1,71 @@ +/* generates 'T' option output */ +#define PJ_LIB__ +#include "projects.h" +#include <stdio.h> +#include <string.h> +#include <errno.h> +#include "emess.h" +#ifndef COEF_LINE_MAX +#define COEF_LINE_MAX 60 +#endif + void +gen_cheb(int inverse, projUV (*proj)(projUV), char *s, PJ *P, int iargc, char **iargv) { + int NU = 15, NV = 15, i, res = -1, errin = 0, pwr; + char *arg, fmt[15]; + projUV low, upp, resid; + Tseries *F; + extern void p_series(Tseries *, FILE *, char *); + double (*input)(const char *, char **); + + input = inverse ? strtod : dmstor; + if (*s) low.u = input(s, &s); else ++errin; + if (*s == ',') upp.u = input(s+1, &s); else ++errin; + if (*s == ',') low.v = input(s+1, &s); else ++errin; + if (*s == ',') upp.v = input(s+1, &s); else ++errin; + if (errin) + emess(16,"null or absent -T parameters"); + if (*s == ',') if (*++s != ',') res = strtol(s, &s, 10); + if (*s == ',') if (*++s != ',') NU = strtol(s, &s, 10); + if (*s == ',') if (*++s != ',') NV = strtol(s, &s, 10); + pwr = s && *s && !strcmp(s, ",P"); + (void)printf("#proj_%s\n# run-line:\n", + pwr ? "Power" : "Chebyshev"); + if (iargc > 0) { /* proj execution audit trail */ + int n = 0, L; + + for( i = 0 ; iargc ; --iargc) { + arg = *iargv++; + if (*arg != '+') { + if (!n) { putchar('#'); ++n; } + (void)printf(" %s%n",arg, &L); + if ((n += L) > 50) { putchar('\n'); n = 0; } + } + } + if (n) putchar('\n'); + } + (void)printf("# projection parameters\n"); + pj_pr_list(P); + if (low.u == upp.u || low.v >= upp.v) + emess(16,"approx. argument range error"); + if (low.u > upp.u) + low.u -= TWOPI; + if (NU < 2 || NV < 2) + emess(16,"approx. work dimensions (%d %d) too small",NU,NV); + if (!(F = mk_cheby(low, upp, pow(10., (double)res)*.5, &resid, proj, + NU, NV, pwr))) + emess(16,"generation of approx failed\nreason: %s\n", + pj_strerrno(errno)); + (void)printf("%c,%.12g,%.12g,%.12g,%.12g,%.12g\n",inverse?'I':'F', + P->lam0*RAD_TO_DEG, + low.u*(inverse?1.:RAD_TO_DEG),upp.u*(inverse?1.:RAD_TO_DEG), + low.v*(inverse?1.:RAD_TO_DEG),upp.v*(inverse?1.:RAD_TO_DEG)); + if (pwr) + strcpy(fmt, "%.15g"); + else if (res <= 0) + (void)sprintf(fmt,"%%.%df",-res+1); + else + (void)strcpy(fmt,"%.0f"); + p_series(F, stdout, fmt); + (void)printf("# |u,v| sums %g %g\n#end_proj_%s\n", + resid.u, resid.v, pwr ? "Power" : "Chebyshev"); +} diff --git a/src/3rdparty/proj/geocent.c b/src/3rdparty/proj/geocent.c new file mode 100644 index 00000000..d95a778b --- /dev/null +++ b/src/3rdparty/proj/geocent.c @@ -0,0 +1,435 @@ +/***************************************************************************/ +/* RSC IDENTIFIER: GEOCENTRIC + * + * ABSTRACT + * + * This component provides conversions between Geodetic coordinates (latitude, + * longitude in radians and height in meters) and Geocentric coordinates + * (X, Y, Z) in meters. + * + * ERROR HANDLING + * + * This component checks parameters for valid values. If an invalid value + * is found, the error code is combined with the current error code using + * the bitwise or. This combining allows multiple error codes to be + * returned. The possible error codes are: + * + * GEOCENT_NO_ERROR : No errors occurred in function + * GEOCENT_LAT_ERROR : Latitude out of valid range + * (-90 to 90 degrees) + * GEOCENT_LON_ERROR : Longitude out of valid range + * (-180 to 360 degrees) + * GEOCENT_A_ERROR : Semi-major axis lessthan or equal to zero + * GEOCENT_B_ERROR : Semi-minor axis lessthan or equal to zero + * GEOCENT_A_LESS_B_ERROR : Semi-major axis less than semi-minor axis + * + * + * REUSE NOTES + * + * GEOCENTRIC is intended for reuse by any application that performs + * coordinate conversions between geodetic coordinates and geocentric + * coordinates. + * + * + * REFERENCES + * + * An Improved Algorithm for Geocentric to Geodetic Coordinate Conversion, + * Ralph Toms, February 1996 UCRL-JC-123138. + * + * Further information on GEOCENTRIC can be found in the Reuse Manual. + * + * GEOCENTRIC originated from : U.S. Army Topographic Engineering Center + * Geospatial Information Division + * 7701 Telegraph Road + * Alexandria, VA 22310-3864 + * + * LICENSES + * + * None apply to this component. + * + * RESTRICTIONS + * + * GEOCENTRIC has no restrictions. + * + * ENVIRONMENT + * + * GEOCENTRIC was tested and certified in the following environments: + * + * 1. Solaris 2.5 with GCC version 2.8.1 + * 2. Windows 95 with MS Visual C++ version 6 + * + * MODIFICATIONS + * + * Date Description + * ---- ----------- + * 25-02-97 Original Code + * + */ + + +/***************************************************************************/ +/* + * INCLUDES + */ +#include <math.h> +#include "geocent.h" +/* + * math.h - is needed for calls to sin, cos, tan and sqrt. + * geocent.h - is needed for Error codes and prototype error checking. + */ + + +/***************************************************************************/ +/* + * DEFINES + */ +#define PI 3.14159265358979323e0 +#define PI_OVER_2 (PI / 2.0e0) +#define FALSE 0 +#define TRUE 1 +#define COS_67P5 0.38268343236508977 /* cosine of 67.5 degrees */ +#define AD_C 1.0026000 /* Toms region 1 constant */ + + +/***************************************************************************/ +/* + * FUNCTIONS + */ + + +long pj_Set_Geocentric_Parameters (GeocentricInfo *gi, double a, double b) + +{ /* BEGIN Set_Geocentric_Parameters */ +/* + * The function Set_Geocentric_Parameters receives the ellipsoid parameters + * as inputs and sets the corresponding state variables. + * + * a : Semi-major axis, in meters. (input) + * b : Semi-minor axis, in meters. (input) + */ + long Error_Code = GEOCENT_NO_ERROR; + + if (a <= 0.0) + Error_Code |= GEOCENT_A_ERROR; + if (b <= 0.0) + Error_Code |= GEOCENT_B_ERROR; + if (a < b) + Error_Code |= GEOCENT_A_LESS_B_ERROR; + if (!Error_Code) + { + gi->Geocent_a = a; + gi->Geocent_b = b; + gi->Geocent_a2 = a * a; + gi->Geocent_b2 = b * b; + gi->Geocent_e2 = (gi->Geocent_a2 - gi->Geocent_b2) / gi->Geocent_a2; + gi->Geocent_ep2 = (gi->Geocent_a2 - gi->Geocent_b2) / gi->Geocent_b2; + } + return (Error_Code); +} /* END OF Set_Geocentric_Parameters */ + + +void pj_Get_Geocentric_Parameters (GeocentricInfo *gi, + double *a, + double *b) +{ /* BEGIN Get_Geocentric_Parameters */ +/* + * The function Get_Geocentric_Parameters returns the ellipsoid parameters + * to be used in geocentric coordinate conversions. + * + * a : Semi-major axis, in meters. (output) + * b : Semi-minor axis, in meters. (output) + */ + + *a = gi->Geocent_a; + *b = gi->Geocent_b; +} /* END OF Get_Geocentric_Parameters */ + + +long pj_Convert_Geodetic_To_Geocentric (GeocentricInfo *gi, + double Latitude, + double Longitude, + double Height, + double *X, + double *Y, + double *Z) +{ /* BEGIN Convert_Geodetic_To_Geocentric */ +/* + * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates + * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z), + * according to the current ellipsoid parameters. + * + * Latitude : Geodetic latitude in radians (input) + * Longitude : Geodetic longitude in radians (input) + * Height : Geodetic height, in meters (input) + * X : Calculated Geocentric X coordinate, in meters (output) + * Y : Calculated Geocentric Y coordinate, in meters (output) + * Z : Calculated Geocentric Z coordinate, in meters (output) + * + */ + long Error_Code = GEOCENT_NO_ERROR; + double Rn; /* Earth radius at location */ + double Sin_Lat; /* sin(Latitude) */ + double Sin2_Lat; /* Square of sin(Latitude) */ + double Cos_Lat; /* cos(Latitude) */ + + /* + ** Don't blow up if Latitude is just a little out of the value + ** range as it may just be a rounding issue. Also removed longitude + ** test, it should be wrapped by cos() and sin(). NFW for PROJ.4, Sep/2001. + */ + if( Latitude < -PI_OVER_2 && Latitude > -1.001 * PI_OVER_2 ) + Latitude = -PI_OVER_2; + else if( Latitude > PI_OVER_2 && Latitude < 1.001 * PI_OVER_2 ) + Latitude = PI_OVER_2; + else if ((Latitude < -PI_OVER_2) || (Latitude > PI_OVER_2)) + { /* Latitude out of range */ + Error_Code |= GEOCENT_LAT_ERROR; + } + + if (!Error_Code) + { /* no errors */ + if (Longitude > PI) + Longitude -= (2*PI); + Sin_Lat = sin(Latitude); + Cos_Lat = cos(Latitude); + Sin2_Lat = Sin_Lat * Sin_Lat; + Rn = gi->Geocent_a / (sqrt(1.0e0 - gi->Geocent_e2 * Sin2_Lat)); + *X = (Rn + Height) * Cos_Lat * cos(Longitude); + *Y = (Rn + Height) * Cos_Lat * sin(Longitude); + *Z = ((Rn * (1 - gi->Geocent_e2)) + Height) * Sin_Lat; + + } + return (Error_Code); +} /* END OF Convert_Geodetic_To_Geocentric */ + +/* + * The function Convert_Geocentric_To_Geodetic converts geocentric + * coordinates (X, Y, Z) to geodetic coordinates (latitude, longitude, + * and height), according to the current ellipsoid parameters. + * + * X : Geocentric X coordinate, in meters. (input) + * Y : Geocentric Y coordinate, in meters. (input) + * Z : Geocentric Z coordinate, in meters. (input) + * Latitude : Calculated latitude value in radians. (output) + * Longitude : Calculated longitude value in radians. (output) + * Height : Calculated height value, in meters. (output) + */ + +#define USE_ITERATIVE_METHOD + +void pj_Convert_Geocentric_To_Geodetic (GeocentricInfo *gi, + double X, + double Y, + double Z, + double *Latitude, + double *Longitude, + double *Height) +{ /* BEGIN Convert_Geocentric_To_Geodetic */ +#if !defined(USE_ITERATIVE_METHOD) +/* + * The method used here is derived from 'An Improved Algorithm for + * Geocentric to Geodetic Coordinate Conversion', by Ralph Toms, Feb 1996 + */ + +/* Note: Variable names follow the notation used in Toms, Feb 1996 */ + + double W; /* distance from Z axis */ + double W2; /* square of distance from Z axis */ + double T0; /* initial estimate of vertical component */ + double T1; /* corrected estimate of vertical component */ + double S0; /* initial estimate of horizontal component */ + double S1; /* corrected estimate of horizontal component */ + double Sin_B0; /* sin(B0), B0 is estimate of Bowring aux variable */ + double Sin3_B0; /* cube of sin(B0) */ + double Cos_B0; /* cos(B0) */ + double Sin_p1; /* sin(phi1), phi1 is estimated latitude */ + double Cos_p1; /* cos(phi1) */ + double Rn; /* Earth radius at location */ + double Sum; /* numerator of cos(phi1) */ + int At_Pole; /* indicates location is in polar region */ + + At_Pole = FALSE; + if (X != 0.0) + { + *Longitude = atan2(Y,X); + } + else + { + if (Y > 0) + { + *Longitude = PI_OVER_2; + } + else if (Y < 0) + { + *Longitude = -PI_OVER_2; + } + else + { + At_Pole = TRUE; + *Longitude = 0.0; + if (Z > 0.0) + { /* north pole */ + *Latitude = PI_OVER_2; + } + else if (Z < 0.0) + { /* south pole */ + *Latitude = -PI_OVER_2; + } + else + { /* center of earth */ + *Latitude = PI_OVER_2; + *Height = -Geocent_b; + return; + } + } + } + W2 = X*X + Y*Y; + W = sqrt(W2); + T0 = Z * AD_C; + S0 = sqrt(T0 * T0 + W2); + Sin_B0 = T0 / S0; + Cos_B0 = W / S0; + Sin3_B0 = Sin_B0 * Sin_B0 * Sin_B0; + T1 = Z + gi->Geocent_b * gi->Geocent_ep2 * Sin3_B0; + Sum = W - gi->Geocent_a * gi->Geocent_e2 * Cos_B0 * Cos_B0 * Cos_B0; + S1 = sqrt(T1*T1 + Sum * Sum); + Sin_p1 = T1 / S1; + Cos_p1 = Sum / S1; + Rn = gi->Geocent_a / sqrt(1.0 - gi->Geocent_e2 * Sin_p1 * Sin_p1); + if (Cos_p1 >= COS_67P5) + { + *Height = W / Cos_p1 - Rn; + } + else if (Cos_p1 <= -COS_67P5) + { + *Height = W / -Cos_p1 - Rn; + } + else + { + *Height = Z / Sin_p1 + Rn * (gi->Geocent_e2 - 1.0); + } + if (At_Pole == FALSE) + { + *Latitude = atan(Sin_p1 / Cos_p1); + } +#else /* defined(USE_ITERATIVE_METHOD) */ +/* +* Reference... +* ============ +* Wenzel, H.-G.(1985): Hochauflösende Kugelfunktionsmodelle für +* das Gravitationspotential der Erde. Wiss. Arb. Univ. Hannover +* Nr. 137, p. 130-131. + +* Programmed by GGA- Leibniz-Institue of Applied Geophysics +* Stilleweg 2 +* D-30655 Hannover +* Federal Republic of Germany +* Internet: www.gga-hannover.de +* +* Hannover, March 1999, April 2004. +* see also: comments in statements +* remarks: +* Mathematically exact and because of symmetry of rotation-ellipsoid, +* each point (X,Y,Z) has at least two solutions (Latitude1,Longitude1,Height1) and +* (Latitude2,Longitude2,Height2). Is point=(0.,0.,Z) (P=0.), so you get even +* four solutions, every two symmetrical to the semi-minor axis. +* Here Height1 and Height2 have at least a difference in order of +* radius of curvature (e.g. (0,0,b)=> (90.,0.,0.) or (-90.,0.,-2b); +* (a+100.)*(sqrt(2.)/2.,sqrt(2.)/2.,0.) => (0.,45.,100.) or +* (0.,225.,-(2a+100.))). +* The algorithm always computes (Latitude,Longitude) with smallest |Height|. +* For normal computations, that means |Height|<10000.m, algorithm normally +* converges after to 2-3 steps!!! +* But if |Height| has the amount of length of ellipsoid's axis +* (e.g. -6300000.m), algorithm needs about 15 steps. +*/ + +/* local defintions and variables */ +/* end-criterium of loop, accuracy of sin(Latitude) */ +#define genau 1.E-12 +#define genau2 (genau*genau) +#define maxiter 30 + + double P; /* distance between semi-minor axis and location */ + double RR; /* distance between center and location */ + double CT; /* sin of geocentric latitude */ + double ST; /* cos of geocentric latitude */ + double RX; + double RK; + double RN; /* Earth radius at location */ + double CPHI0; /* cos of start or old geodetic latitude in iterations */ + double SPHI0; /* sin of start or old geodetic latitude in iterations */ + double CPHI; /* cos of searched geodetic latitude */ + double SPHI; /* sin of searched geodetic latitude */ + double SDPHI; /* end-criterium: addition-theorem of sin(Latitude(iter)-Latitude(iter-1)) */ + int At_Pole; /* indicates location is in polar region */ + int iter; /* # of continous iteration, max. 30 is always enough (s.a.) */ + + At_Pole = FALSE; + P = sqrt(X*X+Y*Y); + RR = sqrt(X*X+Y*Y+Z*Z); + +/* special cases for latitude and longitude */ + if (P/gi->Geocent_a < genau) { + +/* special case, if P=0. (X=0., Y=0.) */ + At_Pole = TRUE; + *Longitude = 0.; + +/* if (X,Y,Z)=(0.,0.,0.) then Height becomes semi-minor axis + * of ellipsoid (=center of mass), Latitude becomes PI/2 */ + if (RR/gi->Geocent_a < genau) { + *Latitude = PI_OVER_2; + *Height = -gi->Geocent_b; + return ; + + } + } + else { +/* ellipsoidal (geodetic) longitude + * interval: -PI < Longitude <= +PI */ + *Longitude=atan2(Y,X); + } + +/* -------------------------------------------------------------- + * Following iterative algorithm was developped by + * "Institut für Erdmessung", University of Hannover, July 1988. + * Internet: www.ife.uni-hannover.de + * Iterative computation of CPHI,SPHI and Height. + * Iteration of CPHI and SPHI to 10**-12 radian resp. + * 2*10**-7 arcsec. + * -------------------------------------------------------------- + */ + CT = Z/RR; + ST = P/RR; + RX = 1.0/sqrt(1.0-gi->Geocent_e2*(2.0-gi->Geocent_e2)*ST*ST); + CPHI0 = ST*(1.0-gi->Geocent_e2)*RX; + SPHI0 = CT*RX; + iter = 0; + +/* loop to find sin(Latitude) resp. Latitude + * until |sin(Latitude(iter)-Latitude(iter-1))| < genau */ + do + { + iter++; + RN = gi->Geocent_a/sqrt(1.0-gi->Geocent_e2*SPHI0*SPHI0); + +/* ellipsoidal (geodetic) height */ + *Height = P*CPHI0+Z*SPHI0-RN*(1.0-gi->Geocent_e2*SPHI0*SPHI0); + + RK = gi->Geocent_e2*RN/(RN+*Height); + RX = 1.0/sqrt(1.0-RK*(2.0-RK)*ST*ST); + CPHI = ST*(1.0-RK)*RX; + SPHI = CT*RX; + SDPHI = SPHI*CPHI0-CPHI*SPHI0; + CPHI0 = CPHI; + SPHI0 = SPHI; + } + while (SDPHI*SDPHI > genau2 && iter < maxiter); + +/* ellipsoidal (geodetic) latitude */ + *Latitude=atan(SPHI/fabs(CPHI)); + + return; +#endif /* defined(USE_ITERATIVE_METHOD) */ +} /* END OF Convert_Geocentric_To_Geodetic */ diff --git a/src/3rdparty/proj/geocent.h b/src/3rdparty/proj/geocent.h new file mode 100644 index 00000000..d6e90d23 --- /dev/null +++ b/src/3rdparty/proj/geocent.h @@ -0,0 +1,179 @@ +#ifndef GEOCENT_H +#define GEOCENT_H + +/***************************************************************************/ +/* RSC IDENTIFIER: GEOCENTRIC + * + * ABSTRACT + * + * This component provides conversions between Geodetic coordinates (latitude, + * longitude in radians and height in meters) and Geocentric coordinates + * (X, Y, Z) in meters. + * + * ERROR HANDLING + * + * This component checks parameters for valid values. If an invalid value + * is found, the error code is combined with the current error code using + * the bitwise or. This combining allows multiple error codes to be + * returned. The possible error codes are: + * + * GEOCENT_NO_ERROR : No errors occurred in function + * GEOCENT_LAT_ERROR : Latitude out of valid range + * (-90 to 90 degrees) + * GEOCENT_LON_ERROR : Longitude out of valid range + * (-180 to 360 degrees) + * GEOCENT_A_ERROR : Semi-major axis less than or equal to zero + * GEOCENT_B_ERROR : Semi-minor axis less than or equal to zero + * GEOCENT_A_LESS_B_ERROR : Semi-major axis less than semi-minor axis + * + * + * REUSE NOTES + * + * GEOCENTRIC is intended for reuse by any application that performs + * coordinate conversions between geodetic coordinates and geocentric + * coordinates. + * + * + * REFERENCES + * + * An Improved Algorithm for Geocentric to Geodetic Coordinate Conversion, + * Ralph Toms, February 1996 UCRL-JC-123138. + * + * Further information on GEOCENTRIC can be found in the Reuse Manual. + * + * GEOCENTRIC originated from : U.S. Army Topographic Engineering Center + * Geospatial Information Division + * 7701 Telegraph Road + * Alexandria, VA 22310-3864 + * + * LICENSES + * + * None apply to this component. + * + * RESTRICTIONS + * + * GEOCENTRIC has no restrictions. + * + * ENVIRONMENT + * + * GEOCENTRIC was tested and certified in the following environments: + * + * 1. Solaris 2.5 with GCC version 2.8.1 + * 2. Windows 95 with MS Visual C++ version 6 + * + * MODIFICATIONS + * + * Date Description + * ---- ----------- + * + * + */ + + +/***************************************************************************/ +/* + * DEFINES + */ +#define GEOCENT_NO_ERROR 0x0000 +#define GEOCENT_LAT_ERROR 0x0001 +#define GEOCENT_LON_ERROR 0x0002 +#define GEOCENT_A_ERROR 0x0004 +#define GEOCENT_B_ERROR 0x0008 +#define GEOCENT_A_LESS_B_ERROR 0x0010 + + +/***************************************************************************/ +/* + * FUNCTION PROTOTYPES + */ + +/* ensure proper linkage to c++ programs */ +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct +{ + double Geocent_a; /* Semi-major axis of ellipsoid in meters */ + double Geocent_b; /* Semi-minor axis of ellipsoid */ + double Geocent_a2; /* Square of semi-major axis */ + double Geocent_b2; /* Square of semi-minor axis */ + double Geocent_e2; /* Eccentricity squared */ + double Geocent_ep2; /* 2nd eccentricity squared */ +} GeocentricInfo; + +void pj_Init_Geocentric( GeocentricInfo *gi ); +long pj_Set_Geocentric_Parameters( GeocentricInfo *gi, + double a, + double b); + +/* + * The function Set_Geocentric_Parameters receives the ellipsoid parameters + * as inputs and sets the corresponding state variables. + * + * a : Semi-major axis, in meters. (input) + * b : Semi-minor axis, in meters. (input) + */ + + +void pj_Get_Geocentric_Parameters ( GeocentricInfo *gi, + double *a, + double *b); + +/* + * The function Get_Geocentric_Parameters returns the ellipsoid parameters + * to be used in geocentric coordinate conversions. + * + * a : Semi-major axis, in meters. (output) + * b : Semi-minor axis, in meters. (output) + */ + + +long pj_Convert_Geodetic_To_Geocentric ( GeocentricInfo *gi, + double Latitude, + double Longitude, + double Height, + double *X, + double *Y, + double *Z); +/* + * The function Convert_Geodetic_To_Geocentric converts geodetic coordinates + * (latitude, longitude, and height) to geocentric coordinates (X, Y, Z), + * according to the current ellipsoid parameters. + * + * Latitude : Geodetic latitude in radians (input) + * Longitude : Geodetic longitude in radians (input) + * Height : Geodetic height, in meters (input) + * X : Calculated Geocentric X coordinate, in meters. (output) + * Y : Calculated Geocentric Y coordinate, in meters. (output) + * Z : Calculated Geocentric Z coordinate, in meters. (output) + * + */ + + +void pj_Convert_Geocentric_To_Geodetic (GeocentricInfo *gi, + double X, + double Y, + double Z, + double *Latitude, + double *Longitude, + double *Height); +/* + * The function Convert_Geocentric_To_Geodetic converts geocentric + * coordinates (X, Y, Z) to geodetic coordinates (latitude, longitude, + * and height), according to the current ellipsoid parameters. + * + * X : Geocentric X coordinate, in meters. (input) + * Y : Geocentric Y coordinate, in meters. (input) + * Z : Geocentric Z coordinate, in meters. (input) + * Latitude : Calculated latitude value in radians. (output) + * Longitude : Calculated longitude value in radians. (output) + * Height : Calculated height value, in meters. (output) + */ + + +#ifdef __cplusplus +} +#endif + +#endif /* GEOCENT_H */ diff --git a/src/3rdparty/proj/geod.c b/src/3rdparty/proj/geod.c new file mode 100644 index 00000000..cbe5a459 --- /dev/null +++ b/src/3rdparty/proj/geod.c @@ -0,0 +1,237 @@ +/* <<<< Geodesic filter program >>>> */ +# include "projects.h" +# include "geodesic.h" +# include "emess.h" +# include <ctype.h> +# include <stdio.h> +# include <string.h> + +# define MAXLINE 200 +# define MAX_PARGS 50 +# define TAB putchar('\t') + static int +fullout = 0, /* output full set of geodesic values */ +tag = '#', /* beginning of line tag character */ +pos_azi = 0, /* output azimuths as positive values */ +inverse = 0; /* != 0 then inverse geodesic */ + static char +*oform = (char *)0, /* output format for decimal degrees */ +*osform = "%.3f", /* output format for S */ +pline[50], /* work string */ +*usage = +"%s\nusage: %s [ -afFIptTwW [args] ] [ +opts[=arg] ] [ files ]\n"; + static void +printLL(double p, double l) { + if (oform) { + (void)printf(oform, p * RAD_TO_DEG); TAB; + (void)printf(oform, l * RAD_TO_DEG); + } else { + (void)fputs(rtodms(pline, p, 'N', 'S'),stdout); TAB; + (void)fputs(rtodms(pline, l, 'E', 'W'),stdout); + } +} + static void +do_arc(void) { + double az; + + printLL(phi2, lam2); putchar('\n'); + for (az = al12; n_alpha--; ) { + al12 = az = adjlon(az + del_alpha); + geod_pre(); + geod_for(); + printLL(phi2, lam2); putchar('\n'); + } +} + static void /* generate intermediate geodesic coordinates */ +do_geod(void) { + double phil, laml, del_S; + + phil = phi2; + laml = lam2; + printLL(phi1, lam1); putchar('\n'); + for ( geod_S = del_S = geod_S / n_S; --n_S; geod_S += del_S) { + geod_for(); + printLL(phi2, lam2); putchar('\n'); + } + printLL(phil, laml); putchar('\n'); +} + void static /* file processing function */ +process(FILE *fid) { + char line[MAXLINE+3], *s; + + for (;;) { + ++emess_dat.File_line; + if (!(s = fgets(line, MAXLINE, fid))) + break; + if (!strchr(s, '\n')) { /* overlong line */ + int c; + strcat(s, "\n"); + /* gobble up to newline */ + while ((c = fgetc(fid)) != EOF && c != '\n') ; + } + if (*s == tag) { + fputs(line, stdout); + continue; + } + phi1 = dmstor(s, &s); + lam1 = dmstor(s, &s); + if (inverse) { + phi2 = dmstor(s, &s); + lam2 = dmstor(s, &s); + geod_inv(); + } else { + al12 = dmstor(s, &s); + geod_S = strtod(s, &s) * to_meter; + geod_pre(); + geod_for(); + } + if (!*s && (s > line)) --s; /* assumed we gobbled \n */ + if (pos_azi) { + if (al12 < 0.) al12 += TWOPI; + if (al21 < 0.) al21 += TWOPI; + } + if (fullout) { + printLL(phi1, lam1); TAB; + printLL(phi2, lam2); TAB; + if (oform) { + (void)printf(oform, al12 * RAD_TO_DEG); TAB; + (void)printf(oform, al21 * RAD_TO_DEG); TAB; + (void)printf(osform, geod_S * fr_meter); + } else { + (void)fputs(rtodms(pline, al12, 0, 0), stdout); TAB; + (void)fputs(rtodms(pline, al21, 0, 0), stdout); TAB; + (void)printf(osform, geod_S * fr_meter); + } + } else if (inverse) + if (oform) { + (void)printf(oform, al12 * RAD_TO_DEG); TAB; + (void)printf(oform, al21 * RAD_TO_DEG); TAB; + (void)printf(osform, geod_S * fr_meter); + } else { + (void)fputs(rtodms(pline, al12, 0, 0), stdout); TAB; + (void)fputs(rtodms(pline, al21, 0, 0), stdout); TAB; + (void)printf(osform, geod_S * fr_meter); + } + else { + printLL(phi2, lam2); TAB; + if (oform) + (void)printf(oform, al21 * RAD_TO_DEG); + else + (void)fputs(rtodms(pline, al21, 0, 0), stdout); + } + (void)fputs(s, stdout); + } +} + +static char *pargv[MAX_PARGS]; +static int pargc = 0; + +int main(int argc, char **argv) { + char *arg, **eargv = argv, *strnchr(); + FILE *fid; + static int eargc = 0, c; + + if (emess_dat.Prog_name = strrchr(*argv,'/')) ++emess_dat.Prog_name; + else emess_dat.Prog_name = *argv; + inverse = ! strncmp(emess_dat.Prog_name, "inv", 3); + if (argc <= 1 ) { + (void)fprintf(stderr, usage, pj_get_release(), + emess_dat.Prog_name); + exit (0); + } + /* process run line arguments */ + while (--argc > 0) { /* collect run line arguments */ + if(**++argv == '-') for(arg = *argv;;) { + switch(*++arg) { + case '\0': /* position of "stdin" */ + if (arg[-1] == '-') eargv[eargc++] = "-"; + break; + case 'a': /* output full set of values */ + fullout = 1; + continue; + case 'I': /* alt. inverse spec. */ + inverse = 1; + continue; + case 't': /* set col. one char */ + if (arg[1]) tag = *++arg; + else emess(1,"missing -t col. 1 tag"); + continue; + case 'W': /* specify seconds precision */ + case 'w': /* -W for constant field width */ + if ((c = arg[1]) && isdigit(c)) { + set_rtodms(c - '0', *arg == 'W'); + ++arg; + } else + emess(1,"-W argument missing or non-digit"); + continue; + case 'f': /* alternate output format degrees or xy */ + if (--argc <= 0) +noargument: emess(1,"missing argument for -%c",*arg); + oform = *++argv; + continue; + case 'F': /* alternate output format degrees or xy */ + if (--argc <= 0) goto noargument; + osform = *++argv; + continue; + case 'l': + if (!arg[1] || arg[1] == 'e') { /* list of ellipsoids */ + struct PJ_ELLPS *le; + + for (le=pj_get_ellps_ref(); le->id ; ++le) + (void)printf("%9s %-16s %-16s %s\n", + le->id, le->major, le->ell, le->name); + } else if (arg[1] == 'u') { /* list of units */ + struct PJ_UNITS *lu; + + for (lu = pj_get_units_ref();lu->id ; ++lu) + (void)printf("%12s %-20s %s\n", + lu->id, lu->to_meter, lu->name); + } else + emess(1,"invalid list option: l%c",arg[1]); + exit( 0 ); + case 'p': /* output azimuths as positive */ + pos_azi = 1; + continue; + default: + emess(1, "invalid option: -%c",*arg); + break; + } + break; + } else if (**argv == '+') /* + argument */ + if (pargc < MAX_PARGS) + pargv[pargc++] = *argv + 1; + else + emess(1,"overflowed + argument table"); + else /* assumed to be input file name(s) */ + eargv[eargc++] = *argv; + } + /* done with parameter and control input */ + geod_set(pargc, pargv); /* setup projection */ + if ((n_alpha || n_S) && eargc) + emess(1,"files specified for arc/geodesic mode"); + if (n_alpha) + do_arc(); + else if (n_S) + do_geod(); + else { /* process input file list */ + if (eargc == 0) /* if no specific files force sysin */ + eargv[eargc++] = "-"; + for ( ; eargc-- ; ++eargv) { + if (**eargv == '-') { + fid = stdin; + emess_dat.File_name = "<stdin>"; + } else { + if ((fid = fopen(*eargv, "r")) == NULL) { + emess(-2, *eargv, "input file"); + continue; + } + emess_dat.File_name = *eargv; + } + emess_dat.File_line = 0; + process(fid); + (void)fclose(fid); + emess_dat.File_name = (char *)0; + } + } + exit(0); /* normal completion */ +} diff --git a/src/3rdparty/proj/geod_for.c b/src/3rdparty/proj/geod_for.c new file mode 100644 index 00000000..fe7c90dd --- /dev/null +++ b/src/3rdparty/proj/geod_for.c @@ -0,0 +1,103 @@ +# include "projects.h" +# include "geodesic.h" +# define MERI_TOL 1e-9 + static double +th1,costh1,sinth1,sina12,cosa12,M,N,c1,c2,D,P,s1; + static int +merid, signS; + void +geod_pre(void) { + al12 = adjlon(al12); /* reduce to +- 0-PI */ + signS = fabs(al12) > HALFPI ? 1 : 0; + th1 = ellipse ? atan(onef * tan(phi1)) : phi1; + costh1 = cos(th1); + sinth1 = sin(th1); + if ((merid = fabs(sina12 = sin(al12)) < MERI_TOL)) { + sina12 = 0.; + cosa12 = fabs(al12) < HALFPI ? 1. : -1.; + M = 0.; + } else { + cosa12 = cos(al12); + M = costh1 * sina12; + } + N = costh1 * cosa12; + if (ellipse) { + if (merid) { + c1 = 0.; + c2 = f4; + D = 1. - c2; + D *= D; + P = c2 / D; + } else { + c1 = geod_f * M; + c2 = f4 * (1. - M * M); + D = (1. - c2)*(1. - c2 - c1 * M); + P = (1. + .5 * c1 * M) * c2 / D; + } + } + if (merid) s1 = HALFPI - th1; + else { + s1 = (fabs(M) >= 1.) ? 0. : acos(M); + s1 = sinth1 / sin(s1); + s1 = (fabs(s1) >= 1.) ? 0. : acos(s1); + } +} + void +geod_for(void) { + double d,sind,u,V,X,ds,cosds,sinds,ss,de; + + if (ellipse) { + d = geod_S / (D * geod_a); + if (signS) d = -d; + u = 2. * (s1 - d); + V = cos(u + d); + X = c2 * c2 * (sind = sin(d)) * cos(d) * (2. * V * V - 1.); + ds = d + X - 2. * P * V * (1. - 2. * P * cos(u)) * sind; + ss = s1 + s1 - ds; + } else { + ds = geod_S / geod_a; + if (signS) ds = - ds; + } + cosds = cos(ds); + sinds = sin(ds); + if (signS) sinds = - sinds; + al21 = N * cosds - sinth1 * sinds; + if (merid) { + phi2 = atan( tan(HALFPI + s1 - ds) / onef); + if (al21 > 0.) { + al21 = PI; + if (signS) + de = PI; + else { + phi2 = - phi2; + de = 0.; + } + } else { + al21 = 0.; + if (signS) { + phi2 = - phi2; + de = 0; + } else + de = PI; + } + } else { + al21 = atan(M / al21); + if (al21 > 0) + al21 += PI; + if (al12 < 0.) + al21 -= PI; + al21 = adjlon(al21); + phi2 = atan(-(sinth1 * cosds + N * sinds) * sin(al21) / + (ellipse ? onef * M : M)); + de = atan2(sinds * sina12 , + (costh1 * cosds - sinth1 * sinds * cosa12)); + if (ellipse) + if (signS) + de += c1 * ((1. - c2) * ds + + c2 * sinds * cos(ss)); + else + de -= c1 * ((1. - c2) * ds - + c2 * sinds * cos(ss)); + } + lam2 = adjlon( lam1 + de ); +} diff --git a/src/3rdparty/proj/geod_inv.c b/src/3rdparty/proj/geod_inv.c new file mode 100644 index 00000000..c0c8dbb0 --- /dev/null +++ b/src/3rdparty/proj/geod_inv.c @@ -0,0 +1,56 @@ +# include "projects.h" +# include "geodesic.h" +# define DTOL 1e-12 + void +geod_inv(void) { + double th1,th2,thm,dthm,dlamm,dlam,sindlamm,costhm,sinthm,cosdthm, + sindthm,L,E,cosd,d,X,Y,T,sind,tandlammp,u,v,D,A,B; + + if (ellipse) { + th1 = atan(onef * tan(phi1)); + th2 = atan(onef * tan(phi2)); + } else { + th1 = phi1; + th2 = phi2; + } + thm = .5 * (th1 + th2); + dthm = .5 * (th2 - th1); + dlamm = .5 * ( dlam = adjlon(lam2 - lam1) ); + if (fabs(dlam) < DTOL && fabs(dthm) < DTOL) { + al12 = al21 = geod_S = 0.; + return; + } + sindlamm = sin(dlamm); + costhm = cos(thm); sinthm = sin(thm); + cosdthm = cos(dthm); sindthm = sin(dthm); + L = sindthm * sindthm + (cosdthm * cosdthm - sinthm * sinthm) + * sindlamm * sindlamm; + d = acos(cosd = 1 - L - L); + if (ellipse) { + E = cosd + cosd; + sind = sin( d ); + Y = sinthm * cosdthm; + Y *= (Y + Y) / (1. - L); + T = sindthm * costhm; + T *= (T + T) / L; + X = Y + T; + Y -= T; + T = d / sind; + D = 4. * T * T; + A = D * E; + B = D + D; + geod_S = geod_a * sind * (T - f4 * (T * X - Y) + + f64 * (X * (A + (T - .5 * (A - E)) * X) - + Y * (B + E * Y) + D * X * Y)); + tandlammp = tan(.5 * (dlam - .25 * (Y + Y - E * (4. - X)) * + (f2 * T + f64 * (32. * T - (20. * T - A) + * X - (B + 4.) * Y)) * tan(dlam))); + } else { + geod_S = geod_a * d; + tandlammp = tan(dlamm); + } + u = atan2(sindthm , (tandlammp * costhm)); + v = atan2(cosdthm , (tandlammp * sinthm)); + al12 = adjlon(TWOPI + v - u); + al21 = adjlon(TWOPI - v - u); +} diff --git a/src/3rdparty/proj/geod_set.c b/src/3rdparty/proj/geod_set.c new file mode 100644 index 00000000..88217277 --- /dev/null +++ b/src/3rdparty/proj/geod_set.c @@ -0,0 +1,74 @@ + +#define _IN_GEOD_SET + +#include <string.h> +#include "projects.h" +#include "geodesic.h" +#include "emess.h" + void +geod_set(int argc, char **argv) { + paralist *start = 0, *curr; + double es; + char *name; + int i; + + /* put arguments into internal linked list */ + if (argc <= 0) + emess(1, "no arguments in initialization list"); + for (i = 0; i < argc; ++i) + if (i) + curr = curr->next = pj_mkparam(argv[i]); + else + start = curr = pj_mkparam(argv[i]); + /* set elliptical parameters */ + if (pj_ell_set(start, &geod_a, &es)) emess(1,"ellipse setup failure"); + /* set units */ + if (name = pj_param(start, "sunits").s) { + char *s; + struct PJ_UNITS *unit_list = pj_get_units_ref(); + for (i = 0; (s = unit_list[i].id) && strcmp(name, s) ; ++i) ; + if (!s) + emess(1,"%s unknown unit conversion id", name); + fr_meter = 1. / (to_meter = atof(unit_list[i].to_meter)); + } else + to_meter = fr_meter = 1.; + if (ellipse = es != 0.) { + onef = sqrt(1. - es); + geod_f = 1 - onef; + f2 = geod_f/2; + f4 = geod_f/4; + f64 = geod_f*geod_f/64; + } else { + onef = 1.; + geod_f = f2 = f4 = f64 = 0.; + } + /* check if line or arc mode */ + if (pj_param(start, "tlat_1").i) { + double del_S; +#undef f + phi1 = pj_param(start, "rlat_1").f; + lam1 = pj_param(start, "rlon_1").f; + if (pj_param(start, "tlat_2").i) { + phi2 = pj_param(start, "rlat_2").f; + lam2 = pj_param(start, "rlon_2").f; + geod_inv(); + geod_pre(); + } else if (geod_S = pj_param(start, "dS").f) { + al12 = pj_param(start, "rA").f; + geod_pre(); + geod_for(); + } else emess(1,"incomplete geodesic/arc info"); + if ((n_alpha = pj_param(start, "in_A").i) > 0) { + if (!(del_alpha = pj_param(start, "rdel_A").f)) + emess(1,"del azimuth == 0"); + } else if (del_S = fabs(pj_param(start, "ddel_S").f)) { + n_S = geod_S / del_S + .5; + } else if ((n_S = pj_param(start, "in_S").i) <= 0) + emess(1,"no interval divisor selected"); + } + /* free up linked list */ + for ( ; start; start = curr) { + curr = start->next; + pj_dalloc(start); + } +} diff --git a/src/3rdparty/proj/geodesic.h b/src/3rdparty/proj/geodesic.h new file mode 100644 index 00000000..268cff59 --- /dev/null +++ b/src/3rdparty/proj/geodesic.h @@ -0,0 +1,51 @@ +#ifndef lint +static char GEODESIC_H_ID[] = "@(#)geodesic.h 4.3 95/08/19 GIE REL"; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _IN_GEOD_SET +# define GEOD_EXTERN extern +#else +# define GEOD_EXTERN +#endif + +GEOD_EXTERN struct geodesic { + double A; + double LAM1, PHI1, ALPHA12; + double LAM2, PHI2, ALPHA21; + double DIST; + double ONEF, FLAT, FLAT2, FLAT4, FLAT64; + int ELLIPSE; +} GEODESIC; + +# define geod_a GEODESIC.A +# define lam1 GEODESIC.LAM1 +# define phi1 GEODESIC.PHI1 +# define al12 GEODESIC.ALPHA12 +# define lam2 GEODESIC.LAM2 +# define phi2 GEODESIC.PHI2 +# define al21 GEODESIC.ALPHA21 +# define geod_S GEODESIC.DIST +# define geod_f GEODESIC.FLAT +# define onef GEODESIC.ONEF +# define f2 GEODESIC.FLAT2 +# define f4 GEODESIC.FLAT4 +# define ff2 GEODESIC.FLAT4 +# define f64 GEODESIC.FLAT64 +# define ellipse GEODESIC.ELLIPSE + + +GEOD_EXTERN int n_alpha, n_S; +GEOD_EXTERN double to_meter, fr_meter, del_alpha; + +void geod_set(int, char **); +void geod_for(void); +void geod_pre(void); +void geod_inv(void); + +#ifdef __cplusplus +} +#endif diff --git a/src/3rdparty/proj/include/pj_list.h b/src/3rdparty/proj/include/pj_list.h new file mode 100644 index 00000000..b965cc71 --- /dev/null +++ b/src/3rdparty/proj/include/pj_list.h @@ -0,0 +1,136 @@ +#ifdef DO_PJ_LIST_ID +static const char PJ_LIST_H_ID[] = "@(#)pj_list.h 4.5 95/08/09 GIE REL"; +#endif +/* Full list of current projections for Tue Jan 11 12:27:04 EST 1994 +** +** Copy this file and retain only appropriate lines for subset list +*/ +PROJ_HEAD(aea, "Albers Equal Area") +PROJ_HEAD(aeqd, "Azimuthal Equidistant") +PROJ_HEAD(airy, "Airy") +PROJ_HEAD(aitoff, "Aitoff") +PROJ_HEAD(alsk, "Mod. Stererographics of Alaska") +PROJ_HEAD(apian, "Apian Globular I") +PROJ_HEAD(august, "August Epicycloidal") +PROJ_HEAD(bacon, "Bacon Globular") +PROJ_HEAD(bipc, "Bipolar conic of western hemisphere") +PROJ_HEAD(boggs, "Boggs Eumorphic") +PROJ_HEAD(bonne, "Bonne (Werner lat_1=90)") +PROJ_HEAD(cass, "Cassini") +PROJ_HEAD(cc, "Central Cylindrical") +PROJ_HEAD(cea, "Equal Area Cylindrical") +PROJ_HEAD(chamb, "Chamberlin Trimetric") +PROJ_HEAD(collg, "Collignon") +PROJ_HEAD(crast, "Craster Parabolic (Putnins P4)") +PROJ_HEAD(denoy, "Denoyer Semi-Elliptical") +PROJ_HEAD(eck1, "Eckert I") +PROJ_HEAD(eck2, "Eckert II") +PROJ_HEAD(eck3, "Eckert III") +PROJ_HEAD(eck4, "Eckert IV") +PROJ_HEAD(eck5, "Eckert V") +PROJ_HEAD(eck6, "Eckert VI") +PROJ_HEAD(eqc, "Equidistant Cylindrical (Plate Caree)") +PROJ_HEAD(eqdc, "Equidistant Conic") +PROJ_HEAD(euler, "Euler") +PROJ_HEAD(fahey, "Fahey") +PROJ_HEAD(fouc, "Foucaut") +PROJ_HEAD(fouc_s, "Foucaut Sinusoidal") +PROJ_HEAD(gall, "Gall (Gall Stereographic)") +PROJ_HEAD(geocent, "Geocentric") +PROJ_HEAD(geos, "Geostationary Satellite View") +PROJ_HEAD(gins8, "Ginsburg VIII (TsNIIGAiK)") +PROJ_HEAD(gn_sinu, "General Sinusoidal Series") +PROJ_HEAD(gnom, "Gnomonic") +PROJ_HEAD(goode, "Goode Homolosine") +PROJ_HEAD(gs48, "Mod. Stererographics of 48 U.S.") +PROJ_HEAD(gs50, "Mod. Stererographics of 50 U.S.") +PROJ_HEAD(hammer, "Hammer & Eckert-Greifendorff") +PROJ_HEAD(hatano, "Hatano Asymmetrical Equal Area") +PROJ_HEAD(imw_p, "Internation Map of the World Polyconic") +PROJ_HEAD(kav5, "Kavraisky V") +PROJ_HEAD(kav7, "Kavraisky VII") +PROJ_HEAD(krovak, "Krovak") +PROJ_HEAD(labrd, "Laborde") +PROJ_HEAD(laea, "Lambert Azimuthal Equal Area") +PROJ_HEAD(lagrng, "Lagrange") +PROJ_HEAD(larr, "Larrivee") +PROJ_HEAD(lask, "Laskowski") +PROJ_HEAD(lonlat, "Lat/long (Geodetic)") +PROJ_HEAD(latlon, "Lat/long (Geodetic alias)") +PROJ_HEAD(latlong, "Lat/long (Geodetic alias)") +PROJ_HEAD(longlat, "Lat/long (Geodetic alias)") +PROJ_HEAD(lcc, "Lambert Conformal Conic") +PROJ_HEAD(lcca, "Lambert Conformal Conic Alternative") +PROJ_HEAD(leac, "Lambert Equal Area Conic") +PROJ_HEAD(lee_os, "Lee Oblated Stereographic") +PROJ_HEAD(loxim, "Loximuthal") +PROJ_HEAD(lsat, "Space oblique for LANDSAT") +PROJ_HEAD(mbt_s, "McBryde-Thomas Flat-Polar Sine") +PROJ_HEAD(mbt_fps, "McBryde-Thomas Flat-Pole Sine (No. 2)") +PROJ_HEAD(mbtfpp, "McBride-Thomas Flat-Polar Parabolic") +PROJ_HEAD(mbtfpq, "McBryde-Thomas Flat-Polar Quartic") +PROJ_HEAD(mbtfps, "McBryde-Thomas Flat-Polar Sinusoidal") +PROJ_HEAD(merc, "Mercator") +PROJ_HEAD(mil_os, "Miller Oblated Stereographic") +PROJ_HEAD(mill, "Miller Cylindrical") +PROJ_HEAD(moll, "Mollweide") +PROJ_HEAD(murd1, "Murdoch I") +PROJ_HEAD(murd2, "Murdoch II") +PROJ_HEAD(murd3, "Murdoch III") +PROJ_HEAD(nell, "Nell") +PROJ_HEAD(nell_h, "Nell-Hammer") +PROJ_HEAD(nicol, "Nicolosi Globular") +PROJ_HEAD(nsper, "Near-sided perspective") +PROJ_HEAD(nzmg, "New Zealand Map Grid") +PROJ_HEAD(ob_tran, "General Oblique Transformation") +PROJ_HEAD(ocea, "Oblique Cylindrical Equal Area") +PROJ_HEAD(oea, "Oblated Equal Area") +PROJ_HEAD(omerc, "Oblique Mercator") +PROJ_HEAD(ortel, "Ortelius Oval") +PROJ_HEAD(ortho, "Orthographic") +PROJ_HEAD(pconic, "Perspective Conic") +PROJ_HEAD(poly, "Polyconic (American)") +PROJ_HEAD(putp1, "Putnins P1") +PROJ_HEAD(putp2, "Putnins P2") +PROJ_HEAD(putp3, "Putnins P3") +PROJ_HEAD(putp3p, "Putnins P3'") +PROJ_HEAD(putp4p, "Putnins P4'") +PROJ_HEAD(putp5, "Putnins P5") +PROJ_HEAD(putp5p, "Putnins P5'") +PROJ_HEAD(putp6, "Putnins P6") +PROJ_HEAD(putp6p, "Putnins P6'") +PROJ_HEAD(qua_aut, "Quartic Authalic") +PROJ_HEAD(robin, "Robinson") +PROJ_HEAD(rouss, "Roussilhe Stereographic") +PROJ_HEAD(rpoly, "Rectangular Polyconic") +PROJ_HEAD(sinu, "Sinusoidal (Sanson-Flamsteed)") +PROJ_HEAD(somerc, "Swiss. Obl. Mercator") +PROJ_HEAD(stere, "Stereographic") +PROJ_HEAD(sterea, "Oblique Stereographic Alternative") +PROJ_HEAD(gstmerc, "Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)") +PROJ_HEAD(tcc, "Transverse Central Cylindrical") +PROJ_HEAD(tcea, "Transverse Cylindrical Equal Area") +PROJ_HEAD(tissot, "Tissot Conic") +PROJ_HEAD(tmerc, "Transverse Mercator") +PROJ_HEAD(tpeqd, "Two Point Equidistant") +PROJ_HEAD(tpers, "Tilted perspective") +PROJ_HEAD(ups, "Universal Polar Stereographic") +PROJ_HEAD(urm5, "Urmaev V") +PROJ_HEAD(urmfps, "Urmaev Flat-Polar Sinusoidal") +PROJ_HEAD(utm, "Universal Transverse Mercator (UTM)") +PROJ_HEAD(vandg, "van der Grinten (I)") +PROJ_HEAD(vandg2, "van der Grinten II") +PROJ_HEAD(vandg3, "van der Grinten III") +PROJ_HEAD(vandg4, "van der Grinten IV") +PROJ_HEAD(vitk1, "Vitkovsky I") +PROJ_HEAD(wag1, "Wagner I (Kavraisky VI)") +PROJ_HEAD(wag2, "Wagner II") +PROJ_HEAD(wag3, "Wagner III") +PROJ_HEAD(wag4, "Wagner IV") +PROJ_HEAD(wag5, "Wagner V") +PROJ_HEAD(wag6, "Wagner VI") +PROJ_HEAD(wag7, "Wagner VII") +PROJ_HEAD(weren, "Werenskiold I") +PROJ_HEAD(wink1, "Winkel I") +PROJ_HEAD(wink2, "Winkel II") +PROJ_HEAD(wintri, "Winkel Tripel") diff --git a/src/3rdparty/proj/include/proj_api.h b/src/3rdparty/proj/include/proj_api.h new file mode 100644 index 00000000..f4ee46bd --- /dev/null +++ b/src/3rdparty/proj/include/proj_api.h @@ -0,0 +1,108 @@ +/****************************************************************************** + * $Id: proj_api.h 1631 2009-09-24 02:26:05Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Public (application) include file for PROJ.4 API, and constants. + * Author: Frank Warmerdam, <warmerdam@pobox.com> + * + ****************************************************************************** + * Copyright (c) 2001, Frank Warmerdam <warmerdam@pobox.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +/* General projections header file */ +#ifndef PROJ_API_H +#define PROJ_API_H + +/* standard inclusions */ +#include <math.h> +#include <stdlib.h> + +#ifdef __cplusplus +extern "C" { +#endif + +/* Try to update this every version! */ +#define PJ_VERSION 470 + +extern char const pj_release[]; /* global release id string */ + +#define RAD_TO_DEG 57.29577951308232 +#define DEG_TO_RAD .0174532925199432958 + + +extern int pj_errno; /* global error return code */ + +#if !defined(PROJECTS_H) + typedef struct { double u, v; } projUV; + typedef void *projPJ; + #define projXY projUV + #define projLP projUV +#else + typedef PJ *projPJ; +# define projXY XY +# define projLP LP +#endif + +/* procedure prototypes */ + +projXY pj_fwd(projLP, projPJ); +projLP pj_inv(projXY, projPJ); + +int pj_transform( projPJ src, projPJ dst, long point_count, int point_offset, + double *x, double *y, double *z ); +int pj_datum_transform( projPJ src, projPJ dst, long point_count, int point_offset, + double *x, double *y, double *z ); +int pj_geocentric_to_geodetic( double a, double es, + long point_count, int point_offset, + double *x, double *y, double *z ); +int pj_geodetic_to_geocentric( double a, double es, + long point_count, int point_offset, + double *x, double *y, double *z ); +int pj_compare_datums( projPJ srcdefn, projPJ dstdefn ); +int pj_apply_gridshift( const char *, int, + long point_count, int point_offset, + double *x, double *y, double *z ); +void pj_deallocate_grids(void); +int pj_is_latlong(projPJ); +int pj_is_geocent(projPJ); +void pj_pr_list(projPJ); +void pj_free(projPJ); +void pj_set_finder( const char *(*)(const char *) ); +void pj_set_searchpath ( int count, const char **path ); +projPJ pj_init(int, char **); +projPJ pj_init_plus(const char *); +char *pj_get_def(projPJ, int); +projPJ pj_latlong_from_proj( projPJ ); +void *pj_malloc(size_t); +void pj_dalloc(void *); +char *pj_strerrno(int); +int *pj_get_errno_ref(void); +const char *pj_get_release(void); +void pj_acquire_lock(void); +void pj_release_lock(void); +void pj_cleanup_lock(void); + +#ifdef __cplusplus +} +#endif + +#endif /* ndef PROJ_API_H */ + diff --git a/src/3rdparty/proj/include/projects.h b/src/3rdparty/proj/include/projects.h new file mode 100644 index 00000000..098a3605 --- /dev/null +++ b/src/3rdparty/proj/include/projects.h @@ -0,0 +1,434 @@ +/****************************************************************************** + * $Id: projects.h 1625 2009-09-23 18:58:15Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Primary (private) include file for PROJ.4 library. + * Author: Gerald Evenden + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +/* General projections header file */ +#ifndef PROJECTS_H +#define PROJECTS_H + +#ifdef _MSC_VER +# ifndef _CRT_SECURE_NO_DEPRECATE +# define _CRT_SECURE_NO_DEPRECATE +# endif +# ifndef _CRT_NONSTDC_NO_DEPRECATE +# define _CRT_NONSTDC_NO_DEPRECATE +# endif +#endif + +#ifdef __cplusplus +#define C_NAMESPACE extern "C" +#define C_NAMESPACE_VAR extern "C" +extern "C" { +#else +#define C_NAMESPACE extern +#define C_NAMESPACE_VAR +#endif + +/* standard inclusions */ +#include <stdio.h> +#include <stdlib.h> +#include <math.h> + +#ifndef NULL +# define NULL 0 +#endif + +#ifndef FALSE +# define FALSE 0 +#endif + +#ifndef TRUE +# define TRUE 1 +#endif + +#ifndef MAX +# define MIN(a,b) ((a<b) ? a : b) +# define MAX(a,b) ((a>b) ? a : b) +#endif + +#ifndef ABS +# define ABS(x) ((x<0) ? (-1*(x)) : x) +#endif + + /* maximum path/filename */ +#ifndef MAX_PATH_FILENAME +#define MAX_PATH_FILENAME 1024 +#endif + /* prototype hypot for systems where absent */ +// Causes trouble on Symbian, can't find a platform where this is needed. +//#ifndef _WIN32 +//extern double hypot(double, double); +//#endif + +#ifdef _WIN32_WCE +# include <wce_stdlib.h> +# include <wce_stdio.h> +# define rewind wceex_rewind +# define getenv wceex_getenv +# define strdup _strdup +# define hypot _hypot +#endif + + /* some useful constants */ +#define HALFPI 1.5707963267948966 +#define FORTPI 0.78539816339744833 +#define PI 3.14159265358979323846 +#define TWOPI 6.2831853071795864769 + +/* environment parameter name */ +#ifndef PROJ_LIB +#define PROJ_LIB "PROJ_LIB" +#endif +/* maximum tag id length for +init and default files */ +#ifndef ID_TAG_MAX +#define ID_TAG_MAX 50 +#endif + +/* Use WIN32 as a standard windows 32 bit declaration */ +#if defined(_WIN32) && !defined(WIN32) && !defined(_WIN32_WCE) +# define WIN32 +#endif + +#if defined(_WINDOWS) && !defined(WIN32) && !defined(_WIN32_WCE) +# define WIN32 +#endif + +/* directory delimiter for DOS support */ +#ifdef WIN32 +#define DIR_CHAR '\\' +#else +#define DIR_CHAR '/' +#endif + +/* datum_type values */ +#define PJD_UNKNOWN 0 +#define PJD_3PARAM 1 +#define PJD_7PARAM 2 +#define PJD_GRIDSHIFT 3 +#define PJD_WGS84 4 /* WGS84 (or anything considered equivelent) */ + +/* datum system errors */ +#define PJD_ERR_GEOCENTRIC -45 + +#define USE_PROJUV + +typedef struct { double u, v; } projUV; +typedef struct { double r, i; } COMPLEX; + +#ifndef PJ_LIB__ +#define XY projUV +#define LP projUV +#else +typedef struct { double x, y; } XY; +typedef struct { double lam, phi; } LP; +#endif + +typedef union { double f; int i; char *s; } PVALUE; +struct PJconsts; + +struct PJ_LIST { + char *id; /* projection keyword */ + struct PJconsts *(*proj)(struct PJconsts*);/* projection entry point */ + char * const *descr; /* description text */ +}; +struct PJ_ELLPS { + char *id; /* ellipse keyword name */ + char *major; /* a= value */ + char *ell; /* elliptical parameter */ + char *name; /* comments */ +}; +struct PJ_UNITS { + char *id; /* units keyword */ + char *to_meter; /* multiply by value to get meters */ + char *name; /* comments */ +}; + +struct PJ_DATUMS { + char *id; /* datum keyword */ + char *defn; /* ie. "to_wgs84=..." */ + char *ellipse_id; /* ie from ellipse table */ + char *comments; /* EPSG code, etc */ +}; + +struct PJ_PRIME_MERIDIANS { + char *id; /* prime meridian keyword */ + char *defn; /* offset from greenwich in DMS format. */ +}; + +struct DERIVS { + double x_l, x_p; /* derivatives of x for lambda-phi */ + double y_l, y_p; /* derivatives of y for lambda-phi */ +}; + +struct FACTORS { + struct DERIVS der; + double h, k; /* meridinal, parallel scales */ + double omega, thetap; /* angular distortion, theta prime */ + double conv; /* convergence */ + double s; /* areal scale factor */ + double a, b; /* max-min scale error */ + int code; /* info as to analytics, see following */ +}; +#define IS_ANAL_XL_YL 01 /* derivatives of lon analytic */ +#define IS_ANAL_XP_YP 02 /* derivatives of lat analytic */ +#define IS_ANAL_HK 04 /* h and k analytic */ +#define IS_ANAL_CONV 010 /* convergence analytic */ + /* parameter list struct */ +typedef struct ARG_list { + struct ARG_list *next; + char used; + char param[1]; } paralist; + /* base projection data structure */ + + +typedef struct PJconsts { + XY (*fwd)(LP, struct PJconsts *); + LP (*inv)(XY, struct PJconsts *); + void (*spc)(LP, struct PJconsts *, struct FACTORS *); + void (*pfree)(struct PJconsts *); + const char *descr; + paralist *params; /* parameter list */ + int over; /* over-range flag */ + int geoc; /* geocentric latitude flag */ + int is_latlong; /* proj=latlong ... not really a projection at all */ + int is_geocent; /* proj=geocent ... not really a projection at all */ + double + a, /* major axis or radius if es==0 */ + a_orig, /* major axis before any +proj related adjustment */ + es, /* e ^ 2 */ + es_orig, /* es before any +proj related adjustment */ + e, /* eccentricity */ + ra, /* 1/A */ + one_es, /* 1 - e^2 */ + rone_es, /* 1/one_es */ + lam0, phi0, /* central longitude, latitude */ + x0, y0, /* easting and northing */ + k0, /* general scaling factor */ + to_meter, fr_meter; /* cartesian scaling */ + + int datum_type; /* PJD_UNKNOWN/3PARAM/7PARAM/GRIDSHIFT/WGS84 */ + double datum_params[7]; + double from_greenwich; /* prime meridian offset (in radians) */ + double long_wrap_center; /* 0.0 for -180 to 180, actually in radians*/ + +#ifdef PROJ_PARMS__ +PROJ_PARMS__ +#endif /* end of optional extensions */ +} PJ; + +/* public API */ +#include "proj_api.h" + +/* Generate pj_list external or make list from include file */ +#ifndef PJ_LIST_H +extern struct PJ_LIST pj_list[]; +#else +#define PROJ_HEAD(id, name) \ + struct PJconsts *pj_##id(struct PJconsts*); extern char * const pj_s_##id; + +#ifndef lint +#define DO_PJ_LIST_ID +#endif +#include PJ_LIST_H +#ifndef lint +#undef DO_PJ_LIST_ID +#endif +#undef PROJ_HEAD +#define PROJ_HEAD(id, name) {#id, pj_##id, &pj_s_##id}, + struct PJ_LIST +pj_list[] = { +#include PJ_LIST_H + {0, 0, 0}, + }; +#undef PROJ_HEAD +#endif + +#ifndef PJ_ELLPS__ +extern struct PJ_ELLPS pj_ellps[]; +#endif + +#ifndef PJ_UNITS__ +extern struct PJ_UNITS pj_units[]; +#endif + +#ifndef PJ_DATUMS__ +extern struct PJ_DATUMS pj_datums[]; +extern struct PJ_PRIME_MERIDIANS pj_prime_meridians[]; +#endif + +#ifdef PJ_LIB__ + /* repeatative projection code */ +#define PROJ_HEAD(id, name) static const char des_##id [] = name +#define ENTRYA(name) \ + C_NAMESPACE_VAR const char * const pj_s_##name = des_##name; \ + C_NAMESPACE PJ *pj_##name(PJ *P) { if (!P) { \ + if( (P = (PJ*) pj_malloc(sizeof(PJ))) != NULL) { \ + P->pfree = freeup; P->fwd = 0; P->inv = 0; \ + P->spc = 0; P->descr = des_##name; +#define ENTRYX } return P; } else { +#define ENTRY0(name) ENTRYA(name) ENTRYX +#define ENTRY1(name, a) ENTRYA(name) P->a = 0; ENTRYX +#define ENTRY2(name, a, b) ENTRYA(name) P->a = 0; P->b = 0; ENTRYX +#define ENDENTRY(p) } return (p); } +#define E_ERROR(err) { pj_errno = err; freeup(P); return(0); } +#define E_ERROR_0 { freeup(P); return(0); } +#define F_ERROR { pj_errno = -20; return(xy); } +#define I_ERROR { pj_errno = -20; return(lp); } +#define FORWARD(name) static XY name(LP lp, PJ *P) { XY xy = {0.0,0.0} +#define INVERSE(name) static LP name(XY xy, PJ *P) { LP lp = {0.0,0.0} +#define FREEUP static void freeup(PJ *P) { +#define SPECIAL(name) static void name(LP lp, PJ *P, struct FACTORS *fac) +#endif +#define MAX_TAB_ID 80 +typedef struct { float lam, phi; } FLP; +typedef struct { int lam, phi; } ILP; + +struct CTABLE { + char id[MAX_TAB_ID]; /* ascii info */ + LP ll; /* lower left corner coordinates */ + LP del; /* size of cells */ + ILP lim; /* limits of conversion matrix */ + FLP *cvs; /* conversion matrix */ +}; + +typedef struct _pj_gi { + char *gridname; /* identifying name of grid, eg "conus" or ntv2_0.gsb */ + char *filename; /* full path to filename */ + + const char *format; /* format of this grid, ie "ctable", "ntv1", + "ntv2" or "missing". */ + + int grid_offset; /* offset in file, for delayed loading */ + + struct CTABLE *ct; + + struct _pj_gi *next; + struct _pj_gi *child; +} PJ_GRIDINFO; + +/* procedure prototypes */ +double dmstor(const char *, char **); +void set_rtodms(int, int); +char *rtodms(char *, double, int, int); +double adjlon(double); +double aacos(double), aasin(double), asqrt(double), aatan2(double, double); +PVALUE pj_param(paralist *, char *); +paralist *pj_mkparam(char *); +int pj_ell_set(paralist *, double *, double *); +int pj_datum_set(paralist *, PJ *); +int pj_prime_meridian_set(paralist *, PJ *); +int pj_angular_units_set(paralist *, PJ *); + +paralist *pj_clone_paralist( const paralist* ); +void pj_clear_initcache(void); +paralist*pj_search_initcache( const char *filekey ); +void pj_insert_initcache( const char *filekey, const paralist *list); + +double *pj_enfn(double); +double pj_mlfn(double, double, double, double *); +double pj_inv_mlfn(double, double, double *); +double pj_qsfn(double, double, double); +double pj_tsfn(double, double, double); +double pj_msfn(double, double, double); +double pj_phi2(double, double); +double pj_qsfn_(double, PJ *); +double *pj_authset(double); +double pj_authlat(double, double *); +COMPLEX pj_zpoly1(COMPLEX, COMPLEX *, int); +COMPLEX pj_zpolyd1(COMPLEX, COMPLEX *, int, COMPLEX *); +FILE *pj_open_lib(char *, char *); + +int pj_deriv(LP, double, PJ *, struct DERIVS *); +int pj_factors(LP, PJ *, double, struct FACTORS *); + +struct PW_COEF {/* row coefficient structure */ + int m; /* number of c coefficients (=0 for none) */ + double *c; /* power coefficients */ +}; + +/* Approximation structures and procedures */ +typedef struct { /* Chebyshev or Power series structure */ + projUV a, b; /* power series range for evaluation */ + /* or Chebyshev argument shift/scaling */ + struct PW_COEF *cu, *cv; + int mu, mv; /* maximum cu and cv index (+1 for count) */ + int power; /* != 0 if power series, else Chebyshev */ +} Tseries; +Tseries *mk_cheby(projUV, projUV, double, projUV *, projUV (*)(projUV), int, int, int); +projUV bpseval(projUV, Tseries *); +projUV bcheval(projUV, Tseries *); +projUV biveval(projUV, Tseries *); +void *vector1(int, int); +void **vector2(int, int, int); +void freev2(void **v, int nrows); +int bchgen(projUV, projUV, int, int, projUV **, projUV(*)(projUV)); +int bch2bps(projUV, projUV, projUV **, int, int); +/* nadcon related protos */ +LP nad_intr(LP, struct CTABLE *); +LP nad_cvt(LP, int, struct CTABLE *); +struct CTABLE *nad_init(char *); +struct CTABLE *nad_ctable_init( FILE * fid ); +int nad_ctable_load( struct CTABLE *, FILE * fid ); +void nad_free(struct CTABLE *); + +/* higher level handling of datum grid shift files */ + +PJ_GRIDINFO **pj_gridlist_from_nadgrids( const char *, int * ); +void pj_deallocate_grids(); + +PJ_GRIDINFO *pj_gridinfo_init( const char * ); +int pj_gridinfo_load( PJ_GRIDINFO * ); +void pj_gridinfo_free( PJ_GRIDINFO * ); + +void *proj_mdist_ini(double); +double proj_mdist(double, double, double, const void *); +double proj_inv_mdist(double, const void *); +void *pj_gauss_ini(double, double, double *,double *); +LP pj_gauss(LP, const void *); +LP pj_inv_gauss(LP, const void *); + +extern char const pj_release[]; + +struct PJ_ELLPS *pj_get_ellps_ref( void ); +struct PJ_DATUMS *pj_get_datums_ref( void ); +struct PJ_UNITS *pj_get_units_ref( void ); +struct PJ_LIST *pj_get_list_ref( void ); +struct PJ_PRIME_MERIDIANS *pj_get_prime_meridians_ref( void ); + +#ifndef DISABLE_CVSID +# define PJ_CVSID(string) static char pj_cvsid[] = string; \ +static char *cvsid_aw() { return( cvsid_aw() ? ((char *) NULL) : pj_cvsid ); } +#else +# define PJ_CVSID(string) +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* end of basic projections header */ diff --git a/src/3rdparty/proj/mk_cheby.c b/src/3rdparty/proj/mk_cheby.c new file mode 100644 index 00000000..b3019004 --- /dev/null +++ b/src/3rdparty/proj/mk_cheby.c @@ -0,0 +1,161 @@ +#include <projects.h> + static void /* sum coefficients less than res */ +eval(projUV **w, int nu, int nv, double res, projUV *resid) { + int i, j; + double ab; + projUV *s; + + resid->u = resid->v = 0.; + for (i = 0; i < nu; ++i) + for (s = w[i], j = 0; j < nv; ++j, ++s) { + if ((ab = fabs(s->u)) < res) + resid->u += ab; + if ((ab = fabs(s->v)) < res) + resid->v += ab; + } +} + static Tseries * /* create power series structure */ +makeT(int nru, int nrv) { + Tseries *T; + int i; + + if ((T = (Tseries *)pj_malloc(sizeof(Tseries))) && + (T->cu = (struct PW_COEF *)pj_malloc( + sizeof(struct PW_COEF) * nru)) && + (T->cv = (struct PW_COEF *)pj_malloc( + sizeof(struct PW_COEF) * nrv))) { + for (i = 0; i < nru; ++i) + T->cu[i].c = 0; + for (i = 0; i < nrv; ++i) + T->cv[i].c = 0; + return T; + } else + return 0; +} + Tseries * +mk_cheby(projUV a, projUV b, double res, projUV *resid, projUV (*func)(projUV), + int nu, int nv, int power) { + int j, i, nru, nrv, *ncu, *ncv; + Tseries *T; + projUV **w; + double cutres; + + if (!(w = (projUV **)vector2(nu, nv, sizeof(projUV))) || + !(ncu = (int *)vector1(nu + nv, sizeof(int)))) + return 0; + ncv = ncu + nu; + if (!bchgen(a, b, nu, nv, w, func)) { + projUV *s; + double ab, *p; + + /* analyse coefficients and adjust until residual OK */ + cutres = res; + for (i = 4; i ; --i) { + eval(w, nu, nv, cutres, resid); + if (resid->u < res && resid->v < res) + break; + cutres *= 0.5; + } + if (i <= 0) /* warn of too many tries */ + resid->u = - resid->u; + /* apply cut resolution and set pointers */ + nru = nrv = 0; + for (j = 0; j < nu; ++j) { + ncu[j] = ncv[j] = 0; /* clear column maxes */ + for (s = w[j], i = 0; i < nv; ++i, ++s) { + if ((ab = fabs(s->u)) < cutres) /* < resolution ? */ + s->u = 0.; /* clear coefficient */ + else + ncu[j] = i + 1; /* update column max */ + if ((ab = fabs(s->v)) < cutres) /* same for v coef's */ + s->v = 0.; + else + ncv[j] = i + 1; + } + if (ncu[j]) nru = j + 1; /* update row max */ + if (ncv[j]) nrv = j + 1; + } + if (power) { /* convert to bivariate power series */ + if (!bch2bps(a, b, w, nu, nv)) + goto error; + /* possible change in some row counts, so readjust */ + nru = nrv = 0; + for (j = 0; j < nu; ++j) { + ncu[j] = ncv[j] = 0; /* clear column maxes */ + for (s = w[j], i = 0; i < nv; ++i, ++s) { + if (s->u) + ncu[j] = i + 1; /* update column max */ + if (s->v) + ncv[j] = i + 1; + } + if (ncu[j]) nru = j + 1; /* update row max */ + if (ncv[j]) nrv = j + 1; + } + if (T = makeT(nru, nrv)) { + T->a = a; + T->b = b; + T->mu = nru - 1; + T->mv = nrv - 1; + T->power = 1; + for (i = 0; i < nru; ++i) /* store coefficient rows for u */ + if (T->cu[i].m = ncu[i]) + if ((p = T->cu[i].c = + (double *)pj_malloc(sizeof(double) * ncu[i]))) + for (j = 0; j < ncu[i]; ++j) + *p++ = (w[i] + j)->u; + else + goto error; + for (i = 0; i < nrv; ++i) /* same for v */ + if (T->cv[i].m = ncv[i]) + if ((p = T->cv[i].c = + (double *)pj_malloc(sizeof(double) * ncv[i]))) + for (j = 0; j < ncv[i]; ++j) + *p++ = (w[i] + j)->v; + else + goto error; + } + } else if (T = makeT(nru, nrv)) { + /* else make returned Chebyshev coefficient structure */ + T->mu = nru - 1; /* save row degree */ + T->mv = nrv - 1; + T->a.u = a.u + b.u; /* set argument scaling */ + T->a.v = a.v + b.v; + T->b.u = 1. / (b.u - a.u); + T->b.v = 1. / (b.v - a.v); + T->power = 0; + for (i = 0; i < nru; ++i) /* store coefficient rows for u */ + if (T->cu[i].m = ncu[i]) + if ((p = T->cu[i].c = + (double *)pj_malloc(sizeof(double) * ncu[i]))) + for (j = 0; j < ncu[i]; ++j) + *p++ = (w[i] + j)->u; + else + goto error; + for (i = 0; i < nrv; ++i) /* same for v */ + if (T->cv[i].m = ncv[i]) + if ((p = T->cv[i].c = + (double *)pj_malloc(sizeof(double) * ncv[i]))) + for (j = 0; j < ncv[i]; ++j) + *p++ = (w[i] + j)->v; + else + goto error; + } else + goto error; + } + goto gohome; +error: + if (T) { /* pj_dalloc up possible allocations */ + for (i = 0; i <= T->mu; ++i) + if (T->cu[i].c) + pj_dalloc(T->cu[i].c); + for (i = 0; i <= T->mv; ++i) + if (T->cv[i].c) + pj_dalloc(T->cv[i].c); + pj_dalloc(T); + } + T = 0; +gohome: + freev2((void **) w, nu); + pj_dalloc(ncu); + return T; +} diff --git a/src/3rdparty/proj/nad2bin.c b/src/3rdparty/proj/nad2bin.c new file mode 100644 index 00000000..db4bb076 --- /dev/null +++ b/src/3rdparty/proj/nad2bin.c @@ -0,0 +1,65 @@ +/* Convert bivariate ASCII NAD27 to NAD83 tables to binary structure */ +#include <stdio.h> +#include <stdlib.h> +#define PJ_LIB__ +#include <projects.h> +#define U_SEC_TO_RAD 4.848136811095359935899141023e-12 + static char +*usage = "<ASCII_dist_table local_bin_table"; + +int main(int argc, char **argv) { + struct CTABLE ct; + FLP *p, t; + size_t tsize; + int i, j, ichk; + long lam, laml, phi, phil; + FILE *bin; + + if (argc != 2) { + fprintf(stderr,"usage: %s %s\n", argv[0], usage); + exit(1); + } + fgets(ct.id, MAX_TAB_ID, stdin); + scanf("%d %d %*d %lf %lf %lf %lf", &ct.lim.lam, &ct.lim.phi, + &ct.ll.lam, &ct.del.lam, &ct.ll.phi, &ct.del.phi); + if (!(ct.cvs = (FLP *)malloc(tsize = ct.lim.lam * ct.lim.phi * + sizeof(FLP)))) { + perror("mem. alloc"); + exit(1); + } + ct.ll.lam *= DEG_TO_RAD; + ct.ll.phi *= DEG_TO_RAD; + ct.del.lam *= DEG_TO_RAD; + ct.del.phi *= DEG_TO_RAD; + /* load table */ + for (p = ct.cvs, i = 0; i < ct.lim.phi; ++i) { + scanf("%d:%ld %ld", &ichk, &laml, &phil); + if (ichk != i) { + fprintf(stderr,"format check on row\n"); + exit(1); + } + t.lam = laml * U_SEC_TO_RAD; + t.phi = phil * U_SEC_TO_RAD; + *p++ = t; + for (j = 1; j < ct.lim.lam; ++j) { + scanf("%ld %ld", &lam, &phi); + t.lam = (laml += lam) * U_SEC_TO_RAD; + t.phi = (phil += phi) * U_SEC_TO_RAD; + *p++ = t; + } + } + if (feof(stdin)) { + fprintf(stderr, "premature EOF\n"); + exit(1); + } + if (!(bin = freopen(argv[1], "wb", stdout))) { + perror(argv[1]); + exit(2); + } + if (fwrite(&ct, sizeof(ct), 1, stdout) != 1 || + fwrite(ct.cvs, tsize, 1, stdout) != 1) { + fprintf(stderr, "output failure\n"); + exit(2); + } + exit(0); /* normal completion */ +} diff --git a/src/3rdparty/proj/nad2nad.c b/src/3rdparty/proj/nad2nad.c new file mode 100644 index 00000000..e59877da --- /dev/null +++ b/src/3rdparty/proj/nad2nad.c @@ -0,0 +1,310 @@ +/* <<<< North American Datum Transfer Program >>>> */ +#include <stdio.h> +#include <stdlib.h> +#include <ctype.h> +#include <string.h> +#define PJ_LIST_H <nad_list.h> +#include <projects.h> +#include "emess.h" + +#define MAX_LINE 1000 +#define MAX_PARGS 100 +#define PJ_INVERS(P) (P->inv ? 1 : 0) + static int +echoin = 0, /* echo input data to output line */ +tag = '#'; /* beginning of line tag character */ + static char +*oform = (char *)0, /* output format for x-y or decimal degrees */ +*oterr = "*\t*", /* output line for unprojectable input */ +*inargs = 0, +*outargs = 0, +*czone = 0, +*usage = +"%s\nusage: %s [ -eEfihortwW [args] ] [ files ]\n"; + struct CTABLE +*ctab = 0, +*htab = 0; +static struct TAG_LIST { + char *tag; + short sw; +} ops_list[] = { + "utm=", 0, + "spcs=", 1, + "feet", 2, + "27", 3, + "83", 4, + "hp", 5, + "bin", 6, + "rev", 7, + 0, 0, +}; +static struct IO_CON { + short rev; /* reverse lon/lat or x/y */ + short bin; /* io binary */ + short ll; /* io lat-lon */ + short t83; /* data in 83 datum */ + short zone; /* <100 utm zone, ==0 geog, else state plane zone */ + short nprojc; /* number of entries in projc */ + char *hp; /* high precision name */ + char *projc[10]; /* params for pj_init */ + PJ *cnv; +} input = { + 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, +}, output = { + 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, +}; + static void +set_zone(int in, struct IO_CON *io) { + char tmp[20]; + + if (io->hp) { + io->t83 = 1; + if (!(htab = nad_init(io->hp))) + emess(1,"hp datum file: %s, failed: %s", io->hp, + pj_strerrno(pj_errno)); + } + if (io->zone > 0) { + if (io->zone <= 60) { /* UTM zone */ + io->nprojc = 2; /* no other options allowed */ + io->projc[0] = "proj=utm"; + sprintf(tmp, "zone=%d", io->zone); + io->projc[1] = io->t83 ? "ellps=GRS80" : "ellps=clrk66"; + } else /* SPCS zone */ + sprintf(tmp, "init=nad%s:%d", io->t83 ? "83" : "27", io->zone); + io->projc[io->nprojc++] = tmp; + io->projc[io->nprojc++] = "no_defs"; + if (!(io->cnv = pj_init(io->nprojc, io->projc))) + emess(1,pj_strerrno(pj_errno)); + io->ll = 0; + } +} + static void +setup() { + /* check and set zone operations */ + if (input.hp && output.hp) + emess(1,"both input and output cannot be high precision"); + set_zone(1, &input); + set_zone(0, &output); + if (input.cnv && !output.cnv) + output.ll = 1; + if (output.cnv && !input.cnv) + input.ll = 1; + if (!input.cnv && !output.cnv) + output.ll = input.ll = 1; + if (czone) { + if (!input.hp && !output.hp && input.t83 == output.t83) + emess(1,"identical datums"); + if (!(ctab = nad_init(czone))) + emess(1,"datum file: %s, failed: %s", czone, pj_strerrno(pj_errno)); + } else if (input.t83 != output.t83) + emess(1,"conversion region (-r) not specified"); +} + static void +set_ops(char *s, struct IO_CON *io) { + char *intag; + struct TAG_LIST *p; + + for ( ; intag = strtok(s, " ,\t"); s = 0) { + for (p = ops_list; p->tag; ++p) { + if (!strncmp(intag, p->tag, strlen(p->tag))) + break; + } + if (!p->tag) + emess(1,"invalid selection"); + switch (p->sw) { + case 0: + case 1: + s = strchr(intag, '=') + 1; + io->zone = atoi(s); + break; + case 2: + if (io->zone <= 60) + emess(1,"spcs zone must be selected"); + io->projc[io->nprojc++] = "units=us-ft"; + break; + case 3: io->t83 = 0; break; + case 4: io->t83 = 1; break; + case 5: + if (!(intag = strchr(intag, '=')) || *++intag == '\0') + emess(1,"hp missing name"); + strcpy(io->hp = (char*)malloc(strlen(intag)+1), intag); + break; + case 6: io->bin = 1; break; + case 7: io->rev = 1; break; + } + } +} + static void +process(FILE *fid) { + char line[MAX_LINE], *s, t, pline[100]; + projUV val; + double tmp; + + for (;;) { + if (input.bin) + fread(&val, sizeof(projUV), 1, fid); + else if (s = fgets(line, MAX_LINE, fid)) { + if (*s == tag) { + fputs(line, stdout); + continue; + } else if (input.ll) { + val.u = dmstor(s, &s); + val.v = dmstor(s, &s); + } else { + val.u = strtod(s, &s); + val.v = strtod(s, &s); + } + } + if (feof(fid)) + break; + if (input.rev) { + tmp = val.u; + val.u = val.v; + val.v = tmp; + } + /* data in, manupulate */ + if (input.cnv) + val = pj_inv(val, input.cnv); + if (input.hp) + val = nad_cvt(val, 1, htab); + /* nad conversion */ + if (ctab) + val = nad_cvt(val, input.t83 ? 1 : 0, ctab); + if (output.hp) + val = nad_cvt(val, 0, htab); + if (output.cnv) + val = pj_fwd(val, output.cnv); + /* output data */ + if (output.rev) { + tmp = val.u; + val.u = val.v; + val.v = tmp; + } + if (output.bin) + (void)fwrite(&val, sizeof(projUV), 1, stdout); + else { + if (echoin) { + t = *s; + *s = '\0'; + (void)fputs(line, stdout); + (void)putchar('\t'); + *s = t; + } + if (val.u == HUGE_VAL) + (void)fputs(oterr, stdout); + else if (output.ll) + if (oform) { + (void)printf(oform, val.u * RAD_TO_DEG); + (void)putchar('\t'); + (void)printf(oform, val.v * RAD_TO_DEG); + } else if (output.rev) { + (void)fputs(rtodms(pline, val.u, 'N', 'S'), stdout); + (void)putchar('\t'); + (void)fputs(rtodms(pline, val.v, 'E', 'W'), stdout); + } else { + (void)fputs(rtodms(pline, val.u, 'E', 'W'), stdout); + (void)putchar('\t'); + (void)fputs(rtodms(pline, val.v, 'N', 'S'), stdout); + } + else { + (void)printf(oform ? oform : "%.2f", val.u); + (void)putchar('\t'); + (void)printf(oform ? oform : "%.2f", val.v); + } + if (input.bin) + putchar('\n'); + else + (void)fputs(s, stdout); + } + } +} + +int main(int argc, char **argv) { + char *arg, **eargv = argv, work[MAX_PARGS]; + FILE *fid; + int eargc = 0, c; + + if (emess_dat.Prog_name = strrchr(*argv,DIR_CHAR)) + ++emess_dat.Prog_name; + else emess_dat.Prog_name = *argv; + if (argc <= 1 ) { + (void)fprintf(stderr, usage, pj_release, emess_dat.Prog_name); + exit (0); + } + /* process run line arguments */ + while (--argc > 0) { /* collect run line arguments */ + if(**++argv == '-') for(arg = *argv;;) { + switch(*++arg) { + case '\0': /* position of "stdin" */ + if (arg[-1] == '-') eargv[eargc++] = "-"; + break; + case 'i': /* input control */ + case 'o': /* output control */ + if (--argc <= 0) goto noargument; + strncpy(work, *++argv, MAX_PARGS); + set_ops(work, *arg == 'i' ? &input : &output); + continue; + case 'r': /* nad27/83 conversion zone */ + if (--argc <= 0) goto noargument; + czone = *++argv; + continue; + case 'E': /* echo ascii input to ascii output */ + echoin = 1; + continue; + case 't': /* set col. one char */ + if (arg[1]) tag = *++arg; + else emess(1,"missing -t col. 1 tag"); + continue; + case 'W': /* specify seconds precision */ + case 'w': /* -W for constant field width */ + if ((c = arg[1]) != 0 && isdigit(c)) { + set_rtodms(c - '0', *arg == 'W'); + ++arg; + } else + emess(1,"-W argument missing or non-digit"); + continue; + case 'f': /* alternate output format degrees or xy */ + if (--argc <= 0) goto noargument; + oform = *++argv; + continue; + case 'e': /* error line alternative */ + if (--argc <= 0) +noargument: emess(1,"missing argument for -%c",*arg); + oterr = *++argv; + continue; + default: + emess(1, "invalid option: -%c",*arg); + break; + } + break; + } else /* assumed to be input file name(s) */ + eargv[eargc++] = *argv; + } + if (eargc == 0) /* if no specific files force sysin */ + eargv[eargc++] = "-"; + /* done with parameter and control input */ + setup(); + /* process input file list */ + for ( ; eargc-- ; ++eargv) { + if (**eargv == '-') { + fid = stdin; + emess_dat.File_name = "<stdin>"; + } else { + if ((fid = fopen(*eargv, "r")) == NULL) { + emess(-2, *eargv, "input file"); + continue; + } + emess_dat.File_name = *eargv; + } + emess_dat.File_line = 0; + /* process file */ + process(fid); + (void)fclose(fid); + emess_dat.File_name = 0; + } + exit(0); /* normal completion */ +} diff --git a/src/3rdparty/proj/nad_cvt.c b/src/3rdparty/proj/nad_cvt.c new file mode 100644 index 00000000..36fe6cb7 --- /dev/null +++ b/src/3rdparty/proj/nad_cvt.c @@ -0,0 +1,68 @@ +#define PJ_LIB__ +#include <projects.h> +#define MAX_TRY 9 +#define TOL 1e-12 + LP +nad_cvt(LP in, int inverse, struct CTABLE *ct) { + LP t, tb; + + if (in.lam == HUGE_VAL) + return in; + /* normalize input to ll origin */ + tb = in; + tb.lam -= ct->ll.lam; + tb.phi -= ct->ll.phi; + tb.lam = adjlon(tb.lam - PI) + PI; + t = nad_intr(tb, ct); + if (inverse) { + LP del, dif; + int i = MAX_TRY; + + if (t.lam == HUGE_VAL) return t; + t.lam = tb.lam + t.lam; + t.phi = tb.phi - t.phi; + + do { + del = nad_intr(t, ct); + + /* This case used to return failure, but I have + changed it to return the first order approximation + of the inverse shift. This avoids cases where the + grid shift *into* this grid came from another grid. + While we aren't returning optimally correct results + I feel a close result in this case is better than + no result. NFW + To demonstrate use -112.5839956 49.4914451 against + the NTv2 grid shift file from Canada. */ + if (del.lam == HUGE_VAL) + { + if( getenv( "PROJ_DEBUG" ) != NULL ) + fprintf( stderr, + "Inverse grid shift iteration failed, presumably at grid edge.\n" + "Using first approximation.\n" ); + /* return del */; + break; + } + + t.lam -= dif.lam = t.lam - del.lam - tb.lam; + t.phi -= dif.phi = t.phi + del.phi - tb.phi; + } while (i-- && fabs(dif.lam) > TOL && fabs(dif.phi) > TOL); + if (i < 0) { + if( getenv( "PROJ_DEBUG" ) != NULL ) + fprintf( stderr, + "Inverse grid shift iterator failed to converge.\n" ); + t.lam = t.phi = HUGE_VAL; + return t; + } + in.lam = adjlon(t.lam + ct->ll.lam); + in.phi = t.phi + ct->ll.phi; + } else { + if (t.lam == HUGE_VAL) + in = t; + else { + in.lam -= t.lam; + in.phi += t.phi; + } + } + return in; +} diff --git a/src/3rdparty/proj/nad_init.c b/src/3rdparty/proj/nad_init.c new file mode 100644 index 00000000..ec74a9c9 --- /dev/null +++ b/src/3rdparty/proj/nad_init.c @@ -0,0 +1,176 @@ +/****************************************************************************** + * $Id: nad_init.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Load datum shift files into memory. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ + +#include <projects.h> +#include <stdio.h> +#include <errno.h> +#include <string.h> + +#ifdef _WIN32_WCE +/* assert.h includes all Windows API headers and causes 'LP' name clash. + * Here assert we disable assert() for Windows CE. + * TODO - mloskot: re-implement porting friendly assert + */ +# define assert(exp) ((void)0) +#else +# include <assert.h> +#endif /* _WIN32_WCE */ + +/************************************************************************/ +/* nad_ctable_load() */ +/* */ +/* Load the data portion of a ctable formatted grid. */ +/************************************************************************/ + +int nad_ctable_load( struct CTABLE *ct, FILE *fid ) + +{ + int a_size; + + fseek( fid, sizeof(struct CTABLE), SEEK_SET ); + + /* read all the actual shift values */ + a_size = ct->lim.lam * ct->lim.phi; + ct->cvs = (FLP *) pj_malloc(sizeof(FLP) * a_size); + if( ct->cvs == NULL + || fread(ct->cvs, sizeof(FLP), a_size, fid) != a_size ) + { + pj_dalloc( ct->cvs ); + ct->cvs = NULL; + + if( getenv("PROJ_DEBUG") != NULL ) + { + fprintf( stderr, + "ctable loading failed on fread() - binary incompatible?\n" ); + } + + pj_errno = -38; + return 0; + } + + return 1; +} + +/************************************************************************/ +/* nad_ctable_init() */ +/* */ +/* Read the header portion of a "ctable" format grid. */ +/************************************************************************/ + +struct CTABLE *nad_ctable_init( FILE * fid ) +{ + struct CTABLE *ct; + int id_end; + + /* read the table header */ + ct = (struct CTABLE *) pj_malloc(sizeof(struct CTABLE)); + if( ct == NULL + || fread( ct, sizeof(struct CTABLE), 1, fid ) != 1 ) + { + pj_errno = -38; + return NULL; + } + + /* do some minimal validation to ensure the structure isn't corrupt */ + if( ct->lim.lam < 1 || ct->lim.lam > 100000 + || ct->lim.phi < 1 || ct->lim.phi > 100000 ) + { + pj_errno = -38; + return NULL; + } + + /* trim white space and newlines off id */ + for( id_end = strlen(ct->id)-1; id_end > 0; id_end-- ) + { + if( ct->id[id_end] == '\n' || ct->id[id_end] == ' ' ) + ct->id[id_end] = '\0'; + else + break; + } + + ct->cvs = NULL; + + return ct; +} + +/************************************************************************/ +/* nad_init() */ +/* */ +/* Read a datum shift file in any of the supported binary formats. */ +/************************************************************************/ + +struct CTABLE *nad_init(char *name) +{ + char fname[MAX_PATH_FILENAME+1]; + struct CTABLE *ct; + FILE *fid; + char header[512]; + + errno = pj_errno = 0; + +/* -------------------------------------------------------------------- */ +/* Open the file using the usual search rules. */ +/* -------------------------------------------------------------------- */ + strcpy(fname, name); + if (!(fid = pj_open_lib(fname, "rb"))) { + pj_errno = errno; + return 0; + } + + ct = nad_ctable_init( fid ); + if( ct != NULL ) + { + if( !nad_ctable_load( ct, fid ) ) + { + nad_free( ct ); + ct = NULL; + } + } + + fclose(fid); + return ct; +} + +/************************************************************************/ +/* nad_free() */ +/* */ +/* Free a CTABLE grid shift structure produced by nad_init(). */ +/************************************************************************/ + +void nad_free(struct CTABLE *ct) +{ + if (ct) { + if( ct->cvs != NULL ) + pj_dalloc(ct->cvs); + + pj_dalloc(ct); + } +} diff --git a/src/3rdparty/proj/nad_intr.c b/src/3rdparty/proj/nad_intr.c new file mode 100644 index 00000000..299f1806 --- /dev/null +++ b/src/3rdparty/proj/nad_intr.c @@ -0,0 +1,62 @@ +/* Determine nad table correction value */ +#define PJ_LIB__ +#include <projects.h> + LP +nad_intr(LP t, struct CTABLE *ct) { + LP val, frct; + ILP indx; + double m00, m10, m01, m11; + FLP *f00, *f10, *f01, *f11; + long index; + int in; + + indx.lam = floor(t.lam /= ct->del.lam); + indx.phi = floor(t.phi /= ct->del.phi); + frct.lam = t.lam - indx.lam; + frct.phi = t.phi - indx.phi; + val.lam = val.phi = HUGE_VAL; + if (indx.lam < 0) { + if (indx.lam == -1 && frct.lam > 0.99999999999) { + ++indx.lam; + frct.lam = 0.; + } else + return val; + } else if ((in = indx.lam + 1) >= ct->lim.lam) { + if (in == ct->lim.lam && frct.lam < 1e-11) { + --indx.lam; + frct.lam = 1.; + } else + return val; + } + if (indx.phi < 0) { + if (indx.phi == -1 && frct.phi > 0.99999999999) { + ++indx.phi; + frct.phi = 0.; + } else + return val; + } else if ((in = indx.phi + 1) >= ct->lim.phi) { + if (in == ct->lim.phi && frct.phi < 1e-11) { + --indx.phi; + frct.phi = 1.; + } else + return val; + } + index = indx.phi * ct->lim.lam + indx.lam; + f00 = ct->cvs + index++; + f10 = ct->cvs + index; + index += ct->lim.lam; + f11 = ct->cvs + index--; + f01 = ct->cvs + index; + m11 = m10 = frct.lam; + m00 = m01 = 1. - frct.lam; + m11 *= frct.phi; + m01 *= frct.phi; + frct.phi = 1. - frct.phi; + m00 *= frct.phi; + m10 *= frct.phi; + val.lam = m00 * f00->lam + m10 * f10->lam + + m01 * f01->lam + m11 * f11->lam; + val.phi = m00 * f00->phi + m10 * f10->phi + + m01 * f01->phi + m11 * f11->phi; + return val; +} diff --git a/src/3rdparty/proj/nad_list.h b/src/3rdparty/proj/nad_list.h new file mode 100644 index 00000000..f82a2ab7 --- /dev/null +++ b/src/3rdparty/proj/nad_list.h @@ -0,0 +1,6 @@ +/* projection list for program nad2nad */ +PROJ_HEAD(lcc, "Lambert Conformal Conic") +PROJ_HEAD(omerc, "Oblique Mercator") +PROJ_HEAD(poly, "Polyconic (American)") +PROJ_HEAD(tmerc, "Transverse Mercator") +PROJ_HEAD(utm, "Universal Transverse Mercator (UTM)") diff --git a/src/3rdparty/proj/org_proj4_Projections.h b/src/3rdparty/proj/org_proj4_Projections.h new file mode 100644 index 00000000..3841e057 --- /dev/null +++ b/src/3rdparty/proj/org_proj4_Projections.h @@ -0,0 +1,37 @@ +/* DO NOT EDIT THIS FILE - it is machine generated */ +#include <jni.h> +/* Header for class org_proj4_Projections */ + +#ifndef _Included_org_proj4_Projections +#define _Included_org_proj4_Projections +#ifdef __cplusplus +extern "C" { +#endif +/* + * Class: org_proj4_Projections + * Method: getProjInfo + * Signature: (Ljava/lang/String;)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_proj4_Projections_getProjInfo + (JNIEnv *, jobject, jstring); + +/* + * Class: org_proj4_Projections + * Method: getEllipsInfo + * Signature: (Ljava/lang/String;)Ljava/lang/String; + */ +JNIEXPORT jstring JNICALL Java_org_proj4_Projections_getEllipsInfo + (JNIEnv *, jobject, jstring); + +/* + * Class: org_proj4_Projections + * Method: transform + * Signature: ([D[D[DLjava/lang/String;Ljava/lang/String;JI)V + */ +JNIEXPORT void JNICALL Java_org_proj4_Projections_transform + (JNIEnv *, jobject, jdoubleArray, jdoubleArray, jdoubleArray, jstring, jstring, jlong, jint); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/src/3rdparty/proj/p_series.c b/src/3rdparty/proj/p_series.c new file mode 100644 index 00000000..7499ab49 --- /dev/null +++ b/src/3rdparty/proj/p_series.c @@ -0,0 +1,39 @@ +/* print row coefficients of Tseries structure */ +#include "projects.h" +#include <stdio.h> +#include <string.h> +#define NF 20 /* length of final format string */ +#define CUT 60 /* check length of line */ + void +p_series(Tseries *T, FILE *file, char *fmt) { + int i, j, n, L; + char format[NF+1]; + + *format = ' '; + strncpy(format + 1, fmt, NF - 3); + strcat(format, "%n"); + fprintf(file, "u: %d\n", T->mu+1); + for (i = 0; i <= T->mu; ++i) + if (T->cu[i].m) { + fprintf(file, "%d %d%n", i, T->cu[i].m, &L); + n = 0; + for (j = 0; j < T->cu[i].m; ++j) { + if ((L += n) > CUT) + fprintf(file, "\n %n", &L); + fprintf(file, format, T->cu[i].c[j], &n); + } + fputc('\n', file); + } + fprintf(file, "v: %d\n", T->mv+1); + for (i = 0; i <= T->mv; ++i) + if (T->cv[i].m) { + fprintf(file, "%d %d%n", i, T->cv[i].m, &L); + n = 0; + for (j = 0; j < T->cv[i].m; ++j) { + if ((L += n) > 60) + fprintf(file, "\n %n", &L); + fprintf(file, format, T->cv[i].c[j], &n); + } + fputc('\n', file); + } +} diff --git a/src/3rdparty/proj/pj_apply_gridshift.c b/src/3rdparty/proj/pj_apply_gridshift.c new file mode 100644 index 00000000..9ccfee39 --- /dev/null +++ b/src/3rdparty/proj/pj_apply_gridshift.c @@ -0,0 +1,151 @@ +/****************************************************************************** + * $Id: pj_apply_gridshift.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Apply datum shifts based on grid shift files (normally NAD27 to + * NAD83 or the reverse). This module is responsible for keeping + * a list of loaded grids, and calling with each one that is + * allowed for a given datum (expressed as the nadgrids= parameter). + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam <warmerdam@pobox.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ + +#include <projects.h> +#include <string.h> +#include <math.h> + +/************************************************************************/ +/* pj_apply_gridshift() */ +/************************************************************************/ + +int pj_apply_gridshift( const char *nadgrids, int inverse, + long point_count, int point_offset, + double *x, double *y, double *z ) + +{ + int grid_count = 0; + PJ_GRIDINFO **tables; + int i; + int debug_flag = getenv( "PROJ_DEBUG" ) != NULL; + static int debug_count = 0; + + pj_errno = 0; + + tables = pj_gridlist_from_nadgrids( nadgrids, &grid_count); + if( tables == NULL || grid_count == 0 ) + return pj_errno; + + for( i = 0; i < point_count; i++ ) + { + long io = i * point_offset; + LP input, output; + int itable; + + input.phi = y[io]; + input.lam = x[io]; + output.phi = HUGE_VAL; + output.lam = HUGE_VAL; + + /* keep trying till we find a table that works */ + for( itable = 0; itable < grid_count; itable++ ) + { + PJ_GRIDINFO *gi = tables[itable]; + struct CTABLE *ct = gi->ct; + + /* skip tables that don't match our point at all. */ + if( ct->ll.phi > input.phi || ct->ll.lam > input.lam + || ct->ll.phi + (ct->lim.phi-1) * ct->del.phi < input.phi + || ct->ll.lam + (ct->lim.lam-1) * ct->del.lam < input.lam ) + continue; + + /* If we have child nodes, check to see if any of them apply. */ + if( gi->child != NULL ) + { + PJ_GRIDINFO *child; + + for( child = gi->child; child != NULL; child = child->next ) + { + struct CTABLE *ct1 = child->ct; + + if( ct1->ll.phi > input.phi || ct1->ll.lam > input.lam + || ct1->ll.phi+(ct1->lim.phi-1)*ct1->del.phi < input.phi + || ct1->ll.lam+(ct1->lim.lam-1)*ct1->del.lam < input.lam) + continue; + + break; + } + + /* we found a more refined child node to use */ + if( child != NULL ) + { + gi = child; + ct = child->ct; + } + } + + /* load the grid shift info if we don't have it. */ + if( ct->cvs == NULL && !pj_gridinfo_load( gi ) ) + { + pj_errno = -38; + return pj_errno; + } + + output = nad_cvt( input, inverse, ct ); + if( output.lam != HUGE_VAL ) + { + if( debug_flag && debug_count++ < 20 ) + fprintf( stderr, + "pj_apply_gridshift(): used %s\n", + ct->id ); + break; + } + } + + if( output.lam == HUGE_VAL ) + { + if( debug_flag ) + { + fprintf( stderr, + "pj_apply_gridshift(): failed to find a grid shift table for\n" + " location (%.7fdW,%.7fdN)\n", + x[io] * RAD_TO_DEG, + y[io] * RAD_TO_DEG ); + fprintf( stderr, + " tried: %s\n", nadgrids ); + } + + pj_errno = -38; + return pj_errno; + } + else + { + y[io] = output.phi; + x[io] = output.lam; + } + } + + return 0; +} + diff --git a/src/3rdparty/proj/pj_auth.c b/src/3rdparty/proj/pj_auth.c new file mode 100644 index 00000000..599b8f77 --- /dev/null +++ b/src/3rdparty/proj/pj_auth.c @@ -0,0 +1,30 @@ +/* determine latitude from authalic latitude */ +#include <projects.h> +# define P00 .33333333333333333333 +# define P01 .17222222222222222222 +# define P02 .10257936507936507936 +# define P10 .06388888888888888888 +# define P11 .06640211640211640211 +# define P20 .01641501294219154443 +#define APA_SIZE 3 + double * +pj_authset(double es) { + double t, *APA; + + if (APA = (double *)pj_malloc(APA_SIZE * sizeof(double))) { + APA[0] = es * P00; + t = es * es; + APA[0] += t * P01; + APA[1] = t * P10; + t *= es; + APA[0] += t * P02; + APA[1] += t * P11; + APA[2] = t * P20; + } + return APA; +} + double +pj_authlat(double beta, double *APA) { + double t = beta+beta; + return(beta + APA[0] * sin(t) + APA[1] * sin(t+t) + APA[2] * sin(t+t+t)); +} diff --git a/src/3rdparty/proj/pj_datum_set.c b/src/3rdparty/proj/pj_datum_set.c new file mode 100644 index 00000000..c2b8e1bb --- /dev/null +++ b/src/3rdparty/proj/pj_datum_set.c @@ -0,0 +1,139 @@ +/****************************************************************************** + * $Id: pj_datum_set.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Apply datum definition to PJ structure from initialization string. + * Author: Frank Warmerdam, warmerda@home.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#include <projects.h> +#include <string.h> + +/* SEC_TO_RAD = Pi/180/3600 */ +#define SEC_TO_RAD 4.84813681109535993589914102357e-6 + +/************************************************************************/ +/* pj_datum_set() */ +/************************************************************************/ + +int pj_datum_set(paralist *pl, PJ *projdef) + +{ + const char *name, *towgs84, *nadgrids; + + projdef->datum_type = PJD_UNKNOWN; + +/* -------------------------------------------------------------------- */ +/* Is there a datum definition in the parameters list? If so, */ +/* add the defining values to the parameter list. Note that */ +/* this will append the ellipse definition as well as the */ +/* towgs84= and related parameters. It should also be pointed */ +/* out that the addition is permanent rather than temporary */ +/* like most other keyword expansion so that the ellipse */ +/* definition will last into the pj_ell_set() function called */ +/* after this one. */ +/* -------------------------------------------------------------------- */ + if( (name = pj_param(pl,"sdatum").s) != NULL ) + { + paralist *curr; + const char *s; + int i; + + /* find the end of the list, so we can add to it */ + for (curr = pl; curr && curr->next ; curr = curr->next) {} + + /* find the datum definition */ + for (i = 0; (s = pj_datums[i].id) && strcmp(name, s) ; ++i) {} + + if (!s) { pj_errno = -9; return 1; } + + if( pj_datums[i].ellipse_id && strlen(pj_datums[i].ellipse_id) > 0 ) + { + char entry[100]; + + strcpy( entry, "ellps=" ); + strncat( entry, pj_datums[i].ellipse_id, 80 ); + curr = curr->next = pj_mkparam(entry); + } + + if( pj_datums[i].defn && strlen(pj_datums[i].defn) > 0 ) + curr = curr->next = pj_mkparam(pj_datums[i].defn); + } + +/* -------------------------------------------------------------------- */ +/* Check for nadgrids parameter. */ +/* -------------------------------------------------------------------- */ + if( (nadgrids = pj_param(pl,"snadgrids").s) != NULL ) + { + /* We don't actually save the value separately. It will continue + to exist int he param list for use in pj_apply_gridshift.c */ + + projdef->datum_type = PJD_GRIDSHIFT; + } + +/* -------------------------------------------------------------------- */ +/* Check for towgs84 parameter. */ +/* -------------------------------------------------------------------- */ + else if( (towgs84 = pj_param(pl,"stowgs84").s) != NULL ) + { + int parm_count = 0; + const char *s; + + memset( projdef->datum_params, 0, sizeof(double) * 7); + + /* parse out the parameters */ + s = towgs84; + for( s = towgs84; *s != '\0' && parm_count < 7; ) + { + projdef->datum_params[parm_count++] = atof(s); + while( *s != '\0' && *s != ',' ) + s++; + if( *s == ',' ) + s++; + } + + if( projdef->datum_params[3] != 0.0 + || projdef->datum_params[4] != 0.0 + || projdef->datum_params[5] != 0.0 + || projdef->datum_params[6] != 0.0 ) + { + projdef->datum_type = PJD_7PARAM; + + /* transform from arc seconds to radians */ + projdef->datum_params[3] *= SEC_TO_RAD; + projdef->datum_params[4] *= SEC_TO_RAD; + projdef->datum_params[5] *= SEC_TO_RAD; + /* transform from parts per million to scaling factor */ + projdef->datum_params[6] = + (projdef->datum_params[6]/1000000.0) + 1; + } + else + projdef->datum_type = PJD_3PARAM; + + /* Note that pj_init() will later switch datum_type to + PJD_WGS84 if shifts are all zero, and ellipsoid is WGS84 or GRS80 */ + } + + return 0; +} diff --git a/src/3rdparty/proj/pj_datums.c b/src/3rdparty/proj/pj_datums.c new file mode 100644 index 00000000..be0bb8b0 --- /dev/null +++ b/src/3rdparty/proj/pj_datums.c @@ -0,0 +1,90 @@ +/****************************************************************************** + * $Id: pj_datums.c 1558 2009-04-02 18:25:58Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Built in datum list. + * Author: Frank Warmerdam, warmerda@home.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_DATUMS__ + +#include <projects.h> + +/* + * The ellipse code must match one from pj_ellps.c. The datum id should + * be kept to 12 characters or less if possible. Use the official OGC + * datum name for the comments if available. + */ + +C_NAMESPACE_VAR struct PJ_DATUMS pj_datums[] = { +/* id definition ellipse comments */ +/* -- ---------- ------- -------- */ +"WGS84", "towgs84=0,0,0", "WGS84", "", +"GGRS87", "towgs84=-199.87,74.79,246.62", "GRS80", + "Greek_Geodetic_Reference_System_1987", +"NAD83", "towgs84=0,0,0", "GRS80", + "North_American_Datum_1983", +"NAD27", "nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat", + "clrk66", + "North_American_Datum_1927", +"potsdam", "towgs84=606.0,23.0,413.0", "bessel", "Potsdam Rauenberg 1950 DHDN", +"carthage", "towgs84=-263.0,6.0,431.0", "clark80", "Carthage 1934 Tunisia", +"hermannskogel", "towgs84=653.0,-212.0,449.0", "bessel", "Hermannskogel", +"ire65", "towgs84=482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", "mod_airy", "Ireland 1965", +"nzgd49", "towgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", "intl", "New Zealand Geodetic Datum 1949", +"OSGB36", "towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", "airy", "Airy 1830", +NULL, NULL, NULL, NULL +}; + +struct PJ_DATUMS *pj_get_datums_ref() + +{ + return pj_datums; +} + +C_NAMESPACE_VAR struct PJ_PRIME_MERIDIANS pj_prime_meridians[] = { + /* id definition */ + /* -- ---------- */ + "greenwich", "0dE", + "lisbon", "9d07'54.862\"W", + "paris", "2d20'14.025\"E", + "bogota", "74d04'51.3\"W", + "madrid", "3d41'16.58\"W", + "rome", "12d27'8.4\"E", + "bern", "7d26'22.5\"E", + "jakarta", "106d48'27.79\"E", + "ferro", "17d40'W", + "brussels", "4d22'4.71\"E", + "stockholm", "18d3'29.8\"E", + "athens", "23d42'58.815\"E", + "oslo", "10d43'22.5\"E", + NULL, NULL +}; + +struct PJ_PRIME_MERIDIANS *pj_get_prime_meridians_ref() + +{ + return pj_prime_meridians; +} + diff --git a/src/3rdparty/proj/pj_deriv.c b/src/3rdparty/proj/pj_deriv.c new file mode 100644 index 00000000..7b4ef627 --- /dev/null +++ b/src/3rdparty/proj/pj_deriv.c @@ -0,0 +1,33 @@ +/* dervative of (*P->fwd) projection */ +#define PJ_LIB__ +#include "projects.h" + int +pj_deriv(LP lp, double h, PJ *P, struct DERIVS *der) { + XY t; + + lp.lam += h; + lp.phi += h; + if (fabs(lp.phi) > HALFPI) return 1; + h += h; + t = (*P->fwd)(lp, P); + if (t.x == HUGE_VAL) return 1; + der->x_l = t.x; der->y_p = t.y; der->x_p = -t.x; der->y_l = -t.y; + lp.phi -= h; + if (fabs(lp.phi) > HALFPI) return 1; + t = (*P->fwd)(lp, P); + if (t.x == HUGE_VAL) return 1; + der->x_l += t.x; der->y_p -= t.y; der->x_p += t.x; der->y_l -= t.y; + lp.lam -= h; + t = (*P->fwd)(lp, P); + if (t.x == HUGE_VAL) return 1; + der->x_l -= t.x; der->y_p -= t.y; der->x_p += t.x; der->y_l += t.y; + lp.phi += h; + t = (*P->fwd)(lp, P); + if (t.x == HUGE_VAL) return 1; + der->x_l -= t.x; der->y_p += t.y; der->x_p -= t.x; der->y_l += t.y; + der->x_l /= (h += h); + der->y_p /= h; + der->x_p /= h; + der->y_l /= h; + return 0; +} diff --git a/src/3rdparty/proj/pj_ell_set.c b/src/3rdparty/proj/pj_ell_set.c new file mode 100644 index 00000000..989701ec --- /dev/null +++ b/src/3rdparty/proj/pj_ell_set.c @@ -0,0 +1,102 @@ +/* set ellipsoid parameters a and es */ +#include <projects.h> +#include <string.h> +#define SIXTH .1666666666666666667 /* 1/6 */ +#define RA4 .04722222222222222222 /* 17/360 */ +#define RA6 .02215608465608465608 /* 67/3024 */ +#define RV4 .06944444444444444444 /* 5/72 */ +#define RV6 .04243827160493827160 /* 55/1296 */ + int /* initialize geographic shape parameters */ +pj_ell_set(paralist *pl, double *a, double *es) { + int i; + double b=0.0, e; + char *name; + paralist *start = 0, *curr; + + /* check for varying forms of ellipsoid input */ + *a = *es = 0.; + /* R takes precedence */ + if (pj_param(pl, "tR").i) + *a = pj_param(pl, "dR").f; + else { /* probable elliptical figure */ + + /* check if ellps present and temporarily append its values to pl */ + if (name = pj_param(pl, "sellps").s) { + char *s; + + for (start = pl; start && start->next ; start = start->next) ; + curr = start; + for (i = 0; (s = pj_ellps[i].id) && strcmp(name, s) ; ++i) ; + if (!s) { pj_errno = -9; return 1; } + curr = curr->next = pj_mkparam(pj_ellps[i].major); + curr = curr->next = pj_mkparam(pj_ellps[i].ell); + } + *a = pj_param(pl, "da").f; + if (pj_param(pl, "tes").i) /* eccentricity squared */ + *es = pj_param(pl, "des").f; + else if (pj_param(pl, "te").i) { /* eccentricity */ + e = pj_param(pl, "de").f; + *es = e * e; + } else if (pj_param(pl, "trf").i) { /* recip flattening */ + *es = pj_param(pl, "drf").f; + if (!*es) { + pj_errno = -10; + goto bomb; + } + *es = 1./ *es; + *es = *es * (2. - *es); + } else if (pj_param(pl, "tf").i) { /* flattening */ + *es = pj_param(pl, "df").f; + *es = *es * (2. - *es); + } else if (pj_param(pl, "tb").i) { /* minor axis */ + b = pj_param(pl, "db").f; + *es = 1. - (b * b) / (*a * *a); + } /* else *es == 0. and sphere of radius *a */ + if (!b) + b = *a * sqrt(1. - *es); + /* following options turn ellipsoid into equivalent sphere */ + if (pj_param(pl, "bR_A").i) { /* sphere--area of ellipsoid */ + *a *= 1. - *es * (SIXTH + *es * (RA4 + *es * RA6)); + *es = 0.; + } else if (pj_param(pl, "bR_V").i) { /* sphere--vol. of ellipsoid */ + *a *= 1. - *es * (SIXTH + *es * (RV4 + *es * RV6)); + *es = 0.; + } else if (pj_param(pl, "bR_a").i) { /* sphere--arithmetic mean */ + *a = .5 * (*a + b); + *es = 0.; + } else if (pj_param(pl, "bR_g").i) { /* sphere--geometric mean */ + *a = sqrt(*a * b); + *es = 0.; + } else if (pj_param(pl, "bR_h").i) { /* sphere--harmonic mean */ + *a = 2. * *a * b / (*a + b); + *es = 0.; + } else if ((i = pj_param(pl, "tR_lat_a").i) || /* sphere--arith. */ + pj_param(pl, "tR_lat_g").i) { /* or geom. mean at latitude */ + double tmp; + + tmp = sin(pj_param(pl, i ? "rR_lat_a" : "rR_lat_g").f); + if (fabs(tmp) > HALFPI) { + pj_errno = -11; + goto bomb; + } + tmp = 1. - *es * tmp * tmp; + *a *= i ? .5 * (1. - *es + tmp) / ( tmp * sqrt(tmp)) : + sqrt(1. - *es) / tmp; + *es = 0.; + } +bomb: + if (start) { /* clean up temporary extension of list */ + pj_dalloc(start->next->next); + pj_dalloc(start->next); + start->next = 0; + } + if (pj_errno) + return 1; + } + /* some remaining checks */ + if (*es < 0.) + { pj_errno = -12; return 1; } + if (*a <= 0.) + { pj_errno = -13; return 1; } + return 0; +} diff --git a/src/3rdparty/proj/pj_ellps.c b/src/3rdparty/proj/pj_ellps.c new file mode 100644 index 00000000..68521926 --- /dev/null +++ b/src/3rdparty/proj/pj_ellps.c @@ -0,0 +1,56 @@ +/* definition of standard geoids */ +#define PJ_ELLPS__ +#include "projects.h" + +C_NAMESPACE_VAR struct PJ_ELLPS +pj_ellps[] = { +"MERIT", "a=6378137.0", "rf=298.257", "MERIT 1983", +"SGS85", "a=6378136.0", "rf=298.257", "Soviet Geodetic System 85", +"GRS80", "a=6378137.0", "rf=298.257222101", "GRS 1980(IUGG, 1980)", +"IAU76", "a=6378140.0", "rf=298.257", "IAU 1976", +"airy", "a=6377563.396", "b=6356256.910", "Airy 1830", +"APL4.9", "a=6378137.0.", "rf=298.25", "Appl. Physics. 1965", +"NWL9D", "a=6378145.0.", "rf=298.25", "Naval Weapons Lab., 1965", +"mod_airy", "a=6377340.189", "b=6356034.446", "Modified Airy", +"andrae", "a=6377104.43", "rf=300.0", "Andrae 1876 (Den., Iclnd.)", +"aust_SA", "a=6378160.0", "rf=298.25", "Australian Natl & S. Amer. 1969", +"GRS67", "a=6378160.0", "rf=298.2471674270", "GRS 67(IUGG 1967)", +"bessel", "a=6377397.155", "rf=299.1528128", "Bessel 1841", +"bess_nam", "a=6377483.865", "rf=299.1528128", "Bessel 1841 (Namibia)", +"clrk66", "a=6378206.4", "b=6356583.8", "Clarke 1866", +"clrk80", "a=6378249.145", "rf=293.4663", "Clarke 1880 mod.", +"CPM", "a=6375738.7", "rf=334.29", "Comm. des Poids et Mesures 1799", +"delmbr", "a=6376428.", "rf=311.5", "Delambre 1810 (Belgium)", +"engelis", "a=6378136.05", "rf=298.2566", "Engelis 1985", +"evrst30", "a=6377276.345", "rf=300.8017", "Everest 1830", +"evrst48", "a=6377304.063", "rf=300.8017", "Everest 1948", +"evrst56", "a=6377301.243", "rf=300.8017", "Everest 1956", +"evrst69", "a=6377295.664", "rf=300.8017", "Everest 1969", +"evrstSS", "a=6377298.556", "rf=300.8017", "Everest (Sabah & Sarawak)", +"fschr60", "a=6378166.", "rf=298.3", "Fischer (Mercury Datum) 1960", +"fschr60m", "a=6378155.", "rf=298.3", "Modified Fischer 1960", +"fschr68", "a=6378150.", "rf=298.3", "Fischer 1968", +"helmert", "a=6378200.", "rf=298.3", "Helmert 1906", +"hough", "a=6378270.0", "rf=297.", "Hough", +"intl", "a=6378388.0", "rf=297.", "International 1909 (Hayford)", +"krass", "a=6378245.0", "rf=298.3", "Krassovsky, 1942", +"kaula", "a=6378163.", "rf=298.24", "Kaula 1961", +"lerch", "a=6378139.", "rf=298.257", "Lerch 1979", +"mprts", "a=6397300.", "rf=191.", "Maupertius 1738", +"new_intl", "a=6378157.5", "b=6356772.2", "New International 1967", +"plessis", "a=6376523.", "b=6355863.", "Plessis 1817 (France)", +"SEasia", "a=6378155.0", "b=6356773.3205", "Southeast Asia", +"walbeck", "a=6376896.0", "b=6355834.8467", "Walbeck", +"WGS60", "a=6378165.0", "rf=298.3", "WGS 60", +"WGS66", "a=6378145.0", "rf=298.25", "WGS 66", +"WGS72", "a=6378135.0", "rf=298.26", "WGS 72", +"WGS84", "a=6378137.0", "rf=298.257223563", "WGS 84", +"sphere", "a=6370997.0", "b=6370997.0", "Normal Sphere (r=6370997)", +0,0,0,0 +}; + +struct PJ_ELLPS *pj_get_ellps_ref() + +{ + return pj_ellps; +} diff --git a/src/3rdparty/proj/pj_errno.c b/src/3rdparty/proj/pj_errno.c new file mode 100644 index 00000000..8b91ab29 --- /dev/null +++ b/src/3rdparty/proj/pj_errno.c @@ -0,0 +1,17 @@ +/* For full ANSI compliance of global variable */ + +#include <projects.h> + +C_NAMESPACE_VAR int pj_errno = 0; + +/************************************************************************/ +/* pj_get_errno_ref() */ +/************************************************************************/ + +int *pj_get_errno_ref() + +{ + return &pj_errno; +} + +/* end */ diff --git a/src/3rdparty/proj/pj_factors.c b/src/3rdparty/proj/pj_factors.c new file mode 100644 index 00000000..ee48cfb7 --- /dev/null +++ b/src/3rdparty/proj/pj_factors.c @@ -0,0 +1,84 @@ +/* projection scale factors */ +#define PJ_LIB__ +#include <projects.h> +#include <errno.h> +#ifndef DEFAULT_H +#define DEFAULT_H 1e-5 /* radian default for numeric h */ +#endif +#define EPS 1.0e-12 + int +pj_factors(LP lp, PJ *P, double h, struct FACTORS *fac) { + struct DERIVS der; + double cosphi, t, n, r; + + /* check for forward and latitude or longitude overange */ + if ((t = fabs(lp.phi)-HALFPI) > EPS || fabs(lp.lam) > 10.) { + pj_errno = -14; + return 1; + } else { /* proceed */ + errno = pj_errno = 0; + if (h < EPS) + h = DEFAULT_H; + if (fabs(lp.phi) > (HALFPI - h)) + /* adjust to value around pi/2 where derived still exists*/ + lp.phi = lp.phi < 0. ? (-HALFPI+h) : (HALFPI-h); + else if (P->geoc) + lp.phi = atan(P->rone_es * tan(lp.phi)); + lp.lam -= P->lam0; /* compute del lp.lam */ + if (!P->over) + lp.lam = adjlon(lp.lam); /* adjust del longitude */ + if (P->spc) /* get what projection analytic values */ + P->spc(lp, P, fac); + if (((fac->code & (IS_ANAL_XL_YL+IS_ANAL_XP_YP)) != + (IS_ANAL_XL_YL+IS_ANAL_XP_YP)) && + pj_deriv(lp, h, P, &der)) + return 1; + if (!(fac->code & IS_ANAL_XL_YL)) { + fac->der.x_l = der.x_l; + fac->der.y_l = der.y_l; + } + if (!(fac->code & IS_ANAL_XP_YP)) { + fac->der.x_p = der.x_p; + fac->der.y_p = der.y_p; + } + cosphi = cos(lp.phi); + if (!(fac->code & IS_ANAL_HK)) { + fac->h = hypot(fac->der.x_p, fac->der.y_p); + fac->k = hypot(fac->der.x_l, fac->der.y_l) / cosphi; + if (P->es) { + t = sin(lp.phi); + t = 1. - P->es * t * t; + n = sqrt(t); + fac->h *= t * n / P->one_es; + fac->k *= n; + r = t * t / P->one_es; + } else + r = 1.; + } else if (P->es) { + r = sin(lp.phi); + r = 1. - P->es * r * r; + r = r * r / P->one_es; + } else + r = 1.; + /* convergence */ + if (!(fac->code & IS_ANAL_CONV)) { + fac->conv = - atan2(fac->der.y_l, fac->der.x_l); + if (fac->code & IS_ANAL_XL_YL) + fac->code |= IS_ANAL_CONV; + } + /* areal scale factor */ + fac->s = (fac->der.y_p * fac->der.x_l - fac->der.x_p * fac->der.y_l) * + r / cosphi; + /* meridian-parallel angle theta prime */ + fac->thetap = aasin(fac->s / (fac->h * fac->k)); + /* Tissot ellips axis */ + t = fac->k * fac->k + fac->h * fac->h; + fac->a = sqrt(t + 2. * fac->s); + t = (t = t - 2. * fac->s) <= 0. ? 0. : sqrt(t); + fac->b = 0.5 * (fac->a - t); + fac->a = 0.5 * (fac->a + t); + /* omega */ + fac->omega = 2. * aasin((fac->a - fac->b)/(fac->a + fac->b)); + } + return 0; +} diff --git a/src/3rdparty/proj/pj_fwd.c b/src/3rdparty/proj/pj_fwd.c new file mode 100644 index 00000000..880a9319 --- /dev/null +++ b/src/3rdparty/proj/pj_fwd.c @@ -0,0 +1,34 @@ +/* general forward projection */ +#define PJ_LIB__ +#include <projects.h> +#include <errno.h> +# define EPS 1.0e-12 + XY /* forward projection entry */ +pj_fwd(LP lp, PJ *P) { + XY xy; + double t; + + /* check for forward and latitude or longitude overange */ + if ((t = fabs(lp.phi)-HALFPI) > EPS || fabs(lp.lam) > 10.) { + xy.x = xy.y = HUGE_VAL; + pj_errno = -14; + } else { /* proceed with projection */ + errno = pj_errno = 0; + if (fabs(t) <= EPS) + lp.phi = lp.phi < 0. ? -HALFPI : HALFPI; + else if (P->geoc) + lp.phi = atan(P->rone_es * tan(lp.phi)); + lp.lam -= P->lam0; /* compute del lp.lam */ + if (!P->over) + lp.lam = adjlon(lp.lam); /* adjust del longitude */ + xy = (*P->fwd)(lp, P); /* project */ + if (pj_errno || (pj_errno = errno)) + xy.x = xy.y = HUGE_VAL; + /* adjust for major axis and easting/northings */ + else { + xy.x = P->fr_meter * (P->a * xy.x + P->x0); + xy.y = P->fr_meter * (P->a * xy.y + P->y0); + } + } + return xy; +} diff --git a/src/3rdparty/proj/pj_gauss.c b/src/3rdparty/proj/pj_gauss.c new file mode 100644 index 00000000..ac794f20 --- /dev/null +++ b/src/3rdparty/proj/pj_gauss.c @@ -0,0 +1,94 @@ +/* +** libproj -- library of cartographic projections +** +** Copyright (c) 2003 Gerald I. Evenden +*/ +static const char +LIBPROJ_ID[] = "$Id: pj_gauss.c 1504 2009-01-06 02:11:57Z warmerdam $"; +/* +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +#define PJ_LIB__ +#include <projects.h> + +#define MAX_ITER 20 + +struct GAUSS { + double C; + double K; + double e; + double ratexp; +}; +#define EN ((struct GAUSS *)en) +#define DEL_TOL 1e-14 + static double +srat(double esinp, double exp) { + return(pow((1.-esinp)/(1.+esinp), exp)); +} + + void * +pj_gauss_ini(double e, double phi0, double *chi, double *rc) { + double sphi, cphi, es; + struct GAUSS *en; + + if ((en = (struct GAUSS *)malloc(sizeof(struct GAUSS))) == NULL) + return (NULL); + es = e * e; + EN->e = e; + sphi = sin(phi0); + cphi = cos(phi0); cphi *= cphi; + *rc = sqrt(1. - es) / (1. - es * sphi * sphi); + EN->C = sqrt(1. + es * cphi * cphi / (1. - es)); + *chi = asin(sphi / EN->C); + EN->ratexp = 0.5 * EN->C * e; + EN->K = tan(.5 * *chi + FORTPI) / ( + pow(tan(.5 * phi0 + FORTPI), EN->C) * + srat(EN->e * sphi, EN->ratexp) ); + return ((void *)en); +} + LP +pj_gauss(LP elp, const void *en) { + LP slp; + + slp.phi = 2. * atan( EN->K * + pow(tan(.5 * elp.phi + FORTPI), EN->C) * + srat(EN->e * sin(elp.phi), EN->ratexp) ) - HALFPI; + slp.lam = EN->C * (elp.lam); + return(slp); +} + LP +pj_inv_gauss(LP slp, const void *en) { + LP elp; + double num; + int i; + + elp.lam = slp.lam / EN->C; + num = pow(tan(.5 * slp.phi + FORTPI)/EN->K, 1./EN->C); + for (i = MAX_ITER; i; --i) { + elp.phi = 2. * atan(num * srat(EN->e * sin(slp.phi), -.5 * EN->e)) + - HALFPI; + if (fabs(elp.phi - slp.phi) < DEL_TOL) break; + slp.phi = elp.phi; + } + /* convergence failed */ + if (!i) + pj_errno = -17; + return (elp); +} diff --git a/src/3rdparty/proj/pj_geocent.c b/src/3rdparty/proj/pj_geocent.c new file mode 100644 index 00000000..e94730f2 --- /dev/null +++ b/src/3rdparty/proj/pj_geocent.c @@ -0,0 +1,57 @@ +/****************************************************************************** + * $Id: pj_geocent.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Stub projection for geocentric. The transformation isn't + * really done here since this code is 2D. The real transformation + * is handled by pj_transform.c. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2002, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ +#include <projects.h> + +PJ_CVSID("$Id: pj_geocent.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +PROJ_HEAD(geocent, "Geocentric") "\n\t"; + +FORWARD(forward); + xy.x = lp.lam; + xy.y = lp.phi; + return xy; +} +INVERSE(inverse); + lp.phi = xy.y; + lp.lam = xy.x; + return lp; +} +FREEUP; if (P) pj_dalloc(P); } + +ENTRY0(geocent) + P->is_geocent = 1; + P->x0 = 0.0; + P->y0 = 0.0; + P->inv = inverse; P->fwd = forward; +ENDENTRY(P) + diff --git a/src/3rdparty/proj/pj_gridinfo.c b/src/3rdparty/proj/pj_gridinfo.c new file mode 100644 index 00000000..7a4612f1 --- /dev/null +++ b/src/3rdparty/proj/pj_gridinfo.c @@ -0,0 +1,686 @@ +/****************************************************************************** + * $Id: pj_gridinfo.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Functions for handling individual PJ_GRIDINFO's. Includes + * loaders for all formats but CTABLE (in nad_init.c). + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam <warmerdam@pobox.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ + +#include <projects.h> +#include <string.h> +#include <math.h> +#include <errno.h> + +#ifdef _WIN32_WCE +/* assert.h includes all Windows API headers and causes 'LP' name clash. + * Here assert we disable assert() for Windows CE. + * TODO - mloskot: re-implement porting friendly assert + */ +# define assert(exp) ((void)0) +#else +# include <assert.h> +#endif /* _WIN32_WCE */ + +/************************************************************************/ +/* swap_words() */ +/* */ +/* Convert the byte order of the given word(s) in place. */ +/************************************************************************/ + +static int byte_order_test = 1; +#define IS_LSB (((unsigned char *) (&byte_order_test))[0] == 1) + +static void swap_words( unsigned char *data, int word_size, int word_count ) + +{ + int word; + + for( word = 0; word < word_count; word++ ) + { + int i; + + for( i = 0; i < word_size/2; i++ ) + { + int t; + + t = data[i]; + data[i] = data[word_size-i-1]; + data[word_size-i-1] = t; + } + + data += word_size; + } +} + +/************************************************************************/ +/* pj_gridinfo_free() */ +/************************************************************************/ + +void pj_gridinfo_free( PJ_GRIDINFO *gi ) + +{ + if( gi == NULL ) + return; + + if( gi->child != NULL ) + { + PJ_GRIDINFO *child, *next; + + for( child = gi->child; child != NULL; child=next) + { + next=child->next; + pj_gridinfo_free( child ); + } + } + + if( gi->ct != NULL ) + nad_free( gi->ct ); + + free( gi->gridname ); + if( gi->filename != NULL ) + free( gi->filename ); + + pj_dalloc( gi ); +} + +/************************************************************************/ +/* pj_gridinfo_load() */ +/* */ +/* This function is intended to implement delayed loading of */ +/* the data contents of a grid file. The header and related */ +/* stuff are loaded by pj_gridinfo_init(). */ +/************************************************************************/ + +int pj_gridinfo_load( PJ_GRIDINFO *gi ) + +{ + if( gi == NULL || gi->ct == NULL ) + return 0; + +/* -------------------------------------------------------------------- */ +/* ctable is currently loaded on initialization though there is */ +/* no real reason not to support delayed loading for it as well. */ +/* -------------------------------------------------------------------- */ + if( strcmp(gi->format,"ctable") == 0 ) + { + FILE *fid; + int result; + + fid = pj_open_lib( gi->filename, "rb" ); + + if( fid == NULL ) + { + pj_errno = -38; + return 0; + } + + result = nad_ctable_load( gi->ct, fid ); + + fclose( fid ); + + return result; + } + +/* -------------------------------------------------------------------- */ +/* NTv1 format. */ +/* We process one line at a time. Note that the array storage */ +/* direction (e-w) is different in the NTv1 file and what */ +/* the CTABLE is supposed to have. The phi/lam are also */ +/* reversed, and we have to be aware of byte swapping. */ +/* -------------------------------------------------------------------- */ + else if( strcmp(gi->format,"ntv1") == 0 ) + { + double *row_buf; + int row; + FILE *fid; + + fid = pj_open_lib( gi->filename, "rb" ); + + if( fid == NULL ) + { + pj_errno = -38; + return 0; + } + + fseek( fid, gi->grid_offset, SEEK_SET ); + + row_buf = (double *) pj_malloc(gi->ct->lim.lam * sizeof(double) * 2); + gi->ct->cvs = (FLP *) pj_malloc(gi->ct->lim.lam*gi->ct->lim.phi*sizeof(FLP)); + if( row_buf == NULL || gi->ct->cvs == NULL ) + { + pj_errno = -38; + return 0; + } + + for( row = 0; row < gi->ct->lim.phi; row++ ) + { + int i; + FLP *cvs; + double *diff_seconds; + + if( fread( row_buf, sizeof(double), gi->ct->lim.lam * 2, fid ) + != 2 * gi->ct->lim.lam ) + { + pj_dalloc( row_buf ); + pj_dalloc( gi->ct->cvs ); + pj_errno = -38; + return 0; + } + + if( IS_LSB ) + swap_words( (unsigned char *) row_buf, 8, gi->ct->lim.lam*2 ); + + /* convert seconds to radians */ + diff_seconds = row_buf; + + for( i = 0; i < gi->ct->lim.lam; i++ ) + { + cvs = gi->ct->cvs + (row) * gi->ct->lim.lam + + (gi->ct->lim.lam - i - 1); + + cvs->phi = *(diff_seconds++) * ((PI/180.0) / 3600.0); + cvs->lam = *(diff_seconds++) * ((PI/180.0) / 3600.0); + } + } + + pj_dalloc( row_buf ); + + fclose( fid ); + + return 1; + } + +/* -------------------------------------------------------------------- */ +/* NTv2 format. */ +/* We process one line at a time. Note that the array storage */ +/* direction (e-w) is different in the NTv2 file and what */ +/* the CTABLE is supposed to have. The phi/lam are also */ +/* reversed, and we have to be aware of byte swapping. */ +/* -------------------------------------------------------------------- */ + else if( strcmp(gi->format,"ntv2") == 0 ) + { + float *row_buf; + int row; + FILE *fid; + + if( getenv("PROJ_DEBUG") != NULL ) + { + fprintf( stderr, "NTv2 - loading grid %s\n", gi->ct->id ); + } + + fid = pj_open_lib( gi->filename, "rb" ); + + if( fid == NULL ) + { + pj_errno = -38; + return 0; + } + + fseek( fid, gi->grid_offset, SEEK_SET ); + + row_buf = (float *) pj_malloc(gi->ct->lim.lam * sizeof(float) * 4); + gi->ct->cvs = (FLP *) pj_malloc(gi->ct->lim.lam*gi->ct->lim.phi*sizeof(FLP)); + if( row_buf == NULL || gi->ct->cvs == NULL ) + { + pj_errno = -38; + return 0; + } + + for( row = 0; row < gi->ct->lim.phi; row++ ) + { + int i; + FLP *cvs; + float *diff_seconds; + + if( fread( row_buf, sizeof(float), gi->ct->lim.lam*4, fid ) + != 4 * gi->ct->lim.lam ) + { + pj_dalloc( row_buf ); + pj_dalloc( gi->ct->cvs ); + gi->ct->cvs = NULL; + pj_errno = -38; + return 0; + } + + if( !IS_LSB ) + swap_words( (unsigned char *) row_buf, 4, + gi->ct->lim.lam*4 ); + + /* convert seconds to radians */ + diff_seconds = row_buf; + + for( i = 0; i < gi->ct->lim.lam; i++ ) + { + cvs = gi->ct->cvs + (row) * gi->ct->lim.lam + + (gi->ct->lim.lam - i - 1); + + cvs->phi = *(diff_seconds++) * ((PI/180.0) / 3600.0); + cvs->lam = *(diff_seconds++) * ((PI/180.0) / 3600.0); + diff_seconds += 2; /* skip accuracy values */ + } + } + + pj_dalloc( row_buf ); + + fclose( fid ); + + return 1; + } + + else + { + return 0; + } +} + +/************************************************************************/ +/* pj_gridinfo_init_ntv2() */ +/* */ +/* Load a ntv2 (.gsb) file. */ +/************************************************************************/ + +static int pj_gridinfo_init_ntv2( FILE *fid, PJ_GRIDINFO *gilist ) + +{ + unsigned char header[11*16]; + int num_subfiles, subfile; + + assert( sizeof(int) == 4 ); + assert( sizeof(double) == 8 ); + if( sizeof(int) != 4 || sizeof(double) != 8 ) + { + fprintf( stderr, + "basic types of inappropraiate size in pj_gridinfo_init_ntv2()\n" ); + pj_errno = -38; + return 0; + } + +/* -------------------------------------------------------------------- */ +/* Read the overview header. */ +/* -------------------------------------------------------------------- */ + if( fread( header, sizeof(header), 1, fid ) != 1 ) + { + pj_errno = -38; + return 0; + } + +/* -------------------------------------------------------------------- */ +/* Byte swap interesting fields if needed. */ +/* -------------------------------------------------------------------- */ + if( !IS_LSB ) + { + swap_words( header+8, 4, 1 ); + swap_words( header+8+16, 4, 1 ); + swap_words( header+8+32, 4, 1 ); + swap_words( header+8+7*16, 8, 1 ); + swap_words( header+8+8*16, 8, 1 ); + swap_words( header+8+9*16, 8, 1 ); + swap_words( header+8+10*16, 8, 1 ); + } + +/* -------------------------------------------------------------------- */ +/* Get the subfile count out ... all we really use for now. */ +/* -------------------------------------------------------------------- */ + memcpy( &num_subfiles, header+8+32, 4 ); + +/* ==================================================================== */ +/* Step through the subfiles, creating a PJ_GRIDINFO for each. */ +/* ==================================================================== */ + for( subfile = 0; subfile < num_subfiles; subfile++ ) + { + struct CTABLE *ct; + LP ur; + int gs_count; + PJ_GRIDINFO *gi; + +/* -------------------------------------------------------------------- */ +/* Read header. */ +/* -------------------------------------------------------------------- */ + if( fread( header, sizeof(header), 1, fid ) != 1 ) + { + pj_errno = -38; + return 0; + } + + if( strncmp((const char *) header,"SUB_NAME",8) != 0 ) + { + pj_errno = -38; + return 0; + } + +/* -------------------------------------------------------------------- */ +/* Byte swap interesting fields if needed. */ +/* -------------------------------------------------------------------- */ + if( !IS_LSB ) + { + swap_words( header+8+16*4, 8, 1 ); + swap_words( header+8+16*5, 8, 1 ); + swap_words( header+8+16*6, 8, 1 ); + swap_words( header+8+16*7, 8, 1 ); + swap_words( header+8+16*8, 8, 1 ); + swap_words( header+8+16*9, 8, 1 ); + swap_words( header+8+16*10, 4, 1 ); + } + +/* -------------------------------------------------------------------- */ +/* Initialize a corresponding "ct" structure. */ +/* -------------------------------------------------------------------- */ + ct = (struct CTABLE *) pj_malloc(sizeof(struct CTABLE)); + strncpy( ct->id, (const char *) header + 8, 8 ); + ct->id[8] = '\0'; + + ct->ll.lam = - *((double *) (header+7*16+8)); /* W_LONG */ + ct->ll.phi = *((double *) (header+4*16+8)); /* S_LAT */ + + ur.lam = - *((double *) (header+6*16+8)); /* E_LONG */ + ur.phi = *((double *) (header+5*16+8)); /* N_LAT */ + + ct->del.lam = *((double *) (header+9*16+8)); + ct->del.phi = *((double *) (header+8*16+8)); + + ct->lim.lam = (int) (fabs(ur.lam-ct->ll.lam)/ct->del.lam + 0.5) + 1; + ct->lim.phi = (int) (fabs(ur.phi-ct->ll.phi)/ct->del.phi + 0.5) + 1; + + if( getenv("PROJ_DEBUG") != NULL ) + fprintf( stderr, + "NTv2 %s %dx%d: LL=(%.9g,%.9g) UR=(%.9g,%.9g)\n", + ct->id, + ct->lim.lam, ct->lim.phi, + ct->ll.lam/3600.0, ct->ll.phi/3600.0, + ur.lam/3600.0, ur.phi/3600.0 ); + + ct->ll.lam *= DEG_TO_RAD/3600.0; + ct->ll.phi *= DEG_TO_RAD/3600.0; + ct->del.lam *= DEG_TO_RAD/3600.0; + ct->del.phi *= DEG_TO_RAD/3600.0; + + memcpy( &gs_count, header + 8 + 16*10, 4 ); + if( gs_count != ct->lim.lam * ct->lim.phi ) + { + fprintf( stderr, + "GS_COUNT(%d) does not match expected cells (%dx%d=%d)\n", + gs_count, ct->lim.lam, ct->lim.phi, + ct->lim.lam * ct->lim.phi ); + pj_errno = -38; + return 0; + } + + ct->cvs = NULL; + +/* -------------------------------------------------------------------- */ +/* Create a new gridinfo for this if we aren't processing the */ +/* 1st subfile, and initialize our grid info. */ +/* -------------------------------------------------------------------- */ + if( subfile == 0 ) + gi = gilist; + else + { + gi = (PJ_GRIDINFO *) pj_malloc(sizeof(PJ_GRIDINFO)); + memset( gi, 0, sizeof(PJ_GRIDINFO) ); + + gi->gridname = strdup( gilist->gridname ); + gi->filename = strdup( gilist->filename ); + gi->next = NULL; + } + + gi->ct = ct; + gi->format = "ntv2"; + gi->grid_offset = ftell( fid ); + +/* -------------------------------------------------------------------- */ +/* Attach to the correct list or sublist. */ +/* -------------------------------------------------------------------- */ + if( strncmp((const char *)header+24,"NONE",4) == 0 ) + { + if( gi != gilist ) + { + PJ_GRIDINFO *lnk; + + for( lnk = gilist; lnk->next != NULL; lnk = lnk->next ) {} + lnk->next = gi; + } + } + + else + { + PJ_GRIDINFO *lnk; + PJ_GRIDINFO *gp = gilist; + + while( gp != NULL + && strncmp(gp->ct->id,(const char*)header+24,8) != 0 ) + gp = gp->next; + + if( gp == NULL ) + { + if( getenv("PROJ_DEBUG") != NULL ) + fprintf( stderr, "pj_gridinfo_init_ntv2(): " + "failed to find parent %8.8s for %s.\n", + (const char *) header+24, gi->ct->id ); + + for( lnk = gp; lnk->next != NULL; lnk = lnk->next ) {} + lnk->next = gi; + } + else if( gp->child == NULL ) + { + gp->child = gi; + } + else + { + for( lnk = gp->child; lnk->next != NULL; lnk = lnk->next ) {} + lnk->next = gi; + } + } + +/* -------------------------------------------------------------------- */ +/* Seek past the data. */ +/* -------------------------------------------------------------------- */ + fseek( fid, gs_count * 16, SEEK_CUR ); + } + + return 1; +} + +/************************************************************************/ +/* pj_gridinfo_init_ntv1() */ +/* */ +/* Load an NTv1 style Canadian grid shift file. */ +/************************************************************************/ + +static int pj_gridinfo_init_ntv1( FILE * fid, PJ_GRIDINFO *gi ) + +{ + unsigned char header[176]; + struct CTABLE *ct; + LP ur; + + assert( sizeof(int) == 4 ); + assert( sizeof(double) == 8 ); + if( sizeof(int) != 4 || sizeof(double) != 8 ) + { + fprintf( stderr, + "basic types of inappropraiate size in nad_load_ntv1()\n" ); + pj_errno = -38; + return 0; + } + +/* -------------------------------------------------------------------- */ +/* Read the header. */ +/* -------------------------------------------------------------------- */ + if( fread( header, sizeof(header), 1, fid ) != 1 ) + { + pj_errno = -38; + return 0; + } + +/* -------------------------------------------------------------------- */ +/* Regularize fields of interest. */ +/* -------------------------------------------------------------------- */ + if( IS_LSB ) + { + swap_words( header+8, 4, 1 ); + swap_words( header+24, 8, 1 ); + swap_words( header+40, 8, 1 ); + swap_words( header+56, 8, 1 ); + swap_words( header+72, 8, 1 ); + swap_words( header+88, 8, 1 ); + swap_words( header+104, 8, 1 ); + } + + if( *((int *) (header+8)) != 12 ) + { + pj_errno = -38; + printf("NTv1 grid shift file has wrong record count, corrupt?\n"); + return 0; + } + +/* -------------------------------------------------------------------- */ +/* Fill in CTABLE structure. */ +/* -------------------------------------------------------------------- */ + ct = (struct CTABLE *) pj_malloc(sizeof(struct CTABLE)); + strcpy( ct->id, "NTv1 Grid Shift File" ); + + ct->ll.lam = - *((double *) (header+72)); + ct->ll.phi = *((double *) (header+24)); + ur.lam = - *((double *) (header+56)); + ur.phi = *((double *) (header+40)); + ct->del.lam = *((double *) (header+104)); + ct->del.phi = *((double *) (header+88)); + ct->lim.lam = (int) (fabs(ur.lam-ct->ll.lam)/ct->del.lam + 0.5) + 1; + ct->lim.phi = (int) (fabs(ur.phi-ct->ll.phi)/ct->del.phi + 0.5) + 1; + + if( getenv("PROJ_DEBUG") != NULL ) + fprintf( stderr, + "NTv1 %dx%d: LL=(%.9g,%.9g) UR=(%.9g,%.9g)\n", + ct->lim.lam, ct->lim.phi, + ct->ll.lam, ct->ll.phi, ur.lam, ur.phi ); + + ct->ll.lam *= DEG_TO_RAD; + ct->ll.phi *= DEG_TO_RAD; + ct->del.lam *= DEG_TO_RAD; + ct->del.phi *= DEG_TO_RAD; + ct->cvs = NULL; + + gi->ct = ct; + gi->grid_offset = ftell( fid ); + gi->format = "ntv1"; + + return 1; +} + +/************************************************************************/ +/* pj_gridinfo_init() */ +/* */ +/* Open and parse header details from a datum gridshift file */ +/* returning a list of PJ_GRIDINFOs for the grids in that */ +/* file. This superceeds use of nad_init() for modern */ +/* applications. */ +/************************************************************************/ + +PJ_GRIDINFO *pj_gridinfo_init( const char *gridname ) + +{ + char fname[MAX_PATH_FILENAME+1]; + PJ_GRIDINFO *gilist; + FILE *fp; + char header[160]; + + errno = pj_errno = 0; + +/* -------------------------------------------------------------------- */ +/* Initialize a GRIDINFO with stub info we would use if it */ +/* cannot be loaded. */ +/* -------------------------------------------------------------------- */ + gilist = (PJ_GRIDINFO *) pj_malloc(sizeof(PJ_GRIDINFO)); + memset( gilist, 0, sizeof(PJ_GRIDINFO) ); + + gilist->gridname = strdup( gridname ); + gilist->filename = NULL; + gilist->format = "missing"; + gilist->grid_offset = 0; + gilist->ct = NULL; + gilist->next = NULL; + +/* -------------------------------------------------------------------- */ +/* Open the file using the usual search rules. */ +/* -------------------------------------------------------------------- */ + strcpy(fname, gridname); + if (!(fp = pj_open_lib(fname, "rb"))) { + pj_errno = errno; + return gilist; + } + + gilist->filename = strdup(fname); + +/* -------------------------------------------------------------------- */ +/* Load a header, to determine the file type. */ +/* -------------------------------------------------------------------- */ + if( fread( header, sizeof(header), 1, fp ) != 1 ) + { + fclose( fp ); + pj_errno = -38; + return gilist; + } + + fseek( fp, SEEK_SET, 0 ); + +/* -------------------------------------------------------------------- */ +/* Determine file type. */ +/* -------------------------------------------------------------------- */ + if( strncmp(header + 0, "HEADER", 6) == 0 + && strncmp(header + 96, "W GRID", 6) == 0 + && strncmp(header + 144, "TO NAD83 ", 16) == 0 ) + { + pj_gridinfo_init_ntv1( fp, gilist ); + } + + else if( strncmp(header + 0, "NUM_OREC", 8) == 0 + && strncmp(header + 48, "GS_TYPE", 7) == 0 ) + { + pj_gridinfo_init_ntv2( fp, gilist ); + } + + else + { + struct CTABLE *ct = nad_ctable_init( fp ); + + gilist->format = "ctable"; + gilist->ct = ct; + + if( getenv("PROJ_DEBUG") != NULL ) + fprintf( stderr, + "Ctable %s %dx%d: LL=(%.9g,%.9g) UR=(%.9g,%.9g)\n", + ct->id, + ct->lim.lam, ct->lim.phi, + ct->ll.lam * RAD_TO_DEG, ct->ll.phi * RAD_TO_DEG, + (ct->ll.lam + (ct->lim.lam-1)*ct->del.lam) * RAD_TO_DEG, + (ct->ll.phi + (ct->lim.phi-1)*ct->del.phi) * RAD_TO_DEG ); + } + + fclose(fp); + + return gilist; +} diff --git a/src/3rdparty/proj/pj_gridlist.c b/src/3rdparty/proj/pj_gridlist.c new file mode 100644 index 00000000..1d141641 --- /dev/null +++ b/src/3rdparty/proj/pj_gridlist.c @@ -0,0 +1,266 @@ +/****************************************************************************** + * $Id: pj_gridlist.c 1634 2009-09-24 02:40:46Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Code to manage the list of currently loaded (cached) PJ_GRIDINFOs + * See pj_gridinfo.c for details of loading individual grids. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam <warmerdam@pobox.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ + +#include <projects.h> +#include <string.h> +#include <math.h> + +#ifdef _WIN32_WCE +/* assert.h includes all Windows API headers and causes 'LP' name clash. + * Here assert we disable assert() for Windows CE. + * TODO - mloskot: re-implement porting friendly assert + */ +# define assert(exp) ((void)0) +#else +# include <assert.h> +#endif /* _WIN32_WCE */ + +static PJ_GRIDINFO *grid_list = NULL; + +/* used only by pj_load_nadgrids() and pj_deallocate_grids() */ + +static int last_nadgrids_max = 0; +static int last_nadgrids_count = 0; +static PJ_GRIDINFO **last_nadgrids_list = NULL; +static char *last_nadgrids = NULL; + +/************************************************************************/ +/* pj_deallocate_grids() */ +/* */ +/* Deallocate all loaded grids. */ +/************************************************************************/ + +void pj_deallocate_grids() + +{ + while( grid_list != NULL ) + { + PJ_GRIDINFO *item = grid_list; + grid_list = grid_list->next; + item->next = NULL; + + pj_gridinfo_free( item ); + } + + if( last_nadgrids != NULL ) + { + pj_dalloc( last_nadgrids ); + last_nadgrids = NULL; + + pj_dalloc( last_nadgrids_list ); + last_nadgrids_list = NULL; + + last_nadgrids_count = 0; + last_nadgrids_max = 0; + } +} + +/************************************************************************/ +/* pj_gridlist_merge_grid() */ +/* */ +/* Find/load the named gridfile and merge it into the */ +/* last_nadgrids_list. */ +/************************************************************************/ + +static int pj_gridlist_merge_gridfile( const char *gridname ) + +{ + int i, got_match=0; + PJ_GRIDINFO *this_grid, *tail = NULL; + +/* -------------------------------------------------------------------- */ +/* Try to find in the existing list of loaded grids. Add all */ +/* matching grids as with NTv2 we can get many grids from one */ +/* file (one shared gridname). */ +/* -------------------------------------------------------------------- */ + for( this_grid = grid_list; this_grid != NULL; this_grid = this_grid->next) + { + if( strcmp(this_grid->gridname,gridname) == 0 ) + { + got_match = 1; + + /* dont add to the list if it is invalid. */ + if( this_grid->ct == NULL ) + return 0; + + /* do we need to grow the list? */ + if( last_nadgrids_count >= last_nadgrids_max - 2 ) + { + PJ_GRIDINFO **new_list; + int new_max = last_nadgrids_max + 20; + + new_list = (PJ_GRIDINFO **) pj_malloc(sizeof(void*) * new_max); + if( last_nadgrids_list != NULL ) + { + memcpy( new_list, last_nadgrids_list, + sizeof(void*) * last_nadgrids_max ); + pj_dalloc( last_nadgrids_list ); + } + + last_nadgrids_list = new_list; + last_nadgrids_max = new_max; + } + + /* add to the list */ + last_nadgrids_list[last_nadgrids_count++] = this_grid; + last_nadgrids_list[last_nadgrids_count] = NULL; + } + + tail = this_grid; + } + + if( got_match ) + return 1; + +/* -------------------------------------------------------------------- */ +/* Try to load the named grid. */ +/* -------------------------------------------------------------------- */ + this_grid = pj_gridinfo_init( gridname ); + + if( this_grid == NULL ) + { + /* we should get at least a stub grid with a missing "ct" member */ + assert( FALSE ); + return 0; + } + + if( tail != NULL ) + tail->next = this_grid; + else + grid_list = this_grid; + +/* -------------------------------------------------------------------- */ +/* Recurse to add the grid now that it is loaded. */ +/* -------------------------------------------------------------------- */ + return pj_gridlist_merge_gridfile( gridname ); +} + +/************************************************************************/ +/* pj_gridlist_from_nadgrids() */ +/* */ +/* This functions loads the list of grids corresponding to a */ +/* particular nadgrids string into a list, and returns it. The */ +/* list is kept around till a request is made with a different */ +/* string in order to cut down on the string parsing cost, and */ +/* the cost of building the list of tables each time. */ +/************************************************************************/ + +PJ_GRIDINFO **pj_gridlist_from_nadgrids( const char *nadgrids, int *grid_count) + +{ + const char *s; + + pj_errno = 0; + *grid_count = 0; + + pj_acquire_lock(); + if( last_nadgrids != NULL + && strcmp(nadgrids,last_nadgrids) == 0 ) + { + PJ_GRIDINFO **ret = last_nadgrids_list; + *grid_count = last_nadgrids_count; + if( *grid_count == 0 ) + pj_errno = -38; + + pj_release_lock(); + return ret; + } + +/* -------------------------------------------------------------------- */ +/* Free old one, if any, and make space for new list. */ +/* -------------------------------------------------------------------- */ + if( last_nadgrids != NULL ) + { + pj_dalloc(last_nadgrids); + } + + last_nadgrids = (char *) pj_malloc(strlen(nadgrids)+1); + strcpy( last_nadgrids, nadgrids ); + + last_nadgrids_count = 0; + +/* -------------------------------------------------------------------- */ +/* Loop processing names out of nadgrids one at a time. */ +/* -------------------------------------------------------------------- */ + for( s = nadgrids; *s != '\0'; ) + { + int end_char; + int required = 1; + char name[128]; + + if( *s == '@' ) + { + required = 0; + s++; + } + + for( end_char = 0; + s[end_char] != '\0' && s[end_char] != ','; + end_char++ ) {} + + if( end_char > sizeof(name) ) + { + pj_errno = -38; + pj_release_lock(); + return NULL; + } + + strncpy( name, s, end_char ); + name[end_char] = '\0'; + + s += end_char; + if( *s == ',' ) + s++; + + if( !pj_gridlist_merge_gridfile( name ) && required ) + { + pj_errno = -38; + pj_release_lock(); + return NULL; + } + else + pj_errno = 0; + } + + if( last_nadgrids_count > 0 ) + { + PJ_GRIDINFO **ret = last_nadgrids_list; + *grid_count = last_nadgrids_count; + pj_release_lock(); + return ret; + } + else + { + pj_release_lock(); + return NULL; + } +} diff --git a/src/3rdparty/proj/pj_init.c b/src/3rdparty/proj/pj_init.c new file mode 100644 index 00000000..867fc41c --- /dev/null +++ b/src/3rdparty/proj/pj_init.c @@ -0,0 +1,416 @@ +/****************************************************************************** + * $Id: pj_init.c 1630 2009-09-24 02:14:06Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Initialize projection object from string definition. Includes + * pj_init(), pj_init_plus() and pj_free() function. + * Author: Gerald Evenden, Frank Warmerdam <warmerdam@pobox.com> + * + ****************************************************************************** + * Copyright (c) 1995, Gerald Evenden + * Copyright (c) 2002, Frank Warmerdam <warmerdam@pobox.com> + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ +#include <projects.h> +#include <stdio.h> +#include <string.h> +#include <errno.h> +#include <locale.h> + +PJ_CVSID("$Id: pj_init.c 1630 2009-09-24 02:14:06Z warmerdam $"); + +extern FILE *pj_open_lib(char *, char *); + +/************************************************************************/ +/* get_opt() */ +/************************************************************************/ +static paralist * +get_opt(paralist **start, FILE *fid, char *name, paralist *next) { + char sword[302], *word = sword+1; + int first = 1, len, c; + + len = strlen(name); + *sword = 't'; + while (fscanf(fid, "%300s", word) == 1) { + if (*word == '#') /* skip comments */ + while((c = fgetc(fid)) != EOF && c != '\n') ; + else if (*word == '<') { /* control name */ + if (first && !strncmp(name, word + 1, len) + && word[len + 1] == '>') + first = 0; + else if (!first && *word == '<') { + while((c = fgetc(fid)) != EOF && c != '\n') ; + break; + } + } else if (!first && !pj_param(*start, sword).i) { + /* don't default ellipse if datum, ellps or any earth model + information is set. */ + if( strncmp(word,"ellps=",6) != 0 + || (!pj_param(*start, "tdatum").i + && !pj_param(*start, "tellps").i + && !pj_param(*start, "ta").i + && !pj_param(*start, "tb").i + && !pj_param(*start, "trf").i + && !pj_param(*start, "tf").i) ) + { + next = next->next = pj_mkparam(word); + } + } + } + + if (errno == 25) + errno = 0; + return next; +} + +/************************************************************************/ +/* get_defaults() */ +/************************************************************************/ +static paralist * +get_defaults(paralist **start, paralist *next, char *name) { + FILE *fid; + + if (fid = pj_open_lib("proj_def.dat", "rt")) { + next = get_opt(start, fid, "general", next); + rewind(fid); + next = get_opt(start, fid, name, next); + (void)fclose(fid); + } + if (errno) + errno = 0; /* don't care if can't open file */ + return next; +} + +/************************************************************************/ +/* get_init() */ +/************************************************************************/ +static paralist * +get_init(paralist **start, paralist *next, char *name) { + char fname[MAX_PATH_FILENAME+ID_TAG_MAX+3], *opt; + FILE *fid; + paralist *init_items = NULL; + const paralist *orig_next = next; + + (void)strncpy(fname, name, MAX_PATH_FILENAME + ID_TAG_MAX + 1); + + /* + ** Search for file/key pair in cache + */ + + init_items = pj_search_initcache( name ); + if( init_items != NULL ) + { + next->next = init_items; + while( next->next != NULL ) + next = next->next; + return next; + } + + /* + ** Otherwise we try to open the file and search for it. + */ + if (opt = strrchr(fname, ':')) + *opt++ = '\0'; + else { pj_errno = -3; return(0); } + if (fid = pj_open_lib(fname, "rt")) + next = get_opt(start, fid, opt, next); + else + return(0); + (void)fclose(fid); + if (errno == 25) + errno = 0; /* unknown problem with some sys errno<-25 */ + + /* + ** If we seem to have gotten a result, insert it into the + ** init file cache. + */ + if( next != NULL && next != orig_next ) + pj_insert_initcache( name, orig_next->next ); + + return next; +} + +/************************************************************************/ +/* pj_init_plus() */ +/* */ +/* Same as pj_init() except it takes one argument string with */ +/* individual arguments preceeded by '+', such as "+proj=utm */ +/* +zone=11 +ellps=WGS84". */ +/************************************************************************/ + +PJ * +pj_init_plus( const char *definition ) + +{ +#define MAX_ARG 200 + char *argv[MAX_ARG]; + char *defn_copy; + int argc = 0, i; + PJ *result; + + /* make a copy that we can manipulate */ + defn_copy = (char *) pj_malloc( strlen(definition)+1 ); + strcpy( defn_copy, definition ); + + /* split into arguments based on '+' and trim white space */ + + for( i = 0; defn_copy[i] != '\0'; i++ ) + { + switch( defn_copy[i] ) + { + case '+': + if( i == 0 || defn_copy[i-1] == '\0' ) + { + if( argc+1 == MAX_ARG ) + { + pj_errno = -44; + return NULL; + } + + argv[argc++] = defn_copy + i + 1; + } + break; + + case ' ': + case '\t': + case '\n': + defn_copy[i] = '\0'; + break; + + default: + /* do nothing */; + } + } + + /* perform actual initialization */ + result = pj_init( argc, argv ); + + pj_dalloc( defn_copy ); + + return result; +} + +/************************************************************************/ +/* pj_init() */ +/* */ +/* Main entry point for initialing a PJ projections */ +/* definition. Note that the projection specific function is */ +/* called to do the initial allocation so it can be created */ +/* large enough to hold projection specific parameters. */ +/************************************************************************/ + +PJ * +pj_init(int argc, char **argv) { + char *s, *name; + paralist *start = NULL; + PJ *(*proj)(PJ *); + paralist *curr; + int i; + PJ *PIN = 0; + const char *old_locale; + + errno = pj_errno = 0; + start = NULL; + + old_locale = setlocale(LC_NUMERIC, NULL); + setlocale(LC_NUMERIC,"C"); + + /* put arguments into internal linked list */ + if (argc <= 0) { pj_errno = -1; goto bum_call; } + for (i = 0; i < argc; ++i) + if (i) + curr = curr->next = pj_mkparam(argv[i]); + else + start = curr = pj_mkparam(argv[i]); + if (pj_errno) goto bum_call; + + /* check if +init present */ + if (pj_param(start, "tinit").i) { + paralist *last = curr; + + if (!(curr = get_init(&start, curr, pj_param(start, "sinit").s))) + goto bum_call; + if (curr == last) { pj_errno = -2; goto bum_call; } + } + + /* find projection selection */ + if (!(name = pj_param(start, "sproj").s)) + { pj_errno = -4; goto bum_call; } + for (i = 0; (s = pj_list[i].id) && strcmp(name, s) ; ++i) ; + if (!s) { pj_errno = -5; goto bum_call; } + + /* set defaults, unless inhibited */ + if (!pj_param(start, "bno_defs").i) + curr = get_defaults(&start, curr, name); + proj = (PJ *(*)(PJ *)) pj_list[i].proj; + + /* allocate projection structure */ + if (!(PIN = (*proj)(0))) goto bum_call; + PIN->params = start; + PIN->is_latlong = 0; + PIN->is_geocent = 0; + PIN->long_wrap_center = 0.0; + + /* set datum parameters */ + if (pj_datum_set(start, PIN)) goto bum_call; + + /* set ellipsoid/sphere parameters */ + if (pj_ell_set(start, &PIN->a, &PIN->es)) goto bum_call; + + PIN->a_orig = PIN->a; + PIN->es_orig = PIN->es; + + PIN->e = sqrt(PIN->es); + PIN->ra = 1. / PIN->a; + PIN->one_es = 1. - PIN->es; + if (PIN->one_es == 0.) { pj_errno = -6; goto bum_call; } + PIN->rone_es = 1./PIN->one_es; + + /* Now that we have ellipse information check for WGS84 datum */ + if( PIN->datum_type == PJD_3PARAM + && PIN->datum_params[0] == 0.0 + && PIN->datum_params[1] == 0.0 + && PIN->datum_params[2] == 0.0 + && PIN->a == 6378137.0 + && ABS(PIN->es - 0.006694379990) < 0.000000000050 )/*WGS84/GRS80*/ + { + PIN->datum_type = PJD_WGS84; + } + + /* set PIN->geoc coordinate system */ + PIN->geoc = (PIN->es && pj_param(start, "bgeoc").i); + + /* over-ranging flag */ + PIN->over = pj_param(start, "bover").i; + + /* longitude center for wrapping */ + PIN->long_wrap_center = pj_param(start, "rlon_wrap").f; + + /* central meridian */ + PIN->lam0=pj_param(start, "rlon_0").f; + + /* central latitude */ + PIN->phi0 = pj_param(start, "rlat_0").f; + + /* false easting and northing */ + PIN->x0 = pj_param(start, "dx_0").f; + PIN->y0 = pj_param(start, "dy_0").f; + + /* general scaling factor */ + if (pj_param(start, "tk_0").i) + PIN->k0 = pj_param(start, "dk_0").f; + else if (pj_param(start, "tk").i) + PIN->k0 = pj_param(start, "dk").f; + else + PIN->k0 = 1.; + if (PIN->k0 <= 0.) { + pj_errno = -31; + goto bum_call; + } + + /* set units */ + s = 0; + if (name = pj_param(start, "sunits").s) { + for (i = 0; (s = pj_units[i].id) && strcmp(name, s) ; ++i) ; + if (!s) { pj_errno = -7; goto bum_call; } + s = pj_units[i].to_meter; + } + if (s || (s = pj_param(start, "sto_meter").s)) { + PIN->to_meter = strtod(s, &s); + if (*s == '/') /* ratio number */ + PIN->to_meter /= strtod(++s, 0); + PIN->fr_meter = 1. / PIN->to_meter; + } else + PIN->to_meter = PIN->fr_meter = 1.; + + /* prime meridian */ + s = 0; + if (name = pj_param(start, "spm").s) { + const char *value = NULL; + char *next_str = NULL; + + for (i = 0; pj_prime_meridians[i].id != NULL; ++i ) + { + if( strcmp(name,pj_prime_meridians[i].id) == 0 ) + { + value = pj_prime_meridians[i].defn; + break; + } + } + + if( value == NULL + && (dmstor(name,&next_str) != 0.0 || *name == '0') + && *next_str == '\0' ) + value = name; + + if (!value) { pj_errno = -46; goto bum_call; } + PIN->from_greenwich = dmstor(value,NULL); + } + else + PIN->from_greenwich = 0.0; + + /* projection specific initialization */ + if (!(PIN = (*proj)(PIN)) || errno || pj_errno) { +bum_call: /* cleanup error return */ + if (!pj_errno) + pj_errno = errno; + if (PIN) + pj_free(PIN); + else + for ( ; start; start = curr) { + curr = start->next; + pj_dalloc(start); + } + PIN = 0; + } + setlocale(LC_NUMERIC,old_locale); + + return PIN; +} + +/************************************************************************/ +/* pj_free() */ +/* */ +/* This is the application callable entry point for destroying */ +/* a projection definition. It does work generic to all */ +/* projection types, and then calls the projection specific */ +/* free function (P->pfree()) to do local work. This maps to */ +/* the FREEUP code in the individual projection source files. */ +/************************************************************************/ + +void +pj_free(PJ *P) { + if (P) { + paralist *t = P->params, *n; + + /* free parameter list elements */ + for (t = P->params; t; t = n) { + n = t->next; + pj_dalloc(t); + } + + /* free projection parameters */ + P->pfree(P); + } +} + + diff --git a/src/3rdparty/proj/pj_initcache.c b/src/3rdparty/proj/pj_initcache.c new file mode 100644 index 00000000..5dd46fad --- /dev/null +++ b/src/3rdparty/proj/pj_initcache.c @@ -0,0 +1,181 @@ +/****************************************************************************** + * $Id: pj_transform.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: init file definition cache. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2009, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#include <projects.h> +#include <string.h> + +PJ_CVSID("$Id: pj_transform.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +static int cache_count = 0; +static int cache_alloc = 0; +static char **cache_key = NULL; +static paralist **cache_paralist = NULL; + +/************************************************************************/ +/* pj_clone_paralist() */ +/* */ +/* Allocate a copy of a parameter list. */ +/************************************************************************/ + +paralist *pj_clone_paralist( const paralist *list) +{ + paralist *list_copy = NULL, *next_copy = NULL; + + for( ; list != NULL; list = list->next ) + { + paralist *newitem = (paralist *) + pj_malloc(sizeof(paralist) + strlen(list->param)); + + newitem->used = 0; + newitem->next = 0; + strcpy( newitem->param, list->param ); + + if( list_copy == NULL ) + list_copy = newitem; + else + next_copy->next = newitem; + + next_copy = newitem; + } + + return list_copy; +} + +/************************************************************************/ +/* pj_clear_initcache() */ +/* */ +/* Clear out all memory held in the init file cache. */ +/************************************************************************/ + +void pj_clear_initcache() +{ + if( cache_alloc > 0 ) + { + int i; + + pj_acquire_lock(); + + for( i = 0; i < cache_count; i++ ) + { + paralist *n, *t = cache_paralist[i]; + + pj_dalloc( cache_key[i] ); + + /* free parameter list elements */ + for (; t != NULL; t = n) { + n = t->next; + pj_dalloc(t); + } + } + + pj_dalloc( cache_key ); + pj_dalloc( cache_paralist ); + cache_count = 0; + cache_alloc= 0; + cache_key = NULL; + cache_paralist = NULL; + + pj_release_lock(); + } +} + +/************************************************************************/ +/* pj_search_initcache() */ +/* */ +/* Search for a matching definition in the init cache. */ +/************************************************************************/ + +paralist *pj_search_initcache( const char *filekey ) + +{ + int i; + paralist *result = NULL; + + pj_acquire_lock(); + + for( i = 0; result == NULL && i < cache_count; i++) + { + if( strcmp(filekey,cache_key[i]) == 0 ) + { + result = pj_clone_paralist( cache_paralist[i] ); + } + } + + pj_release_lock(); + + return result; +} + +/************************************************************************/ +/* pj_insert_initcache() */ +/* */ +/* Insert a paralist definition in the init file cache. */ +/************************************************************************/ + +void pj_insert_initcache( const char *filekey, const paralist *list ) + +{ + pj_acquire_lock(); + + /* + ** Grow list if required. + */ + if( cache_count == cache_alloc ) + { + char **cache_key_new; + paralist **cache_paralist_new; + + cache_alloc = cache_alloc * 2 + 15; + + cache_key_new = (char **) pj_malloc(sizeof(char*) * cache_alloc); + memcpy( cache_key, cache_key_new, sizeof(char*) * cache_count); + pj_dalloc( cache_key ); + cache_key = cache_key_new; + + cache_paralist_new = (paralist **) + pj_malloc(sizeof(paralist*) * cache_alloc); + memcpy( cache_paralist_new, cache_paralist, + sizeof(paralist*) * cache_count ); + pj_dalloc( cache_paralist ); + cache_paralist = cache_paralist_new; + } + + /* + ** Duplicate the filekey and paralist, and insert in cache. + */ + cache_key[cache_count] = (char *) pj_malloc(strlen(filekey)+1); + strcpy( cache_key[cache_count], filekey ); + + cache_paralist[cache_count] = pj_clone_paralist( list ); + + cache_count++; + + pj_release_lock(); +} + diff --git a/src/3rdparty/proj/pj_inv.c b/src/3rdparty/proj/pj_inv.c new file mode 100644 index 00000000..ee2b44f8 --- /dev/null +++ b/src/3rdparty/proj/pj_inv.c @@ -0,0 +1,29 @@ +/* general inverse projection */ +#define PJ_LIB__ +#include <projects.h> +#include <errno.h> +# define EPS 1.0e-12 + LP /* inverse projection entry */ +pj_inv(XY xy, PJ *P) { + LP lp; + + /* can't do as much preliminary checking as with forward */ + if (xy.x == HUGE_VAL || xy.y == HUGE_VAL) { + lp.lam = lp.phi = HUGE_VAL; + pj_errno = -15; + } + errno = pj_errno = 0; + xy.x = (xy.x * P->to_meter - P->x0) * P->ra; /* descale and de-offset */ + xy.y = (xy.y * P->to_meter - P->y0) * P->ra; + lp = (*P->inv)(xy, P); /* inverse project */ + if (pj_errno || (pj_errno = errno)) + lp.lam = lp.phi = HUGE_VAL; + else { + lp.lam += P->lam0; /* reduce from del lp.lam */ + if (!P->over) + lp.lam = adjlon(lp.lam); /* adjust longitude to CM */ + if (P->geoc && fabs(fabs(lp.phi)-HALFPI) > EPS) + lp.phi = atan(P->one_es * tan(lp.phi)); + } + return lp; +} diff --git a/src/3rdparty/proj/pj_latlong.c b/src/3rdparty/proj/pj_latlong.c new file mode 100644 index 00000000..1ade364c --- /dev/null +++ b/src/3rdparty/proj/pj_latlong.c @@ -0,0 +1,80 @@ +/****************************************************************************** + * $Id: pj_latlong.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Stub projection implementation for lat/long coordinates. We + * don't actually change the coordinates, but we want proj=latlong + * to act sort of like a projection. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +/* very loosely based upon DMA code by Bradford W. Drew */ +#define PJ_LIB__ +#include <projects.h> +PROJ_HEAD(lonlat, "Lat/long (Geodetic)") "\n\t"; +PROJ_HEAD(latlon, "Lat/long (Geodetic alias)") "\n\t"; +PROJ_HEAD(latlong, "Lat/long (Geodetic alias)") "\n\t"; +PROJ_HEAD(longlat, "Lat/long (Geodetic alias)") "\n\t"; + +FORWARD(forward); + + xy.x = lp.lam / P->a; + xy.y = lp.phi / P->a; + return xy; +} +INVERSE(inverse); + + lp.phi = xy.y * P->a; + lp.lam = xy.x * P->a; + return lp; +} +FREEUP; if (P) pj_dalloc(P); } + +ENTRY0(latlong) + P->is_latlong = 1; + P->x0 = 0.0; + P->y0 = 0.0; + P->inv = inverse; P->fwd = forward; +ENDENTRY(P) + +ENTRY0(longlat) + P->is_latlong = 1; + P->x0 = 0.0; + P->y0 = 0.0; + P->inv = inverse; P->fwd = forward; +ENDENTRY(P) + +ENTRY0(latlon) + P->is_latlong = 1; + P->x0 = 0.0; + P->y0 = 0.0; + P->inv = inverse; P->fwd = forward; +ENDENTRY(P) + +ENTRY0(lonlat) + P->is_latlong = 1; + P->x0 = 0.0; + P->y0 = 0.0; + P->inv = inverse; P->fwd = forward; +ENDENTRY(P) diff --git a/src/3rdparty/proj/pj_list.c b/src/3rdparty/proj/pj_list.c new file mode 100644 index 00000000..7d35811b --- /dev/null +++ b/src/3rdparty/proj/pj_list.c @@ -0,0 +1,11 @@ +/* Projection System: default list of projections +** Use local definition of PJ_LIST_H for subset. +*/ +#define PJ_LIST_H "pj_list.h" +#include "projects.h" + +struct PJ_LIST *pj_get_list_ref() + +{ + return pj_list; +} diff --git a/src/3rdparty/proj/pj_malloc.c b/src/3rdparty/proj/pj_malloc.c new file mode 100644 index 00000000..b6400eba --- /dev/null +++ b/src/3rdparty/proj/pj_malloc.c @@ -0,0 +1,25 @@ +/* allocate and deallocate memory */ +/* These routines are used so that applications can readily replace +** projection system memory allocation/deallocation call with custom +** application procedures. */ +#include <projects.h> +#include <errno.h> + + void * +pj_malloc(size_t size) { +// Currently, pj_malloc is a hack to solve an errno problem. +// The problem is described in more details at +// https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=86420. +// It seems, that pj_init and similar functions incorrectly +// (under debian/glibs-2.3.2) assume that pj_malloc resets +// errno after success. pj_malloc tries to mimic this. + int old_errno = errno; + void *res = malloc(size); + if ( res && !old_errno ) + errno = 0; + return res; +} + void +pj_dalloc(void *ptr) { + free(ptr); +} diff --git a/src/3rdparty/proj/pj_mlfn.c b/src/3rdparty/proj/pj_mlfn.c new file mode 100644 index 00000000..afd18b19 --- /dev/null +++ b/src/3rdparty/proj/pj_mlfn.c @@ -0,0 +1,57 @@ +#include <projects.h> +/* meridinal distance for ellipsoid and inverse +** 8th degree - accurate to < 1e-5 meters when used in conjuction +** with typical major axis values. +** Inverse determines phi to EPS (1e-11) radians, about 1e-6 seconds. +*/ +#define C00 1. +#define C02 .25 +#define C04 .046875 +#define C06 .01953125 +#define C08 .01068115234375 +#define C22 .75 +#define C44 .46875 +#define C46 .01302083333333333333 +#define C48 .00712076822916666666 +#define C66 .36458333333333333333 +#define C68 .00569661458333333333 +#define C88 .3076171875 +#define EPS 1e-11 +#define MAX_ITER 10 +#define EN_SIZE 5 + double * +pj_enfn(double es) { + double t, *en; + + if (en = (double *)pj_malloc(EN_SIZE * sizeof(double))) { + en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08))); + en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08))); + en[2] = (t = es * es) * (C44 - es * (C46 + es * C48)); + en[3] = (t *= es) * (C66 - es * C68); + en[4] = t * es * C88; + } /* else return NULL if unable to allocate memory */ + return en; +} + double +pj_mlfn(double phi, double sphi, double cphi, double *en) { + cphi *= sphi; + sphi *= sphi; + return(en[0] * phi - cphi * (en[1] + sphi*(en[2] + + sphi*(en[3] + sphi*en[4])))); +} + double +pj_inv_mlfn(double arg, double es, double *en) { + double s, t, phi, k = 1./(1.-es); + int i; + + phi = arg; + for (i = MAX_ITER; i ; --i) { /* rarely goes over 2 iterations */ + s = sin(phi); + t = 1. - es * s * s; + phi -= t = (pj_mlfn(phi, s, cos(phi), en) - arg) * (t * sqrt(t)) * k; + if (fabs(t) < EPS) + return phi; + } + pj_errno = -17; + return phi; +} diff --git a/src/3rdparty/proj/pj_msfn.c b/src/3rdparty/proj/pj_msfn.c new file mode 100644 index 00000000..5b49f416 --- /dev/null +++ b/src/3rdparty/proj/pj_msfn.c @@ -0,0 +1,7 @@ +/* determine constant small m */ +#include <math.h> +#include <projects.h> + double +pj_msfn(double sinphi, double cosphi, double es) { + return (cosphi / sqrt (1. - es * sinphi * sinphi)); +} diff --git a/src/3rdparty/proj/pj_mutex.c b/src/3rdparty/proj/pj_mutex.c new file mode 100644 index 00000000..22b181e4 --- /dev/null +++ b/src/3rdparty/proj/pj_mutex.c @@ -0,0 +1,208 @@ +/****************************************************************************** + * $Id: pj_transform.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Mutex (thread lock) functions. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2009, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + + +/* projects.h and windows.h conflict - avoid this! */ + +#ifndef _WIN32 +#include <projects.h> +PJ_CVSID("$Id: pj_transform.c 1504 2009-01-06 02:11:57Z warmerdam $"); +#else +#include <proj_api.h> +#endif + +#if !defined(MUTEX_stub) && !defined(MUTEX_pthread) && !defined(MUTEX_win32) +# define MUTEX_stub +#endif + +static void pj_init_lock(); + +/************************************************************************/ +/* ==================================================================== */ +/* stub mutex implementation */ +/* ==================================================================== */ +/************************************************************************/ + +#ifdef MUTEX_stub + +/************************************************************************/ +/* pj_acquire_lock() */ +/* */ +/* Acquire the PROJ.4 lock. */ +/************************************************************************/ + +void pj_acquire_lock() +{ +} + +/************************************************************************/ +/* pj_release_lock() */ +/* */ +/* Release the PROJ.4 lock. */ +/************************************************************************/ + +void pj_release_lock() +{ +} + +/************************************************************************/ +/* pj_cleanup_lock() */ +/************************************************************************/ +void pj_cleanup_lock() +{ +} + +/************************************************************************/ +/* pj_init_lock() */ +/************************************************************************/ + +static void pj_init_lock() + +{ +} + +#endif // def MUTEX_stub + +/************************************************************************/ +/* ==================================================================== */ +/* pthread mutex implementation */ +/* ==================================================================== */ +/************************************************************************/ + +#ifdef MUTEX_pthread + +#include "pthread.h" + +static pthread_mutex_t core_lock = PTHREAD_MUTEX_INITIALIZER; + +/************************************************************************/ +/* pj_acquire_lock() */ +/* */ +/* Acquire the PROJ.4 lock. */ +/************************************************************************/ + +void pj_acquire_lock() +{ + pthread_mutex_lock( &core_lock); +} + +/************************************************************************/ +/* pj_release_lock() */ +/* */ +/* Release the PROJ.4 lock. */ +/************************************************************************/ + +void pj_release_lock() +{ + pthread_mutex_unlock( &core_lock ); +} + +/************************************************************************/ +/* pj_cleanup_lock() */ +/************************************************************************/ +void pj_cleanup_lock() +{ +} + +/************************************************************************/ +/* pj_init_lock() */ +/************************************************************************/ + +static void pj_init_lock() + +{ +} + +#endif // def MUTEX_pthread + +/************************************************************************/ +/* ==================================================================== */ +/* win32 mutex implementation */ +/* ==================================================================== */ +/************************************************************************/ + +#ifdef MUTEX_win32 + +#include <windows.h> + +static HANDLE mutex_lock = NULL; + +/************************************************************************/ +/* pj_acquire_lock() */ +/* */ +/* Acquire the PROJ.4 lock. */ +/************************************************************************/ + +void pj_acquire_lock() +{ + if( mutex_lock == NULL ) + pj_init_lock(); + + WaitForSingleObject( mutex_lock, INFINITE ); +} + +/************************************************************************/ +/* pj_release_lock() */ +/* */ +/* Release the PROJ.4 lock. */ +/************************************************************************/ + +void pj_release_lock() +{ + if( mutex_lock == NULL ) + pj_init_lock(); + + ReleaseMutex( mutex_lock ); +} + +/************************************************************************/ +/* pj_cleanup_lock() */ +/************************************************************************/ +void pj_cleanup_lock() +{ + if( mutex_lock != NULL ) + { + CloseHandle( mutex_lock ); + mutex_lock = NULL; + } +} + +/************************************************************************/ +/* pj_init_lock() */ +/************************************************************************/ + +static void pj_init_lock() + +{ + if( mutex_lock == NULL ) + mutex_lock = CreateMutex( NULL, TRUE, NULL ); +} + +#endif // def MUTEX_win32 + diff --git a/src/3rdparty/proj/pj_open_lib_qt.cpp b/src/3rdparty/proj/pj_open_lib_qt.cpp new file mode 100644 index 00000000..ac6baf9b --- /dev/null +++ b/src/3rdparty/proj/pj_open_lib_qt.cpp @@ -0,0 +1,86 @@ +/****************************************************************************** + * Project: PROJ.4 + * Purpose: Implementation of pj_open_lib(), and pj_set_finder(). These + * provide a standard interface for opening projections support + * data files. + * Author: Gerald Evenden, Frank Warmerdam <warmerdam@pobox.com>, + * Nokia Corporation (qt-info@nokia.com) + * + ****************************************************************************** + * Copyright (c) 1995, Gerald Evenden + * Copyright (c) 2002, Frank Warmerdam <warmerdam@pobox.com> + * Copyright (c) 2010, Nokia Corporation + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ +extern "C" { +#include <projects.h> +#include <stdio.h> +#include <string.h> +#include <errno.h> +} + +#include <QString> +#include <QFile> +#include <QList> + +class PJLibTracker +{ +public: + ~PJLibTracker(); + + QList<QFile*> files; +}; + +PJLibTracker::~PJLibTracker() +{ + foreach (QFile *f, files) + delete f; +} + +static PJLibTracker tracker; + + +void pj_set_finder( const char *(*new_finder)(const char *) ) +{ +} + +void pj_set_searchpath ( int count, const char **path ) +{ +} + +FILE *pj_open_lib(char *name, char *mode) +{ + if (QFile::exists(QString(":/proj_data/%1").arg(name))) { + QFile *f = new QFile(QString(":/proj_data/%1").arg(name)); + f->open(QIODevice::ReadOnly); + + if (f->handle() == -1) { + delete f; + return NULL; + } + + tracker.files.append(f); + return fdopen(f->handle(), "r"); + } else { + return NULL; + } +} diff --git a/src/3rdparty/proj/pj_param.c b/src/3rdparty/proj/pj_param.c new file mode 100644 index 00000000..4dce136a --- /dev/null +++ b/src/3rdparty/proj/pj_param.c @@ -0,0 +1,104 @@ +/* put parameters in linked list and retrieve */ +#include <projects.h> +#include <stdio.h> +#include <string.h> + paralist * /* create parameter list entry */ +pj_mkparam(char *str) { + paralist *newitem; + + if (newitem = (paralist *)pj_malloc(sizeof(paralist) + strlen(str))) { + newitem->used = 0; + newitem->next = 0; + if (*str == '+') + ++str; + (void)strcpy(newitem->param, str); + } + return newitem; +} + +/************************************************************************/ +/* pj_param() */ +/* */ +/* Test for presence or get parameter value. The first */ +/* character in `opt' is a parameter type which can take the */ +/* values: */ +/* */ +/* `t' - test for presence, return TRUE/FALSE in PVALUE.i */ +/* `i' - integer value returned in PVALUE.i */ +/* `d' - simple valued real input returned in PVALUE.f */ +/* `r' - degrees (DMS translation applied), returned as */ +/* radians in PVALUE.f */ +/* `s' - string returned in PVALUE.s */ +/* `b' - test for t/T/f/F, return in PVALUE.i */ +/* */ +/************************************************************************/ + + PVALUE /* test for presence or get parameter value */ +pj_param(paralist *pl, char *opt) { + int type; + unsigned l; + PVALUE value; + + type = *opt++; + /* simple linear lookup */ + l = strlen(opt); + while (pl && !(!strncmp(pl->param, opt, l) && + (!pl->param[l] || pl->param[l] == '='))) + pl = pl->next; + if (type == 't') + value.i = pl != 0; + else if (pl) { + pl->used |= 1; + opt = pl->param + l; + if (*opt == '=') + ++opt; + switch (type) { + case 'i': /* integer input */ + value.i = atoi(opt); + break; + case 'd': /* simple real input */ + value.f = atof(opt); + break; + case 'r': /* degrees input */ + value.f = dmstor(opt, 0); + break; + case 's': /* char string */ + value.s = opt; + break; + case 'b': /* boolean */ + switch (*opt) { + case 'F': case 'f': + value.i = 0; + break; + case '\0': case 'T': case 't': + value.i = 1; + break; + default: + pj_errno = -8; + value.i = 0; + break; + } + break; + default: +bum_type: /* note: this is an error in parameter, not a user error */ + fprintf(stderr, "invalid request to pj_param, fatal\n"); + exit(1); + } + } else /* not given */ + switch (type) { + case 'b': + case 'i': + value.i = 0; + break; + case 'd': + case 'r': + value.f = 0.; + break; + case 's': + value.s = 0; + break; + default: + goto bum_type; + } + return value; +} diff --git a/src/3rdparty/proj/pj_phi2.c b/src/3rdparty/proj/pj_phi2.c new file mode 100644 index 00000000..0900350e --- /dev/null +++ b/src/3rdparty/proj/pj_phi2.c @@ -0,0 +1,25 @@ +/* determine latitude angle phi-2 */ +#include <projects.h> + +#define HALFPI 1.5707963267948966 +#define TOL 1.0e-10 +#define N_ITER 15 + + double +pj_phi2(double ts, double e) { + double eccnth, Phi, con, dphi; + int i; + + eccnth = .5 * e; + Phi = HALFPI - 2. * atan (ts); + i = N_ITER; + do { + con = e * sin (Phi); + dphi = HALFPI - 2. * atan (ts * pow((1. - con) / + (1. + con), eccnth)) - Phi; + Phi += dphi; + } while ( fabs(dphi) > TOL && --i); + if (i <= 0) + pj_errno = -18; + return Phi; +} diff --git a/src/3rdparty/proj/pj_pr_list.c b/src/3rdparty/proj/pj_pr_list.c new file mode 100644 index 00000000..d4a908cd --- /dev/null +++ b/src/3rdparty/proj/pj_pr_list.c @@ -0,0 +1,91 @@ +/* print projection's list of parameters */ +#include <projects.h> +#include <stdio.h> +#include <string.h> +#define LINE_LEN 72 + static int +pr_list(PJ *P, int not_used) { + paralist *t; + int l, n = 1, flag = 0; + + (void)putchar('#'); + for (t = P->params; t; t = t->next) + if ((!not_used && t->used) || (not_used && !t->used)) { + l = strlen(t->param) + 1; + if (n + l > LINE_LEN) { + (void)fputs("\n#", stdout); + n = 2; + } + (void)putchar(' '); + if (*(t->param) != '+') + (void)putchar('+'); + (void)fputs(t->param, stdout); + n += l; + } else + flag = 1; + if (n > 1) + (void)putchar('\n'); + return flag; +} + void /* print link list of projection parameters */ +pj_pr_list(PJ *P) { + char const *s; + + (void)putchar('#'); + for (s = P->descr; *s ; ++s) { + (void)putchar(*s); + if (*s == '\n') + (void)putchar('#'); + } + (void)putchar('\n'); + if (pr_list(P, 0)) { + (void)fputs("#--- following specified but NOT used\n", stdout); + (void)pr_list(P, 1); + } +} + +/************************************************************************/ +/* pj_get_def() */ +/* */ +/* Returns the PROJ.4 command string that would produce this */ +/* definition expanded as much as possible. For instance, */ +/* +init= calls and +datum= defintions would be expanded. */ +/************************************************************************/ + +char *pj_get_def( PJ *P, int options ) + +{ + paralist *t; + int l; + char *definition; + int def_max = 10; + + definition = (char *) pj_malloc(def_max); + definition[0] = '\0'; + + for (t = P->params; t; t = t->next) + { + /* skip unused parameters ... mostly appended defaults and stuff */ + if (!t->used) + continue; + + /* grow the resulting string if needed */ + l = strlen(t->param) + 1; + if( strlen(definition) + l + 5 > def_max ) + { + char *def2; + + def_max = def_max * 2 + l + 5; + def2 = (char *) pj_malloc(def_max); + strcpy( def2, definition ); + pj_dalloc( definition ); + definition = def2; + } + + /* append this parameter */ + strcat( definition, " +" ); + strcat( definition, t->param ); + } + + return definition; +} diff --git a/src/3rdparty/proj/pj_qsfn.c b/src/3rdparty/proj/pj_qsfn.c new file mode 100644 index 00000000..ccb12308 --- /dev/null +++ b/src/3rdparty/proj/pj_qsfn.c @@ -0,0 +1,16 @@ +/* determine small q */ +#include <math.h> +#include <projects.h> + +# define EPSILON 1.0e-7 + double +pj_qsfn(double sinphi, double e, double one_es) { + double con; + + if (e >= EPSILON) { + con = e * sinphi; + return (one_es * (sinphi / (1. - con * con) - + (.5 / e) * log ((1. - con) / (1. + con)))); + } else + return (sinphi + sinphi); +} diff --git a/src/3rdparty/proj/pj_release.c b/src/3rdparty/proj/pj_release.c new file mode 100644 index 00000000..d1e22095 --- /dev/null +++ b/src/3rdparty/proj/pj_release.c @@ -0,0 +1,11 @@ +/* <<< Release Notice for library >>> */ + +#include <projects.h> + +char const pj_release[]="Rel. 4.7.1, 23 September 2009"; + +const char *pj_get_release() + +{ + return pj_release; +} diff --git a/src/3rdparty/proj/pj_strerrno.c b/src/3rdparty/proj/pj_strerrno.c new file mode 100644 index 00000000..4db1fb9a --- /dev/null +++ b/src/3rdparty/proj/pj_strerrno.c @@ -0,0 +1,82 @@ +/* list of projection system pj_errno values */ +#include "projects.h" +#include <stdio.h> +#include <errno.h> +#include <string.h> + + static char * +pj_err_list[] = { + "no arguments in initialization list", /* -1 */ + "no options found in 'init' file", /* -2 */ + "no colon in init= string", /* -3 */ + "projection not named", /* -4 */ + "unknown projection id", /* -5 */ + "effective eccentricity = 1.", /* -6 */ + "unknown unit conversion id", /* -7 */ + "invalid boolean param argument", /* -8 */ + "unknown elliptical parameter name", /* -9 */ + "reciprocal flattening (1/f) = 0", /* -10 */ + "|radius reference latitude| > 90", /* -11 */ + "squared eccentricity < 0", /* -12 */ + "major axis or radius = 0 or not given", /* -13 */ + "latitude or longitude exceeded limits", /* -14 */ + "invalid x or y", /* -15 */ + "improperly formed DMS value", /* -16 */ + "non-convergent inverse meridinal dist", /* -17 */ + "non-convergent inverse phi2", /* -18 */ + "acos/asin: |arg| >1.+1e-14", /* -19 */ + "tolerance condition error", /* -20 */ + "conic lat_1 = -lat_2", /* -21 */ + "lat_1 >= 90", /* -22 */ + "lat_1 = 0", /* -23 */ + "lat_ts >= 90", /* -24 */ + "no distance between control points", /* -25 */ + "projection not selected to be rotated", /* -26 */ + "W <= 0 or M <= 0", /* -27 */ + "lsat not in 1-5 range", /* -28 */ + "path not in range", /* -29 */ + "h <= 0", /* -30 */ + "k <= 0", /* -31 */ + "lat_0 = 0 or 90 or alpha = 90", /* -32 */ + "lat_1=lat_2 or lat_1=0 or lat_2=90", /* -33 */ + "elliptical usage required", /* -34 */ + "invalid UTM zone number", /* -35 */ + "arg(s) out of range for Tcheby eval", /* -36 */ + "failed to find projection to be rotated", /* -37 */ + "failed to load NAD27-83 correction file", /* -38 */ + "both n & m must be spec'd and > 0", /* -39 */ + "n <= 0, n > 1 or not specified", /* -40 */ + "lat_1 or lat_2 not specified", /* -41 */ + "|lat_1| == |lat_2|", /* -42 */ + "lat_0 is pi/2 from mean lat", /* -43 */ + "unparseable coordinate system definition", /* -44 */ + "geocentric transformation missing z or ellps", /* -45 */ + "unknown prime meridian conversion id", /* -46 */ +}; + char * +pj_strerrno(int err) +{ + static char note[50]; + + if (err > 0) +#ifdef HAVE_STRERROR + return strerror(err); +#else + { + sprintf(note,"no system list, errno: %d\n", err); + return note; + } +#endif + else if (err < 0) { + int adjusted_err = - err - 1; + if (adjusted_err < (sizeof(pj_err_list) / sizeof(char *))) + return(pj_err_list[adjusted_err]); + else + { + sprintf( note, "invalid projection system error (%d)", + err ); + return note; + } + } else + return NULL; +} diff --git a/src/3rdparty/proj/pj_transform.c b/src/3rdparty/proj/pj_transform.c new file mode 100644 index 00000000..7aacbd4a --- /dev/null +++ b/src/3rdparty/proj/pj_transform.c @@ -0,0 +1,646 @@ +/****************************************************************************** + * $Id: pj_transform.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Perform overall coordinate system to coordinate system + * transformations (pj_transform() function) including reprojection + * and datum shifting. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2000, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#include <projects.h> +#include <string.h> +#include <math.h> +#include "geocent.h" + +PJ_CVSID("$Id: pj_transform.c 1504 2009-01-06 02:11:57Z warmerdam $"); + +#ifndef SRS_WGS84_SEMIMAJOR +#define SRS_WGS84_SEMIMAJOR 6378137.0 +#endif + +#ifndef SRS_WGS84_ESQUARED +#define SRS_WGS84_ESQUARED 0.0066943799901413165 +#endif + +#define Dx_BF (defn->datum_params[0]) +#define Dy_BF (defn->datum_params[1]) +#define Dz_BF (defn->datum_params[2]) +#define Rx_BF (defn->datum_params[3]) +#define Ry_BF (defn->datum_params[4]) +#define Rz_BF (defn->datum_params[5]) +#define M_BF (defn->datum_params[6]) + +/* +** This table is intended to indicate for any given error code in +** the range 0 to -44, whether that error will occur for all locations (ie. +** it is a problem with the coordinate system as a whole) in which case the +** value would be 0, or if the problem is with the point being transformed +** in which case the value is 1. +** +** At some point we might want to move this array in with the error message +** list or something, but while experimenting with it this should be fine. +*/ + +static const int transient_error[45] = { + /* 0 1 2 3 4 5 6 7 8 9 */ + /* 0 to 9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + /* 10 to 19 */ 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, + /* 20 to 29 */ 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, + /* 30 to 39 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, + /* 40 to 44 */ 0, 0, 0, 0, 0 }; + +/************************************************************************/ +/* pj_transform() */ +/* */ +/* Currently this function doesn't recognise if two projections */ +/* are identical (to short circuit reprojection) because it is */ +/* difficult to compare PJ structures (since there are some */ +/* projection specific components). */ +/************************************************************************/ + +int pj_transform( PJ *srcdefn, PJ *dstdefn, long point_count, int point_offset, + double *x, double *y, double *z ) + +{ + long i; + int need_datum_shift; + + pj_errno = 0; + + if( point_offset == 0 ) + point_offset = 1; + +/* -------------------------------------------------------------------- */ +/* Transform geocentric source coordinates to lat/long. */ +/* -------------------------------------------------------------------- */ + if( srcdefn->is_geocent ) + { + if( z == NULL ) + { + pj_errno = PJD_ERR_GEOCENTRIC; + return PJD_ERR_GEOCENTRIC; + } + + if( srcdefn->to_meter != 1.0 ) + { + for( i = 0; i < point_count; i++ ) + { + if( x[point_offset*i] != HUGE_VAL ) + { + x[point_offset*i] *= srcdefn->to_meter; + y[point_offset*i] *= srcdefn->to_meter; + } + } + } + + if( pj_geocentric_to_geodetic( srcdefn->a_orig, srcdefn->es_orig, + point_count, point_offset, + x, y, z ) != 0) + return pj_errno; + } + +/* -------------------------------------------------------------------- */ +/* Transform source points to lat/long, if they aren't */ +/* already. */ +/* -------------------------------------------------------------------- */ + else if( !srcdefn->is_latlong ) + { + if( srcdefn->inv == NULL ) + { + pj_errno = -17; /* this isn't correct, we need a no inverse err */ + if( getenv( "PROJ_DEBUG" ) != NULL ) + { + fprintf( stderr, + "pj_transform(): source projection not invertable\n" ); + } + return pj_errno; + } + + for( i = 0; i < point_count; i++ ) + { + XY projected_loc; + LP geodetic_loc; + + projected_loc.u = x[point_offset*i]; + projected_loc.v = y[point_offset*i]; + + if( projected_loc.u == HUGE_VAL ) + continue; + + geodetic_loc = pj_inv( projected_loc, srcdefn ); + if( pj_errno != 0 ) + { + if( (pj_errno != 33 /*EDOM*/ && pj_errno != 34 /*ERANGE*/ ) + && (pj_errno > 0 || pj_errno < -44 || point_count == 1 + || transient_error[-pj_errno] == 0 ) ) + return pj_errno; + else + { + geodetic_loc.u = HUGE_VAL; + geodetic_loc.v = HUGE_VAL; + } + } + + x[point_offset*i] = geodetic_loc.u; + y[point_offset*i] = geodetic_loc.v; + } + } +/* -------------------------------------------------------------------- */ +/* But if they are already lat long, adjust for the prime */ +/* meridian if there is one in effect. */ +/* -------------------------------------------------------------------- */ + if( srcdefn->from_greenwich != 0.0 ) + { + for( i = 0; i < point_count; i++ ) + { + if( x[point_offset*i] != HUGE_VAL ) + x[point_offset*i] += srcdefn->from_greenwich; + } + } + +/* -------------------------------------------------------------------- */ +/* Convert datums if needed, and possible. */ +/* -------------------------------------------------------------------- */ + if( pj_datum_transform( srcdefn, dstdefn, point_count, point_offset, + x, y, z ) != 0 ) + return pj_errno; + +/* -------------------------------------------------------------------- */ +/* But if they are staying lat long, adjust for the prime */ +/* meridian if there is one in effect. */ +/* -------------------------------------------------------------------- */ + if( dstdefn->from_greenwich != 0.0 ) + { + for( i = 0; i < point_count; i++ ) + { + if( x[point_offset*i] != HUGE_VAL ) + x[point_offset*i] -= dstdefn->from_greenwich; + } + } + + +/* -------------------------------------------------------------------- */ +/* Transform destination latlong to geocentric if required. */ +/* -------------------------------------------------------------------- */ + if( dstdefn->is_geocent ) + { + if( z == NULL ) + { + pj_errno = PJD_ERR_GEOCENTRIC; + return PJD_ERR_GEOCENTRIC; + } + + pj_geodetic_to_geocentric( dstdefn->a_orig, dstdefn->es_orig, + point_count, point_offset, x, y, z ); + + if( dstdefn->fr_meter != 1.0 ) + { + for( i = 0; i < point_count; i++ ) + { + if( x[point_offset*i] != HUGE_VAL ) + { + x[point_offset*i] *= dstdefn->fr_meter; + y[point_offset*i] *= dstdefn->fr_meter; + } + } + } + } + +/* -------------------------------------------------------------------- */ +/* Transform destination points to projection coordinates, if */ +/* desired. */ +/* -------------------------------------------------------------------- */ + else if( !dstdefn->is_latlong ) + { + for( i = 0; i < point_count; i++ ) + { + XY projected_loc; + LP geodetic_loc; + + geodetic_loc.u = x[point_offset*i]; + geodetic_loc.v = y[point_offset*i]; + + if( geodetic_loc.u == HUGE_VAL ) + continue; + + projected_loc = pj_fwd( geodetic_loc, dstdefn ); + if( pj_errno != 0 ) + { + if( (pj_errno != 33 /*EDOM*/ && pj_errno != 34 /*ERANGE*/ ) + && (pj_errno > 0 || pj_errno < -44 || point_count == 1 + || transient_error[-pj_errno] == 0 ) ) + return pj_errno; + else + { + projected_loc.u = HUGE_VAL; + projected_loc.v = HUGE_VAL; + } + } + + x[point_offset*i] = projected_loc.u; + y[point_offset*i] = projected_loc.v; + } + } + +/* -------------------------------------------------------------------- */ +/* If a wrapping center other than 0 is provided, rewrap around */ +/* the suggested center (for latlong coordinate systems only). */ +/* -------------------------------------------------------------------- */ + else if( dstdefn->is_latlong && dstdefn->long_wrap_center != 0 ) + { + for( i = 0; i < point_count; i++ ) + { + if( x[point_offset*i] == HUGE_VAL ) + continue; + + while( x[point_offset*i] < dstdefn->long_wrap_center - HALFPI ) + x[point_offset*i] += PI; + while( x[point_offset*i] > dstdefn->long_wrap_center + HALFPI ) + x[point_offset*i] -= PI; + } + } + + return 0; +} + +/************************************************************************/ +/* pj_geodetic_to_geocentric() */ +/************************************************************************/ + +int pj_geodetic_to_geocentric( double a, double es, + long point_count, int point_offset, + double *x, double *y, double *z ) + +{ + double b; + int i; + GeocentricInfo gi; + + pj_errno = 0; + + if( es == 0.0 ) + b = a; + else + b = a * sqrt(1-es); + + if( pj_Set_Geocentric_Parameters( &gi, a, b ) != 0 ) + { + pj_errno = PJD_ERR_GEOCENTRIC; + return pj_errno; + } + + for( i = 0; i < point_count; i++ ) + { + long io = i * point_offset; + + if( x[io] == HUGE_VAL ) + continue; + + if( pj_Convert_Geodetic_To_Geocentric( &gi, y[io], x[io], z[io], + x+io, y+io, z+io ) != 0 ) + { + pj_errno = -14; + x[io] = y[io] = HUGE_VAL; + /* but keep processing points! */ + } + } + + return pj_errno; +} + +/************************************************************************/ +/* pj_geodetic_to_geocentric() */ +/************************************************************************/ + +int pj_geocentric_to_geodetic( double a, double es, + long point_count, int point_offset, + double *x, double *y, double *z ) + +{ + double b; + int i; + GeocentricInfo gi; + + if( es == 0.0 ) + b = a; + else + b = a * sqrt(1-es); + + if( pj_Set_Geocentric_Parameters( &gi, a, b ) != 0 ) + { + pj_errno = PJD_ERR_GEOCENTRIC; + return pj_errno; + } + + for( i = 0; i < point_count; i++ ) + { + long io = i * point_offset; + + if( x[io] == HUGE_VAL ) + continue; + + pj_Convert_Geocentric_To_Geodetic( &gi, x[io], y[io], z[io], + y+io, x+io, z+io ); + } + + return 0; +} + +/************************************************************************/ +/* pj_compare_datums() */ +/* */ +/* Returns TRUE if the two datums are identical, otherwise */ +/* FALSE. */ +/************************************************************************/ + +int pj_compare_datums( PJ *srcdefn, PJ *dstdefn ) + +{ + if( srcdefn->datum_type != dstdefn->datum_type ) + { + return 0; + } + else if( srcdefn->a_orig != dstdefn->a_orig + || ABS(srcdefn->es_orig - dstdefn->es_orig) > 0.000000000050 ) + { + /* the tolerence for es is to ensure that GRS80 and WGS84 are + considered identical */ + return 0; + } + else if( srcdefn->datum_type == PJD_3PARAM ) + { + return (srcdefn->datum_params[0] == dstdefn->datum_params[0] + && srcdefn->datum_params[1] == dstdefn->datum_params[1] + && srcdefn->datum_params[2] == dstdefn->datum_params[2]); + } + else if( srcdefn->datum_type == PJD_7PARAM ) + { + return (srcdefn->datum_params[0] == dstdefn->datum_params[0] + && srcdefn->datum_params[1] == dstdefn->datum_params[1] + && srcdefn->datum_params[2] == dstdefn->datum_params[2] + && srcdefn->datum_params[3] == dstdefn->datum_params[3] + && srcdefn->datum_params[4] == dstdefn->datum_params[4] + && srcdefn->datum_params[5] == dstdefn->datum_params[5] + && srcdefn->datum_params[6] == dstdefn->datum_params[6]); + } + else if( srcdefn->datum_type == PJD_GRIDSHIFT ) + { + return strcmp( pj_param(srcdefn->params,"snadgrids").s, + pj_param(dstdefn->params,"snadgrids").s ) == 0; + } + else + return 1; +} + +/************************************************************************/ +/* pj_geocentic_to_wgs84() */ +/************************************************************************/ + +int pj_geocentric_to_wgs84( PJ *defn, + long point_count, int point_offset, + double *x, double *y, double *z ) + +{ + int i; + + pj_errno = 0; + + if( defn->datum_type == PJD_3PARAM ) + { + for( i = 0; i < point_count; i++ ) + { + long io = i * point_offset; + + if( x[io] == HUGE_VAL ) + continue; + + x[io] = x[io] + Dx_BF; + y[io] = y[io] + Dy_BF; + z[io] = z[io] + Dz_BF; + } + } + else if( defn->datum_type == PJD_7PARAM ) + { + for( i = 0; i < point_count; i++ ) + { + long io = i * point_offset; + double x_out, y_out, z_out; + + if( x[io] == HUGE_VAL ) + continue; + + x_out = M_BF*( x[io] - Rz_BF*y[io] + Ry_BF*z[io]) + Dx_BF; + y_out = M_BF*( Rz_BF*x[io] + y[io] - Rx_BF*z[io]) + Dy_BF; + z_out = M_BF*(-Ry_BF*x[io] + Rx_BF*y[io] + z[io]) + Dz_BF; + + x[io] = x_out; + y[io] = y_out; + z[io] = z_out; + } + } + + return 0; +} + +/************************************************************************/ +/* pj_geocentic_from_wgs84() */ +/************************************************************************/ + +int pj_geocentric_from_wgs84( PJ *defn, + long point_count, int point_offset, + double *x, double *y, double *z ) + +{ + int i; + + pj_errno = 0; + + if( defn->datum_type == PJD_3PARAM ) + { + for( i = 0; i < point_count; i++ ) + { + long io = i * point_offset; + + if( x[io] == HUGE_VAL ) + continue; + + x[io] = x[io] - Dx_BF; + y[io] = y[io] - Dy_BF; + z[io] = z[io] - Dz_BF; + } + } + else if( defn->datum_type == PJD_7PARAM ) + { + for( i = 0; i < point_count; i++ ) + { + long io = i * point_offset; + double x_tmp, y_tmp, z_tmp; + + if( x[io] == HUGE_VAL ) + continue; + + x_tmp = (x[io] - Dx_BF) / M_BF; + y_tmp = (y[io] - Dy_BF) / M_BF; + z_tmp = (z[io] - Dz_BF) / M_BF; + + x[io] = x_tmp + Rz_BF*y_tmp - Ry_BF*z_tmp; + y[io] = -Rz_BF*x_tmp + y_tmp + Rx_BF*z_tmp; + z[io] = Ry_BF*x_tmp - Rx_BF*y_tmp + z_tmp; + } + } + + return 0; +} + +/************************************************************************/ +/* pj_datum_transform() */ +/* */ +/* The input should be long/lat/z coordinates in radians in the */ +/* source datum, and the output should be long/lat/z */ +/* coordinates in radians in the destination datum. */ +/************************************************************************/ + +int pj_datum_transform( PJ *srcdefn, PJ *dstdefn, + long point_count, int point_offset, + double *x, double *y, double *z ) + +{ + double src_a, src_es, dst_a, dst_es; + int z_is_temp = FALSE; + + pj_errno = 0; + +/* -------------------------------------------------------------------- */ +/* We cannot do any meaningful datum transformation if either */ +/* the source or destination are of an unknown datum type */ +/* (ie. only a +ellps declaration, no +datum). This is new */ +/* behavior for PROJ 4.6.0. */ +/* -------------------------------------------------------------------- */ + if( srcdefn->datum_type == PJD_UNKNOWN + || dstdefn->datum_type == PJD_UNKNOWN ) + return 0; + +/* -------------------------------------------------------------------- */ +/* Short cut if the datums are identical. */ +/* -------------------------------------------------------------------- */ + if( pj_compare_datums( srcdefn, dstdefn ) ) + return 0; + + src_a = srcdefn->a_orig; + src_es = srcdefn->es_orig; + + dst_a = dstdefn->a_orig; + dst_es = dstdefn->es_orig; + +/* -------------------------------------------------------------------- */ +/* Create a temporary Z array if one is not provided. */ +/* -------------------------------------------------------------------- */ + if( z == NULL ) + { + int bytes = sizeof(double) * point_count * point_offset; + z = (double *) pj_malloc(bytes); + memset( z, 0, bytes ); + z_is_temp = TRUE; + } + +#define CHECK_RETURN {if( pj_errno != 0 && (pj_errno > 0 || transient_error[-pj_errno] == 0) ) { if( z_is_temp ) pj_dalloc(z); return pj_errno; }} + +/* -------------------------------------------------------------------- */ +/* If this datum requires grid shifts, then apply it to geodetic */ +/* coordinates. */ +/* -------------------------------------------------------------------- */ + if( srcdefn->datum_type == PJD_GRIDSHIFT ) + { + pj_apply_gridshift( pj_param(srcdefn->params,"snadgrids").s, 0, + point_count, point_offset, x, y, z ); + CHECK_RETURN; + + src_a = SRS_WGS84_SEMIMAJOR; + src_es = SRS_WGS84_ESQUARED; + } + + if( dstdefn->datum_type == PJD_GRIDSHIFT ) + { + dst_a = SRS_WGS84_SEMIMAJOR; + dst_es = SRS_WGS84_ESQUARED; + } + +/* ==================================================================== */ +/* Do we need to go through geocentric coordinates? */ +/* ==================================================================== */ + if( src_es != dst_es || src_a != dst_a + || srcdefn->datum_type == PJD_3PARAM + || srcdefn->datum_type == PJD_7PARAM + || dstdefn->datum_type == PJD_3PARAM + || dstdefn->datum_type == PJD_7PARAM) + { +/* -------------------------------------------------------------------- */ +/* Convert to geocentric coordinates. */ +/* -------------------------------------------------------------------- */ + pj_geodetic_to_geocentric( src_a, src_es, + point_count, point_offset, x, y, z ); + CHECK_RETURN; + +/* -------------------------------------------------------------------- */ +/* Convert between datums. */ +/* -------------------------------------------------------------------- */ + if( srcdefn->datum_type == PJD_3PARAM + || srcdefn->datum_type == PJD_7PARAM ) + { + pj_geocentric_to_wgs84( srcdefn, point_count, point_offset,x,y,z); + CHECK_RETURN; + } + + if( dstdefn->datum_type == PJD_3PARAM + || dstdefn->datum_type == PJD_7PARAM ) + { + pj_geocentric_from_wgs84( dstdefn, point_count,point_offset,x,y,z); + CHECK_RETURN; + } + +/* -------------------------------------------------------------------- */ +/* Convert back to geodetic coordinates. */ +/* -------------------------------------------------------------------- */ + pj_geocentric_to_geodetic( dst_a, dst_es, + point_count, point_offset, x, y, z ); + CHECK_RETURN; + } + +/* -------------------------------------------------------------------- */ +/* Apply grid shift to destination if required. */ +/* -------------------------------------------------------------------- */ + if( dstdefn->datum_type == PJD_GRIDSHIFT ) + { + pj_apply_gridshift( pj_param(dstdefn->params,"snadgrids").s, 1, + point_count, point_offset, x, y, z ); + CHECK_RETURN; + } + + if( z_is_temp ) + pj_dalloc( z ); + + return 0; +} + diff --git a/src/3rdparty/proj/pj_tsfn.c b/src/3rdparty/proj/pj_tsfn.c new file mode 100644 index 00000000..d9dc0bc4 --- /dev/null +++ b/src/3rdparty/proj/pj_tsfn.c @@ -0,0 +1,10 @@ +/* determine small t */ +#include <math.h> +#include <projects.h> +#define HALFPI 1.5707963267948966 + double +pj_tsfn(double phi, double sinphi, double e) { + sinphi *= e; + return (tan (.5 * (HALFPI - phi)) / + pow((1. - sinphi) / (1. + sinphi), .5 * e)); +} diff --git a/src/3rdparty/proj/pj_units.c b/src/3rdparty/proj/pj_units.c new file mode 100644 index 00000000..bb39f91b --- /dev/null +++ b/src/3rdparty/proj/pj_units.c @@ -0,0 +1,37 @@ +/* definition of standard cartesian units */ +#define PJ_UNITS__ +#include <projects.h> +/* Field 2 that contains the multiplier to convert named units to meters +** may be expressed by either a simple floating point constant or a +** numerator/denomenator values (e.g. 1/1000) */ +C_NAMESPACE_VAR struct PJ_UNITS +pj_units[] = { + "km", "1000.", "Kilometer", + "m", "1.", "Meter", + "dm", "1/10", "Decimeter", + "cm", "1/100", "Centimeter", + "mm", "1/1000", "Millimeter", + "kmi", "1852.0", "International Nautical Mile", + "in", "0.0254", "International Inch", + "ft", "0.3048", "International Foot", + "yd", "0.9144", "International Yard", + "mi", "1609.344", "International Statute Mile", + "fath", "1.8288", "International Fathom", + "ch", "20.1168", "International Chain", + "link", "0.201168", "International Link", + "us-in", "1./39.37", "U.S. Surveyor's Inch", + "us-ft", "0.304800609601219", "U.S. Surveyor's Foot", + "us-yd", "0.914401828803658", "U.S. Surveyor's Yard", + "us-ch", "20.11684023368047", "U.S. Surveyor's Chain", + "us-mi", "1609.347218694437", "U.S. Surveyor's Statute Mile", + "ind-yd", "0.91439523", "Indian Yard", + "ind-ft", "0.30479841", "Indian Foot", + "ind-ch", "20.11669506", "Indian Chain", +(char *)0, (char *)0, (char *)0 +}; + +struct PJ_UNITS *pj_get_units_ref() + +{ + return pj_units; +} diff --git a/src/3rdparty/proj/pj_utils.c b/src/3rdparty/proj/pj_utils.c new file mode 100644 index 00000000..f9f66847 --- /dev/null +++ b/src/3rdparty/proj/pj_utils.c @@ -0,0 +1,156 @@ +/****************************************************************************** + * $Id: pj_utils.c 1504 2009-01-06 02:11:57Z warmerdam $ + * + * Project: PROJ.4 + * Purpose: Some utility functions we don't want to bother putting in + * their own source files. + * Author: Frank Warmerdam, warmerdam@pobox.com + * + ****************************************************************************** + * Copyright (c) 2001, Frank Warmerdam + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + *****************************************************************************/ + +#define PJ_LIB__ + +#include <projects.h> +#include <string.h> +#include <math.h> + +/************************************************************************/ +/* pj_is_latlong() */ +/* */ +/* Returns TRUE if this coordinate system object is */ +/* geographic. */ +/************************************************************************/ + +int pj_is_latlong( PJ *pj ) + +{ + return pj == NULL || pj->is_latlong; +} + +/************************************************************************/ +/* pj_is_geocent() */ +/* */ +/* Returns TRUE if this coordinate system object is geocentric. */ +/************************************************************************/ + +int pj_is_geocent( PJ *pj ) + +{ + return pj != NULL && pj->is_geocent; +} + +/************************************************************************/ +/* pj_latlong_from_proj() */ +/* */ +/* Return a PJ* definition defining the lat/long coordinate */ +/* system on which a projection is based. If the coordinate */ +/* system passed in is latlong, a clone of the same will be */ +/* returned. */ +/************************************************************************/ + +PJ *pj_latlong_from_proj( PJ *pj_in ) + +{ + char defn[512]; + int got_datum = FALSE; + + pj_errno = 0; + strcpy( defn, "+proj=latlong" ); + + if( pj_param(pj_in->params, "tdatum").i ) + { + got_datum = TRUE; + sprintf( defn+strlen(defn), " +datum=%s", + pj_param(pj_in->params,"sdatum").s ); + } + else if( pj_param(pj_in->params, "tellps").i ) + { + sprintf( defn+strlen(defn), " +ellps=%s", + pj_param(pj_in->params,"sellps").s ); + } + else if( pj_param(pj_in->params, "ta").i ) + { + sprintf( defn+strlen(defn), " +a=%s", + pj_param(pj_in->params,"sa").s ); + + if( pj_param(pj_in->params, "tb").i ) + sprintf( defn+strlen(defn), " +b=%s", + pj_param(pj_in->params,"sb").s ); + else if( pj_param(pj_in->params, "tes").i ) + sprintf( defn+strlen(defn), " +es=%s", + pj_param(pj_in->params,"ses").s ); + else if( pj_param(pj_in->params, "tf").i ) + sprintf( defn+strlen(defn), " +f=%s", + pj_param(pj_in->params,"sf").s ); + else + sprintf( defn+strlen(defn), " +es=%.16g", + pj_in->es ); + } + else + { + pj_errno = -13; + + return NULL; + } + + if( !got_datum ) + { + if( pj_param(pj_in->params, "ttowgs84").i ) + sprintf( defn+strlen(defn), " +towgs84=%s", + pj_param(pj_in->params,"stowgs84").s ); + + if( pj_param(pj_in->params, "tnadgrids").i ) + sprintf( defn+strlen(defn), " +nadgrids=%s", + pj_param(pj_in->params,"snadgrids").s ); + } + + /* copy over some other information related to ellipsoid */ + if( pj_param(pj_in->params, "tR").i ) + sprintf( defn+strlen(defn), " +R=%s", + pj_param(pj_in->params,"sR").s ); + + if( pj_param(pj_in->params, "tR_A").i ) + sprintf( defn+strlen(defn), " +R_A" ); + + if( pj_param(pj_in->params, "tR_V").i ) + sprintf( defn+strlen(defn), " +R_V" ); + + if( pj_param(pj_in->params, "tR_a").i ) + sprintf( defn+strlen(defn), " +R_a" ); + + if( pj_param(pj_in->params, "tR_lat_a").i ) + sprintf( defn+strlen(defn), " +R_lat_a=%s", + pj_param(pj_in->params,"sR_lat_a").s ); + + if( pj_param(pj_in->params, "tR_lat_g").i ) + sprintf( defn+strlen(defn), " +R_lat_g=%s", + pj_param(pj_in->params,"sR_lat_g").s ); + + /* copy over prime meridian */ + if( pj_param(pj_in->params, "tpm").i ) + sprintf( defn+strlen(defn), " +pm=%s", + pj_param(pj_in->params,"spm").s ); + + return pj_init_plus( defn ); +} + diff --git a/src/3rdparty/proj/pj_zpoly1.c b/src/3rdparty/proj/pj_zpoly1.c new file mode 100644 index 00000000..fa163deb --- /dev/null +++ b/src/3rdparty/proj/pj_zpoly1.c @@ -0,0 +1,46 @@ +/* evaluate complex polynomial */ +#include <projects.h> +/* note: coefficients are always from C_1 to C_n +** i.e. C_0 == (0., 0) +** n should always be >= 1 though no checks are made +*/ + COMPLEX +pj_zpoly1(COMPLEX z, COMPLEX *C, int n) { + COMPLEX a; + double t; + + a = *(C += n); + while (n-- > 0) { + a.r = (--C)->r + z.r * (t = a.r) - z.i * a.i; + a.i = C->i + z.r * a.i + z.i * t; + } + a.r = z.r * (t = a.r) - z.i * a.i; + a.i = z.r * a.i + z.i * t; + return a; +} +/* evaluate complex polynomial and derivative */ + COMPLEX +pj_zpolyd1(COMPLEX z, COMPLEX *C, int n, COMPLEX *der) { + COMPLEX a, b; + double t; + int first = 1; + + a = *(C += n); + while (n-- > 0) { + if (first) { + first = 0; + b = a; + } else { + b.r = a.r + z.r * (t = b.r) - z.i * b.i; + b.i = a.i + z.r * b.i + z.i * t; + } + a.r = (--C)->r + z.r * (t = a.r) - z.i * a.i; + a.i = C->i + z.r * a.i + z.i * t; + } + b.r = a.r + z.r * (t = b.r) - z.i * b.i; + b.i = a.i + z.r * b.i + z.i * t; + a.r = z.r * (t = a.r) - z.i * a.i; + a.i = z.r * a.i + z.i * t; + *der = b; + return a; +} diff --git a/src/3rdparty/proj/proj.c b/src/3rdparty/proj/proj.c new file mode 100644 index 00000000..81616f9e --- /dev/null +++ b/src/3rdparty/proj/proj.c @@ -0,0 +1,499 @@ +/* <<<< Cartographic projection filter program >>>> */ +#include "projects.h" +#include <stdio.h> +#include <stdlib.h> +#include <ctype.h> +#include <string.h> +#include <math.h> +#include "emess.h" + +/* TK 1999-02-13 */ +#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__WIN32__) +# include <fcntl.h> +# include <io.h> +# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY) +#else +# define SET_BINARY_MODE(file) +#endif +/* ! TK 1999-02-13 */ + +#define MAX_LINE 1000 +#define MAX_PARGS 100 +#define PJ_INVERS(P) (P->inv ? 1 : 0) + static PJ +*Proj; + static projUV +(*proj)(projUV, PJ *); + static int +reversein = 0, /* != 0 reverse input arguments */ +reverseout = 0, /* != 0 reverse output arguments */ +bin_in = 0, /* != 0 then binary input */ +bin_out = 0, /* != 0 then binary output */ +echoin = 0, /* echo input data to output line */ +tag = '#', /* beginning of line tag character */ +inverse = 0, /* != 0 then inverse projection */ +prescale = 0, /* != 0 apply cartesian scale factor */ +dofactors = 0, /* determine scale factors */ +facs_bad = 0, /* return condition from pj_factors */ +very_verby = 0, /* very verbose mode */ +postscale = 0; + static char +*cheby_str, /* string controlling Chebychev evaluation */ +*oform = (char *)0, /* output format for x-y or decimal degrees */ +*oterr = "*\t*", /* output line for unprojectable input */ +*usage = +"%s\nusage: %s [ -beEfiIlormsStTvVwW [args] ] [ +opts[=arg] ] [ files ]\n"; + static struct FACTORS +facs; + static double +(*informat)(const char *, char **), /* input data deformatter function */ +fscale = 0.; /* cartesian scale factor */ + static projUV +int_proj(projUV data) { + if (prescale) { data.u *= fscale; data.v *= fscale; } + data = (*proj)(data, Proj); + if (postscale && data.u != HUGE_VAL) + { data.u *= fscale; data.v *= fscale; } + return(data); +} + static void /* file processing function */ +process(FILE *fid) { + char line[MAX_LINE+3], *s, pline[40]; + projUV data; + + for (;;) { + ++emess_dat.File_line; + if (bin_in) { /* binary input */ + if (fread(&data, sizeof(projUV), 1, fid) != 1) + break; + } else { /* ascii input */ + if (!(s = fgets(line, MAX_LINE, fid))) + break; + if (!strchr(s, '\n')) { /* overlong line */ + int c; + (void)strcat(s, "\n"); + /* gobble up to newline */ + while ((c = fgetc(fid)) != EOF && c != '\n') ; + } + if (*s == tag) { + if (!bin_out) + (void)fputs(line, stdout); + continue; + } + if (reversein) { + data.v = (*informat)(s, &s); + data.u = (*informat)(s, &s); + } else { + data.u = (*informat)(s, &s); + data.v = (*informat)(s, &s); + } + if (data.v == HUGE_VAL) + data.u = HUGE_VAL; + if (!*s && (s > line)) --s; /* assumed we gobbled \n */ + if (!bin_out && echoin) { + int t; + t = *s; + *s = '\0'; + (void)fputs(line, stdout); + *s = t; + putchar('\t'); + } + } + if (data.u != HUGE_VAL) { + if (prescale) { data.u *= fscale; data.v *= fscale; } + if (dofactors && !inverse) + facs_bad = pj_factors(data, Proj, 0., &facs); + data = (*proj)(data, Proj); + if (dofactors && inverse) + facs_bad = pj_factors(data, Proj, 0., &facs); + if (postscale && data.u != HUGE_VAL) + { data.u *= fscale; data.v *= fscale; } + } + if (bin_out) { /* binary output */ + (void)fwrite(&data, sizeof(projUV), 1, stdout); + continue; + } else if (data.u == HUGE_VAL) /* error output */ + (void)fputs(oterr, stdout); + else if (inverse && !oform) { /*ascii DMS output */ + if (reverseout) { + (void)fputs(rtodms(pline, data.v, 'N', 'S'), stdout); + putchar('\t'); + (void)fputs(rtodms(pline, data.u, 'E', 'W'), stdout); + } else { + (void)fputs(rtodms(pline, data.u, 'E', 'W'), stdout); + putchar('\t'); + (void)fputs(rtodms(pline, data.v, 'N', 'S'), stdout); + } + } else { /* x-y or decimal degree ascii output */ + if (inverse) { + data.v *= RAD_TO_DEG; + data.u *= RAD_TO_DEG; + } + if (reverseout) { + (void)printf(oform,data.v); putchar('\t'); + (void)printf(oform,data.u); + } else { + (void)printf(oform,data.u); putchar('\t'); + (void)printf(oform,data.v); + } + } + if (dofactors) /* print scale factor data */ + if (!facs_bad) + (void)printf("\t<%g %g %g %g %g %g>", + facs.h, facs.k, facs.s, + facs.omega * RAD_TO_DEG, facs.a, facs.b); + else + (void)fputs("\t<* * * * * *>", stdout); + (void)fputs(bin_in ? "\n" : s, stdout); + } +} + static void /* file processing function --- verbosely */ +vprocess(FILE *fid) { + char line[MAX_LINE+3], *s, pline[40]; + projUV dat_ll, dat_xy; + int linvers; + + if (!oform) + oform = "%.3f"; + if (bin_in || bin_out) + emess(1,"binary I/O not available in -V option"); + for (;;) { + ++emess_dat.File_line; + if (!(s = fgets(line, MAX_LINE, fid))) + break; + if (!strchr(s, '\n')) { /* overlong line */ + int c; + (void)strcat(s, "\n"); + /* gobble up to newline */ + while ((c = fgetc(fid)) != EOF && c != '\n') ; + } + if (*s == tag) { /* pass on data */ + (void)fputs(s, stdout); + continue; + } + /* check to override default input mode */ + if (*s == 'I' || *s == 'i') { + linvers = 1; + ++s; + } else if (*s == 'I' || *s == 'i') { + linvers = 0; + ++s; + } else + linvers = inverse; + if (linvers) { + if (!PJ_INVERS(Proj)) { + emess(-1,"inverse for this projection not avail.\n"); + continue; + } + dat_xy.u = strtod(s, &s); + dat_xy.v = strtod(s, &s); + if (dat_xy.u == HUGE_VAL || dat_xy.v == HUGE_VAL) { + emess(-1,"lon-lat input conversion failure\n"); + continue; + } + if (prescale) { dat_xy.u *= fscale; dat_xy.v *= fscale; } + dat_ll = pj_inv(dat_xy, Proj); + } else { + dat_ll.u = dmstor(s, &s); + dat_ll.v = dmstor(s, &s); + if (dat_ll.u == HUGE_VAL || dat_ll.v == HUGE_VAL) { + emess(-1,"lon-lat input conversion failure\n"); + continue; + } + dat_xy = pj_fwd(dat_ll, Proj); + if (postscale) { dat_xy.u *= fscale; dat_xy.v *= fscale; } + } + if (pj_errno) { + emess(-1, pj_strerrno(pj_errno)); + continue; + } + if (!*s && (s > line)) --s; /* assumed we gobbled \n */ + if (pj_factors(dat_ll, Proj, 0., &facs)) { + emess(-1,"failed to conpute factors\n\n"); + continue; + } + if (*s != '\n') + (void)fputs(s, stdout); + (void)fputs("Longitude: ", stdout); + (void)fputs(rtodms(pline, dat_ll.u, 'E', 'W'), stdout); + (void)printf(" [ %.11g ]\n", dat_ll.u * RAD_TO_DEG); + (void)fputs("Latitude: ", stdout); + (void)fputs(rtodms(pline, dat_ll.v, 'N', 'S'), stdout); + (void)printf(" [ %.11g ]\n", dat_ll.v * RAD_TO_DEG); + (void)fputs("Easting (x): ", stdout); + (void)printf(oform, dat_xy.u); putchar('\n'); + (void)fputs("Northing (y): ", stdout); + (void)printf(oform, dat_xy.v); putchar('\n'); + (void)printf("Meridian scale (h)%c: %.8f ( %.4g %% error )\n", + facs.code & IS_ANAL_HK ? '*' : ' ', facs.h, (facs.h-1.)*100.); + (void)printf("Parallel scale (k)%c: %.8f ( %.4g %% error )\n", + facs.code & IS_ANAL_HK ? '*' : ' ', facs.k, (facs.k-1.)*100.); + (void)printf("Areal scale (s): %.8f ( %.4g %% error )\n", + facs.s, (facs.s-1.)*100.); + (void)printf("Angular distortion (w): %.3f\n", facs.omega * + RAD_TO_DEG); + (void)printf("Meridian/Parallel angle: %.5f\n", + facs.thetap * RAD_TO_DEG); + (void)printf("Convergence%c: ",facs.code & IS_ANAL_CONV ? '*' : ' '); + (void)fputs(rtodms(pline, facs.conv, 0, 0), stdout); + (void)printf(" [ %.8f ]\n", facs.conv * RAD_TO_DEG); + (void)printf("Max-min (Tissot axis a-b) scale error: %.5f %.5f\n\n", + facs.a, facs.b); + } +} + +int main(int argc, char **argv) { + char *arg, **eargv = argv, *pargv[MAX_PARGS], **iargv = argv; + FILE *fid; + int pargc = 0, iargc = argc, eargc = 0, c, mon = 0; + + if (emess_dat.Prog_name = strrchr(*argv,DIR_CHAR)) + ++emess_dat.Prog_name; + else emess_dat.Prog_name = *argv; + inverse = ! strncmp(emess_dat.Prog_name, "inv", 3); + if (argc <= 1 ) { + (void)fprintf(stderr, usage, pj_get_release(), emess_dat.Prog_name); + exit (0); + } + /* process run line arguments */ + while (--argc > 0) { /* collect run line arguments */ + if(**++argv == '-') for(arg = *argv;;) { + switch(*++arg) { + case '\0': /* position of "stdin" */ + if (arg[-1] == '-') eargv[eargc++] = "-"; + break; + case 'b': /* binary I/O */ + bin_in = bin_out = 1; + continue; + case 'v': /* monitor dump of initialization */ + mon = 1; + continue; + case 'i': /* input binary */ + bin_in = 1; + continue; + case 'o': /* output binary */ + bin_out = 1; + continue; + case 'I': /* alt. method to spec inverse */ + inverse = 1; + continue; + case 'E': /* echo ascii input to ascii output */ + echoin = 1; + continue; + case 'V': /* very verbose processing mode */ + very_verby = 1; + mon = 1; + case 'S': /* compute scale factors */ + dofactors = 1; + continue; + case 't': /* set col. one char */ + if (arg[1]) tag = *++arg; + else emess(1,"missing -t col. 1 tag"); + continue; + case 'l': /* list projections, ellipses or units */ + if (!arg[1] || arg[1] == 'p' || arg[1] == 'P') { + /* list projections */ + struct PJ_LIST *lp; + int do_long = arg[1] == 'P', c; + char *str; + + for (lp = pj_get_list_ref() ; lp->id ; ++lp) { + if( strcmp(lp->id,"latlong") == 0 + || strcmp(lp->id,"longlat") == 0 + || strcmp(lp->id,"geocent") == 0 ) + continue; + + (void)printf("%s : ", lp->id); + if (do_long) /* possibly multiline description */ + (void)puts(*lp->descr); + else { /* first line, only */ + str = *lp->descr; + while ((c = *str++) && c != '\n') + putchar(c); + putchar('\n'); + } + } + } else if (arg[1] == '=') { /* list projection 'descr' */ + struct PJ_LIST *lp; + + arg += 2; + for (lp = pj_get_list_ref(); lp->id ; ++lp) + if (!strcmp(lp->id, arg)) { + (void)printf("%9s : %s\n", lp->id, *lp->descr); + break; + } + } else if (arg[1] == 'e') { /* list ellipses */ + struct PJ_ELLPS *le; + + for (le = pj_get_ellps_ref(); le->id ; ++le) + (void)printf("%9s %-16s %-16s %s\n", + le->id, le->major, le->ell, le->name); + } else if (arg[1] == 'u') { /* list units */ + struct PJ_UNITS *lu; + + for (lu = pj_get_units_ref(); lu->id ; ++lu) + (void)printf("%12s %-20s %s\n", + lu->id, lu->to_meter, lu->name); + } else if (arg[1] == 'd') { /* list datums */ + struct PJ_DATUMS *ld; + + printf("__datum_id__ __ellipse___ __definition/comments______________________________\n" ); + for (ld = pj_get_datums_ref(); ld->id ; ++ld) + { + printf("%12s %-12s %-30s\n", + ld->id, ld->ellipse_id, ld->defn); + if( ld->comments != NULL && strlen(ld->comments) > 0 ) + printf( "%25s %s\n", " ", ld->comments ); + } + } else + emess(1,"invalid list option: l%c",arg[1]); + exit(0); + continue; /* artificial */ + case 'e': /* error line alternative */ + if (--argc <= 0) + noargument: + emess(1,"missing argument for -%c",*arg); + oterr = *++argv; + continue; + case 'T': /* generate Chebyshev coefficients */ + if (--argc <= 0) goto noargument; + cheby_str = *++argv; + continue; + case 'm': /* cartesian multiplier */ + if (--argc <= 0) goto noargument; + postscale = 1; + if (!strncmp("1/",*++argv,2) || + !strncmp("1:",*argv,2)) { + if((fscale = atof((*argv)+2)) == 0.) + goto badscale; + fscale = 1. / fscale; + } else + if ((fscale = atof(*argv)) == 0.) { + badscale: + emess(1,"invalid scale argument"); + } + continue; + case 'W': /* specify seconds precision */ + case 'w': /* -W for constant field width */ + if ((c = arg[1]) != 0 && isdigit(c)) { + set_rtodms(c - '0', *arg == 'W'); + ++arg; + } else + emess(1,"-W argument missing or non-digit"); + continue; + case 'f': /* alternate output format degrees or xy */ + if (--argc <= 0) goto noargument; + oform = *++argv; + continue; + case 'r': /* reverse input */ + reversein = 1; + continue; + case 's': /* reverse output */ + reverseout = 1; + continue; + default: + emess(1, "invalid option: -%c",*arg); + break; + } + break; + } else if (**argv == '+') { /* + argument */ + if (pargc < MAX_PARGS) + pargv[pargc++] = *argv + 1; + else + emess(1,"overflowed + argument table"); + } else /* assumed to be input file name(s) */ + eargv[eargc++] = *argv; + } + if (eargc == 0 && !cheby_str) /* if no specific files force sysin */ + eargv[eargc++] = "-"; + else if (eargc > 0 && cheby_str) /* warning */ + emess(4, "data files when generating Chebychev prohibited"); + /* done with parameter and control input */ + if (inverse && postscale) { + prescale = 1; + postscale = 0; + fscale = 1./fscale; + } + if (!(Proj = pj_init(pargc, pargv))) + emess(3,"projection initialization failure\ncause: %s", + pj_strerrno(pj_errno)); + + if( pj_is_latlong( Proj ) ) + { + emess( 3, "+proj=latlong unsuitable for use with proj program." ); + exit( 0 ); + } + + if (inverse) { + if (!Proj->inv) + emess(3,"inverse projection not available"); + proj = pj_inv; + } else + proj = pj_fwd; + if (cheby_str) { + extern void gen_cheb(int, projUV(*)(projUV), char *, PJ *, int, char **); + + gen_cheb(inverse, int_proj, cheby_str, Proj, iargc, iargv); + exit(0); + } + /* set input formating control */ + if (mon) { + pj_pr_list(Proj); + if (very_verby) { + (void)printf("#Final Earth figure: "); + if (Proj->es) { + (void)printf("ellipsoid\n# Major axis (a): "); + (void)printf(oform ? oform : "%.3f", Proj->a); + (void)printf("\n# 1/flattening: %.6f\n", + 1./(1. - sqrt(1. - Proj->es))); + (void)printf("# squared eccentricity: %.12f\n", Proj->es); + } else { + (void)printf("sphere\n# Radius: "); + (void)printf(oform ? oform : "%.3f", Proj->a); + (void)putchar('\n'); + } + } + } + if (inverse) + informat = strtod; + else { + informat = dmstor; + if (!oform) + oform = "%.2f"; + } + + if (bin_out) + { + SET_BINARY_MODE(stdout); + } + + /* process input file list */ + for ( ; eargc-- ; ++eargv) { + if (**eargv == '-') { + fid = stdin; + emess_dat.File_name = "<stdin>"; + + if (bin_in) + { + SET_BINARY_MODE(stdin); + } + + } else { + if ((fid = fopen(*eargv, "rb")) == NULL) { + emess(-2, *eargv, "input file"); + continue; + } + emess_dat.File_name = *eargv; + } + emess_dat.File_line = 0; + if (very_verby) + vprocess(fid); + else + process(fid); + (void)fclose(fid); + emess_dat.File_name = 0; + } + if( Proj ) + pj_free(Proj); + exit(0); /* normal completion */ +} diff --git a/src/3rdparty/proj/proj.def b/src/3rdparty/proj/proj.def new file mode 100644 index 00000000..5170f927 --- /dev/null +++ b/src/3rdparty/proj/proj.def @@ -0,0 +1,41 @@ +VERSION 1.2 +EXPORTS + pj_init @1 + pj_fwd @2 + pj_inv @3 + pj_free @4 + pj_transform @5 + pj_geocentric_to_geodetic @6 + pj_geodetic_to_geocentric @7 + pj_deallocate_grids @8 + pj_init_plus @9 + pj_latlong_from_proj @10 + pj_is_latlong @11 + pj_get_errno_ref @12 + pj_set_finder @13 + pj_strerrno @14 + pj_errno @15 + pj_get_def @16 + pj_dalloc @17 + pj_is_geocent @18 + pj_get_release @19 + pj_malloc @20 + pj_pr_list @21 + pj_compare_datums @22 + pj_apply_gridshift @23 + pj_datum_transform @24 + pj_set_searchpath @25 + dmstor @26 + pj_get_ellps_ref @27 + pj_get_datums_ref @28 + pj_get_units_ref @29 + pj_get_list_ref @30 + pj_get_prime_meridians_ref @31 + rtodms @32 + set_rtodms @33 + pj_factors @34 + mk_cheby @35 + adjlon @36 + pj_param @37 + pj_ell_set @38 + pj_mkparam @39 diff --git a/src/3rdparty/proj/proj_data/GL27 b/src/3rdparty/proj/proj_data/GL27 new file mode 100644 index 00000000..dd927bd2 --- /dev/null +++ b/src/3rdparty/proj/proj_data/GL27 @@ -0,0 +1,22 @@ +# SCCSID @(#)GL27 1.1 93/08/25 GIE REL +# Great Lakes Grids +<erie-etal> # Lake Erie, Ontario and St. Lawrence River. + proj=omerc ellps=clrk66 k_0=0.9999 + lonc=78d00'W lat_0=44d00'N alpha=55d40' + x_0=-3950000 y_0=-3430000 + no_defs <> +<huron> # Lake Huron + proj=omerc ellps=clrk66 k_0=0.9999 + lonc=82d00'W lat_0=43d00'N alpha=350d37' + x_0=1200000 y_0=-3500000 + no_defs <> +<michigan> # Lake Michigan + proj=omerc ellps=clrk66 k_0=0.9999 + lonc=87d00'W lat_0=44d00'N alpha=15d00' + x_0=-1000000 y_0=-4300000 + no_defs <> +<superior> # Lake Superior, Lake of the Woods + proj=omerc ellps=clrk66 k_0=0.9999 + lonc=88d50'0.256"W lat_0=47d12'21.554"N alpha=285d41'42.593" + x_0=9000000 y_0=-1600000 + no_defs <> diff --git a/src/3rdparty/proj/proj_data/IGNF b/src/3rdparty/proj/proj_data/IGNF new file mode 100644 index 00000000..47aa87b1 --- /dev/null +++ b/src/3rdparty/proj/proj_data/IGNF @@ -0,0 +1,469 @@ +# W [AMANU49] +# W [AMANU63] +# W [AMST63] +# W [ANAA47] +<ANAA92> +title=MOP92 (Anaa) Tuamotu +proj=geocent +towgs84=1.5000,3.8400,4.8100 +a=6378137.0000 +rf=298.2572235630000 +units=m +no_defs <> +# W [APAT48] +# W [APAT49] +<APAT86> +title=MOP86 (Apataki, Rapa, Hao) Tuamotu +proj=geocent +towgs84=216.8400,118.8100,19.6100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<ATI> +title=Ancienne Triangulation des Ingenieurs +proj=geocent +towgs84=1127.0000,22.0000,57.0000 +a=6376523.0000 +rf=308.6400000000000 +units=m +no_defs <> +# W [BASSAS] +# W [BIEN55] +<CAD97> +title=Cadastre 1997 +proj=geocent +towgs84=-381.7880,-57.5010,-256.6730 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [CADA80] +# W [CASS1733] +<CIOBIH> +title=CIO-BIH +proj=geocent +towgs84=0.0000,0.0000,0.5000,0.0000,0.0000,0.0140,-0.100000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +# W [CLIP67] +<CROZ63> +title=Crozet 1963 +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<CSG67> +title=Guyane CSG67 +proj=geocent +towgs84=-193.0660,236.9930,105.4470,0.4814,-0.8074,0.1276,1.564900 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<ED50> +title=ED50 +proj=geocent +towgs84=-84.0000,-97.0000,-117.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<EFATE57> +title=EFATE-IGN 1957 +proj=geocent +towgs84=-127.0000,-769.0000,472.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [EUROPA54] +# W [FAKA50] +# W [FANGA50] +# W [FANGA64] +# W [FANGA651] +# W [FANGA652] +# W [FANGA66] +<FANGA84> +title=MOP84 (Fangataufa 1984) +proj=geocent +towgs84=150.5700,158.3300,118.3200 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [GLOR77CAR] +<GUAD48> +title=Guadeloupe Ste Anne +proj=geocent +towgs84=-472.2900,-5.6300,-304.1200,0.4362,-0.8374,0.2563,1.898400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<GUADFM49> +title=Guadeloupe Fort Marigot +proj=geocent +towgs84=136.5960,248.1480,-429.7890 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [HAO49] +# W [HAO58] +# W [HAO67] +# W [HARA49] +# W [HIKU50] +# W [HIVA60] +# W [HIVA67] +<IGN63> +title=IGN 1963 (Hiva Oa, Tahuata, Mohotani) +proj=geocent +towgs84=410.7210,55.0490,80.7460,-2.5779,-2.3514,-0.6664,17.331100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<IGN72> +title=IGN 1972 Grande-Terre / Ile des Pins +proj=geocent +towgs84=-11.6400,-348.6000,291.6800 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [JULES55] +<KAUE70> +title=MHPF70 (Kauehi) Tuamotu +proj=geocent +towgs84=126.7400,300.1000,-75.4900 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<KERG62CAR> +title=Kerguelen - K0 +proj=geocent +towgs84=145.0000,-187.0000,103.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<LIFOU56> +title=Lifou - Iles Loyaute (IGN56) +proj=geocent +towgs84=336.0000,223.0000,-231.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<LUREF> +title=Nouvelle Triangulation du Grand Duche du Luxembourg +proj=geocent +towgs84=-192.9860,13.6730,-39.3090,-0.4099,-2.9332,2.6881,0.430000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MAKE50] +# W [MANGA51] +<MARE53> +title=Mare - Iles Loyaute (IGN53) +proj=geocent +towgs84=287.0000,178.0000,-136.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MARQUI72> +title=IGN 1972 (Eiao, Hiva Oa, Mohotani) Marquises +proj=geocent +towgs84=327.8400,-14.9600,59.3300 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MART38> +title=Martinique Fort-Desaix +proj=geocent +towgs84=126.9260,547.9390,130.4090,-2.7867,5.1612,-0.8584,13.822650 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MAUPITI] +<MAYO50> +title=Mayotte Combani +proj=geocent +towgs84=-599.9280,-275.5520,-195.6650,-0.0835,-0.4715,0.0602,49.281400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MHEFO55F> +title=MHEFO 1955 (Fatu Huku) +proj=geocent +towgs84=347.1030,1078.1250,2623.9220,33.8875,-70.6773,9.3943,186.074000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MHEFO55M] +<MHPF67> +title=MHPF67 (Mangareva, Agakauitai, Aukena, Mekiro) Gambiers (Iles) +proj=geocent +towgs84=338.0800,212.5800,-296.1700 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MOOREA87> +title=Moorea 1987 +proj=geocent +towgs84=215.9820,149.5930,176.2290,3.2624,1.6920,1.1571,10.477300 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MOP90> +title=MOP90 (Tetiaroa) Iles de la Societe +proj=geocent +towgs84=217.0370,86.9590,23.9560 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MURU51] +# W [MURU59] +# W [MURU62] +# W [MURU78] +# W [NC51] +# W [NOVA53] +<NTF> +title=Nouvelle Triangulation Francaise +proj=geocent +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +units=m +no_defs <> +<NUKU72> +title=IGN 1972 Nuku Hiva +proj=geocent +towgs84=165.7320,216.7200,180.5050,-0.6434,-0.4512,-0.0791,7.420400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<NUKU94> +title=SAT94 (Nukutavake) Tuamotu +proj=geocent +towgs84=197.1600,200.1700,-48.0800 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<OUVEA72CAR> +title=Ouvea - Iles Loyaute (MHNC 1972 - OUVEA) +proj=geocent +towgs84=-13.0000,-348.0000,292.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<PETRELS72> +title=Petrels - IGN 1972 +proj=geocent +towgs84=365.0000,194.0000,166.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [PMAR55] +<RAIA53> +title=IGN53 (IGN Raiatea-Tahaa) Raiatea-Tahaa-Bora Bora-Huahine +proj=geocent +towgs84=65.0300,341.5500,76.6700 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [RAIV54] +# W [RAIV66] +# W [RANGI47] +# W [RANGI59] +# W [RANGI68] +# W [RAPA55] +# W [RAPA80] +<REUN47> +title=Reunion 1947 +proj=geocent +towgs84=789.5240,-626.4860,-89.9040,0.6006,76.7946,-10.5788,-32.324100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [REUN49] +# W [REUN92] +<RGF93> +title=Reseau geodesique francais 1993 +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGFG95> +title=Reseau geodesique francais de Guyane 1995 +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGM04> +title=RGM04 (Reseau Geodesique de Mayotte 2004) +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGNC> +title=Reseau Geodesique de Nouvelle-Caledonie +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGPF> +title=RGPF (Reseau Geodesique de Polynesie Francaise) +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGR92> +title=Reseau geodesique Reunion 1992 +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGSPM06> +title=Reseau Geodesique Saint-Pierre-et-Miquelon (2006) +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RRAF91> +title=RRAF 1991 (Reseau de Reference des Antilles Francaises) +proj=geocent +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<SAT84> +title=SAT84 (Rurutu) Iles Australes +proj=geocent +towgs84=202.1300,174.6000,-15.7400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<SHOM84> +title=SHOM 1984 Martinique Montagne Du Vauclin +proj=geocent +towgs84=189.5060,486.5470,148.7830 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [STPL69] +<STPM50> +title=St Pierre et Miquelon 1950 +proj=geocent +towgs84=-95.5930,573.7630,173.4420,-0.9602,1.2510,-1.3918,42.626500 +a=6378206.4000 +rf=294.9786982000000 +units=m +no_defs <> +# W [SYSLNCAR] +<TAHAA> +title=Raiatea - Tahaa 51-54 (Tahaa, Base Terme Est) +proj=geocent +towgs84=72.4380,345.9180,79.4860,-1.6045,-0.8823,-0.5565,1.374600 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<TAHI51> +title=Tahiti-Terme Nord 1951 +proj=geocent +towgs84=162.0000,117.0000,154.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<TAHI79> +title=IGN79 (Tahiti) Iles de la Societe +proj=geocent +towgs84=221.5250,152.9480,176.7680,2.3847,1.3896,0.8770,11.474100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [TAKA69] +<TANNA> +title=Tanna Bloc Sud +proj=geocent +towgs84=-139.0000,-967.0000,436.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<TERA50> +title=Pointe Geologie - Perroud 1950 +proj=geocent +towgs84=324.8000,153.6000,172.1000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [TIKE50] +# W [TIKE60] +# W [TROM56] +<TUBU69> +title=MHPF 1969 (Tubuai) Iles Australes +proj=geocent +towgs84=237.1700,171.6100,-77.8400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [TURI69] +# W [WALL76] +<WALL78> +title=Wallis-Uvea 1978 (MOP78) +proj=geocent +towgs84=253.0000,-133.0000,-127.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<WGS72> +title=World Geodetic System 1972 +proj=geocent +towgs84=0.0000,12.0000,6.0000 +a=6378135.0000 +rf=298.2600000000000 +units=m +no_defs <> +<WGS84> +title=World Geodetic System 1984 +proj=geocent +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +# W [AMANU49GEO] +# W [AMANU63GEO] +# W [AMST63GEO] +# W [ANAA47GEO] +<ANAA92GEO> +title=MOP92 (Anaa) Tuamotu +proj=longlat +towgs84=1.5000,3.8400,4.8100 +a=6378137.0000 +rf=298.2572235630000 +units=m +no_defs <> +# W [APAT48GEO] +# W [APAT49GEO] +<APAT86GEO> +title=MOP86 (Apataki, Rapa, Hao) Tuamotu +proj=longlat +towgs84=216.8400,118.8100,19.6100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<ATIGEO> +title=Ancienne Triangulation des Ingenieurs +proj=longlat +towgs84=1127.0000,22.0000,57.0000 +a=6376523.0000 +rf=308.6400000000000 +units=m +no_defs <> +# W [BASSASGEO] +# W [BIEN55GEO] +<CAD97GEO> +title=Cadastre 1997 +proj=longlat +towgs84=-381.7880,-57.5010,-256.6730 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [CADA80GEO] +# W [CASS1733GEO] +# W [CLIP67GEO] +<CROZ63GEO> +title=Crozet 1963 +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<CSG67GEO> +title=Guyane CSG67 UTM fuseau 21 +proj=longlat +towgs84=-193.0660,236.9930,105.4470,0.4814,-0.8074,0.1276,1.564900 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<ED50G> +title=ED50 +proj=longlat +towgs84=-84.0000,-97.0000,-117.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<EFATE57GEO> +title=EFATE-IGN 1957 +proj=longlat +towgs84=-127.0000,-769.0000,472.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [EUROPA54GEO] +# W [FAKA50GEO] +# W [FANGA50GEO] +# W [FANGA64GEO] +# W [FANGA651GEO] +# W [FANGA652GEO] +# W [FANGA66GEO] +<FANGA84GEO> +title=MOP84 (Fangataufa 1984) +proj=longlat +towgs84=150.5700,158.3300,118.3200 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [GLOR77GEO] +<GUAD48GEO> +title=Guadeloupe Ste Anne +proj=longlat +towgs84=-472.2900,-5.6300,-304.1200,0.4362,-0.8374,0.2563,1.898400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<GUADFM49GEO> +title=Guadeloupe Fort Marigot +proj=longlat +towgs84=136.5960,248.1480,-429.7890 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [HAO49GEO] +# W [HAO58GEO] +# W [HAO67GEO] +# W [HARA49GEO] +# W [HIKU50GEO] +# W [HIVA60GEO] +# W [HIVA67GEO] +<IGN63GEO> +title=IGN 1963 (Hiva Oa, Tahuata, Mohotani) +proj=longlat +towgs84=410.7210,55.0490,80.7460,-2.5779,-2.3514,-0.6664,17.331100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<IGN72GEO> +title=IGN 1972 Grande-Terre / Ile des Pins +proj=longlat +towgs84=-11.6400,-348.6000,291.6800 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [JULES55GEO] +<KAUE70GEO> +title=MHPF70 (Kauehi) Tuamotu +proj=longlat +towgs84=126.7400,300.1000,-75.4900 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<KERG62GEO> +title=Kerguelen - K0 +proj=longlat +towgs84=145.0000,-187.0000,103.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<LIFOU56GEO> +title=Lifou - Iles Loyaute (IGN56) +proj=longlat +towgs84=336.0000,223.0000,-231.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<LUXGEO> +title=Nouvelle Triangulation du Grand Duche du Luxembourg +proj=longlat +towgs84=-192.9860,13.6730,-39.3090,-0.4099,-2.9332,2.6881,0.430000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MAKE50GEO] +# W [MANGA51GEO] +<MARE53GEO> +title=Mare - Iles Loyaute (IGN53) +proj=longlat +towgs84=287.0000,178.0000,-136.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MARQUI72GEO> +title=IGN 1972 (Eiao, Hiva Oa, Mohotani) Marquises +proj=longlat +towgs84=327.8400,-14.9600,59.3300 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MART38GEO> +title=Martinique Fort-Desaix +proj=longlat +towgs84=126.9260,547.9390,130.4090,-2.7867,5.1612,-0.8584,13.822650 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MAUPITIGEO] +<MAYO50GEO> +title=Mayotte Combani +proj=longlat +towgs84=-599.9280,-275.5520,-195.6650,-0.0835,-0.4715,0.0602,49.281400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MHEFO55FGEO> +title=MHEFO 1955 (Fatu Huku) +proj=longlat +towgs84=347.1030,1078.1250,2623.9220,33.8875,-70.6773,9.3943,186.074000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MHEFO55MGEO] +<MHPF67GEO> +title=MHPF67 (Mangareva, Agakauitai, Aukena, Mekiro) Gambiers (Iles) +proj=longlat +towgs84=338.0800,212.5800,-296.1700 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MOOREA87GEO> +title=Moorea 1987 +proj=longlat +towgs84=215.9820,149.5930,176.2290,3.2624,1.6920,1.1571,10.477300 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<MOP90GEO> +title=MOP90 (Tetiaroa) Iles de la Societe +proj=longlat +towgs84=217.0370,86.9590,23.9560 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [MURU51GEO] +# W [MURU59GEO] +# W [MURU62GEO] +# W [MURU78GEO] +# W [NC51GEO] +# W [NOVA53GEO] +<NTFG> +title=Nouvelle Triangulation Francaise Greenwich degres sexagesimaux +proj=longlat +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +units=m +no_defs <> +<NTFP> +title=Nouvelle Triangulation Francaise Paris grades +proj=longlat +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +units=m +no_defs <> +<NUKU72GEO> +title=IGN 1972 Nuku Hiva +proj=longlat +towgs84=165.7320,216.7200,180.5050,-0.6434,-0.4512,-0.0791,7.420400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<NUKU94GEO> +title=SAT94 (Nukutavake) Tuamotu +proj=longlat +towgs84=197.1600,200.1700,-48.0800 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<OUVEA72GEO> +title=Ouvea - Iles Loyaute (MHNC 1972 - OUVEA) +proj=longlat +towgs84=-13.0000,-348.0000,292.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [PMAR55GEO] +<RAIA53GEO> +title=IGN53 (IGN Raiatea-Tahaa) Raiatea-Tahaa-Bora Bora-Huahine +proj=longlat +towgs84=65.0300,341.5500,76.6700 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [RAIV54GEO] +# W [RAIV66GEO] +# W [RANGI47GEO] +# W [RANGI59GEO] +# W [RANGI68GEO] +# W [RAPA55GEO] +# W [RAPA80GEO] +<REUN47GEO> +title=Reunion 1947 +proj=longlat +towgs84=789.5240,-626.4860,-89.9040,0.6006,76.7946,-10.5788,-32.324100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [REUN49GEO] +# W [REUN92GEO] +<RGF93G> +title=Reseau geodesique francais 1993 +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGFG95GEO> +title=Reseau geodesique francais de Guyane 1995 +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGM04GEO> +title=RGM04 (Reseau Geodesique de Mayotte 2004) +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGNCGEO> +title=Reseau Geodesique de Nouvelle-Caledonie +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGPFGEO> +title=RGPF (Reseau Geodesique de Polynesie Francaise) +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGR92GEO> +title=Reseau geodesique de la Reunion 1992 +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<RGSPM06GEO> +title=Saint-Pierre-et-Miquelon (2006) +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<SAT84GEO> +title=SAT84 (Rurutu) Iles Australes +proj=longlat +towgs84=202.1300,174.6000,-15.7400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<SHOM84GEO> +title=SHOM 1984 Martinique Montagne Du Vauclin +proj=longlat +towgs84=189.5060,486.5470,148.7830 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [STPL69GEO] +<STPM50GEO> +title=St Pierre et Miquelon 1950 +proj=longlat +towgs84=-95.5930,573.7630,173.4420,-0.9602,1.2510,-1.3918,42.626500 +a=6378206.4000 +rf=294.9786982000000 +units=m +no_defs <> +# W [SYSLNGEO] +<TAHAAGEO> +title=Raiatea - Tahaa 51-54 (Tahaa, Base Terme Est) +proj=longlat +towgs84=72.4380,345.9180,79.4860,-1.6045,-0.8823,-0.5565,1.374600 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<TAHI51GEO> +title=Tahiti-Terme Nord 1951 +proj=longlat +towgs84=162.0000,117.0000,154.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<TAHI79GEO> +title=IGN79 (Tahiti) Iles de la Societe +proj=longlat +towgs84=221.5250,152.9480,176.7680,2.3847,1.3896,0.8770,11.474100 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [TAKA69GEO] +<TANNAGEO> +title=Tanna Bloc Sud +proj=longlat +towgs84=-139.0000,-967.0000,436.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<TERA50GEO> +title=Pointe Geologie - Perroud 1950 +proj=longlat +towgs84=324.8000,153.6000,172.1000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [TIKE50GEO] +# W [TIKE60GEO] +# W [TROM56GEO] +<TUBU69GEO> +title=MHPF 1969 (Tubuai) Iles Australes +proj=longlat +towgs84=237.1700,171.6100,-77.8400 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +# W [TURI69GEO] +# W [VAITAPEGEO] +# W [WALL76GEO] +<WALL78GEO> +title=Wallis - Uvea 1978 (MOP78) +proj=longlat +towgs84=253.0000,-133.0000,-127.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <> +<WGS72G> +title=WGS72 +proj=longlat +towgs84=0.0000,12.0000,6.0000 +a=6378135.0000 +rf=298.2600000000000 +units=m +no_defs <> +<WGS84G> +title=World Geodetic System 1984 +proj=longlat +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<WGS84RRAFGEO> +title=Reseau de reference des Antilles francaises (1988-1991) +proj=longlat +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +<XGEO> +title=Systeme CIO-BIH +proj=longlat +towgs84=0.0000,0.0000,0.5000,0.0000,0.0000,0.0140,-0.100000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <> +# W [AMANU63UTM7S] +# W [AMST63UTM43S] +# W [ANAA47UTM6S] +<ANAA92UTM6S> +title=MOP92 (Anaa) Tuamotu - UTM fuseau 6 Sud +proj=tmerc +towgs84=1.5000,3.8400,4.8100 +a=6378137.0000 +rf=298.2572235630000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<APAT86UTM6S> +title=MOP86 (Apataki, Rapa, Hao) Tuamotu - UTM fuseau 6 Sud +proj=tmerc +towgs84=216.8400,118.8100,19.6100 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<APAT86UTM7S> +title=MOP86 (Apataki, Rapa, Hao) Tuamotu - UTM fuseau 7 Sud +proj=tmerc +towgs84=216.8400,118.8100,19.6100 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +# W [BASSASUTM37S] +<CAD97UTM38S> +title=Cadastre 1997 - UTM fuseau 38 Sud +proj=tmerc +towgs84=-381.7880,-57.5010,-256.6730 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=45.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +# W [CADA80UTM7S] +# W [CLIP57UTM12] +<CROZ63UTM39S> +title=Crozet 1963 +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=51.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<CSG67UTM21> +title=Guyane CSG67 UTM fuseau 21 +proj=tmerc +towgs84=-193.0660,236.9930,105.4470,0.4814,-0.8074,0.1276,1.564900 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<CSG67UTM22> +title=Guyane CSG67 UTM fuseau 22 +proj=tmerc +towgs84=-193.0660,236.9930,105.4470,0.4814,-0.8074,0.1276,1.564900 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-51.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<EFATE57UT59S> +title=EFATE-IGN 1957 - UTM fuseau 59 Sud +proj=tmerc +towgs84=-127.0000,-769.0000,472.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=171.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +# W [FAKA50UTM6S] +# W [FANGA64UTM7S] +# W [FANGA651U7S] +# W [FANGA652U7S] +# W [FANGA66UTM7S] +<FANGA84UTM7S> +title=Fangataufa 1984 - UTM fuseau 7 Sud +proj=tmerc +towgs84=150.5700,158.3300,118.3200 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<GEOPORTALANF> +title=Geoportail - Antilles francaises +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=15.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALCRZ> +title=Geoportail - Crozet +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-46.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALFXX> +title=Geoportail - France metropolitaine +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=46.500000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALGUF> +title=Geoportail - Guyane +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=4.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALKER> +title=Geoportail - Kerguelen +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-49.500000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALMYT> +title=Geoportail - Mayotte +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-12.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALNCL> +title=Geoportail - Nouvelle-Caledonie +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-22.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALPYF> +title=Geoportail - Polynesie francaise +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-15.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALREU> +title=Geoportail - Reunion et dependances +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-21.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALSPM> +title=Geoportail - Saint-Pierre et Miquelon +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=47.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<GEOPORTALWLF> +title=Geoportail - Wallis et Futuna +proj=eqc +nadgrids=null +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-14.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +# W [GLOR77UTM38S] +<GUAD48UTM20> +title=Guadeloupe Ste Anne +proj=tmerc +towgs84=-472.2900,-5.6300,-304.1200,0.4362,-0.8374,0.2563,1.898400 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<GUADFM49U20> +title=Guadeloupe Fort Marigot +proj=tmerc +towgs84=136.5960,248.1480,-429.7890 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +# W [HAO58UTM7S] +# W [HAO67UTM7S] +# W [HARA49UTM7S] +# W [HIKU50UTM7S] +# W [HIVA60UTM7S] +# W [HIVA67UTM7S] +<IGN63UTM7S> +title=IGN 1963 - Hiva Oa, Tahuata, Mohotani - UTM fuseau 7 Sud +proj=tmerc +towgs84=410.7210,55.0490,80.7460,-2.5779,-2.3514,-0.6664,17.331100 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<IGN72LAM> +title=IGN 1972 - Lambert Nouvelle Caledonie +proj=lcc +towgs84=-11.6400,-348.6000,291.6800 +a=6378388.0000 +rf=297.0000000000000 +lat_0=-21.300000000 +lon_0=166.000000000 +lat_1=-20.400000000 +lat_2=-22.200000000 +x_0=400000.000 +y_0=300000.000 +units=m +no_defs <> +<IGN72UTM58S> +title=IGN 1972 - UTM fuseau 58 Sud +proj=tmerc +towgs84=-11.6400,-348.6000,291.6800 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<KAUE70UTM6S> +title=MHPF70 (Kauehi) Tuamotu - UTM fuseau 6 Sud +proj=tmerc +towgs84=126.7400,300.1000,-75.4900 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<KERG62UTM42S> +title=Kerguelen 1962 +proj=tmerc +towgs84=145.0000,-187.0000,103.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=69.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<LAMB1> +title=Lambert I +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=49.500000000 +lon_0=0.000000000 +k_0=0.99987734 +lat_1=49.500000000 +x_0=600000.000 +y_0=200000.000 +units=m +no_defs <> +<LAMB1C> +title=Lambert I Carto +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=49.500000000 +lon_0=0.000000000 +k_0=0.99987734 +lat_1=49.500000000 +x_0=600000.000 +y_0=1200000.000 +units=m +no_defs <> +<LAMB2> +title=Lambert II +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=46.800000000 +lon_0=0.000000000 +k_0=0.99987742 +lat_1=46.800000000 +x_0=600000.000 +y_0=200000.000 +units=m +no_defs <> +<LAMB2C> +title=Lambert II Carto +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=46.800000000 +lon_0=0.000000000 +k_0=0.99987742 +lat_1=46.800000000 +x_0=600000.000 +y_0=2200000.000 +units=m +no_defs <> +<LAMB3> +title=Lambert III +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=44.100000000 +lon_0=0.000000000 +k_0=0.99987750 +lat_1=44.100000000 +x_0=600000.000 +y_0=200000.000 +units=m +no_defs <> +<LAMB3C> +title=Lambert III Carto +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=44.100000000 +lon_0=0.000000000 +k_0=0.99987750 +lat_1=44.100000000 +x_0=600000.000 +y_0=3200000.000 +units=m +no_defs <> +<LAMB4> +title=Lambert IV +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=42.165000000 +lon_0=0.000000000 +k_0=0.99994471 +lat_1=42.165000000 +x_0=234.358 +y_0=185861.369 +units=m +no_defs <> +<LAMB4C> +title=Lambert IV Carto +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=42.165000000 +lon_0=0.000000000 +k_0=0.99994471 +lat_1=42.165000000 +x_0=234.358 +y_0=4185861.369 +units=m +no_defs <> +<LAMB93> +title=Lambert 93 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=46.500000000 +lon_0=3.000000000 +lat_1=44.000000000 +lat_2=49.000000000 +x_0=700000.000 +y_0=6600000.000 +units=m +no_defs <> +<LAMBE> +title=Lambert II etendu +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=46.800000000 +lon_0=0.000000000 +k_0=0.99987742 +lat_1=46.800000000 +x_0=600000.000 +y_0=2200000.000 +units=m +no_defs <> +<LAMBGC> +title=Lambert grand champ +proj=lcc +nadgrids=ntf_r93.gsb,null +towgs84=-168.0000,-60.0000,320.0000 +a=6378249.2000 +rf=293.4660210000000 +pm=2.337229167 +lat_0=47.000000000 +lon_0=0.000000000 +lat_1=45.000000000 +lat_2=49.000000000 +x_0=600000.000 +y_0=600000.000 +units=m +no_defs <> +<LUXGAUSSK> +title=Luxembourg 1929 +proj=tmerc +towgs84=-192.9860,13.6730,-39.3090,-0.4099,-2.9332,2.6881,0.430000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=49.833333333 +lon_0=6.166666667 +k_0=1.00000000 +x_0=80000.000 +y_0=100000.000 +units=m +no_defs <> +# W [MAKE50UTM7S] +# W [MANGA51U8S] +<MARE53UTM58S> +title=Mare - Iles Loyaute - UTM fuseau 58 Sud +proj=tmerc +towgs84=287.0000,178.0000,-136.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<MART38UTM20> +title=Martinique Fort-Desaix +proj=tmerc +towgs84=126.9260,547.9390,130.4090,-2.7867,5.1612,-0.8584,13.822650 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +# W [MAUPITIUTM5S] +<MAYO50UTM38S> +title=Mayotte Combani +proj=tmerc +towgs84=-599.9280,-275.5520,-195.6650,-0.0835,-0.4715,0.0602,49.281400 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=45.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<MHPF67UTM8S> +title=MHPF67 (Mangareva, Agakauitai, Aukena, Mekiro) Gambiers (Iles) - UTM 8 S +proj=tmerc +towgs84=338.0800,212.5800,-296.1700 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-135.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<MILLER> +title=Geoportail - Monde +proj=mill +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lon_0=0.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <> +<MOOREA87U6S> +title=Moorea 1987 - UTM fuseau 6 Sud +proj=tmerc +towgs84=215.9820,149.5930,176.2290,3.2624,1.6920,1.1571,10.477300 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<MOP90UTM6S> +title=MOP90 (Tetiaroa) Iles de la Societe - UTM fuseau 6 Sud +proj=tmerc +towgs84=217.0370,86.9590,23.9560 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +# W [MURU59UTM7S] +# W [MURU62UTM7S] +# W [MURU78UTM7S] +# W [NC51UTM58S] +# W [NOVA53UTM38S] +<NUKU72U7S> +title=IGN 1972 Nuku Hiva - UTM fuseau 7 Sud +proj=tmerc +towgs84=165.7320,216.7200,180.5050,-0.6434,-0.4512,-0.0791,7.420400 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<NUKU94UTM7S> +title=IGN 1994 Nuku Hiva - UTM fuseau 7 Sud +proj=tmerc +towgs84=197.1600,200.1700,-48.0800 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<OUVEA72U58S> +title=Ouvea - Iles Loyaute - UTM fuseau 58 Sud +proj=tmerc +towgs84=-13.0000,-348.0000,292.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RAIA53UTM5S> +title=IGN53 (IGN Raiatea-Tahaa) Raiatea-Tahaa-Bora Bora-Huahine - UTM fuseau 5 +proj=tmerc +towgs84=65.0300,341.5500,76.6700 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +# W [RAIV54UTM6S] +# W [RAIV66UTM6S] +# W [RANGI47U6S] +# W [RANGI59U6S] +# W [RANGI68U6S] +<REUN47GAUSSL> +title=Reunion Gauss Laborde +proj=gstmerc +towgs84=789.5240,-626.4860,-89.9040,0.6006,76.7946,-10.5788,-32.324100 +a=6378388.0000 +rf=297.0000000000000 +lat_0=-21.116666667 +lon_0=55.533333333 +k_0=1.00000000 +x_0=160000.000 +y_0=50000.000 +units=m +no_defs <> +<RGF93CC42> +title=Projection conique conforme Zone 1 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=42.000000000 +lon_0=3.000000000 +lat_1=41.250000000 +lat_2=42.750000000 +x_0=1700000.000 +y_0=1200000.000 +units=m +no_defs <> +<RGF93CC43> +title=Projection conique conforme Zone 2 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=43.000000000 +lon_0=3.000000000 +lat_1=42.250000000 +lat_2=43.750000000 +x_0=1700000.000 +y_0=2200000.000 +units=m +no_defs <> +<RGF93CC44> +title=Projection conique conforme Zone 3 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=44.000000000 +lon_0=3.000000000 +lat_1=43.250000000 +lat_2=44.750000000 +x_0=1700000.000 +y_0=3200000.000 +units=m +no_defs <> +<RGF93CC45> +title=Projection conique conforme Zone 4 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=45.000000000 +lon_0=3.000000000 +lat_1=44.250000000 +lat_2=45.750000000 +x_0=1700000.000 +y_0=4200000.000 +units=m +no_defs <> +<RGF93CC46> +title=Projection conique conforme Zone 5 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=46.000000000 +lon_0=3.000000000 +lat_1=45.250000000 +lat_2=46.750000000 +x_0=1700000.000 +y_0=5200000.000 +units=m +no_defs <> +<RGF93CC47> +title=Projection conique conforme Zone 6 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=47.000000000 +lon_0=3.000000000 +lat_1=46.250000000 +lat_2=47.750000000 +x_0=1700000.000 +y_0=6200000.000 +units=m +no_defs <> +<RGF93CC48> +title=Projection conique conforme Zone 7 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=48.000000000 +lon_0=3.000000000 +lat_1=47.250000000 +lat_2=48.750000000 +x_0=1700000.000 +y_0=7200000.000 +units=m +no_defs <> +<RGF93CC49> +title=Projection conique conforme Zone 8 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=49.000000000 +lon_0=3.000000000 +lat_1=48.250000000 +lat_2=49.750000000 +x_0=1700000.000 +y_0=8200000.000 +units=m +no_defs <> +<RGF93CC50> +title=Projection conique conforme Zone 9 +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=50.000000000 +lon_0=3.000000000 +lat_1=49.250000000 +lat_2=50.750000000 +x_0=1700000.000 +y_0=9200000.000 +units=m +no_defs <> +<RGM04UTM38S> +title=UTM fuseau 38 Sud (Reseau Geodesique de Mayotte 2004) +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=45.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGNCLAM> +title=Reseau Geodesique de Nouvelle-Caledonie - Lambert Nouvelle Caledonie +proj=lcc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=-21.300000000 +lon_0=166.000000000 +lat_1=-20.400000000 +lat_2=-22.200000000 +x_0=400000.000 +y_0=300000.000 +units=m +no_defs <> +<RGNCUTM57S> +title=Reseau Geodesique de Nouvelle-Caledonie - UTM fuseau 57 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=159.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGNCUTM58S> +title=Reseau Geodesique de Nouvelle-Caledonie - UTM fuseau 58 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGNCUTM59S> +title=Reseau Geodesique de Nouvelle-Caledonie - UTM fuseau 59 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=171.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGPFUTM5S> +title=RGPF - UTM fuseau 5 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGPFUTM6S> +title=RGPF - UTM fuseau 6 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGPFUTM7S> +title=RGPF - UTM fuseau 7 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGR92UTM40S> +title=RGR92 UTM fuseau 40 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<RGSPM06U21> +title=Saint-Pierre-et-Miquelon (2006) UTM Fuseau 21 Nord +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<SAT84UTM5S> +title=SAT84 (Rurutu) Iles Australes - UTM fuseau 5 Sud +proj=tmerc +towgs84=202.1300,174.6000,-15.7400 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<STEREOSX> +title=Stereographique polaire Sud +proj=sterea +towgs84=0.0000,0.0000,0.5000,0.0000,0.0000,0.0140,-0.100000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=-90.000000000 +lon_0=140.000000000 +k=0.96027295 +x_0=300000.000 +y_0=-2299363.482 +units=m +no_defs <> +# W [STPL69UTM43S] +<STPM50UTM21> +title=St Pierre et Miquelon 1950 +proj=tmerc +towgs84=-95.5930,573.7630,173.4420,-0.9602,1.2510,-1.3918,42.626500 +a=6378206.4000 +rf=294.9786982000000 +lat_0=0.000000000 +lon_0=-57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<TAHAAUTM05S> +title=Tahaa 1951 +proj=tmerc +towgs84=72.4380,345.9180,79.4860,-1.6045,-0.8823,-0.5565,1.374600 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<TAHI51UTM06S> +title=Tahiti-Terme Nord UTM fuseau 6 Sud +proj=tmerc +towgs84=162.0000,117.0000,154.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<TAHI79UTM6S> +title=Tahiti 1979 +proj=tmerc +towgs84=221.5250,152.9480,176.7680,2.3847,1.3896,0.8770,11.474100 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +# W [TAKA69UTM6S] +<TANNAUTM59S> +title=Tanna Bloc Sud - UTM fuseau 59 Sud +proj=tmerc +towgs84=-139.0000,-967.0000,436.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=171.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<TERA50SPTA> +title=Terre Adelie Stereo polaire Terre Adelie +proj=sterea +towgs84=324.8000,153.6000,172.1000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=-67.000000000 +lon_0=140.000000000 +k=1.00000000 +x_0=300000.000 +y_0=200000.000 +units=m +no_defs <> +<TERA50STEREO> +title=Terre Adelie 1950 +proj=sterea +towgs84=324.8000,153.6000,172.1000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=-90.000000000 +lon_0=140.000000000 +k=0.96027295 +x_0=300000.000 +y_0=-2299363.482 +units=m +no_defs <> +# W [TIKE50UTM6S] +# W [TIKE60UTM6S] +<TUBU69UTM6S> +title=Tubuai - Iles Australes - UTM fuseau 6 Sud +proj=tmerc +towgs84=237.1700,171.6100,-77.8400 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +# W [TURI69UTM7S] +<UTM01SW72> +title=World Geodetic System 1972 UTM fuseau 01 Sud +proj=tmerc +towgs84=0.0000,12.0000,6.0000 +a=6378135.0000 +rf=298.2600000000000 +lat_0=0.000000000 +lon_0=-177.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM01SW84> +title=World Geodetic System 1984 UTM fuseau 01 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-177.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM01W84> +title=World Geodetic System 1984 UTM fuseau 01 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-177.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM02SW84> +title=World Geodetic System 1984 UTM fuseau 02 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-171.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM02W84> +title=World Geodetic System 1984 UTM fuseau 02 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-171.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM03SW84> +title=World Geodetic System 1984 UTM fuseau 03 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM03W84> +title=World Geodetic System 1984 UTM fuseau 03 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM04SW84> +title=World Geodetic System 1984 UTM fuseau 04 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-159.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM04W84> +title=World Geodetic System 1984 UTM fuseau 04 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-159.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM05SW84> +title=World Geodetic System 1984 UTM fuseau 05 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM05W84> +title=World Geodetic System 1984 UTM fuseau 05 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM06SW84> +title=World Geodetic System 1984 UTM fuseau 06 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM06W84> +title=World Geodetic System 1984 UTM fuseau 06 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM07SW84> +title=World Geodetic System 1984 UTM fuseau 07 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM07W84> +title=World Geodetic System 1984 UTM fuseau 07 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM08SW84> +title=World Geodetic System 1984 UTM fuseau 08 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-135.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM08W84> +title=World Geodetic System 1984 UTM fuseau 08 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-135.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM09SW84> +title=World Geodetic System 1984 UTM fuseau 09 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-129.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM09W84> +title=World Geodetic System 1984 UTM fuseau 09 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-129.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM10SW84> +title=World Geodetic System 1984 UTM fuseau 10 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-123.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM10W84> +title=World Geodetic System 1984 UTM fuseau 10 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-123.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM11SW84> +title=World Geodetic System 1984 UTM fuseau 11 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-117.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM11W84> +title=World Geodetic System 1984 UTM fuseau 11 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-117.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM12SW84> +title=World Geodetic System 1984 UTM fuseau 12 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-111.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM12W84> +title=World Geodetic System 1984 UTM fuseau 12 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-111.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM13SW84> +title=World Geodetic System 1984 UTM fuseau 13 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-105.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM13W84> +title=World Geodetic System 1984 UTM fuseau 13 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-105.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM14SW84> +title=World Geodetic System 1984 UTM fuseau 14 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-99.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM14W84> +title=World Geodetic System 1984 UTM fuseau 14 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-99.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM15SW84> +title=World Geodetic System 1984 UTM fuseau 15 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-93.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM15W84> +title=World Geodetic System 1984 UTM fuseau 15 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-93.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM16SW84> +title=World Geodetic System 1984 UTM fuseau 16 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-87.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM16W84> +title=World Geodetic System 1984 UTM fuseau 16 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-87.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM17SW84> +title=World Geodetic System 1984 UTM fuseau 17 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-81.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM17W84> +title=World Geodetic System 1984 UTM fuseau 17 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-81.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM18SW84> +title=World Geodetic System 1984 UTM fuseau 18 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-75.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM18W84> +title=World Geodetic System 1984 UTM fuseau 18 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-75.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM19SW84> +title=World Geodetic System 1984 UTM fuseau 19 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-69.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM19W84> +title=World Geodetic System 1984 UTM fuseau 19 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-69.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM20SW84> +title=World Geodetic System 1984 UTM fuseau 20 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM20W84> +title=World Geodetic System 1984 UTM fuseau 20 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM20W84GUAD> +title=World Geodetic System 1984 UTM fuseau 20 Nord-Guadeloupe +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM20W84MART> +title=World Geodetic System 1984 UTM fuseau 20 Nord-Martinique +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM21SW84> +title=World Geodetic System 1984 UTM fuseau 21 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM21W84> +title=World Geodetic System 1984 UTM fuseau 21 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM22RGFG95> +title=RGFG95 UTM fuseau 22 Nord-Guyane +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-51.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM22SW84> +title=World Geodetic System 1984 UTM fuseau 22 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-51.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM22W84> +title=World Geodetic System 1984 UTM fuseau 22 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-51.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM23SW84> +title=World Geodetic System 1984 UTM fuseau 23 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-45.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM23W84> +title=World Geodetic System 1984 UTM fuseau 23 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-45.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM24SW84> +title=World Geodetic System 1984 UTM fuseau 24 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-39.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM24W84> +title=World Geodetic System 1984 UTM fuseau 24 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-39.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM25SW84> +title=World Geodetic System 1984 UTM fuseau 25 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-33.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM25W84> +title=World Geodetic System 1984 UTM fuseau 25 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-33.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM26SW84> +title=World Geodetic System 1984 UTM fuseau 26 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-27.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM26W84> +title=World Geodetic System 1984 UTM fuseau 26 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-27.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM27SW84> +title=World Geodetic System 1984 UTM fuseau 27 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-21.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM27W84> +title=World Geodetic System 1984 UTM fuseau 27 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-21.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM28SW84> +title=World Geodetic System 1984 UTM fuseau 28 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-15.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM28W84> +title=World Geodetic System 1984 UTM fuseau 28 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-15.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM29SW84> +title=World Geodetic System 1984 UTM fuseau 29 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-9.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM29W84> +title=World Geodetic System 1984 UTM fuseau 29 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-9.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM30> +title=European Datum 1950 UTM fuseau 30 +proj=tmerc +towgs84=-84.0000,-97.0000,-117.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM30RGF93> +title=RGF93 UTM fuseau 30 +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM30SW84> +title=World Geodetic System 1984 UTM fuseau 30 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM30W72> +title=World Geodetic System 1972 UTM fuseau 30 +proj=tmerc +towgs84=0.0000,12.0000,6.0000 +a=6378135.0000 +rf=298.2600000000000 +lat_0=0.000000000 +lon_0=-3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM30W84> +title=World Geodetic System 1984 UTM fuseau 30 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=-3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM31> +title=European Datum 1950 UTM fuseau 31 +proj=tmerc +towgs84=-84.0000,-97.0000,-117.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM31RGF93> +title=RGF93 UTM fuseau 31 +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM31SW84> +title=World Geodetic System 1984 UTM fuseau 31 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM31W72> +title=World Geodetic System 1972 UTM fuseau 31 +proj=tmerc +towgs84=0.0000,12.0000,6.0000 +a=6378135.0000 +rf=298.2600000000000 +lat_0=0.000000000 +lon_0=3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM31W84> +title=World Geodetic System 1984 UTM fuseau 31 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=3.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM32> +title=European Datum 1950 UTM fuseau 32 +proj=tmerc +towgs84=-84.0000,-97.0000,-117.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=9.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM32RGF93> +title=RGF93 UTM fuseau 32 +proj=tmerc +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=9.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM32SW84> +title=World Geodetic System 1984 UTM fuseau 32 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=9.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM32W72> +title=World Geodetic System 1972 UTM fuseau 32 +proj=tmerc +towgs84=0.0000,12.0000,6.0000 +a=6378135.0000 +rf=298.2600000000000 +lat_0=0.000000000 +lon_0=9.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM32W84> +title=World Geodetic System 1984 UTM fuseau 32 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=9.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM33SW84> +title=World Geodetic System 1984 UTM fuseau 33 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=15.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM33W84> +title=World Geodetic System 1984 UTM fuseau 33 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=15.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM34SW84> +title=World Geodetic System 1984 UTM fuseau 34 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=21.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM34W84> +title=World Geodetic System 1984 UTM fuseau 34 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=21.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM35SW84> +title=World Geodetic System 1984 UTM fuseau 35 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=27.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM35W84> +title=World Geodetic System 1984 UTM fuseau 35 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=27.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM36SW84> +title=World Geodetic System 1984 UTM fuseau 36 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=33.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM36W84> +title=World Geodetic System 1984 UTM fuseau 36 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=33.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM37SW84> +title=World Geodetic System 1984 UTM fuseau 37 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=39.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM37W84> +title=World Geodetic System 1984 UTM fuseau 37 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=39.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM38SW84> +title=World Geodetic System 1984 UTM fuseau 38 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=45.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM38W84> +title=World Geodetic System 1984 UTM fuseau 38 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=45.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM39SW84> +title=World Geodetic System 1984 UTM fuseau 39 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=51.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM39W84> +title=World Geodetic System 1984 UTM fuseau 39 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=51.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM40SW84> +title=World Geodetic System 1984 UTM fuseau 40 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM40W84> +title=World Geodetic System 1984 UTM fuseau 40 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=57.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM41SW84> +title=World Geodetic System 1984 UTM fuseau 41 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM41W84> +title=World Geodetic System 1984 UTM fuseau 41 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=63.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM42SW84> +title=World Geodetic System 1984 UTM fuseau 42 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=69.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM42W84> +title=World Geodetic System 1984 UTM fuseau 42 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=69.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM43SW84> +title=World Geodetic System 1984 UTM fuseau 43 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=75.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM43W84> +title=World Geodetic System 1984 UTM fuseau 43 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=75.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM44SW84> +title=World Geodetic System 1984 UTM fuseau 44 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=81.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM44W84> +title=World Geodetic System 1984 UTM fuseau 44 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=81.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM45SW84> +title=World Geodetic System 1984 UTM fuseau 45 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=87.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM45W84> +title=World Geodetic System 1984 UTM fuseau 45 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=87.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM46SW84> +title=World Geodetic System 1984 UTM fuseau 46 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=93.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM46W84> +title=World Geodetic System 1984 UTM fuseau 46 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=93.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM47SW84> +title=World Geodetic System 1984 UTM fuseau 47 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=99.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM47W84> +title=World Geodetic System 1984 UTM fuseau 47 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=99.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM48SW84> +title=World Geodetic System 1984 UTM fuseau 48 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=105.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM48W84> +title=World Geodetic System 1984 UTM fuseau 48 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=105.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM49SW84> +title=World Geodetic System 1984 UTM fuseau 49 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=111.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM49W84> +title=World Geodetic System 1984 UTM fuseau 49 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=111.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM50SW84> +title=World Geodetic System 1984 UTM fuseau 50 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=117.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM50W84> +title=World Geodetic System 1984 UTM fuseau 50 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=117.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM51SW84> +title=World Geodetic System 1984 UTM fuseau 51 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=123.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM51W84> +title=World Geodetic System 1984 UTM fuseau 51 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=123.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM52SW84> +title=World Geodetic System 1984 UTM fuseau 52 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=129.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM52W84> +title=World Geodetic System 1984 UTM fuseau 52 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=129.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM53SW84> +title=World Geodetic System 1984 UTM fuseau 53 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=135.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM53W84> +title=World Geodetic System 1984 UTM fuseau 53 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=135.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM54SW84> +title=World Geodetic System 1984 UTM fuseau 54 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM54W84> +title=World Geodetic System 1984 UTM fuseau 54 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=141.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM55SW84> +title=World Geodetic System 1984 UTM fuseau 55 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM55W84> +title=World Geodetic System 1984 UTM fuseau 55 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=147.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM56SW84> +title=World Geodetic System 1984 UTM fuseau 56 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM56W84> +title=World Geodetic System 1984 UTM fuseau 56 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=153.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM57SW84> +title=World Geodetic System 1984 UTM fuseau 57 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=159.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM57W84> +title=World Geodetic System 1984 UTM fuseau 57 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=159.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM58SW84> +title=World Geodetic System 1984 UTM fuseau 58 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM58W84> +title=World Geodetic System 1984 UTM fuseau 58 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=165.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM59SW84> +title=World Geodetic System 1984 UTM fuseau 59 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=171.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM59W84> +title=World Geodetic System 1984 UTM fuseau 59 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=171.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +<UTM60SW84> +title=World Geodetic System 1984 UTM fuseau 60 Sud +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=177.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> +<UTM60W84> +title=World Geodetic System 1984 UTM fuseau 60 +proj=tmerc +towgs84=0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.000000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=177.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=0.000 +units=m +no_defs <> +# W [VAITAPEUTM5S] +# W [WALL76UTM1S] +<WALL78UTM1S> +title=Wallis-Uvea 1978 (MOP78) UTM 1 SUD +proj=tmerc +towgs84=253.0000,-133.0000,-127.0000 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=-177.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <> diff --git a/src/3rdparty/proj/proj_data/epsg b/src/3rdparty/proj/proj_data/epsg new file mode 100644 index 00000000..fbb2c9a8 --- /dev/null +++ b/src/3rdparty/proj/proj_data/epsg @@ -0,0 +1,7631 @@ +# HD1909 +<3819> +proj=longlat +ellps=bessel +towgs84=595.48,121.69,515.35,4.115,-2.9383,0.853,-3.408 +no_defs <> +# TWD67 +<3821> +proj=longlat +ellps=aust_SA +no_defs <> +# TWD97 +<3824> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# IGRS +<3889> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# MGI 1901 +<3906> +proj=longlat +ellps=bessel +no_defs <> +# Unknown datum based upon the Airy 1830 ellipsoid +<4001> +proj=longlat +ellps=airy +no_defs <> +# Unknown datum based upon the Airy Modified 1849 ellipsoid +<4002> +proj=longlat +ellps=mod_airy +no_defs <> +# Unknown datum based upon the Australian National Spheroid +<4003> +proj=longlat +ellps=aust_SA +no_defs <> +# Unknown datum based upon the Bessel 1841 ellipsoid +<4004> +proj=longlat +ellps=bessel +no_defs <> +# Unknown datum based upon the Bessel Modified ellipsoid +<4005> +proj=longlat +a=6377492.018 +b=6356173.508712696 +no_defs <> +# Unknown datum based upon the Bessel Namibia ellipsoid +<4006> +proj=longlat +ellps=bess_nam +no_defs <> +# Unknown datum based upon the Clarke 1858 ellipsoid +<4007> +proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs <> +# Unknown datum based upon the Clarke 1866 ellipsoid +<4008> +proj=longlat +ellps=clrk66 +no_defs <> +# Unknown datum based upon the Clarke 1866 Michigan ellipsoid +<4009> +proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs <> +# Unknown datum based upon the Clarke 1880 (Benoit) ellipsoid +<4010> +proj=longlat +a=6378300.789 +b=6356566.435 +no_defs <> +# Unknown datum based upon the Clarke 1880 (IGN) ellipsoid +<4011> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Unknown datum based upon the Clarke 1880 (RGS) ellipsoid +<4012> +proj=longlat +ellps=clrk80 +no_defs <> +# Unknown datum based upon the Clarke 1880 (Arc) ellipsoid +<4013> +proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs <> +# Unknown datum based upon the Clarke 1880 (SGA 1922) ellipsoid +<4014> +proj=longlat +a=6378249.2 +b=6356514.996941779 +no_defs <> +# Unknown datum based upon the Everest 1830 (1937 Adjustment) ellipsoid +<4015> +proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs <> +# Unknown datum based upon the Everest 1830 (1967 Definition) ellipsoid +<4016> +proj=longlat +ellps=evrstSS +no_defs <> +# Unknown datum based upon the Everest 1830 Modified ellipsoid +<4018> +proj=longlat +a=6377304.063 +b=6356103.038993155 +no_defs <> +# Unknown datum based upon the GRS 1980 ellipsoid +<4019> +proj=longlat +ellps=GRS80 +no_defs <> +# Unknown datum based upon the Helmert 1906 ellipsoid +<4020> +proj=longlat +ellps=helmert +no_defs <> +# Unknown datum based upon the Indonesian National Spheroid +<4021> +proj=longlat +a=6378160 +b=6356774.50408554 +no_defs <> +# Unknown datum based upon the International 1924 ellipsoid +<4022> +proj=longlat +ellps=intl +no_defs <> +# MOLDREF99 +<4023> +proj=longlat +ellps=GRS80 +no_defs <> +# Unknown datum based upon the Krassowsky 1940 ellipsoid +<4024> +proj=longlat +ellps=krass +no_defs <> +# Unknown datum based upon the NWL 9D ellipsoid +<4025> +proj=longlat +ellps=WGS66 +no_defs <> +# Unknown datum based upon the Plessis 1817 ellipsoid +<4027> +proj=longlat +a=6376523 +b=6355862.933255573 +no_defs <> +# Unknown datum based upon the Struve 1860 ellipsoid +<4028> +proj=longlat +a=6378298.3 +b=6356657.142669561 +no_defs <> +# Unknown datum based upon the War Office ellipsoid +<4029> +proj=longlat +a=6378300 +b=6356751.689189189 +no_defs <> +# Unknown datum based upon the WGS 84 ellipsoid +<4030> +proj=longlat +ellps=WGS84 +no_defs <> +# Unknown datum based upon the GEM 10C ellipsoid +<4031> +proj=longlat +ellps=WGS84 +no_defs <> +# Unknown datum based upon the OSU86F ellipsoid +<4032> +proj=longlat +a=6378136.2 +b=6356751.516927429 +no_defs <> +# Unknown datum based upon the OSU91A ellipsoid +<4033> +proj=longlat +a=6378136.3 +b=6356751.616592146 +no_defs <> +# Unknown datum based upon the Clarke 1880 ellipsoid +<4034> +proj=longlat +a=6378249.144808011 +b=6356514.966204134 +no_defs <> +# Unknown datum based upon the Authalic Sphere +<4035> +proj=longlat +a=6371000 +b=6371000 +no_defs <> +# Unknown datum based upon the GRS 1967 ellipsoid +<4036> +proj=longlat +ellps=GRS67 +no_defs <> +# Unknown datum based upon the Average Terrestrial System 1977 ellipsoid +<4041> +proj=longlat +a=6378135 +b=6356750.304921594 +no_defs <> +# Unknown datum based upon the Everest (1830 Definition) ellipsoid +<4042> +proj=longlat +a=6377299.36559538 +b=6356098.359005156 +no_defs <> +# Unknown datum based upon the WGS 72 ellipsoid +<4043> +proj=longlat +ellps=WGS72 +no_defs <> +# Unknown datum based upon the Everest 1830 (1962 Definition) ellipsoid +<4044> +proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs <> +# Unknown datum based upon the Everest 1830 (1975 Definition) ellipsoid +<4045> +proj=longlat +a=6377299.151 +b=6356098.145120132 +no_defs <> +# RGRDC 2005 +<4046> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Unspecified datum based upon the GRS 1980 Authalic Sphere +<4047> +proj=longlat +a=6371007 +b=6371007 +no_defs <> +# Unspecified datum based upon the Clarke 1866 Authalic Sphere +<4052> +proj=longlat +a=6370997 +b=6370997 +no_defs <> +# Unspecified datum based upon the International 1924 Authalic Sphere +<4053> +proj=longlat +a=6371228 +b=6371228 +no_defs <> +# Unspecified datum based upon the Hughes 1980 ellipsoid +<4054> +proj=longlat +a=6378273 +b=6356889.449 +no_defs <> +# Popular Visualisation CRS +<4055> +proj=longlat +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# SREF98 +<4075> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# REGCAN95 +<4081> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Greek +<4120> +proj=longlat +ellps=bessel +no_defs <> +# GGRS87 +<4121> +proj=longlat +ellps=GRS80 +datum=GGRS87 +no_defs <> +# ATS77 +<4122> +proj=longlat +a=6378135 +b=6356750.304921594 +no_defs <> +# KKJ +<4123> +proj=longlat +ellps=intl +no_defs <> +# RT90 +<4124> +proj=longlat +ellps=bessel +no_defs <> +# Samboja +<4125> +proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +no_defs <> +# LKS94 (ETRS89) +<4126> +proj=longlat +ellps=GRS80 +no_defs <> +# Tete +<4127> +proj=longlat +ellps=clrk66 +no_defs <> +# Madzansua +<4128> +proj=longlat +ellps=clrk66 +no_defs <> +# Observatario +<4129> +proj=longlat +ellps=clrk66 +no_defs <> +# Moznet +<4130> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs <> +# Indian 1960 +<4131> +proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs <> +# FD58 +<4132> +proj=longlat +ellps=clrk80 +no_defs <> +# EST92 +<4133> +proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +no_defs <> +# PSD93 +<4134> +proj=longlat +ellps=clrk80 +no_defs <> +# Old Hawaiian +<4135> +proj=longlat +ellps=clrk66 +no_defs <> +# St. Lawrence Island +<4136> +proj=longlat +ellps=clrk66 +no_defs <> +# St. Paul Island +<4137> +proj=longlat +ellps=clrk66 +no_defs <> +# St. George Island +<4138> +proj=longlat +ellps=clrk66 +no_defs <> +# Puerto Rico +<4139> +proj=longlat +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +no_defs <> +# NAD83(CSRS98) +<4140> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Israel +<4141> +proj=longlat +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +no_defs <> +# Locodjo 1965 +<4142> +proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +no_defs <> +# Abidjan 1987 +<4143> +proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +no_defs <> +# Kalianpur 1937 +<4144> +proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs <> +# Kalianpur 1962 +<4145> +proj=longlat +a=6377301.243 +b=6356100.230165384 +no_defs <> +# Kalianpur 1975 +<4146> +proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +no_defs <> +# Hanoi 1972 +<4147> +proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +no_defs <> +# Hartebeesthoek94 +<4148> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# CH1903 +<4149> +proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs <> +# CH1903+ +<4150> +proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs <> +# CHTRF95 +<4151> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# NAD83(HARN) +<4152> +proj=longlat +ellps=GRS80 +no_defs <> +# Rassadiran +<4153> +proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +no_defs <> +# ED50(ED77) +<4154> +proj=longlat +ellps=intl +no_defs <> +# Dabola 1981 +<4155> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +no_defs <> +# S-JTSK +<4156> +proj=longlat +ellps=bessel +no_defs <> +# Mount Dillon +<4157> +proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs <> +# Naparima 1955 +<4158> +proj=longlat +ellps=intl +no_defs <> +# ELD79 +<4159> +proj=longlat +ellps=intl +no_defs <> +# Chos Malal 1914 +<4160> +proj=longlat +ellps=intl +no_defs <> +# Pampa del Castillo +<4161> +proj=longlat +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +no_defs <> +# Korean 1985 +<4162> +proj=longlat +ellps=bessel +no_defs <> +# Yemen NGN96 +<4163> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# South Yemen +<4164> +proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +no_defs <> +# Bissau +<4165> +proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0 +no_defs <> +# Korean 1995 +<4166> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# NZGD2000 +<4167> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Accra +<4168> +proj=longlat +a=6378300 +b=6356751.689189189 +no_defs <> +# American Samoa 1962 +<4169> +proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +no_defs <> +# SIRGAS 1995 +<4170> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# RGF93 +<4171> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# POSGAR +<4172> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# IRENET95 +<4173> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Sierra Leone 1924 +<4174> +proj=longlat +a=6378300 +b=6356751.689189189 +no_defs <> +# Sierra Leone 1968 +<4175> +proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +no_defs <> +# Australian Antarctic +<4176> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Pulkovo 1942(83) +<4178> +proj=longlat +ellps=krass +no_defs <> +# Pulkovo 1942(58) +<4179> +proj=longlat +ellps=krass +no_defs <> +# EST97 +<4180> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Luxembourg 1930 +<4181> +proj=longlat +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +no_defs <> +# Azores Occidental 1939 +<4182> +proj=longlat +ellps=intl +no_defs <> +# Azores Central 1948 +<4183> +proj=longlat +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +no_defs <> +# Azores Oriental 1940 +<4184> +proj=longlat +ellps=intl +towgs84=-203,141,53,0,0,0,0 +no_defs <> +# Madeira 1936 +<4185> +proj=longlat +ellps=intl +no_defs <> +# OSNI 1952 +<4188> +proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +no_defs <> +# REGVEN +<4189> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# POSGAR 98 +<4190> +proj=longlat +ellps=GRS80 +no_defs <> +# Albanian 1987 +<4191> +proj=longlat +ellps=krass +no_defs <> +# Douala 1948 +<4192> +proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +no_defs <> +# Manoca 1962 +<4193> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs <> +# Qornoq 1927 +<4194> +proj=longlat +ellps=intl +no_defs <> +# Scoresbysund 1952 +<4195> +proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.814,-0.6 +no_defs <> +# Ammassalik 1958 +<4196> +proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.814,-0.6 +no_defs <> +# Garoua +<4197> +proj=longlat +ellps=clrk80 +no_defs <> +# Kousseri +<4198> +proj=longlat +ellps=clrk80 +no_defs <> +# Egypt 1930 +<4199> +proj=longlat +ellps=intl +no_defs <> +# Pulkovo 1995 +<4200> +proj=longlat +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +no_defs <> +# Adindan +<4201> +proj=longlat +ellps=clrk80 +no_defs <> +# AGD66 +<4202> +proj=longlat +ellps=aust_SA +no_defs <> +# AGD84 +<4203> +proj=longlat +ellps=aust_SA +no_defs <> +# Ain el Abd +<4204> +proj=longlat +ellps=intl +no_defs <> +# Afgooye +<4205> +proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +no_defs <> +# Agadez +<4206> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Lisbon +<4207> +proj=longlat +ellps=intl +no_defs <> +# Aratu +<4208> +proj=longlat +ellps=intl +no_defs <> +# Arc 1950 +<4209> +proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs <> +# Arc 1960 +<4210> +proj=longlat +ellps=clrk80 +no_defs <> +# Batavia +<4211> +proj=longlat +ellps=bessel +no_defs <> +# Barbados 1938 +<4212> +proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +no_defs <> +# Beduaram +<4213> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0 +no_defs <> +# Beijing 1954 +<4214> +proj=longlat +ellps=krass +no_defs <> +# Belge 1950 +<4215> +proj=longlat +ellps=intl +no_defs <> +# Bermuda 1957 +<4216> +proj=longlat +ellps=clrk66 +no_defs <> +# Bogota 1975 +<4218> +proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 +no_defs <> +# Bukit Rimpah +<4219> +proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,0 +no_defs <> +# Camacupa +<4220> +proj=longlat +ellps=clrk80 +no_defs <> +# Campo Inchauspe +<4221> +proj=longlat +ellps=intl +no_defs <> +# Cape +<4222> +proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs <> +# Carthage +<4223> +proj=longlat +a=6378249.2 +b=6356515 +datum=carthage +no_defs <> +# Chua +<4224> +proj=longlat +ellps=intl +no_defs <> +# Corrego Alegre +<4225> +proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +no_defs <> +# Cote d'Ivoire +<4226> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Deir ez Zor +<4227> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Douala +<4228> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Egypt 1907 +<4229> +proj=longlat +ellps=helmert +no_defs <> +# ED50 +<4230> +proj=longlat +ellps=intl +no_defs <> +# ED87 +<4231> +proj=longlat +ellps=intl +no_defs <> +# Fahud +<4232> +proj=longlat +ellps=clrk80 +no_defs <> +# Gandajika 1970 +<4233> +proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs <> +# Garoua +<4234> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Guyane Francaise +<4235> +proj=longlat +ellps=intl +no_defs <> +# Hu Tzu Shan 1950 +<4236> +proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +no_defs <> +# HD72 +<4237> +proj=longlat +ellps=GRS67 +no_defs <> +# ID74 +<4238> +proj=longlat +a=6378160 +b=6356774.50408554 +no_defs <> +# Indian 1954 +<4239> +proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +no_defs <> +# Indian 1975 +<4240> +proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs <> +# Jamaica 1875 +<4241> +proj=longlat +a=6378249.144808011 +b=6356514.966204134 +no_defs <> +# JAD69 +<4242> +proj=longlat +ellps=clrk66 +no_defs <> +# Kalianpur 1880 +<4243> +proj=longlat +a=6377299.36559538 +b=6356098.359005156 +no_defs <> +# Kandawala +<4244> +proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +no_defs <> +# Kertau 1968 +<4245> +proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +no_defs <> +# KOC +<4246> +proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +no_defs <> +# La Canoa +<4247> +proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +no_defs <> +# PSAD56 +<4248> +proj=longlat +ellps=intl +no_defs <> +# Lake +<4249> +proj=longlat +ellps=intl +no_defs <> +# Leigon +<4250> +proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +no_defs <> +# Liberia 1964 +<4251> +proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +no_defs <> +# Lome +<4252> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Luzon 1911 +<4253> +proj=longlat +ellps=clrk66 +no_defs <> +# Hito XVIII 1963 +<4254> +proj=longlat +ellps=intl +no_defs <> +# Herat North +<4255> +proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0 +no_defs <> +# Mahe 1971 +<4256> +proj=longlat +ellps=clrk80 +towgs84=41,-220,-134,0,0,0,0 +no_defs <> +# Makassar +<4257> +proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +no_defs <> +# ETRS89 +<4258> +proj=longlat +ellps=GRS80 +no_defs <> +# Malongo 1987 +<4259> +proj=longlat +ellps=intl +no_defs <> +# Manoca +<4260> +proj=longlat +ellps=clrk80 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs <> +# Merchich +<4261> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +no_defs <> +# Massawa +<4262> +proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 +no_defs <> +# Minna +<4263> +proj=longlat +ellps=clrk80 +no_defs <> +# Mhast +<4264> +proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +no_defs <> +# Monte Mario +<4265> +proj=longlat +ellps=intl +no_defs <> +# M'poraloko +<4266> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# NAD27 +<4267> +proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs <> +# NAD27 Michigan +<4268> +proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs <> +# NAD83 +<4269> +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs <> +# Nahrwan 1967 +<4270> +proj=longlat +ellps=clrk80 +no_defs <> +# Naparima 1972 +<4271> +proj=longlat +ellps=intl +no_defs <> +# NZGD49 +<4272> +proj=longlat +ellps=intl +datum=nzgd49 +no_defs <> +# NGO 1948 +<4273> +proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +no_defs <> +# Datum 73 +<4274> +proj=longlat +ellps=intl +no_defs <> +# NTF +<4275> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +no_defs <> +# NSWC 9Z-2 +<4276> +proj=longlat +ellps=WGS66 +no_defs <> +# OSGB 1936 +<4277> +proj=longlat +ellps=airy +datum=OSGB36 +no_defs <> +# OSGB70 +<4278> +proj=longlat +ellps=airy +no_defs <> +# OS(SN)80 +<4279> +proj=longlat +ellps=airy +no_defs <> +# Padang +<4280> +proj=longlat +ellps=bessel +no_defs <> +# Palestine 1923 +<4281> +proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +no_defs <> +# Pointe Noire +<4282> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# GDA94 +<4283> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Pulkovo 1942 +<4284> +proj=longlat +ellps=krass +no_defs <> +# Qatar 1974 +<4285> +proj=longlat +ellps=intl +no_defs <> +# Qatar 1948 +<4286> +proj=longlat +ellps=helmert +no_defs <> +# Qornoq +<4287> +proj=longlat +ellps=intl +towgs84=164,138,-189,0,0,0,0 +no_defs <> +# Loma Quintana +<4288> +proj=longlat +ellps=intl +no_defs <> +# Amersfoort +<4289> +proj=longlat +ellps=bessel +no_defs <> +# SAD69 +<4291> +proj=longlat +ellps=GRS67 +no_defs <> +# Sapper Hill 1943 +<4292> +proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0 +no_defs <> +# Schwarzeck +<4293> +proj=longlat +ellps=bess_nam +no_defs <> +# Segora +<4294> +proj=longlat +ellps=bessel +no_defs <> +# Serindung +<4295> +proj=longlat +ellps=bessel +no_defs <> +# Sudan +<4296> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Tananarive +<4297> +proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +no_defs <> +# Timbalai 1948 +<4298> +proj=longlat +ellps=evrstSS +no_defs <> +# TM65 +<4299> +proj=longlat +ellps=mod_airy +datum=ire65 +no_defs <> +# TM75 +<4300> +proj=longlat +ellps=mod_airy +no_defs <> +# Tokyo +<4301> +proj=longlat +ellps=bessel +no_defs <> +# Trinidad 1903 +<4302> +proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs <> +# TC(1948) +<4303> +proj=longlat +ellps=helmert +no_defs <> +# Voirol 1875 +<4304> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +no_defs <> +# Bern 1938 +<4306> +proj=longlat +ellps=bessel +no_defs <> +# Nord Sahara 1959 +<4307> +proj=longlat +ellps=clrk80 +no_defs <> +# RT38 +<4308> +proj=longlat +ellps=bessel +no_defs <> +# Yacare +<4309> +proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +no_defs <> +# Yoff +<4310> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Zanderij +<4311> +proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs <> +# MGI +<4312> +proj=longlat +ellps=bessel +datum=hermannskogel +no_defs <> +# Belge 1972 +<4313> +proj=longlat +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +no_defs <> +# DHDN +<4314> +proj=longlat +ellps=bessel +datum=potsdam +no_defs <> +# Conakry 1905 +<4315> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +no_defs <> +# Dealul Piscului 1930 +<4316> +proj=longlat +ellps=intl +no_defs <> +# Dealul Piscului 1970 +<4317> +proj=longlat +ellps=krass +no_defs <> +# NGN +<4318> +proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +no_defs <> +# KUDAMS +<4319> +proj=longlat +ellps=GRS80 +no_defs <> +# WGS 72 +<4322> +proj=longlat +ellps=WGS72 +no_defs <> +# WGS 72BE +<4324> +proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +no_defs <> +# WGS 84 +<4326> +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs <> +# Anguilla 1957 +<4600> +proj=longlat +ellps=clrk80 +no_defs <> +# Antigua 1943 +<4601> +proj=longlat +ellps=clrk80 +no_defs <> +# Dominica 1945 +<4602> +proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +no_defs <> +# Grenada 1953 +<4603> +proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +no_defs <> +# Montserrat 1958 +<4604> +proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +no_defs <> +# St. Kitts 1955 +<4605> +proj=longlat +ellps=clrk80 +no_defs <> +# St. Lucia 1955 +<4606> +proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +no_defs <> +# St. Vincent 1945 +<4607> +proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +no_defs <> +# NAD27(76) +<4608> +proj=longlat +ellps=clrk66 +no_defs <> +# NAD27(CGQ77) +<4609> +proj=longlat +ellps=clrk66 +no_defs <> +# Xian 1980 +<4610> +proj=longlat +a=6378140 +b=6356755.288157528 +no_defs <> +# Hong Kong 1980 +<4611> +proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs <> +# JGD2000 +<4612> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Segara +<4613> +proj=longlat +ellps=bessel +no_defs <> +# QND95 +<4614> +proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +no_defs <> +# Porto Santo +<4615> +proj=longlat +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +no_defs <> +# Selvagem Grande +<4616> +proj=longlat +ellps=intl +no_defs <> +# NAD83(CSRS) +<4617> +proj=longlat +ellps=GRS80 +no_defs <> +# SAD69 +<4618> +proj=longlat +ellps=aust_SA +no_defs <> +# SWEREF99 +<4619> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Point 58 +<4620> +proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0,0 +no_defs <> +# Fort Marigot +<4621> +proj=longlat +ellps=intl +towgs84=137,248,-430,0,0,0,0 +no_defs <> +# Guadeloupe 1948 +<4622> +proj=longlat +ellps=intl +no_defs <> +# CSG67 +<4623> +proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0 +no_defs <> +# RGFG95 +<4624> +proj=longlat +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +no_defs <> +# Martinique 1938 +<4625> +proj=longlat +ellps=intl +no_defs <> +# Reunion 1947 +<4626> +proj=longlat +ellps=intl +no_defs <> +# RGR92 +<4627> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Tahiti 52 +<4628> +proj=longlat +ellps=intl +towgs84=162,117,154,0,0,0,0 +no_defs <> +# Tahaa 54 +<4629> +proj=longlat +ellps=intl +no_defs <> +# IGN72 Nuku Hiva +<4630> +proj=longlat +ellps=intl +no_defs <> +# K0 1949 +<4631> +proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs <> +# Combani 1950 +<4632> +proj=longlat +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +no_defs <> +# IGN56 Lifou +<4633> +proj=longlat +ellps=intl +no_defs <> +# IGN72 Grand Terre +<4634> +proj=longlat +ellps=intl +no_defs <> +# ST87 Ouvea +<4635> +proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +no_defs <> +# Petrels 1972 +<4636> +proj=longlat +ellps=intl +towgs84=365,194,166,0,0,0,0 +no_defs <> +# Perroud 1950 +<4637> +proj=longlat +ellps=intl +towgs84=325,154,172,0,0,0,0 +no_defs <> +# Saint Pierre et Miquelon 1950 +<4638> +proj=longlat +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +no_defs <> +# MOP78 +<4639> +proj=longlat +ellps=intl +no_defs <> +# RRAF 1991 +<4640> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# IGN53 Mare +<4641> +proj=longlat +ellps=intl +no_defs <> +# ST84 Ile des Pins +<4642> +proj=longlat +ellps=intl +no_defs <> +# ST71 Belep +<4643> +proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +no_defs <> +# NEA74 Noumea +<4644> +proj=longlat +ellps=intl +no_defs <> +# RGNC 1991 +<4645> +proj=longlat +ellps=intl +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Grand Comoros +<4646> +proj=longlat +ellps=intl +no_defs <> +# Reykjavik 1900 +<4657> +proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28,199,5,0,0,0,0 +no_defs <> +# Hjorsey 1955 +<4658> +proj=longlat +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +no_defs <> +# ISN93 +<4659> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Helle 1954 +<4660> +proj=longlat +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +no_defs <> +# LKS92 +<4661> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# IGN72 Grande Terre +<4662> +proj=longlat +ellps=intl +no_defs <> +# Porto Santo 1995 +<4663> +proj=longlat +ellps=intl +no_defs <> +# Azores Oriental 1995 +<4664> +proj=longlat +ellps=intl +no_defs <> +# Azores Central 1995 +<4665> +proj=longlat +ellps=intl +no_defs <> +# Lisbon 1890 +<4666> +proj=longlat +ellps=bessel +no_defs <> +# IKBD-92 +<4667> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# ED79 +<4668> +proj=longlat +ellps=intl +towgs84=-86,-98,-119,0,0,0,0 +no_defs <> +# LKS94 +<4669> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# IGM95 +<4670> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Voirol 1879 +<4671> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <> +# Chatham Islands 1971 +<4672> +proj=longlat +ellps=intl +towgs84=175,-38,113,0,0,0,0 +no_defs <> +# Chatham Islands 1979 +<4673> +proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-0,0.554,0.2263 +no_defs <> +# SIRGAS 2000 +<4674> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Guam 1963 +<4675> +proj=longlat +ellps=clrk66 +towgs84=-100,-248,259,0,0,0,0 +no_defs <> +# Vientiane 1982 +<4676> +proj=longlat +ellps=krass +no_defs <> +# Lao 1993 +<4677> +proj=longlat +ellps=krass +no_defs <> +# Lao 1997 +<4678> +proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.544,0,0,0,0 +no_defs <> +# Jouik 1961 +<4679> +proj=longlat +ellps=clrk80 +towgs84=-80.01,253.26,291.19,0,0,0,0 +no_defs <> +# Nouakchott 1965 +<4680> +proj=longlat +ellps=clrk80 +towgs84=124.5,-63.5,-281,0,0,0,0 +no_defs <> +# Mauritania 1999 +<4681> +proj=longlat +ellps=clrk80 +no_defs <> +# Gulshan 303 +<4682> +proj=longlat +a=6377276.345 +b=6356075.41314024 +no_defs <> +# PRS92 +<4683> +proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +no_defs <> +# Gan 1970 +<4684> +proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0 +no_defs <> +# Gandajika +<4685> +proj=longlat +ellps=intl +no_defs <> +# MAGNA-SIRGAS +<4686> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# RGPF +<4687> +proj=longlat +ellps=GRS80 +no_defs <> +# Fatu Iva 72 +<4688> +proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +no_defs <> +# IGN63 Hiva Oa +<4689> +proj=longlat +ellps=intl +no_defs <> +# Tahiti 79 +<4690> +proj=longlat +ellps=intl +no_defs <> +# Moorea 87 +<4691> +proj=longlat +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +no_defs <> +# Maupiti 83 +<4692> +proj=longlat +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +no_defs <> +# Nakhl-e Ghanem +<4693> +proj=longlat +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +no_defs <> +# POSGAR 94 +<4694> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Katanga 1955 +<4695> +proj=longlat +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +no_defs <> +# Kasai 1953 +<4696> +proj=longlat +ellps=clrk80 +no_defs <> +# IGC 1962 6th Parallel South +<4697> +proj=longlat +ellps=clrk80 +no_defs <> +# IGN 1962 Kerguelen +<4698> +proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0 +no_defs <> +# Le Pouce 1934 +<4699> +proj=longlat +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +no_defs <> +# IGN Astro 1960 +<4700> +proj=longlat +ellps=clrk80 +no_defs <> +# IGCB 1955 +<4701> +proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +no_defs <> +# Mauritania 1999 +<4702> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Mhast 1951 +<4703> +proj=longlat +ellps=clrk80 +no_defs <> +# Mhast (onshore) +<4704> +proj=longlat +ellps=intl +no_defs <> +# Mhast (offshore) +<4705> +proj=longlat +ellps=intl +no_defs <> +# Egypt Gulf of Suez S-650 TL +<4706> +proj=longlat +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0 +no_defs <> +# Tern Island 1961 +<4707> +proj=longlat +ellps=intl +towgs84=114,-116,-333,0,0,0,0 +no_defs <> +# Cocos Islands 1965 +<4708> +proj=longlat +ellps=aust_SA +towgs84=-491,-22,435,0,0,0,0 +no_defs <> +# Iwo Jima 1945 +<4709> +proj=longlat +ellps=intl +towgs84=145,75,-272,0,0,0,0 +no_defs <> +# St. Helena 1971 +<4710> +proj=longlat +ellps=intl +towgs84=-320,550,-494,0,0,0,0 +no_defs <> +# Marcus Island 1952 +<4711> +proj=longlat +ellps=intl +towgs84=124,-234,-25,0,0,0,0 +no_defs <> +# Ascension Island 1958 +<4712> +proj=longlat +ellps=intl +towgs84=-205,107,53,0,0,0,0 +no_defs <> +# Ayabelle Lighthouse +<4713> +proj=longlat +ellps=clrk80 +towgs84=-79,-129,145,0,0,0,0 +no_defs <> +# Bellevue +<4714> +proj=longlat +ellps=intl +towgs84=-127,-769,472,0,0,0,0 +no_defs <> +# Camp Area Astro +<4715> +proj=longlat +ellps=intl +towgs84=-104,-129,239,0,0,0,0 +no_defs <> +# Phoenix Islands 1966 +<4716> +proj=longlat +ellps=intl +towgs84=298,-304,-375,0,0,0,0 +no_defs <> +# Cape Canaveral +<4717> +proj=longlat +ellps=clrk66 +towgs84=-2,151,181,0,0,0,0 +no_defs <> +# Solomon 1968 +<4718> +proj=longlat +ellps=intl +no_defs <> +# Easter Island 1967 +<4719> +proj=longlat +ellps=intl +towgs84=211,147,111,0,0,0,0 +no_defs <> +# Fiji 1986 +<4720> +proj=longlat +ellps=WGS72 +no_defs <> +# Fiji 1956 +<4721> +proj=longlat +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +no_defs <> +# South Georgia 1968 +<4722> +proj=longlat +ellps=intl +towgs84=-794,119,-298,0,0,0,0 +no_defs <> +# Grand Cayman 1959 +<4723> +proj=longlat +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +no_defs <> +# Diego Garcia 1969 +<4724> +proj=longlat +ellps=intl +towgs84=208,-435,-229,0,0,0,0 +no_defs <> +# Johnston Island 1961 +<4725> +proj=longlat +ellps=intl +towgs84=189,-79,-202,0,0,0,0 +no_defs <> +# Little Cayman 1961 +<4726> +proj=longlat +ellps=clrk66 +no_defs <> +# Midway 1961 +<4727> +proj=longlat +ellps=intl +no_defs <> +# Pico de las Nieves 1984 +<4728> +proj=longlat +ellps=intl +towgs84=-307,-92,127,0,0,0,0 +no_defs <> +# Pitcairn 1967 +<4729> +proj=longlat +ellps=intl +towgs84=185,165,42,0,0,0,0 +no_defs <> +# Santo 1965 +<4730> +proj=longlat +ellps=intl +towgs84=170,42,84,0,0,0,0 +no_defs <> +# Viti Levu 1916 +<4731> +proj=longlat +ellps=clrk80 +towgs84=51,391,-36,0,0,0,0 +no_defs <> +# Marshall Islands 1960 +<4732> +proj=longlat +a=6378270 +b=6356794.343434343 +towgs84=102,52,-38,0,0,0,0 +no_defs <> +# Wake Island 1952 +<4733> +proj=longlat +ellps=intl +towgs84=276,-57,149,0,0,0,0 +no_defs <> +# Tristan 1968 +<4734> +proj=longlat +ellps=intl +towgs84=-632,438,-609,0,0,0,0 +no_defs <> +# Kusaie 1951 +<4735> +proj=longlat +ellps=intl +towgs84=647,1777,-1124,0,0,0,0 +no_defs <> +# Deception Island +<4736> +proj=longlat +ellps=clrk80 +towgs84=260,12,-147,0,0,0,0 +no_defs <> +# Korea 2000 +<4737> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Hong Kong 1963 +<4738> +proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs <> +# Hong Kong 1963(67) +<4739> +proj=longlat +ellps=intl +towgs84=-156,-271,-189,0,0,0,0 +no_defs <> +# PZ-90 +<4740> +proj=longlat +a=6378136 +b=6356751.361745712 +no_defs <> +# FD54 +<4741> +proj=longlat +ellps=intl +no_defs <> +# GDM2000 +<4742> +proj=longlat +ellps=GRS80 +no_defs <> +# Karbala 1979 +<4743> +proj=longlat +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +no_defs <> +# Nahrwan 1934 +<4744> +proj=longlat +ellps=clrk80 +no_defs <> +# RD/83 +<4745> +proj=longlat +ellps=bessel +no_defs <> +# PD/83 +<4746> +proj=longlat +ellps=bessel +no_defs <> +# GR96 +<4747> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Vanua Levu 1915 +<4748> +proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs <> +# RGNC91-93 +<4749> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# ST87 Ouvea +<4750> +proj=longlat +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +no_defs <> +# Kertau (RSO) +<4751> +proj=longlat +a=6377295.664 +b=6356094.667915204 +no_defs <> +# Viti Levu 1912 +<4752> +proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +no_defs <> +# fk89 +<4753> +proj=longlat +ellps=intl +no_defs <> +# LGD2006 +<4754> +proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +no_defs <> +# DGN95 +<4755> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# VN-2000 +<4756> +proj=longlat +ellps=WGS84 +no_defs <> +# SVY21 +<4757> +proj=longlat +ellps=WGS84 +no_defs <> +# JAD2001 +<4758> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# NAD83(NSRS2007) +<4759> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# WGS 66 +<4760> +proj=longlat +ellps=WGS66 +no_defs <> +# HTRS96 +<4761> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# BDA2000 +<4762> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Pitcairn 2006 +<4763> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# RSRGD2000 +<4764> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Slovenia 1996 +<4765> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <> +# Bern 1898 (Bern) +<4801> +proj=longlat +ellps=bessel +pm=bern +no_defs <> +# Bogota 1975 (Bogota) +<4802> +proj=longlat +ellps=intl +pm=bogota +no_defs <> +# Lisbon (Lisbon) +<4803> +proj=longlat +ellps=intl +pm=lisbon +no_defs <> +# Makassar (Jakarta) +<4804> +proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +no_defs <> +# MGI (Ferro) +<4805> +proj=longlat +ellps=bessel +pm=ferro +no_defs <> +# Monte Mario (Rome) +<4806> +proj=longlat +ellps=intl +pm=rome +no_defs <> +# NTF (Paris) +<4807> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +no_defs <> +# Padang (Jakarta) +<4808> +proj=longlat +ellps=bessel +pm=jakarta +no_defs <> +# Belge 1950 (Brussels) +<4809> +proj=longlat +ellps=intl +pm=brussels +no_defs <> +# Tananarive (Paris) +<4810> +proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +no_defs <> +# Voirol 1875 (Paris) +<4811> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +pm=paris +no_defs <> +# Batavia (Jakarta) +<4813> +proj=longlat +ellps=bessel +pm=jakarta +no_defs <> +# RT38 (Stockholm) +<4814> +proj=longlat +ellps=bessel +pm=stockholm +no_defs <> +# Greek (Athens) +<4815> +proj=longlat +ellps=bessel +pm=athens +no_defs <> +# Carthage (Paris) +<4816> +proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs <> +# NGO 1948 (Oslo) +<4817> +proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +no_defs <> +# S-JTSK (Ferro) +<4818> +proj=longlat +ellps=bessel +pm=ferro +no_defs <> +# Nord Sahara 1959 (Paris) +<4819> +proj=longlat +ellps=clrk80 +pm=paris +no_defs <> +# Segara (Jakarta) +<4820> +proj=longlat +ellps=bessel +pm=jakarta +no_defs <> +# Voirol 1879 (Paris) +<4821> +proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs <> +# unnamed ellipse +<4901> +proj=longlat +a=6376523 +b=6355862.933255573 +pm=2.3372291666985 +no_defs <> +# NDG (Paris) +<4902> +proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris +no_defs <> +# Madrid 1870 (Madrid) +<4903> +proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madrid +no_defs <> +# Lisbon 1890 (Lisbon) +<4904> +proj=longlat +ellps=bessel +pm=lisbon +no_defs <> +# Anguilla 1957 / British West Indies Grid +<2000> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs <> +# Antigua 1943 / British West Indies Grid +<2001> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs <> +# Dominica 1945 / British West Indies Grid +<2002> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +units=m +no_defs <> +# Grenada 1953 / British West Indies Grid +<2003> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +units=m +no_defs <> +# Montserrat 1958 / British West Indies Grid +<2004> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +units=m +no_defs <> +# St. Kitts 1955 / British West Indies Grid +<2005> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs <> +# St. Lucia 1955 / British West Indies Grid +<2006> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +units=m +no_defs <> +# St. Vincent 45 / British West Indies Grid +<2007> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 2 +<2008> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 3 +<2009> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 4 +<2010> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 5 +<2011> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 6 +<2012> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 7 +<2013> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 8 +<2014> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 9 +<2015> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / SCoPQ zone 10 +<2016> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 8 +<2017> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 9 +<2018> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 10 +<2019> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 11 +<2020> +proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 12 +<2021> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 13 +<2022> +proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 14 +<2023> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 15 +<2024> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 16 +<2025> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / MTM zone 17 +<2026> +proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / UTM zone 15N +<2027> +proj=utm +zone=15 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / UTM zone 16N +<2028> +proj=utm +zone=16 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / UTM zone 17N +<2029> +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs <> +# NAD27(76) / UTM zone 18N +<2030> +proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / UTM zone 17N +<2031> +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / UTM zone 18N +<2032> +proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / UTM zone 19N +<2033> +proj=utm +zone=19 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / UTM zone 20N +<2034> +proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs <> +# NAD27(CGQ77) / UTM zone 21N +<2035> +proj=utm +zone=21 +ellps=clrk66 +units=m +no_defs <> +# NAD83(CSRS98) / New Brunswick Stereo (deprecated) +<2036> +proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 19N (deprecated) +<2037> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 20N (deprecated) +<2038> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Israel / Israeli TM Grid +<2039> +proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +units=m +no_defs <> +# Locodjo 1965 / UTM zone 30N +<2040> +proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs <> +# Abidjan 1987 / UTM zone 30N +<2041> +proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs <> +# Locodjo 1965 / UTM zone 29N +<2042> +proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs <> +# Abidjan 1987 / UTM zone 29N +<2043> +proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs <> +# Hanoi 1972 / Gauss-Kruger zone 18 +<2044> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs <> +# Hanoi 1972 / Gauss-Kruger zone 19 +<2045> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs <> +# Hartebeesthoek94 / Lo15 +# Unable to translate coordinate system EPSG:2046 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo17 +# Unable to translate coordinate system EPSG:2047 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo19 +# Unable to translate coordinate system EPSG:2048 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo21 +# Unable to translate coordinate system EPSG:2049 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo23 +# Unable to translate coordinate system EPSG:2050 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo25 +# Unable to translate coordinate system EPSG:2051 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo27 +# Unable to translate coordinate system EPSG:2052 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo29 +# Unable to translate coordinate system EPSG:2053 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo31 +# Unable to translate coordinate system EPSG:2054 into PROJ.4 format. +# +# Hartebeesthoek94 / Lo33 +# Unable to translate coordinate system EPSG:2055 into PROJ.4 format. +# +# CH1903+ / LV95 +<2056> +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs <> +# Rassadiran / Nakhl e Taqi +<2057> +proj=omerc +lat_0=27.51882880555555 +lonc=52.60353916666667 +alpha=0.5716611944444444 +k=0.999895934 +x_0=658377.437 +y_0=3044969.194 +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +units=m +no_defs <> +# ED50(ED77) / UTM zone 38N +<2058> +proj=utm +zone=38 +ellps=intl +units=m +no_defs <> +# ED50(ED77) / UTM zone 39N +<2059> +proj=utm +zone=39 +ellps=intl +units=m +no_defs <> +# ED50(ED77) / UTM zone 40N +<2060> +proj=utm +zone=40 +ellps=intl +units=m +no_defs <> +# ED50(ED77) / UTM zone 41N +<2061> +proj=utm +zone=41 +ellps=intl +units=m +no_defs <> +# Madrid 1870 (Madrid) / Spain +<2062> +proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669561 +pm=madrid +units=m +no_defs <> +# Dabola 1981 / UTM zone 28N (deprecated) +<2063> +proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs <> +# Dabola 1981 / UTM zone 29N (deprecated) +<2064> +proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs <> +# S-JTSK (Ferro) / Krovak +<2065> +proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# Mount Dillon / Tobago Grid +<2066> +proj=cass +lat_0=11.25217861111111 +lon_0=-60.68600888888889 +x_0=37718.66159325 +y_0=36209.91512952 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 +no_defs <> +# Naparima 1955 / UTM zone 20N +<2067> +proj=utm +zone=20 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 5 +<2068> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 6 +<2069> +proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 7 +<2070> +proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 8 +<2071> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 9 +<2072> +proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 10 +<2073> +proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 11 +<2074> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 12 +<2075> +proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / Libya zone 13 +<2076> +proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ELD79 / UTM zone 32N +<2077> +proj=utm +zone=32 +ellps=intl +units=m +no_defs <> +# ELD79 / UTM zone 33N +<2078> +proj=utm +zone=33 +ellps=intl +units=m +no_defs <> +# ELD79 / UTM zone 34N +<2079> +proj=utm +zone=34 +ellps=intl +units=m +no_defs <> +# ELD79 / UTM zone 35N +<2080> +proj=utm +zone=35 +ellps=intl +units=m +no_defs <> +# Chos Malal 1914 / Argentina zone 2 +<2081> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Pampa del Castillo / Argentina zone 2 +<2082> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +units=m +no_defs <> +# Hito XVIII 1963 / Argentina zone 2 +<2083> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Hito XVIII 1963 / UTM zone 19S +<2084> +proj=utm +zone=19 +south +ellps=intl +units=m +no_defs <> +# NAD27 / Cuba Norte (deprecated) +<2085> +proj=lcc +lat_1=22.35 +lat_0=22.35 +lon_0=-81 +k_0=0.99993602 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Cuba Sur (deprecated) +<2086> +proj=lcc +lat_1=20.71666666666667 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +k_0=0.99994848 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# ELD79 / TM 12 NE +<2087> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Carthage / TM 11 NE +<2088> +proj=tmerc +lat_0=0 +lon_0=11 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +datum=carthage +units=m +no_defs <> +# Yemen NGN96 / UTM zone 38N +<2089> +proj=utm +zone=38 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Yemen NGN96 / UTM zone 39N +<2090> +proj=utm +zone=39 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# South Yemen / Gauss Kruger zone 8 (deprecated) +<2091> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs <> +# South Yemen / Gauss Kruger zone 9 (deprecated) +<2092> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs <> +# Hanoi 1972 / GK 106 NE +<2093> +proj=tmerc +lat_0=0 +lon_0=106 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs <> +# WGS 72BE / TM 106 NE +<2094> +proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# Bissau / UTM zone 28N +<2095> +proj=utm +zone=28 +ellps=intl +towgs84=-173,253,27,0,0,0,0 +units=m +no_defs <> +# Korean 1985 / Korea East Belt +<2096> +proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <> +# Korean 1985 / Korea Central Belt +<2097> +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <> +# Korean 1985 / Korea West Belt +<2098> +proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <> +# Qatar 1948 / Qatar Grid +<2099> +proj=cass +lat_0=25.38236111111111 +lon_0=50.76138888888889 +x_0=100000 +y_0=100000 +ellps=helmert +units=m +no_defs <> +# GGRS87 / Greek Grid +<2100> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=GGRS87 +units=m +no_defs <> +# Lake / Maracaibo Grid M1 +<2101> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=0 +y_0=-52684.972 +ellps=intl +units=m +no_defs <> +# Lake / Maracaibo Grid +<2102> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=200000 +y_0=147315.028 +ellps=intl +units=m +no_defs <> +# Lake / Maracaibo Grid M3 +<2103> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=500000 +y_0=447315.028 +ellps=intl +units=m +no_defs <> +# Lake / Maracaibo La Rosa Grid +<2104> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=-17044 +y_0=-23139.97 +ellps=intl +units=m +no_defs <> +# NZGD2000 / Mount Eden 2000 +<2105> +proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666666667 +k=0.9999 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Bay of Plenty 2000 +<2106> +proj=tmerc +lat_0=-37.76111111111111 +lon_0=176.4661111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Poverty Bay 2000 +<2107> +proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555555556 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Hawkes Bay 2000 +<2108> +proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Taranaki 2000 +<2109> +proj=tmerc +lat_0=-39.13555555555556 +lon_0=174.2277777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Tuhirangi 2000 +<2110> +proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Wanganui 2000 +<2111> +proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Wairarapa 2000 +<2112> +proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Wellington 2000 +<2113> +proj=tmerc +lat_0=-41.3011111111111 +lon_0=174.7763888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Collingwood 2000 +<2114> +proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Nelson 2000 +<2115> +proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666666667 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Karamea 2000 +<2116> +proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Buller 2000 +<2117> +proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Grey 2000 +<2118> +proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Amuri 2000 +<2119> +proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Marlborough 2000 +<2120> +proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Hokitika 2000 +<2121> +proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Okarito 2000 +<2122> +proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Jacksons Bay 2000 +<2123> +proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Mount Pleasant 2000 +<2124> +proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444444445 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Gawler 2000 +<2125> +proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Timaru 2000 +<2126> +proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Lindis Peak 2000 +<2127> +proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Mount Nicholas 2000 +<2128> +proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Mount York 2000 +<2129> +proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Observation Point 2000 +<2130> +proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / North Taieri 2000 +<2131> +proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k=0.99996 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Bluff 2000 +<2132> +proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / UTM zone 58S +<2133> +proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / UTM zone 59S +<2134> +proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / UTM zone 60S +<2135> +proj=utm +zone=60 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Accra / Ghana National Grid +<2136> +proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.7391633579 +y_0=0 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs <> +# Accra / TM 1 NW +<2137> +proj=tmerc +lat_0=0 +lon_0=-1 +k=0.9996 +x_0=500000 +y_0=0 +a=6378300 +b=6356751.689189189 +units=m +no_defs <> +# NAD27(CGQ77) / Quebec Lambert +<2138> +proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# NAD83(CSRS98) / SCoPQ zone 2 (deprecated) +<2139> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 3 (deprecated) +<2140> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 4 (deprecated) +<2141> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 5 (deprecated) +<2142> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 6 (deprecated) +<2143> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 7 (deprecated) +<2144> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 8 (deprecated) +<2145> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 9 (deprecated) +<2146> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / MTM zone 10 (deprecated) +<2147> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 21N (deprecated) +<2148> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 18N (deprecated) +<2149> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 17N (deprecated) +<2150> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 13N (deprecated) +<2151> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 12N (deprecated) +<2152> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS98) / UTM zone 11N (deprecated) +<2153> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / Lambert-93 +<2154> +proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# American Samoa 1962 / American Samoa Lambert (deprecated) +<2155> +proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(HARN) / UTM zone 59S (deprecated) +<2156> +proj=utm +zone=59 +south +ellps=GRS80 +units=m +no_defs <> +# IRENET95 / Irish Transverse Mercator +<2157> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=0.99982 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# IRENET95 / UTM zone 29N +<2158> +proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Sierra Leone 1924 / New Colony Grid +<2159> +proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=152399.8550907544 +y_0=0 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs <> +# Sierra Leone 1924 / New War Office Grid +<2160> +proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=243839.7681452071 +y_0=182879.8261089053 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs <> +# Sierra Leone 1968 / UTM zone 28N +<2161> +proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs <> +# Sierra Leone 1968 / UTM zone 29N +<2162> +proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs <> +# unnamed +<2163> +proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997 +b=6370997 +units=m +no_defs <> +# Locodjo 1965 / TM 5 NW +<2164> +proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs <> +# Abidjan 1987 / TM 5 NW +<2165> +proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs <> +# Pulkovo 1942(83) / Gauss Kruger zone 3 (deprecated) +<2166> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / Gauss Kruger zone 4 (deprecated) +<2167> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / Gauss Kruger zone 5 (deprecated) +<2168> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Luxembourg 1930 / Gauss +<2169> +proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +units=m +no_defs <> +# MGI / Slovenia Grid (deprecated) +<2170> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# Pulkovo 1942(58) / Poland zone I (deprecated) +<2171> +proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5647000 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Poland zone II +<2172> +proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777777778 +k=0.9998 +x_0=4603000 +y_0=5806000 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Poland zone III +<2173> +proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333333333 +k=0.9998 +x_0=3501000 +y_0=5999000 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Poland zone IV +<2174> +proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222222222 +k=0.9998 +x_0=3703000 +y_0=5627000 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Poland zone V +<2175> +proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 +y_0=-4700000 +ellps=krass +units=m +no_defs <> +# ETRS89 / Poland CS2000 zone 5 +<2176> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Poland CS2000 zone 6 +<2177> +proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Poland CS2000 zone 7 +<2178> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Poland CS2000 zone 8 +<2179> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Poland CS92 +<2180> +proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs <> +# Azores Occidental 1939 / UTM zone 25N +<2188> +proj=utm +zone=25 +ellps=intl +units=m +no_defs <> +# Azores Central 1948 / UTM zone 26N +<2189> +proj=utm +zone=26 +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +units=m +no_defs <> +# Azores Oriental 1940 / UTM zone 26N +<2190> +proj=utm +zone=26 +ellps=intl +towgs84=-203,141,53,0,0,0,0 +units=m +no_defs <> +# Madeira 1936 / UTM zone 28N (deprecated) +<2191> +proj=utm +zone=28 +ellps=intl +units=m +no_defs <> +# ED50 / France EuroLambert +<2192> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +ellps=intl +units=m +no_defs <> +# NZGD2000 / New Zealand Transverse Mercator 2000 +<2193> +proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# American Samoa 1962 / American Samoa Lambert (deprecated) +<2194> +proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(HARN) / UTM zone 2S +<2195> +proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Kp2000 Jutland +<2196> +proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Kp2000 Zealand +<2197> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Kp2000 Bornholm +<2198> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# Albanian 1987 / Gauss Kruger zone 4 (deprecated) +<2199> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# ATS77 / New Brunswick Stereographic (ATS77) +<2200> +proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=300000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs <> +# REGVEN / UTM zone 18N +<2201> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# REGVEN / UTM zone 19N +<2202> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# REGVEN / UTM zone 20N +<2203> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD27 / Tennessee +<2204> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=609601.2192024384 +y_0=30480.06096012192 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD83 / Kentucky North +<2205> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 9 +<2206> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 10 +<2207> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 11 +<2208> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 12 +<2209> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 13 +<2210> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 14 +<2211> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 15 +<2212> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ETRS89 / TM 30 NE +<2213> +proj=tmerc +lat_0=0 +lon_0=30 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# Douala 1948 / AOF west (deprecated) +<2214> +proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs <> +# Manoca 1962 / UTM zone 32N +<2215> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +units=m +no_defs <> +# Qornoq 1927 / UTM zone 22N +<2216> +proj=utm +zone=22 +ellps=intl +units=m +no_defs <> +# Qornoq 1927 / UTM zone 23N +<2217> +proj=utm +zone=23 +ellps=intl +units=m +no_defs <> +# Scoresbysund 1952 / Greenland zone 5 east +# Unable to translate coordinate system EPSG:2218 into PROJ.4 format. +# +# ATS77 / UTM zone 19N +<2219> +proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +units=m +no_defs <> +# ATS77 / UTM zone 20N +<2220> +proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +units=m +no_defs <> +# Scoresbysund 1952 / Greenland zone 6 east +# Unable to translate coordinate system EPSG:2221 into PROJ.4 format. +# +# NAD83 / Arizona East (ft) +<2222> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Arizona Central (ft) +<2223> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Arizona West (ft) +<2224> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / California zone 1 (ftUS) +<2225> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / California zone 2 (ftUS) +<2226> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / California zone 3 (ftUS) +<2227> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / California zone 4 (ftUS) +<2228> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / California zone 5 (ftUS) +<2229> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / California zone 6 (ftUS) +<2230> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Colorado North (ftUS) +<2231> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Colorado Central (ftUS) +<2232> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Colorado South (ftUS) +<2233> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Connecticut (ftUS) +<2234> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Delaware (ftUS) +<2235> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Florida East (ftUS) +<2236> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Florida West (ftUS) +<2237> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Florida North (ftUS) +<2238> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Georgia East (ftUS) +<2239> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Georgia West (ftUS) +<2240> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Idaho East (ftUS) +<2241> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Idaho Central (ftUS) +<2242> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Idaho West (ftUS) +<2243> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Indiana East (ftUS) (deprecated) +<2244> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Indiana West (ftUS) (deprecated) +<2245> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Kentucky North (ftUS) +<2246> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Kentucky South (ftUS) +<2247> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Maryland (ftUS) +<2248> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Massachusetts Mainland (ftUS) +<2249> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Massachusetts Island (ftUS) +<2250> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Michigan North (ft) +<2251> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Michigan Central (ft) +<2252> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Michigan South (ft) +<2253> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Mississippi East (ftUS) +<2254> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Mississippi West (ftUS) +<2255> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Montana (ft) +<2256> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / New Mexico East (ftUS) +<2257> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New Mexico Central (ftUS) +<2258> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New Mexico West (ftUS) +<2259> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New York East (ftUS) +<2260> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New York Central (ftUS) +<2261> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New York West (ftUS) +<2262> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New York Long Island (ftUS) +<2263> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / North Carolina (ftUS) +<2264> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / North Dakota North (ft) +<2265> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / North Dakota South (ft) +<2266> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Oklahoma North (ftUS) +<2267> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Oklahoma South (ftUS) +<2268> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Oregon North (ft) +<2269> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Oregon South (ft) +<2270> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Pennsylvania North (ftUS) +<2271> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Pennsylvania South (ftUS) +<2272> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / South Carolina (ft) +<2273> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Tennessee (ftUS) +<2274> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Texas North (ftUS) +<2275> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Texas North Central (ftUS) +<2276> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Texas Central (ftUS) +<2277> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Texas South Central (ftUS) +<2278> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Texas South (ftUS) +<2279> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Utah North (ft) +<2280> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Utah Central (ft) +<2281> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Utah South (ft) +<2282> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83 / Virginia North (ftUS) +<2283> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Virginia South (ftUS) +<2284> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Washington North (ftUS) +<2285> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Washington South (ftUS) +<2286> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Wisconsin North (ftUS) +<2287> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Wisconsin Central (ftUS) +<2288> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Wisconsin South (ftUS) +<2289> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# ATS77 / Prince Edward Isl. Stereographic (ATS77) +<2290> +proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=700000 +y_0=400000 +a=6378135 +b=6356750.304921594 +units=m +no_defs <> +# NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) (deprecated) +<2291> +proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs <> +# NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) (deprecated) +<2292> +proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# ATS77 / MTM Nova Scotia zone 4 +<2294> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=4500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs <> +# ATS77 / MTM Nova Scotia zone 5 +<2295> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=5500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs <> +# Ammassalik 1958 / Greenland zone 7 east +# Unable to translate coordinate system EPSG:2296 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 1 east (deprecated) +# Unable to translate coordinate system EPSG:2297 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 2 east (deprecated) +# Unable to translate coordinate system EPSG:2298 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 2 west +# Unable to translate coordinate system EPSG:2299 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 3 east (deprecated) +# Unable to translate coordinate system EPSG:2300 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 3 west +# Unable to translate coordinate system EPSG:2301 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 4 east (deprecated) +# Unable to translate coordinate system EPSG:2302 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 4 west +# Unable to translate coordinate system EPSG:2303 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 5 west +# Unable to translate coordinate system EPSG:2304 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 6 west +# Unable to translate coordinate system EPSG:2305 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 7 west +# Unable to translate coordinate system EPSG:2306 into PROJ.4 format. +# +# Qornoq 1927 / Greenland zone 8 east +# Unable to translate coordinate system EPSG:2307 into PROJ.4 format. +# +# Batavia / TM 109 SE +<2308> +proj=tmerc +lat_0=0 +lon_0=109 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=bessel +units=m +no_defs <> +# WGS 84 / TM 116 SE +<2309> +proj=tmerc +lat_0=0 +lon_0=116 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / TM 132 SE +<2310> +proj=tmerc +lat_0=0 +lon_0=132 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / TM 6 NE +<2311> +proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# Garoua / UTM zone 33N +<2312> +proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs <> +# Kousseri / UTM zone 33N +<2313> +proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs <> +# Trinidad 1903 / Trinidad Grid (ftCla) +<2314> +proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392052001 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs <> +# Campo Inchauspe / UTM zone 19S +<2315> +proj=utm +zone=19 +south +ellps=intl +units=m +no_defs <> +# Campo Inchauspe / UTM zone 20S +<2316> +proj=utm +zone=20 +south +ellps=intl +units=m +no_defs <> +# PSAD56 / ICN Regional +<2317> +proj=lcc +lat_1=9 +lat_2=3 +lat_0=6 +lon_0=-66 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs <> +# Ain el Abd / Aramco Lambert +<2318> +proj=lcc +lat_1=17 +lat_2=33 +lat_0=25.08951 +lon_0=48 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM27 +<2319> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM30 +<2320> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM33 +<2321> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM36 +<2322> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM39 +<2323> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM42 +<2324> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM45 +<2325> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Hong Kong 1980 Grid System +<2326> +proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 13 +<2327> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 14 +<2328> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 15 +<2329> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 16 +<2330> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 17 +<2331> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 18 +<2332> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 19 +<2333> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 20 +<2334> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 21 +<2335> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 22 +<2336> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger zone 23 +<2337> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 75E +<2338> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 81E +<2339> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 87E +<2340> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 93E +<2341> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 99E +<2342> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 105E +<2343> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 111E +<2344> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 117E +<2345> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 123E +<2346> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 129E +<2347> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / Gauss-Kruger CM 135E +<2348> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 25 +<2349> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 26 +<2350> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 27 +<2351> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 28 +<2352> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 29 +<2353> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 30 +<2354> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 31 +<2355> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 32 +<2356> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 33 +<2357> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 34 +<2358> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 35 +<2359> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 36 +<2360> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 37 +<2361> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 38 +<2362> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 39 +<2363> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 40 +<2364> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 41 +<2365> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 42 +<2366> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 43 +<2367> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 44 +<2368> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 45 +<2369> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 75E +<2370> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 78E +<2371> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 81E +<2372> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 84E +<2373> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 87E +<2374> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 90E +<2375> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 93E +<2376> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 96E +<2377> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 99E +<2378> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 102E +<2379> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 105E +<2380> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 108E +<2381> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 111E +<2382> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 114E +<2383> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 117E +<2384> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 120E +<2385> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 123E +<2386> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 126E +<2387> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 129E +<2388> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 132E +<2389> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 135E +<2390> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs <> +# KKJ / Finland zone 1 +<2391> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# KKJ / Finland zone 2 +<2392> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# KKJ / Finland Uniform Coordinate System +<2393> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# KKJ / Finland zone 4 +<2394> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# South Yemen / Gauss-Kruger zone 8 +<2395> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs <> +# South Yemen / Gauss-Kruger zone 9 +<2396> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs <> +# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3 +<2397> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4 +<2398> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5 +<2399> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# RT90 2.5 gon W (deprecated) +<2400> +proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 25 +<2401> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 26 +<2402> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 27 +<2403> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 28 +<2404> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 29 +<2405> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 30 +<2406> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 31 +<2407> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 32 +<2408> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 33 +<2409> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 34 +<2410> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 35 +<2411> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 36 +<2412> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 37 +<2413> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 38 +<2414> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 39 +<2415> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 40 +<2416> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 41 +<2417> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 42 +<2418> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 43 +<2419> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 44 +<2420> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 45 +<2421> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 75E +<2422> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 78E +<2423> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 81E +<2424> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 84E +<2425> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 87E +<2426> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 90E +<2427> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 93E +<2428> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 96E +<2429> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 99E +<2430> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 102E +<2431> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 105E +<2432> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 108E +<2433> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 111E +<2434> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 114E +<2435> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 117E +<2436> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 120E +<2437> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 123E +<2438> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 126E +<2439> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 129E +<2440> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 132E +<2441> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 135E +<2442> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS I +<2443> +proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS II +<2444> +proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS III +<2445> +proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS IV +<2446> +proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS V +<2447> +proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS VI +<2448> +proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS VII +<2449> +proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS VIII +<2450> +proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS IX +<2451> +proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS X +<2452> +proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XI +<2453> +proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XII +<2454> +proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XIII +<2455> +proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XIV +<2456> +proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XV +<2457> +proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XVI +<2458> +proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XVII +<2459> +proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XVIII +<2460> +proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / Japan Plane Rectangular CS XIX +<2461> +proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Albanian 1987 / Gauss-Kruger zone 4 +<2462> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 21E +<2463> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 27E +<2464> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 33E +<2465> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 39E +<2466> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 45E +<2467> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 51E +<2468> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 57E +<2469> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 63E +<2470> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 69E +<2471> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 75E +<2472> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 81E +<2473> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 87E +<2474> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 93E +<2475> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 99E +<2476> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 105E +<2477> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 111E +<2478> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 117E +<2479> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 123E +<2480> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 129E +<2481> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 135E +<2482> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 141E +<2483> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 147E +<2484> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 153E +<2485> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 159E +<2486> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 165E +<2487> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 171E +<2488> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 177E +<2489> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 177W +<2490> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 171W +<2491> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 9E (deprecated) +<2492> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 15E (deprecated) +<2493> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 21E +<2494> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 27E +<2495> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 33E +<2496> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 39E +<2497> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 45E +<2498> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 51E +<2499> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 57E +<2500> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 63E +<2501> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 69E +<2502> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 75E +<2503> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 81E +<2504> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 87E +<2505> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 93E +<2506> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 99E +<2507> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 105E +<2508> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 111E +<2509> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 117E +<2510> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 123E +<2511> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 129E +<2512> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 135E +<2513> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 141E +<2514> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 147E +<2515> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 153E +<2516> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 159E +<2517> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 165E +<2518> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 171E +<2519> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 177E +<2520> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 177W +<2521> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 171W +<2522> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 7 +<2523> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 8 +<2524> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 9 +<2525> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 10 +<2526> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 11 +<2527> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 12 +<2528> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 13 +<2529> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 14 +<2530> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 15 +<2531> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 16 +<2532> +proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 17 +<2533> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 18 +<2534> +proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 19 +<2535> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 20 +<2536> +proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 21 +<2537> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 22 +<2538> +proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 23 +<2539> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 24 +<2540> +proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 25 +<2541> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 26 +<2542> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 27 +<2543> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 28 +<2544> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 29 +<2545> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 30 +<2546> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 31 +<2547> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 32 +<2548> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 33 +<2549> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Samboja / UTM zone 50S (deprecated) +<2550> +proj=utm +zone=50 +south +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 34 +<2551> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 35 +<2552> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 36 +<2553> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 37 +<2554> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 38 +<2555> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 39 +<2556> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 40 +<2557> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 41 +<2558> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 42 +<2559> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 43 +<2560> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 44 +<2561> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 45 +<2562> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 46 +<2563> +proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 47 +<2564> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 48 +<2565> +proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 49 +<2566> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 50 +<2567> +proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 51 +<2568> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 52 +<2569> +proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 53 +<2570> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 54 +<2571> +proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 55 +<2572> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 56 +<2573> +proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 57 +<2574> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 58 +<2575> +proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 59 +<2576> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 60 (deprecated) +<2577> +proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 61 +<2578> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 62 +<2579> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 63 +<2580> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 64 +<2581> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 21E +<2582> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E +<2583> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E +<2584> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E +<2585> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E +<2586> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E +<2587> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E +<2588> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E +<2589> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E +<2590> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E +<2591> +proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E +<2592> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E +<2593> +proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E +<2594> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E +<2595> +proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E +<2596> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E +<2597> +proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E +<2598> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E +<2599> +proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Lietuvos Koordinoei Sistema 1994 (deprecated) +<2600> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 75E +<2601> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E +<2602> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E +<2603> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E +<2604> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E +<2605> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E +<2606> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E +<2607> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E +<2608> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E +<2609> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E +<2610> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 105E +<2611> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 108E +<2612> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 111E +<2613> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 114E +<2614> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 117E +<2615> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 120E +<2616> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 123E +<2617> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 126E +<2618> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 129E +<2619> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 132E +<2620> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 135E +<2621> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 138E +<2622> +proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 141E +<2623> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 144E +<2624> +proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 147E +<2625> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 150E +<2626> +proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 153E +<2627> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 156E +<2628> +proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 159E +<2629> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 162E +<2630> +proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 165E +<2631> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 168E +<2632> +proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 171E +<2633> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 174E +<2634> +proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 177E +<2635> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 180E +<2636> +proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 177W +<2637> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 174W +<2638> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 171W +<2639> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 168W +<2640> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 7 +<2641> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 8 +<2642> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 9 +<2643> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 10 +<2644> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 11 +<2645> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 12 +<2646> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 13 +<2647> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 14 +<2648> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 15 +<2649> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 16 +<2650> +proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 17 +<2651> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 18 +<2652> +proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 19 +<2653> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 20 +<2654> +proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 21 +<2655> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 22 +<2656> +proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 23 +<2657> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 24 +<2658> +proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 25 +<2659> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 26 +<2660> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 27 +<2661> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 28 +<2662> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 29 +<2663> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 30 +<2664> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 31 +<2665> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 32 +<2666> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 33 +<2667> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 34 +<2668> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 35 +<2669> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 36 +<2670> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 37 +<2671> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 38 +<2672> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 39 +<2673> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 40 +<2674> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 41 +<2675> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 42 +<2676> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 43 +<2677> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 44 +<2678> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 45 +<2679> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 46 +<2680> +proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 47 +<2681> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 48 +<2682> +proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 49 +<2683> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 50 +<2684> +proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 51 +<2685> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 52 +<2686> +proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 53 +<2687> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 54 +<2688> +proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 55 +<2689> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 56 +<2690> +proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 57 +<2691> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 58 +<2692> +proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 59 +<2693> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 (deprecated) +<2694> +proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 61 +<2695> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 62 +<2696> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 63 +<2697> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 64 +<2698> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E +<2699> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E +<2700> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E +<2701> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E +<2702> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E +<2703> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E +<2704> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E +<2705> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E +<2706> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E +<2707> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E +<2708> +proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E +<2709> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E +<2710> +proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E +<2711> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E +<2712> +proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E +<2713> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E +<2714> +proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E +<2715> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E +<2716> +proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E +<2717> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E +<2718> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E +<2719> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E +<2720> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E +<2721> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E +<2722> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E +<2723> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E +<2724> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E +<2725> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E +<2726> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E +<2727> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E +<2728> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 111E +<2729> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E +<2730> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E +<2731> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E +<2732> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E +<2733> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E +<2734> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E +<2735> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Tete / UTM zone 36S +<2736> +proj=utm +zone=36 +south +ellps=clrk66 +units=m +no_defs <> +# Tete / UTM zone 37S +<2737> +proj=utm +zone=37 +south +ellps=clrk66 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 132E +<2738> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E +<2739> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E +<2740> +proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E +<2741> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E +<2742> +proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E +<2743> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E +<2744> +proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E +<2745> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E +<2746> +proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E +<2747> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E +<2748> +proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E +<2749> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E +<2750> +proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E +<2751> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E +<2752> +proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E +<2753> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E +<2754> +proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W +<2755> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W +<2756> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W +<2757> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W +<2758> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# NAD83(HARN) / Alabama East +<2759> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Alabama West +<2760> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Arizona East +<2761> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Arizona Central +<2762> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Arizona West +<2763> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Arkansas North +<2764> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Arkansas South +<2765> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / California zone 1 +<2766> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / California zone 2 +<2767> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / California zone 3 +<2768> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / California zone 4 +<2769> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / California zone 5 +<2770> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / California zone 6 +<2771> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Colorado North +<2772> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Colorado Central +<2773> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Colorado South +<2774> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Connecticut +<2775> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Delaware +<2776> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Florida East +<2777> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Florida West +<2778> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Florida North +<2779> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Georgia East +<2780> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Georgia West +<2781> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Hawaii zone 1 +<2782> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Hawaii zone 2 +<2783> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Hawaii zone 3 +<2784> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Hawaii zone 4 +<2785> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Hawaii zone 5 +<2786> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Idaho East +<2787> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Idaho Central +<2788> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Idaho West +<2789> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Illinois East +<2790> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Illinois West +<2791> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Indiana East +<2792> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Indiana West +<2793> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Iowa North +<2794> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Iowa South +<2795> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Kansas North +<2796> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Kansas South +<2797> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Kentucky North +<2798> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Kentucky South +<2799> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Louisiana North +<2800> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Louisiana South +<2801> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Maine East +<2802> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Maine West +<2803> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Maryland +<2804> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Massachusetts Mainland +<2805> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Massachusetts Island +<2806> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Michigan North +<2807> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Michigan Central +<2808> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Michigan South +<2809> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Minnesota North +<2810> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Minnesota Central +<2811> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Minnesota South +<2812> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Mississippi East +<2813> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Mississippi West +<2814> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Missouri East +<2815> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Missouri Central +<2816> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Missouri West +<2817> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Montana +<2818> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Nebraska +<2819> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Nevada East +<2820> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Nevada Central +<2821> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Nevada West +<2822> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New Hampshire +<2823> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New Jersey +<2824> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New Mexico East +<2825> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New Mexico Central +<2826> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New Mexico West +<2827> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New York East +<2828> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New York Central +<2829> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New York West +<2830> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / New York Long Island +<2831> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / North Dakota North +<2832> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / North Dakota South +<2833> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Ohio North +<2834> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Ohio South +<2835> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Oklahoma North +<2836> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Oklahoma South +<2837> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Oregon North +<2838> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Oregon South +<2839> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Rhode Island +<2840> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / South Dakota North +<2841> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / South Dakota South +<2842> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Tennessee +<2843> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Texas North +<2844> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Texas North Central +<2845> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Texas Central +<2846> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Texas South Central +<2847> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Texas South +<2848> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Utah North +<2849> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Utah Central +<2850> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Utah South +<2851> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Vermont +<2852> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Virginia North +<2853> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Virginia South +<2854> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Washington North +<2855> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Washington South +<2856> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / West Virginia North +<2857> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / West Virginia South +<2858> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Wisconsin North +<2859> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Wisconsin Central +<2860> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Wisconsin South +<2861> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Wyoming East +<2862> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Wyoming East Central +<2863> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Wyoming West Central +<2864> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Wyoming West +<2865> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Puerto Rico and Virgin Is. +<2866> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Arizona East (ft) +<2867> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Arizona Central (ft) +<2868> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Arizona West (ft) +<2869> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / California zone 1 (ftUS) +<2870> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / California zone 2 (ftUS) +<2871> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / California zone 3 (ftUS) +<2872> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / California zone 4 (ftUS) +<2873> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / California zone 5 (ftUS) +<2874> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / California zone 6 (ftUS) +<2875> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Colorado North (ftUS) +<2876> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Colorado Central (ftUS) +<2877> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Colorado South (ftUS) +<2878> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Connecticut (ftUS) +<2879> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Delaware (ftUS) +<2880> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Florida East (ftUS) +<2881> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Florida West (ftUS) +<2882> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Florida North (ftUS) +<2883> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Georgia East (ftUS) +<2884> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Georgia West (ftUS) +<2885> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Idaho East (ftUS) +<2886> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Idaho Central (ftUS) +<2887> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Idaho West (ftUS) +<2888> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Indiana East (ftUS) (deprecated) +<2889> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Indiana West (ftUS) (deprecated) +<2890> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Kentucky North (ftUS) +<2891> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Kentucky South (ftUS) +<2892> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Maryland (ftUS) +<2893> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Massachusetts Mainland (ftUS) +<2894> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Massachusetts Island (ftUS) +<2895> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Michigan North (ft) +<2896> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Michigan Central (ft) +<2897> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Michigan South (ft) +<2898> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Mississippi East (ftUS) +<2899> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Mississippi West (ftUS) +<2900> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Montana (ft) +<2901> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / New Mexico East (ftUS) +<2902> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New Mexico Central (ftUS) +<2903> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New Mexico West (ftUS) +<2904> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New York East (ftUS) +<2905> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New York Central (ftUS) +<2906> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New York West (ftUS) +<2907> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New York Long Island (ftUS) +<2908> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / North Dakota North (ft) +<2909> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / North Dakota South (ft) +<2910> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Oklahoma North (ftUS) +<2911> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Oklahoma South (ftUS) +<2912> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Oregon North (ft) +<2913> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Oregon South (ft) +<2914> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Tennessee (ftUS) +<2915> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Texas North (ftUS) +<2916> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Texas North Central (ftUS) +<2917> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Texas Central (ftUS) +<2918> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Texas South Central (ftUS) +<2919> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Texas South (ftUS) +<2920> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Utah North (ft) +<2921> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Utah Central (ft) +<2922> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Utah South (ft) +<2923> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Virginia North (ftUS) +<2924> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Virginia South (ftUS) +<2925> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Washington North (ftUS) +<2926> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Washington South (ftUS) +<2927> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Wisconsin North (ftUS) +<2928> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Wisconsin Central (ftUS) +<2929> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Wisconsin South (ftUS) +<2930> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# Beduaram / TM 13 NE +<2931> +proj=tmerc +lat_0=0 +lon_0=13 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0 +units=m +no_defs <> +# QND95 / Qatar National Grid +<2932> +proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +units=m +no_defs <> +# Segara / UTM zone 50S +<2933> +proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs <> +# Segara (Jakarta) / NEIEZ (deprecated) +<2934> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone A1 +<2935> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone A2 +<2936> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone A3 +<2937> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone A4 +<2938> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone K2 +<2939> +proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone K3 +<2940> +proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone K4 +<2941> +proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Porto Santo / UTM zone 28N +<2942> +proj=utm +zone=28 +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +units=m +no_defs <> +# Selvagem Grande / UTM zone 28N +<2943> +proj=utm +zone=28 +ellps=intl +units=m +no_defs <> +# NAD83(CSRS) / SCoPQ zone 2 +<2944> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 3 +<2945> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 4 +<2946> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 5 +<2947> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 6 +<2948> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 7 +<2949> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 8 +<2950> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 9 +<2951> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 10 +<2952> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / New Brunswick Stereographic +<2953> +proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / Prince Edward Isl. Stereographic (NAD83) +<2954> +proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 11N +<2955> +proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 12N +<2956> +proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 13N +<2957> +proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 17N +<2958> +proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 18N +<2959> +proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 19N +<2960> +proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 20N +<2961> +proj=utm +zone=20 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 21N +<2962> +proj=utm +zone=21 +ellps=GRS80 +units=m +no_defs <> +# Lisbon 1890 (Lisbon) / Portugal Bonne +# Unable to translate coordinate system EPSG:2963 into PROJ.4 format. +# +# NAD27 / Alaska Albers +<2964> +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD83 / Indiana East (ftUS) +<2965> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Indiana West (ftUS) +<2966> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / Indiana East (ftUS) +<2967> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Indiana West (ftUS) +<2968> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +units=us-ft +no_defs <> +# Fort Marigot / UTM zone 20N +<2969> +proj=utm +zone=20 +ellps=intl +towgs84=137,248,-430,0,0,0,0 +units=m +no_defs <> +# Guadeloupe 1948 / UTM zone 20N +<2970> +proj=utm +zone=20 +ellps=intl +units=m +no_defs <> +# CSG67 / UTM zone 22N +<2971> +proj=utm +zone=22 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs <> +# RGFG95 / UTM zone 22N +<2972> +proj=utm +zone=22 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs <> +# Martinique 1938 / UTM zone 20N +<2973> +proj=utm +zone=20 +ellps=intl +units=m +no_defs <> +# RGR92 / UTM zone 40S +<2975> +proj=utm +zone=40 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Tahiti 52 / UTM zone 6S +<2976> +proj=utm +zone=6 +south +ellps=intl +towgs84=162,117,154,0,0,0,0 +units=m +no_defs <> +# Tahaa 54 / UTM zone 5S +<2977> +proj=utm +zone=5 +south +ellps=intl +units=m +no_defs <> +# IGN72 Nuku Hiva / UTM zone 7S +<2978> +proj=utm +zone=7 +south +ellps=intl +units=m +no_defs <> +# K0 1949 / UTM zone 42S (deprecated) +<2979> +proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m +no_defs <> +# Combani 1950 / UTM zone 38S +<2980> +proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +units=m +no_defs <> +# IGN56 Lifou / UTM zone 58S +<2981> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs <> +# IGN72 Grand Terre / UTM zone 58S (deprecated) +<2982> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs <> +# ST87 Ouvea / UTM zone 58S (deprecated) +<2983> +proj=utm +zone=58 +south +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +units=m +no_defs <> +# RGNC 1991 / Lambert New Caledonia (deprecated) +<2984> +proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=intl +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Petrels 1972 / Terre Adelie Polar Stereographic +# Unable to translate coordinate system EPSG:2985 into PROJ.4 format. +# +# Perroud 1950 / Terre Adelie Polar Stereographic +# Unable to translate coordinate system EPSG:2986 into PROJ.4 format. +# +# Saint Pierre et Miquelon 1950 / UTM zone 21N +<2987> +proj=utm +zone=21 +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +units=m +no_defs <> +# MOP78 / UTM zone 1S +<2988> +proj=utm +zone=1 +south +ellps=intl +units=m +no_defs <> +# RRAF 1991 / UTM zone 20N +<2989> +proj=utm +zone=20 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Reunion 1947 / TM Reunion (deprecated) +<2990> +proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=50000 +y_0=160000 +ellps=intl +units=m +no_defs <> +# NAD83 / Oregon Lambert +<2991> +proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Oregon Lambert (ft) +<2992> +proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=ft +no_defs <> +# NAD83(HARN) / Oregon Lambert +<2993> +proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Oregon Lambert (ft) +<2994> +proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# IGN53 Mare / UTM zone 58S +<2995> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs <> +# ST84 Ile des Pins / UTM zone 58S +<2996> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs <> +# ST71 Belep / UTM zone 58S +<2997> +proj=utm +zone=58 +south +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +units=m +no_defs <> +# NEA74 Noumea / UTM zone 58S +<2998> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs <> +# Grand Comoros / UTM zone 38S +<2999> +proj=utm +zone=38 +south +ellps=intl +units=m +no_defs <> +# Segara / NEIEZ +<3000> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs <> +# Batavia / NEIEZ +<3001> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m +no_defs <> +# Makassar / NEIEZ +<3002> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +units=m +no_defs <> +# Monte Mario / Italy zone 1 +<3003> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Monte Mario / Italy zone 2 +<3004> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m +no_defs <> +# NAD83 / BC Albers +<3005> +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# SWEREF99 TM +<3006> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 12 00 +<3007> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 13 30 +<3008> +proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 15 00 +<3009> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 16 30 +<3010> +proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 18 00 +<3011> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 14 15 +<3012> +proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 15 45 +<3013> +proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 17 15 +<3014> +proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 18 45 +<3015> +proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 20 15 +<3016> +proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 21 45 +<3017> +proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 23 15 +<3018> +proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RT90 7.5 gon V +<3019> +proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT90 5 gon V +<3020> +proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT90 2.5 gon V +<3021> +proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT90 0 gon +<3022> +proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT90 2.5 gon O +<3023> +proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT90 5 gon O +<3024> +proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT38 7.5 gon V +<3025> +proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT38 5 gon V +<3026> +proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT38 2.5 gon V +<3027> +proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT38 0 gon +<3028> +proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT38 2.5 gon O +<3029> +proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RT38 5 gon O +<3030> +proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# WGS 84 / Antarctic Polar Stereographic +<3031> +proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / Australian Antarctic Polar Stereographic +<3032> +proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=70 +k=1 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / Australian Antarctic Lambert +<3033> +proj=lcc +lat_1=-68.5 +lat_2=-74.5 +lat_0=-50 +lon_0=70 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# ETRS89 / ETRS-LCC +<3034> +proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-LAEA +<3035> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m +no_defs <> +# Moznet / UTM zone 36S +<3036> +proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs <> +# Moznet / UTM zone 37S +<3037> +proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs <> +# ETRS89 / ETRS-TM26 +<3038> +proj=utm +zone=26 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM27 +<3039> +proj=utm +zone=27 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM28 +<3040> +proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM29 +<3041> +proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM30 +<3042> +proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM31 +<3043> +proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM32 +<3044> +proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM33 +<3045> +proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM34 +<3046> +proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM35 +<3047> +proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM36 +<3048> +proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM37 +<3049> +proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM38 +<3050> +proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-TM39 +<3051> +proj=utm +zone=39 +ellps=GRS80 +units=m +no_defs <> +# Reykjavik 1900 / Lambert 1900 +# Unable to translate coordinate system EPSG:3052 into PROJ.4 format. +# +# Hjorsey 1955 / Lambert 1955 +# Unable to translate coordinate system EPSG:3053 into PROJ.4 format. +# +# Hjorsey 1955 / UTM zone 26N +<3054> +proj=utm +zone=26 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs <> +# Hjorsey 1955 / UTM zone 27N +<3055> +proj=utm +zone=27 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs <> +# Hjorsey 1955 / UTM zone 28N +<3056> +proj=utm +zone=28 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m +no_defs <> +# ISN93 / Lambert 1993 +<3057> +proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Helle 1954 / Jan Mayen Grid +<3058> +proj=tmerc +lat_0=0 +lon_0=-8.5 +k=1 +x_0=50000 +y_0=-7800000 +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +units=m +no_defs <> +# LKS92 / Latvia TM +<3059> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# IGN72 Grande Terre / UTM zone 58S +<3060> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs <> +# Porto Santo 1995 / UTM zone 28N +<3061> +proj=utm +zone=28 +ellps=intl +units=m +no_defs <> +# Azores Oriental 1995 / UTM zone 26N +<3062> +proj=utm +zone=26 +ellps=intl +units=m +no_defs <> +# Azores Central 1995 / UTM zone 26N +<3063> +proj=utm +zone=26 +ellps=intl +units=m +no_defs <> +# IGM95 / UTM zone 32N +<3064> +proj=utm +zone=32 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# IGM95 / UTM zone 33N +<3065> +proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# ED50 / Jordan TM +<3066> +proj=tmerc +lat_0=0 +lon_0=37 +k=0.9998 +x_0=500000 +y_0=-3000000 +ellps=intl +units=m +no_defs <> +# ETRS89 / ETRS-TM35FIN +<3067> +proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs <> +# DHDN / Soldner Berlin +<3068> +proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# NAD27 / Wisconsin Transverse Mercator +<3069> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=500000 +y_0=-4500000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD83 / Wisconsin Transverse Mercator +<3070> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Wisconsin Transverse Mercator +<3071> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / Maine CS2000 East +<3072> +proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Maine CS2000 Central (deprecated) +<3073> +proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Maine CS2000 West +<3074> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Maine CS2000 East +<3075> +proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Maine CS2000 Central (deprecated) +<3076> +proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Maine CS2000 West +<3077> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / Michigan Oblique Mercator +<3078> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Michigan Oblique Mercator +<3079> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +units=m +no_defs <> +# NAD27 / Shackleford +<3080> +proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=914400 +y_0=914400 +ellps=clrk66 +datum=NAD27 +units=ft +no_defs <> +# NAD83 / Texas State Mapping System +<3081> +proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Texas Centric Lambert Conformal +<3082> +proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Texas Centric Albers Equal Area +<3083> +proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Texas Centric Lambert Conformal +<3084> +proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Texas Centric Albers Equal Area +<3085> +proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / Florida GDL Albers +<3086> +proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Florida GDL Albers +<3087> +proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / Kentucky Single Zone +<3088> +proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Kentucky Single Zone (ftUS) +<3089> +proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / Kentucky Single Zone +<3090> +proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Kentucky Single Zone (ftUS) +<3091> +proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +units=us-ft +no_defs <> +# Tokyo / UTM zone 51N +<3092> +proj=utm +zone=51 +ellps=bessel +units=m +no_defs <> +# Tokyo / UTM zone 52N +<3093> +proj=utm +zone=52 +ellps=bessel +units=m +no_defs <> +# Tokyo / UTM zone 53N +<3094> +proj=utm +zone=53 +ellps=bessel +units=m +no_defs <> +# Tokyo / UTM zone 54N +<3095> +proj=utm +zone=54 +ellps=bessel +units=m +no_defs <> +# Tokyo / UTM zone 55N +<3096> +proj=utm +zone=55 +ellps=bessel +units=m +no_defs <> +# JGD2000 / UTM zone 51N +<3097> +proj=utm +zone=51 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / UTM zone 52N +<3098> +proj=utm +zone=52 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / UTM zone 53N +<3099> +proj=utm +zone=53 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / UTM zone 54N +<3100> +proj=utm +zone=54 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JGD2000 / UTM zone 55N +<3101> +proj=utm +zone=55 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# American Samoa 1962 / American Samoa Lambert +<3102> +proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=95169.31165862332 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +units=us-ft +no_defs <> +# Mauritania 1999 / UTM zone 28N (deprecated) +<3103> +proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs <> +# Mauritania 1999 / UTM zone 29N (deprecated) +<3104> +proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs <> +# Mauritania 1999 / UTM zone 30N (deprecated) +<3105> +proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs <> +# Gulshan 303 / Bangladesh Transverse Mercator +<3106> +proj=tmerc +lat_0=0 +lon_0=90 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# GDA94 / SA Lambert +<3107> +proj=lcc +lat_1=-28 +lat_2=-36 +lat_0=-32 +lon_0=135 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# ETRS89 / Guernsey Grid +<3108> +proj=tmerc +lat_0=49.5 +lon_0=-2.416666666666667 +k=0.999997 +x_0=47000 +y_0=50000 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Jersey Transverse Mercator +<3109> +proj=tmerc +lat_0=49.225 +lon_0=-2.135 +k=0.9999999000000001 +x_0=40000 +y_0=70000 +ellps=GRS80 +units=m +no_defs <> +# AGD66 / Vicgrid66 +<3110> +proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=4500000 +ellps=aust_SA +units=m +no_defs <> +# GDA94 / Vicgrid94 +<3111> +proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / Geoscience Australia Lambert +<3112> +proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / BCSG02 +<3113> +proj=tmerc +lat_0=-28 +lon_0=153 +k=0.99999 +x_0=50000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# MAGNA-SIRGAS / Colombia Far West zone +<3114> +proj=tmerc +lat_0=4.596200416666666 +lon_0=-80.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# MAGNA-SIRGAS / Colombia West zone +<3115> +proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# MAGNA-SIRGAS / Colombia Bogota zone +<3116> +proj=tmerc +lat_0=4.596200416666666 +lon_0=-74.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# MAGNA-SIRGAS / Colombia East Central zone +<3117> +proj=tmerc +lat_0=4.596200416666666 +lon_0=-71.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# MAGNA-SIRGAS / Colombia East zone +<3118> +proj=tmerc +lat_0=4.596200416666666 +lon_0=-68.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Douala 1948 / AEF west +<3119> +proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m +no_defs <> +# Pulkovo 1942(58) / Poland zone I +<3120> +proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5467000 +ellps=krass +units=m +no_defs <> +# PRS92 / Philippines zone 1 +<3121> +proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs <> +# PRS92 / Philippines zone 2 +<3122> +proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs <> +# PRS92 / Philippines zone 3 +<3123> +proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs <> +# PRS92 / Philippines zone 4 +<3124> +proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs <> +# PRS92 / Philippines zone 5 +<3125> +proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m +no_defs <> +# ETRS89 / ETRS-GK19FIN +<3126> +proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK20FIN +<3127> +proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK21FIN +<3128> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK22FIN +<3129> +proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK23FIN +<3130> +proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK24FIN +<3131> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK25FIN +<3132> +proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK26FIN +<3133> +proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK27FIN +<3134> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK28FIN +<3135> +proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK29FIN +<3136> +proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK30FIN +<3137> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / ETRS-GK31FIN +<3138> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# Vanua Levu 1915 / Vanua Levu Grid +# Unable to translate coordinate system EPSG:3139 into PROJ.4 format. +# +# Viti Levu 1912 / Viti Levu Grid +<3140> +proj=cass +lat_0=-18 +lon_0=178 +x_0=109435.392 +y_0=141622.272 +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +to_meter=0.201168 +no_defs <> +# Fiji 1956 / UTM zone 60S +<3141> +proj=utm +zone=60 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs <> +# Fiji 1956 / UTM zone 1S +<3142> +proj=utm +zone=1 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m +no_defs <> +# Fiji 1986 / Fiji Map Grid (deprecated) +<3143> +proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m +no_defs <> +# FD54 / Faroe Lambert +# Unable to translate coordinate system EPSG:3144 into PROJ.4 format. +# +# ETRS89 / Faroe Lambert +# Unable to translate coordinate system EPSG:3145 into PROJ.4 format. +# +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 6 +<3146> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E +<3147> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Indian 1960 / UTM zone 48N +<3148> +proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# Indian 1960 / UTM zone 49N +<3149> +proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 6 +<3150> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E +<3151> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# ST74 +<3152> +proj=tmerc +lat_0=0 +lon_0=18.05779 +k=0.99999425 +x_0=100178.1808 +y_0=-6500614.7836 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(CSRS) / BC Albers +<3153> +proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 7N +<3154> +proj=utm +zone=7 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 8N +<3155> +proj=utm +zone=8 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 9N +<3156> +proj=utm +zone=9 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 10N +<3157> +proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 14N +<3158> +proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 15N +<3159> +proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / UTM zone 16N +<3160> +proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / Ontario MNR Lambert +<3161> +proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / Ontario MNR Lambert +<3162> +proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +units=m +no_defs <> +# RGNC91-93 / Lambert New Caledonia +<3163> +proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# ST87 Ouvea / UTM zone 58S +<3164> +proj=utm +zone=58 +south +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +units=m +no_defs <> +# NEA74 Noumea / Noumea Lambert +<3165> +proj=lcc +lat_1=-22.24469175 +lat_2=-22.29469175 +lat_0=-22.26969175 +lon_0=166.44242575 +x_0=0.66 +y_0=1.02 +ellps=intl +units=m +no_defs <> +# NEA74 Noumea / Noumea Lambert 2 +<3166> +proj=lcc +lat_1=-22.24472222222222 +lat_2=-22.29472222222222 +lat_0=-22.26972222222222 +lon_0=166.4425 +x_0=8.313000000000001 +y_0=-2.354 +ellps=intl +units=m +no_defs <> +# Kertau (RSO) / RSO Malaya (ch) +<3167> +proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=40000 +y_0=0 +a=6377295.664 +b=6356094.667915204 +to_meter=20.116756 +no_defs <> +# Kertau (RSO) / RSO Malaya (m) +<3168> +proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804670.24 +y_0=0 +a=6377295.664 +b=6356094.667915204 +units=m +no_defs <> +# RGNC91-93 / UTM zone 57S +<3169> +proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGNC91-93 / UTM zone 58S +<3170> +proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGNC91-93 / UTM zone 59S +<3171> +proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# IGN53 Mare / UTM zone 59S +<3172> +proj=utm +zone=59 +south +ellps=intl +units=m +no_defs <> +# fk89 / Faroe Lambert FK89 +# Unable to translate coordinate system EPSG:3173 into PROJ.4 format. +# +# NAD83 / Great Lakes Albers +<3174> +proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-84.455955 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Great Lakes and St Lawrence Albers +<3175> +proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-83.248627 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# Indian 1960 / TM 106 NE +<3176> +proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# LGD2006 / Libya TM +<3177> +proj=tmerc +lat_0=0 +lon_0=17 +k=0.9965000000000001 +x_0=1000000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 18N +<3178> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 19N +<3179> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 20N +<3180> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 21N +<3181> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 22N +<3182> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 23N +<3183> +proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 24N +<3184> +proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 25N +<3185> +proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 26N +<3186> +proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 27N +<3187> +proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 28N +<3188> +proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GR96 / UTM zone 29N +<3189> +proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 5 +<3190> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 6 +<3191> +proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 7 +<3192> +proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 8 +<3193> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 9 +<3194> +proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 10 +<3195> +proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 11 +<3196> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 12 +<3197> +proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / Libya TM zone 13 +<3198> +proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / UTM zone 32N +<3199> +proj=utm +zone=32 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# FD58 / Iraq zone +<3200> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs <> +# LGD2006 / UTM zone 33N +<3201> +proj=utm +zone=33 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / UTM zone 34N +<3202> +proj=utm +zone=34 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# LGD2006 / UTM zone 35N +<3203> +proj=utm +zone=35 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m +no_defs <> +# WGS 84 / SCAR IMW SP19-20 +<3204> +proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SP21-22 +<3205> +proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SP23-24 +<3206> +proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ01-02 +<3207> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ19-20 +<3208> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ21-22 +<3209> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ37-38 +<3210> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ39-40 +<3211> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ41-42 +<3212> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ43-44 +<3213> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ45-46 +<3214> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ47-48 +<3215> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ49-50 +<3216> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ51-52 +<3217> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ53-54 +<3218> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ55-56 +<3219> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SQ57-58 +<3220> +proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR13-14 +<3221> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR15-16 +<3222> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR17-18 +<3223> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR19-20 +<3224> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR27-28 +<3225> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR29-30 +<3226> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR31-32 +<3227> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR33-34 +<3228> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR35-36 +<3229> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=30 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR37-38 +<3230> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR39-40 +<3231> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR41-42 +<3232> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR43-44 +<3233> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR45-46 +<3234> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR47-48 +<3235> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR49-50 +<3236> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR51-52 +<3237> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR53-54 +<3238> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR55-56 +<3239> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR57-58 +<3240> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SR59-60 +<3241> +proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS04-06 +<3242> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS07-09 +<3243> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS10-12 +<3244> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS13-15 +<3245> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS16-18 +<3246> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS19-21 +<3247> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS25-27 +<3248> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS28-30 +<3249> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS31-33 +<3250> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS34-36 +<3251> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS37-39 +<3252> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=45 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS40-42 +<3253> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS43-45 +<3254> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS46-48 +<3255> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS49-51 +<3256> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS52-54 +<3257> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS55-57 +<3258> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SS58-60 +<3259> +proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=171 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST01-04 +<3260> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST05-08 +<3261> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST09-12 +<3262> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST13-16 +<3263> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST17-20 +<3264> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST21-24 +<3265> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST25-28 +<3266> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST29-32 +<3267> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST33-36 +<3268> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST37-40 +<3269> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST41-44 +<3270> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST45-48 +<3271> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST49-52 +<3272> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST53-56 +<3273> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW ST57-60 +<3274> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU01-05 +<3275> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU06-10 +<3276> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU11-15 +<3277> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU16-20 +<3278> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU21-25 +<3279> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU26-30 +<3280> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU31-35 +<3281> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU36-40 +<3282> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU41-45 +<3283> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU46-50 +<3284> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU51-55 +<3285> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SU56-60 +<3286> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SV01-10 +<3287> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SV11-20 +<3288> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SV21-30 +<3289> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SV31-40 +<3290> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SV41-50 +<3291> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SV51-60 +<3292> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / SCAR IMW SW01-60 +<3293> +proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / USGS Transantarctic Mountains +<3294> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-78 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# Guam 1963 / Yap Islands +# Unable to translate coordinate system EPSG:3295 into PROJ.4 format. +# +# RGPF / UTM zone 5S +<3296> +proj=utm +zone=5 +south +ellps=GRS80 +units=m +no_defs <> +# RGPF / UTM zone 6S +<3297> +proj=utm +zone=6 +south +ellps=GRS80 +units=m +no_defs <> +# RGPF / UTM zone 7S +<3298> +proj=utm +zone=7 +south +ellps=GRS80 +units=m +no_defs <> +# RGPF / UTM zone 8S +<3299> +proj=utm +zone=8 +south +ellps=GRS80 +units=m +no_defs <> +# Estonian Coordinate System of 1992 +<3300> +proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +units=m +no_defs <> +# Estonian Coordinate System of 1997 +<3301> +proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# IGN63 Hiva Oa / UTM zone 7S +<3302> +proj=utm +zone=7 +south +ellps=intl +units=m +no_defs <> +# Fatu Iva 72 / UTM zone 7S +<3303> +proj=utm +zone=7 +south +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +units=m +no_defs <> +# Tahiti 79 / UTM zone 6S +<3304> +proj=utm +zone=6 +south +ellps=intl +units=m +no_defs <> +# Moorea 87 / UTM zone 6S +<3305> +proj=utm +zone=6 +south +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +units=m +no_defs <> +# Maupiti 83 / UTM zone 5S +<3306> +proj=utm +zone=5 +south +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +units=m +no_defs <> +# Nakhl-e Ghanem / UTM zone 39N +<3307> +proj=utm +zone=39 +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +units=m +no_defs <> +# GDA94 / NSW Lambert +<3308> +proj=lcc +lat_1=-30.75 +lat_2=-35.75 +lat_0=-33.25 +lon_0=147 +x_0=9300000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD27 / California Albers +<3309> +proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD83 / California Albers +<3310> +proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / California Albers +<3311> +proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +units=m +no_defs <> +# CSG67 / UTM zone 21N +<3312> +proj=utm +zone=21 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m +no_defs <> +# RGFG95 / UTM zone 21N +<3313> +proj=utm +zone=21 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m +no_defs <> +# Katanga 1955 / Katanga Lambert (deprecated) +<3314> +proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=0 +lon_0=26 +x_0=0 +y_0=0 +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +units=m +no_defs <> +# Katanga 1955 / Katanga TM (deprecated) +<3315> +proj=tmerc +lat_0=-9 +lon_0=26 +k=0.9998 +x_0=0 +y_0=0 +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +units=m +no_defs <> +# Kasai 1953 / Congo TM zone 22 +<3316> +proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# Kasai 1953 / Congo TM zone 24 +<3317> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 12 +<3318> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 14 +<3319> +proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 16 +<3320> +proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 18 +<3321> +proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 20 +<3322> +proj=tmerc +lat_0=0 +lon_0=20 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 22 +<3323> +proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 24 +<3324> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 26 +<3325> +proj=tmerc +lat_0=0 +lon_0=26 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 28 +<3326> +proj=tmerc +lat_0=0 +lon_0=28 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# IGC 1962 / Congo TM zone 30 +<3327> +proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# Pulkovo 1942(58) / GUGiK-80 +<3328> +proj=sterea +lat_0=52.16666666666666 +lon_0=19.16666666666667 +k=0.999714 +x_0=500000 +y_0=500000 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5 +<3329> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 6 +<3330> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 7 +<3331> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 8 +<3332> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Gauss-Kruger zone 3 +<3333> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Gauss-Kruger zone 4 +<3334> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Gauss-Kruger zone 5 +<3335> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# IGN 1962 Kerguelen / UTM zone 42S +<3336> +proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m +no_defs <> +# Le Pouce 1934 / Mauritius Grid +<3337> +proj=lcc +lat_1=-20.19506944444445 +lat_0=-20.19506944444445 +lon_0=57.52182777777778 +k_0=1 +x_0=1000000 +y_0=1000000 +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +units=m +no_defs <> +# NAD83 / Alaska Albers +<3338> +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# IGCB 1955 / Congo TM zone 12 +<3339> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs <> +# IGCB 1955 / Congo TM zone 14 +<3340> +proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs <> +# IGCB 1955 / Congo TM zone 16 +<3341> +proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs <> +# IGCB 1955 / UTM zone 33S +<3342> +proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m +no_defs <> +# Mauritania 1999 / UTM zone 28N +<3343> +proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Mauritania 1999 / UTM zone 29N +<3344> +proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Mauritania 1999 / UTM zone 30N +<3345> +proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# LKS94 / Lithuania TM +<3346> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83 / Statistics Canada Lambert +<3347> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / Statistics Canada Lambert +<3348> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +units=m +no_defs <> +# WGS 84 / PDC Mercator (deprecated) +<3349> +proj=merc +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone C0 +<3350> +proj=tmerc +lat_0=0.1 +lon_0=21.95 +k=1 +x_0=250000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone C1 +<3351> +proj=tmerc +lat_0=0.1 +lon_0=24.95 +k=1 +x_0=1250000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / CS63 zone C2 +<3352> +proj=tmerc +lat_0=0.1 +lon_0=27.95 +k=1 +x_0=2250000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Mhast (onshore) / UTM zone 32S +<3353> +proj=utm +zone=32 +south +ellps=intl +units=m +no_defs <> +# Mhast (offshore) / UTM zone 32S +<3354> +proj=utm +zone=32 +south +ellps=intl +units=m +no_defs <> +# Egypt Gulf of Suez S-650 TL / Red Belt +<3355> +proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0 +units=m +no_defs <> +# Grand Cayman 1959 / UTM zone 17N +<3356> +proj=utm +zone=17 +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +units=m +no_defs <> +# Little Cayman 1961 / UTM zone 17N +<3357> +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs <> +# NAD83(HARN) / North Carolina +<3358> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / North Carolina (ftUS) (deprecated) +<3359> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024385 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / South Carolina +<3360> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / South Carolina (ft) +<3361> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +units=ft +no_defs <> +# NAD83(HARN) / Pennsylvania North +<3362> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Pennsylvania North (ftUS) +<3363> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Pennsylvania South +<3364> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Pennsylvania South (ftUS) +<3365> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# Hong Kong 1963 Grid System (deprecated) +<3366> +proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +units=m +no_defs <> +# IGN Astro 1960 / UTM zone 28N +<3367> +proj=utm +zone=28 +ellps=clrk80 +units=m +no_defs <> +# IGN Astro 1960 / UTM zone 29N +<3368> +proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs <> +# IGN Astro 1960 / UTM zone 30N +<3369> +proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs <> +# NAD27 / UTM zone 59N +<3370> +proj=utm +zone=59 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 60N +<3371> +proj=utm +zone=60 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD83 / UTM zone 59N +<3372> +proj=utm +zone=59 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 60N +<3373> +proj=utm +zone=60 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# FD54 / UTM zone 29N +<3374> +proj=utm +zone=29 +ellps=intl +units=m +no_defs <> +# GDM2000 / Peninsula RSO +<3375> +proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / East Malaysia BRSO +<3376> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Johor Grid +<3377> +proj=cass +lat_0=2.121679744444445 +lon_0=103.4279362361111 +x_0=-14810.562 +y_0=8758.32 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Sembilan and Melaka Grid +<3378> +proj=cass +lat_0=2.682347636111111 +lon_0=101.9749050416667 +x_0=3673.785 +y_0=-4240.573 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / PahangGrid +<3379> +proj=cass +lat_0=3.769388088888889 +lon_0=102.3682989833333 +x_0=-7368.228 +y_0=6485.858 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Selangor Grid +<3380> +proj=cass +lat_0=3.68464905 +lon_0=101.3891079138889 +x_0=-34836.161 +y_0=56464.049 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Terengganu Grid +<3381> +proj=cass +lat_0=4.9762852 +lon_0=103.070275625 +x_0=19594.245 +y_0=3371.895 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Pinang Grid +<3382> +proj=cass +lat_0=5.421517541666667 +lon_0=100.3443769638889 +x_0=-23.414 +y_0=62.283 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Kedah and Perlis Grid +<3383> +proj=cass +lat_0=5.964672713888889 +lon_0=100.6363711111111 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Perak Grid +<3384> +proj=cass +lat_0=4.859063022222222 +lon_0=100.8154105861111 +x_0=-1.769 +y_0=133454.779 +ellps=GRS80 +units=m +no_defs <> +# GDM2000 / Kelantan Grid +<3385> +proj=cass +lat_0=5.972543658333334 +lon_0=102.2952416694444 +x_0=13227.851 +y_0=8739.894 +ellps=GRS80 +units=m +no_defs <> +# KKJ / Finland zone 0 +<3386> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# KKJ / Finland zone 5 +<3387> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Pulkovo 1942 / Caspian Sea Mercator +<3388> +proj=merc +lon_0=51 +k=1 +x_0=0 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 60 +<3389> +proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 +<3390> +proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Karbala 1979 / UTM zone 37N +<3391> +proj=utm +zone=37 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs <> +# Karbala 1979 / UTM zone 38N +<3392> +proj=utm +zone=38 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs <> +# Karbala 1979 / UTM zone 39N +<3393> +proj=utm +zone=39 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m +no_defs <> +# Nahrwan 1934 / Iraq zone +<3394> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs <> +# WGS 84 / World Mercator +<3395> +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# PD/83 / 3-degree Gauss-Kruger zone 3 +<3396> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# PD/83 / 3-degree Gauss-Kruger zone 4 +<3397> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RD/83 / 3-degree Gauss-Kruger zone 4 +<3398> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# RD/83 / 3-degree Gauss-Kruger zone 5 +<3399> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# NAD83 / Alberta 10-TM (Forest) +<3400> +proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alberta 10-TM (Resource) +<3401> +proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / Alberta 10-TM (Forest) +<3402> +proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / Alberta 10-TM (Resource) +<3403> +proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / North Carolina (ftUS) +<3404> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# VN-2000 / UTM zone 48N +<3405> +proj=utm +zone=48 +ellps=WGS84 +units=m +no_defs <> +# VN-2000 / UTM zone 49N +<3406> +proj=utm +zone=49 +ellps=WGS84 +units=m +no_defs <> +# Hong Kong 1963 Grid System +<3407> +proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs <> +# unnamed +<3408> +proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs <> +# unnamed +<3409> +proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs <> +# NSIDC EASE-Grid Global +<3410> +proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m +no_defs <> +# NSIDC Sea Ice Polar Stereographic North +<3411> +proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs <> +# NSIDC Sea Ice Polar Stereographic South +<3412> +proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs <> +# WGS 84 / NSIDC Sea Ice Polar Stereographic North +<3413> +proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# SVY21 / Singapore TM +<3414> +proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m +no_defs <> +# WGS 72BE / South China Sea Lambert +<3415> +proj=lcc +lat_1=18 +lat_2=24 +lat_0=21 +lon_0=114 +x_0=500000 +y_0=500000 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# ETRS89 / Austria Lambert +<3416> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / Iowa North (ft US) +<3417> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Iowa South (ft US) +<3418> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Kansas North (ft US) +<3419> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Kansas South (ft US) +<3420> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Nevada East (ft US) +<3421> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Nevada Central (ft US) +<3422> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Nevada West (ft US) +<3423> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New Jersey (ft US) +<3424> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / Iowa North (ft US) +<3425> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Iowa South (ft US) +<3426> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Kansas North (ft US) +<3427> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Kansas South (ft US) +<3428> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Nevada East (ft US) +<3429> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Nevada Central (ft US) +<3430> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Nevada West (ft US) +<3431> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New Jersey (ft US) +<3432> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83 / Arkansas North (ftUS) +<3433> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Arkansas South (ftUS) +<3434> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Illinois East (ftUS) +<3435> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Illinois West (ftUS) +<3436> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / New Hampshire (ftUS) +<3437> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Rhode Island (ftUS) +<3438> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# PSD93 / UTM zone 39N +<3439> +proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs <> +# PSD93 / UTM zone 40N +<3440> +proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs <> +# NAD83(HARN) / Arkansas North (ftUS) +<3441> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Arkansas South (ftUS) +<3442> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Illinois East (ftUS) +<3443> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Illinois West (ftUS) +<3444> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / New Hampshire (ftUS) +<3445> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Rhode Island (ftUS) +<3446> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# ETRS89 / Belgian Lambert 2005 +<3447> +proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=50.797815 +lon_0=4.359215833333333 +x_0=150328 +y_0=166262 +ellps=GRS80 +units=m +no_defs <> +# JAD2001 / Jamaica Metric Grid +<3448> +proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=750000 +y_0=650000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JAD2001 / UTM zone 17N +<3449> +proj=utm +zone=17 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# JAD2001 / UTM zone 18N +<3450> +proj=utm +zone=18 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83 / Louisiana North (ftUS) +<3451> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Louisiana South (ftUS) +<3452> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Louisiana Offshore (ftUS) +<3453> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / South Dakota North (ftUS) +<3454> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / South Dakota South (ftUS) +<3455> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / Louisiana North (ftUS) +<3456> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Louisiana South (ftUS) +<3457> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / South Dakota North (ftUS) +<3458> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / South Dakota South (ftUS) +<3459> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# Fiji 1986 / Fiji Map Grid +<3460> +proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m +no_defs <> +# Dabola 1981 / UTM zone 28N +<3461> +proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs <> +# Dabola 1981 / UTM zone 29N +<3462> +proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m +no_defs <> +# NAD83 / Maine CS2000 Central +<3463> +proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Maine CS2000 Central +<3464> +proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(NSRS2007) / Alabama East +<3465> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alabama West +<3466> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska Albers +<3467> +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 1 +<3468> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 2 +<3469> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 3 +<3470> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 4 +<3471> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 5 +<3472> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 6 +<3473> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 7 +<3474> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 8 +<3475> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 9 +<3476> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Alaska zone 10 +<3477> +proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Arizona Central +<3478> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Arizona Central (ft) +<3479> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Arizona East +<3480> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Arizona East (ft) +<3481> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Arizona West +<3482> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Arizona West (ft) +<3483> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Arkansas North +<3484> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Arkansas North (ftUS) +<3485> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Arkansas South +<3486> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Arkansas South (ftUS) +<3487> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / California Albers +<3488> +proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / California zone 1 +<3489> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / California zone 1 (ftUS) +<3490> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / California zone 2 +<3491> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / California zone 2 (ftUS) +<3492> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / California zone 3 +<3493> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / California zone 3 (ftUS) +<3494> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / California zone 4 +<3495> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / California zone 4 (ftUS) +<3496> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / California zone 5 +<3497> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / California zone 5 (ftUS) +<3498> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / California zone 6 +<3499> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / California zone 6 (ftUS) +<3500> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Colorado Central +<3501> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Colorado Central (ftUS) +<3502> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Colorado North +<3503> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Colorado North (ftUS) +<3504> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Colorado South +<3505> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Colorado South (ftUS) +<3506> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Connecticut +<3507> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Connecticut (ftUS) +<3508> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Delaware +<3509> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Delaware (ftUS) +<3510> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Florida East +<3511> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Florida East (ftUS) +<3512> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Florida GDL Albers +<3513> +proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Florida North +<3514> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Florida North (ftUS) +<3515> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Florida West +<3516> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Florida West (ftUS) +<3517> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Georgia East +<3518> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Georgia East (ftUS) +<3519> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Georgia West +<3520> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Georgia West (ftUS) +<3521> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Idaho Central +<3522> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Idaho Central (ftUS) +<3523> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Idaho East +<3524> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Idaho East (ftUS) +<3525> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Idaho West +<3526> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Idaho West (ftUS) +<3527> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Illinois East +<3528> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Illinois East (ftUS) +<3529> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Illinois West +<3530> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Illinois West (ftUS) +<3531> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Indiana East +<3532> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Indiana East (ftUS) +<3533> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Indiana West +<3534> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Indiana West (ftUS) +<3535> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Iowa North +<3536> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Iowa North (ft US) +<3537> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Iowa South +<3538> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Iowa South (ft US) +<3539> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Kansas North +<3540> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Kansas North (ft US) +<3541> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Kansas South +<3542> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Kansas South (ft US) +<3543> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Kentucky North +<3544> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Kentucky North (ftUS) +<3545> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Kentucky Single Zone +<3546> +proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Kentucky Single Zone (ftUS) +<3547> +proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Kentucky South +<3548> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Kentucky South (ftUS) +<3549> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Louisiana North +<3550> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Louisiana North (ftUS) +<3551> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Louisiana South +<3552> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Louisiana South (ftUS) +<3553> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Maine CS2000 Central +<3554> +proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Maine CS2000 East +<3555> +proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Maine CS2000 West +<3556> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Maine East +<3557> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Maine West +<3558> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Maryland +<3559> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83 / Utah North (ftUS) +<3560> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# Old Hawaiian / Hawaii zone 1 +<3561> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +units=us-ft +no_defs <> +# Old Hawaiian / Hawaii zone 2 +<3562> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +units=us-ft +no_defs <> +# Old Hawaiian / Hawaii zone 3 +<3563> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +units=us-ft +no_defs <> +# Old Hawaiian / Hawaii zone 4 +<3564> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +units=us-ft +no_defs <> +# Old Hawaiian / Hawaii zone 5 +<3565> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +units=us-ft +no_defs <> +# NAD83 / Utah Central (ftUS) +<3566> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Utah South (ftUS) +<3567> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / Utah North (ftUS) +<3568> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Utah Central (ftUS) +<3569> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Utah South (ftUS) +<3570> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +units=us-ft +no_defs <> +# WGS 84 / North Pole LAEA Bering Sea +<3571> +proj=laea +lat_0=90 +lon_0=180 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / North Pole LAEA Alaska +<3572> +proj=laea +lat_0=90 +lon_0=-150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / North Pole LAEA Canada +<3573> +proj=laea +lat_0=90 +lon_0=-100 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / North Pole LAEA Atlantic +<3574> +proj=laea +lat_0=90 +lon_0=-40 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / North Pole LAEA Europe +<3575> +proj=laea +lat_0=90 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / North Pole LAEA Russia +<3576> +proj=laea +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# GDA94 / Australian Albers +<3577> +proj=aea +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=132 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83 / Yukon Albers +<3578> +proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / Yukon Albers +<3579> +proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / NWT Lambert +<3580> +proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / NWT Lambert +<3581> +proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(NSRS2007) / Maryland (ftUS) +<3582> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Massachusetts Island +<3583> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Massachusetts Island (ftUS) +<3584> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Massachusetts Mainland +<3585> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Massachusetts Mainland (ftUS) +<3586> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Michigan Central +<3587> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Michigan Central (ft) +<3588> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Michigan North +<3589> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Michigan North (ft) +<3590> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Michigan Oblique Mercator +<3591> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Michigan South +<3592> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Michigan South (ft) +<3593> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Minnesota Central +<3594> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Minnesota North +<3595> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Minnesota South +<3596> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Mississippi East +<3597> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Mississippi East (ftUS) +<3598> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Mississippi West +<3599> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Mississippi West (ftUS) +<3600> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Missouri Central +<3601> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Missouri East +<3602> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Missouri West +<3603> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Montana +<3604> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Montana (ft) +<3605> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Nebraska +<3606> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Nevada Central +<3607> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Nevada Central (ft US) +<3608> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Nevada East +<3609> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Nevada East (ft US) +<3610> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Nevada West +<3611> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Nevada West (ft US) +<3612> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New Hampshire +<3613> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New Hampshire (ftUS) +<3614> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New Jersey +<3615> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New Jersey (ft US) +<3616> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New Mexico Central +<3617> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New Mexico Central (ftUS) +<3618> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New Mexico East +<3619> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New Mexico East (ftUS) +<3620> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New Mexico West +<3621> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New Mexico West (ftUS) +<3622> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New York Central +<3623> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New York Central (ftUS) +<3624> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New York East +<3625> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New York East (ftUS) +<3626> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New York Long Island +<3627> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New York Long Island (ftUS) +<3628> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / New York West +<3629> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / New York West (ftUS) +<3630> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / North Carolina +<3631> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / North Carolina (ftUS) +<3632> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / North Dakota North +<3633> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / North Dakota North (ft) +<3634> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / North Dakota South +<3635> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / North Dakota South (ft) +<3636> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Ohio North +<3637> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Ohio South +<3638> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Oklahoma North +<3639> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Oklahoma North (ftUS) +<3640> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Oklahoma South +<3641> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Oklahoma South (ftUS) +<3642> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Oregon Lambert +<3643> +proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Oregon Lambert (ft) +<3644> +proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Oregon North +<3645> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Oregon North (ft) +<3646> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Oregon South +<3647> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Oregon South (ft) +<3648> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Pennsylvania North +<3649> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Pennsylvania North (ftUS) +<3650> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Pennsylvania South +<3651> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Pennsylvania South (ftUS) +<3652> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Rhode Island +<3653> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Rhode Island (ftUS) +<3654> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / South Carolina +<3655> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / South Carolina (ft) +<3656> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / South Dakota North +<3657> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / South Dakota North (ftUS) +<3658> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / South Dakota South +<3659> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / South Dakota South (ftUS) +<3660> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Tennessee +<3661> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Tennessee (ftUS) +<3662> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Texas Central +<3663> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Texas Central (ftUS) +<3664> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Texas Centric Albers Equal Area +<3665> +proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Texas Centric Lambert Conformal +<3666> +proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Texas North +<3667> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Texas North (ftUS) +<3668> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Texas North Central +<3669> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Texas North Central (ftUS) +<3670> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Texas South +<3671> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Texas South (ftUS) +<3672> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Texas South Central +<3673> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Texas South Central (ftUS) +<3674> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Utah Central +<3675> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Utah Central (ft) +<3676> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Utah Central (ftUS) +<3677> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Utah North +<3678> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Utah North (ft) +<3679> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Utah North (ftUS) +<3680> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Utah South +<3681> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Utah South (ft) +<3682> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <> +# NAD83(NSRS2007) / Utah South (ftUS) +<3683> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Vermont +<3684> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Virginia North +<3685> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Virginia North (ftUS) +<3686> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Virginia South +<3687> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Virginia South (ftUS) +<3688> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Washington North +<3689> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Washington North (ftUS) +<3690> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Washington South +<3691> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Washington South (ftUS) +<3692> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / West Virginia North +<3693> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / West Virginia South +<3694> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wisconsin Central +<3695> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wisconsin Central (ftUS) +<3696> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Wisconsin North +<3697> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wisconsin North (ftUS) +<3698> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Wisconsin South +<3699> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wisconsin South (ftUS) +<3700> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Wisconsin Transverse Mercator +<3701> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wyoming East +<3702> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wyoming East Central +<3703> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wyoming West Central +<3704> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Wyoming West +<3705> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 59N +<3706> +proj=utm +zone=59 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 60N +<3707> +proj=utm +zone=60 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 1N +<3708> +proj=utm +zone=1 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 2N +<3709> +proj=utm +zone=2 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 3N +<3710> +proj=utm +zone=3 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 4N +<3711> +proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 5N +<3712> +proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 6N +<3713> +proj=utm +zone=6 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 7N +<3714> +proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 8N +<3715> +proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 9N +<3716> +proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 10N +<3717> +proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 11N +<3718> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 12N +<3719> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 13N +<3720> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 14N +<3721> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 15N +<3722> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 16N +<3723> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 17N +<3724> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 18N +<3725> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / UTM zone 19N +<3726> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Reunion 1947 / TM Reunion +<3727> +proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=160000 +y_0=50000 +ellps=intl +units=m +no_defs <> +# NAD83(NSRS2007) / Ohio North (ftUS) +<3728> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Ohio South (ftUS) +<3729> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Wyoming East (ftUS) +<3730> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Wyoming East Central (ftUS) +<3731> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Wyoming West Central (ftUS) +<3732> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Wyoming West (ftUS) +<3733> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83 / Ohio North (ftUS) +<3734> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Ohio South (ftUS) +<3735> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Wyoming East (ftUS) +<3736> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Wyoming East Central (ftUS) +<3737> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Wyoming West Central (ftUS) +<3738> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Wyoming West (ftUS) +<3739> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / UTM zone 10N +<3740> +proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 11N +<3741> +proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 12N +<3742> +proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 13N +<3743> +proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 14N +<3744> +proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 15N +<3745> +proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 16N +<3746> +proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 17N +<3747> +proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 18N +<3748> +proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 19N +<3749> +proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 4N +<3750> +proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / UTM zone 5N +<3751> +proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs <> +# WGS 84 / Mercator 41 (deprecated) +<3752> +proj=merc +lon_0=100 +lat_ts=-41 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# NAD83(HARN) / Ohio North (ftUS) +<3753> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Ohio South (ftUS) +<3754> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Wyoming East (ftUS) +<3755> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Wyoming East Central (ftUS) +<3756> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Wyoming West Central (ftUS) +<3757> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Wyoming West (ftUS) +<3758> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83 / Hawaii zone 3 (ftUS) +<3759> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / Hawaii zone 3 (ftUS) +<3760> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(CSRS) / UTM zone 22N +<3761> +proj=utm +zone=22 +ellps=GRS80 +units=m +no_defs <> +# WGS 84 / South Georgia Lambert +<3762> +proj=lcc +lat_1=-54 +lat_2=-54.75 +lat_0=-55 +lon_0=-37 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# ETRS89 / Portugal TM06 +<3763> +proj=tmerc +lat_0=39.66825833333333 +lon_0=-8.133108333333334 +k=1 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NZGD2000 / Chatham Island Circuit 2000 +<3764> +proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# HTRS96 / Croatia TM +<3765> +proj=tmerc +lat_0=0 +lon_0=16.5 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# HTRS96 / Croatia LCC +<3766> +proj=lcc +lat_1=45.91666666666666 +lat_2=43.08333333333334 +lat_0=0 +lon_0=16.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# HTRS96 / UTM zone 33N +<3767> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# HTRS96 / UTM zone 34N +<3768> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Bermuda 1957 / UTM zone 20N +<3769> +proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs <> +# BDA2000 / Bermuda 2000 National Grid +<3770> +proj=tmerc +lat_0=32 +lon_0=-64.75 +k=1 +x_0=550000 +y_0=100000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD27 / Alberta 3TM ref merid 111 W +<3771> +proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Alberta 3TM ref merid 114 W +<3772> +proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Alberta 3TM ref merid 117 W +<3773> +proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Alberta 3TM ref merid 120 W (deprecated) +<3774> +proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD83 / Alberta 3TM ref merid 111 W +<3775> +proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alberta 3TM ref merid 114 W +<3776> +proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alberta 3TM ref merid 117 W +<3777> +proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alberta 3TM ref merid 120 W (deprecated) +<3778> +proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / Alberta 3TM ref merid 111 W +<3779> +proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / Alberta 3TM ref merid 114 W +<3780> +proj=tmerc +lat_0=0 +lon_0=-114 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / Alberta 3TM ref merid 117 W +<3781> +proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / Alberta 3TM ref merid 120 W (deprecated) +<3782> +proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# Pitcairn 2006 / Pitcairn TM 2006 +<3783> +proj=tmerc +lat_0=-25.06855261111111 +lon_0=-130.1129671111111 +k=1 +x_0=14200 +y_0=15500 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Pitcairn 1967 / UTM zone 9S +<3784> +proj=utm +zone=9 +south +ellps=intl +towgs84=185,165,42,0,0,0,0 +units=m +no_defs <> +# Popular Visualisation CRS / Mercator (deprecated) +<3785> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs <> +# World Equidistant Cylindrical (Sphere) (deprecated) +<3786> +proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371007 +b=6371007 +units=m +no_defs <> +# MGI / Slovene National Grid (deprecated) +<3787> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# NZGD2000 / Auckland Islands TM 2000 +<3788> +proj=tmerc +lat_0=0 +lon_0=166 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Campbell Island TM 2000 +<3789> +proj=tmerc +lat_0=0 +lon_0=169 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Antipodes Islands TM 2000 +<3790> +proj=tmerc +lat_0=0 +lon_0=179 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Raoul Island TM 2000 +<3791> +proj=tmerc +lat_0=0 +lon_0=-178 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / Chatham Islands TM 2000 +<3793> +proj=tmerc +lat_0=0 +lon_0=-176.5 +k=1 +x_0=3500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Slovenia 1996 / Slovene National Grid +<3794> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD27 / Cuba Norte +<3795> +proj=lcc +lat_1=23 +lat_2=21.7 +lat_0=22.35 +lon_0=-81 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Cuba Sur +<3796> +proj=lcc +lat_1=21.3 +lat_2=20.13333333333333 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / MTQ Lambert +<3797> +proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD83 / MTQ Lambert +<3798> +proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / MTQ Lambert +<3799> +proj=lcc +lat_1=50 +lat_2=46 +lat_0=44 +lon_0=-70 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD27 / Alberta 3TM ref merid 120 W +<3800> +proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD83 / Alberta 3TM ref merid 120 W +<3801> +proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / Alberta 3TM ref merid 120 W +<3802> +proj=tmerc +lat_0=0 +lon_0=-120 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / Belgian Lambert 2008 +<3812> +proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=50.797815 +lon_0=4.359215833333333 +x_0=649328 +y_0=665262 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / Mississippi TM +<3814> +proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=500000 +y_0=1300000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Mississippi TM +<3815> +proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=500000 +y_0=1300000 +ellps=GRS80 +units=m +no_defs <> +# NAD83(NSRS2007) / Mississippi TM +<3816> +proj=tmerc +lat_0=32.5 +lon_0=-89.75 +k=0.9998335 +x_0=500000 +y_0=1300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# TWD97 / TM2 zone 119 +<3825> +proj=tmerc +lat_0=0 +lon_0=119 +k=0.9999 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# TWD97 / TM2 zone 121 +<3826> +proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# TWD67 / TM2 zone 119 +<3827> +proj=tmerc +lat_0=0 +lon_0=119 +k=0.9999 +x_0=250000 +y_0=0 +ellps=aust_SA +units=m +no_defs <> +# TWD67 / TM2 zone 121 +<3828> +proj=tmerc +lat_0=0 +lon_0=121 +k=0.9999 +x_0=250000 +y_0=0 +ellps=aust_SA +units=m +no_defs <> +# Hu Tzu Shan / UTM zone 51N +<3829> +proj=utm +zone=51 +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +units=m +no_defs <> +# WGS 84 / PDC Mercator +<3832> +proj=merc +lon_0=150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# Pulkovo 1942(58) / Gauss-Kruger zone 2 +<3833> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / Gauss-Kruger zone 2 +<3834> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / Gauss-Kruger zone 3 +<3835> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / Gauss-Kruger zone 4 +<3836> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3 +<3837> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4 +<3838> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 9 +<3839> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 10 +<3840> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 6 +<3841> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7 +<3842> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8 +<3843> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942(58) / Stereo70 +<3844> +proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 +y_0=500000 +ellps=krass +units=m +no_defs <> +# SWEREF99 / RT90 7.5 gon V emulation +<3845> +proj=tmerc +lat_0=0 +lon_0=11.30625 +k=1.000006 +x_0=1500025.141 +y_0=-667.282 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 / RT90 5 gon V emulation +<3846> +proj=tmerc +lat_0=0 +lon_0=13.55626666666667 +k=1.0000058 +x_0=1500044.695 +y_0=-667.13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 / RT90 2.5 gon V emulation +<3847> +proj=tmerc +lat_0=0 +lon_0=15.80628452944445 +k=1.00000561024 +x_0=1500064.274 +y_0=-667.711 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 / RT90 0 gon emulation +<3848> +proj=tmerc +lat_0=0 +lon_0=18.0563 +k=1.0000054 +x_0=1500083.521 +y_0=-668.8440000000001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 / RT90 2.5 gon O emulation +<3849> +proj=tmerc +lat_0=0 +lon_0=20.30631666666667 +k=1.0000052 +x_0=1500102.765 +y_0=-670.706 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SWEREF99 / RT90 5 gon O emulation +<3850> +proj=tmerc +lat_0=0 +lon_0=22.55633333333333 +k=1.0000049 +x_0=1500121.846 +y_0=-672.557 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NZGD2000 / NZCS2000 +<3851> +proj=lcc +lat_1=-37.5 +lat_2=-44.5 +lat_0=-41 +lon_0=173 +x_0=3000000 +y_0=7000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RSRGD2000 / DGLC2000 +<3852> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=157 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# County ST74 +<3854> +proj=tmerc +lat_0=0 +lon_0=18.05787 +k=0.99999506 +x_0=100182.7406 +y_0=-6500620.1207 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# WGS 84 / Pseudo-Mercator +<3857> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs <> +# IGRS / UTM zone 37N +<3890> +proj=utm +zone=37 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# IGRS / UTM zone 38N +<3891> +proj=utm +zone=38 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# IGRS / UTM zone 39N +<3892> +proj=utm +zone=39 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# ED50 / Iraq National Grid +<3893> +proj=tmerc +lat_0=29.02626833333333 +lon_0=46.5 +k=0.9994 +x_0=800000 +y_0=0 +ellps=intl +units=m +no_defs <> +# MGI 1901 / Balkans zone 5 +<3907> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# MGI 1901 / Balkans zone 6 +<3908> +proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# MGI 1901 / Balkans zone 7 +<3909> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# MGI 1901 / Balkans zone 8 +<3910> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# MGI 1901 / Slovenia Grid +<3911> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# MGI 1901 / Slovene National Grid +<3912> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=-5000000 +ellps=bessel +units=m +no_defs <> +# Puerto Rico / UTM zone 20N +<3920> +proj=utm +zone=20 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC42 +<3942> +proj=lcc +lat_1=41.25 +lat_2=42.75 +lat_0=42 +lon_0=3 +x_0=1700000 +y_0=1200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC43 +<3943> +proj=lcc +lat_1=42.25 +lat_2=43.75 +lat_0=43 +lon_0=3 +x_0=1700000 +y_0=2200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC44 +<3944> +proj=lcc +lat_1=43.25 +lat_2=44.75 +lat_0=44 +lon_0=3 +x_0=1700000 +y_0=3200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC45 +<3945> +proj=lcc +lat_1=44.25 +lat_2=45.75 +lat_0=45 +lon_0=3 +x_0=1700000 +y_0=4200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC46 +<3946> +proj=lcc +lat_1=45.25 +lat_2=46.75 +lat_0=46 +lon_0=3 +x_0=1700000 +y_0=5200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC47 +<3947> +proj=lcc +lat_1=46.25 +lat_2=47.75 +lat_0=47 +lon_0=3 +x_0=1700000 +y_0=6200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC48 +<3948> +proj=lcc +lat_1=47.25 +lat_2=48.75 +lat_0=48 +lon_0=3 +x_0=1700000 +y_0=7200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC49 +<3949> +proj=lcc +lat_1=48.25 +lat_2=49.75 +lat_0=49 +lon_0=3 +x_0=1700000 +y_0=8200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGF93 / CC50 +<3950> +proj=lcc +lat_1=49.25 +lat_2=50.75 +lat_0=50 +lon_0=3 +x_0=1700000 +y_0=9200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83 / Virginia Lambert +<3968> +proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Virginia Lambert +<3969> +proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(NSRS2007) / Virginia Lambert +<3970> +proj=lcc +lat_1=37 +lat_2=39.5 +lat_0=36 +lon_0=-79.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# WGS 84 / NSIDC EASE-Grid North +# Unable to translate coordinate system EPSG:3973 into PROJ.4 format. +# +# WGS 84 / NSIDC EASE-Grid South +# Unable to translate coordinate system EPSG:3974 into PROJ.4 format. +# +# WGS 84 / NSIDC EASE-Grid Global +<3975> +proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / NSIDC Sea Ice Polar Stereographic South +<3976> +proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# NAD83 / Canada Atlas Lambert +<3978> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=49 +lon_0=-95 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(CSRS) / Canada Atlas Lambert +<3979> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=49 +lon_0=-95 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# Katanga 1955 / Katanga Lambert +<3985> +proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=9 +lon_0=26 +x_0=500000 +y_0=500000 +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +units=m +no_defs <> +# Katanga 1955 / Katanga Gauss zone A +<3986> +proj=tmerc +lat_0=-9 +lon_0=30 +k=1 +x_0=200000 +y_0=500000 +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +units=m +no_defs <> +# Katanga 1955 / Katanga Gauss zone B +<3987> +proj=tmerc +lat_0=-9 +lon_0=28 +k=1 +x_0=200000 +y_0=500000 +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +units=m +no_defs <> +# Katanga 1955 / Katanga Gauss zone C +<3988> +proj=tmerc +lat_0=-9 +lon_0=26 +k=1 +x_0=200000 +y_0=500000 +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +units=m +no_defs <> +# Katanga 1955 / Katanga Gauss zone D +<3989> +proj=tmerc +lat_0=-9 +lon_0=24 +k=1 +x_0=200000 +y_0=500000 +ellps=clrk66 +towgs84=-103.746,-9.614,-255.95,0,0,0,0 +units=m +no_defs <> +# Puerto Rico State Plane CS of 1927 +<3991> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +units=us-ft +no_defs <> +# Puerto Rico / St. Croix +<3992> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012192 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +units=us-ft +no_defs <> +# Guam 1963 / Guam SPCS +# Unable to translate coordinate system EPSG:3993 into PROJ.4 format. +# +# WGS 84 / Mercator 41 +<3994> +proj=merc +lon_0=100 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / Arctic Polar Stereographic +<3995> +proj=stere +lat_0=90 +lat_ts=71 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / IBCAO Polar Stereographic +<3996> +proj=stere +lat_0=90 +lat_ts=75 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / Dubai Local TM +<3997> +proj=tmerc +lat_0=0 +lon_0=55.33333333333334 +k=1 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# MOLDREF99 / Moldova TM +<4026> +proj=tmerc +lat_0=0 +lon_0=28.4 +k=0.9999400000000001 +x_0=200000 +y_0=-5000000 +ellps=GRS80 +units=m +no_defs <> +# WGS 84 / TMzn35N +<4037> +proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / TMzn36N +<4038> +proj=utm +zone=36 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 12 +<4048> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 14 +<4049> +proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 16 +<4050> +proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 18 +<4051> +proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 20 +<4056> +proj=tmerc +lat_0=0 +lon_0=20 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 22 +<4057> +proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 24 +<4058> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 26 +<4059> +proj=tmerc +lat_0=0 +lon_0=26 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / Congo TM zone 28 +<4060> +proj=tmerc +lat_0=0 +lon_0=28 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / UTM zone 33S +<4061> +proj=utm +zone=33 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / UTM zone 34S +<4062> +proj=utm +zone=34 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# RGRDC 2005 / UTM zone 35S +<4063> +proj=utm +zone=35 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Chua / UTM zone 23S +<4071> +proj=utm +zone=23 +south +ellps=intl +units=m +no_defs <> +# REGCAN95 / UTM zone 27N +<4082> +proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# REGCAN95 / UTM zone 28N +<4083> +proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# WGS 84 / World Equidistant Cylindrical +# Unable to translate coordinate system EPSG:4087 into PROJ.4 format. +# +# World Equidistant Cylindrical (Sphere) +# Unable to translate coordinate system EPSG:4088 into PROJ.4 format. +# +# EPSG topocentric example A +# Unable to translate coordinate system EPSG:5819 into PROJ.4 format. +# +# EPSG topocentric example B +# Unable to translate coordinate system EPSG:5820 into PROJ.4 format. +# +# EPSG vertical perspective example +# Unable to translate coordinate system EPSG:5821 into PROJ.4 format. +# +# Pulkovo 1995 / Gauss-Kruger zone 4 +<20004> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 5 +<20005> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 6 +<20006> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 7 +<20007> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 8 +<20008> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 9 +<20009> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 10 +<20010> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 11 +<20011> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 12 +<20012> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 13 +<20013> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 14 +<20014> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 15 +<20015> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 16 +<20016> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 17 +<20017> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 18 +<20018> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 19 +<20019> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 20 +<20020> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 21 +<20021> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 22 +<20022> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 23 +<20023> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 24 +<20024> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 25 +<20025> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 26 +<20026> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 27 +<20027> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 28 +<20028> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 29 +<20029> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 30 +<20030> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 31 +<20031> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 32 +<20032> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 4N (deprecated) +<20064> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 5N (deprecated) +<20065> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 6N (deprecated) +<20066> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 7N (deprecated) +<20067> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 8N (deprecated) +<20068> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 9N (deprecated) +<20069> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 10N (deprecated) +<20070> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 11N (deprecated) +<20071> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 12N (deprecated) +<20072> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 13N (deprecated) +<20073> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 14N (deprecated) +<20074> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 15N (deprecated) +<20075> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 16N (deprecated) +<20076> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 17N (deprecated) +<20077> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 18N (deprecated) +<20078> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 19N (deprecated) +<20079> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 20N (deprecated) +<20080> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 21N (deprecated) +<20081> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 22N (deprecated) +<20082> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 23N (deprecated) +<20083> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 24N (deprecated) +<20084> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 25N (deprecated) +<20085> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 26N (deprecated) +<20086> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 27N (deprecated) +<20087> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 28N (deprecated) +<20088> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 29N (deprecated) +<20089> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 30N (deprecated) +<20090> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 31N (deprecated) +<20091> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Pulkovo 1995 / Gauss-Kruger 32N (deprecated) +<20092> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.82,-131.21,-82.66,-0,-0,0.16,-0.12 +units=m +no_defs <> +# Adindan / UTM zone 35N +<20135> +proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs <> +# Adindan / UTM zone 36N +<20136> +proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs <> +# Adindan / UTM zone 37N +<20137> +proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs <> +# Adindan / UTM zone 38N +<20138> +proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs <> +# AGD66 / AMG zone 48 +<20248> +proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 49 +<20249> +proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 50 +<20250> +proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 51 +<20251> +proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 52 +<20252> +proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 53 +<20253> +proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 54 +<20254> +proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 55 +<20255> +proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 56 +<20256> +proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 57 +<20257> +proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs <> +# AGD66 / AMG zone 58 +<20258> +proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 48 +<20348> +proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 49 +<20349> +proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 50 +<20350> +proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 51 +<20351> +proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 52 +<20352> +proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 53 +<20353> +proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 54 +<20354> +proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 55 +<20355> +proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 56 +<20356> +proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 57 +<20357> +proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs <> +# AGD84 / AMG zone 58 +<20358> +proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs <> +# Ain el Abd / UTM zone 36N +<20436> +proj=utm +zone=36 +ellps=intl +units=m +no_defs <> +# Ain el Abd / UTM zone 37N +<20437> +proj=utm +zone=37 +ellps=intl +units=m +no_defs <> +# Ain el Abd / UTM zone 38N +<20438> +proj=utm +zone=38 +ellps=intl +units=m +no_defs <> +# Ain el Abd / UTM zone 39N +<20439> +proj=utm +zone=39 +ellps=intl +units=m +no_defs <> +# Ain el Abd / UTM zone 40N +<20440> +proj=utm +zone=40 +ellps=intl +units=m +no_defs <> +# Ain el Abd / Bahrain Grid +<20499> +proj=utm +zone=39 +ellps=intl +units=m +no_defs <> +# Afgooye / UTM zone 38N +<20538> +proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs <> +# Afgooye / UTM zone 39N +<20539> +proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs <> +# Lisbon (Lisbon) / Portuguese National Grid +<20790> +proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=200000 +y_0=300000 +ellps=intl +pm=lisbon +units=m +no_defs <> +# Lisbon (Lisbon) / Portuguese Grid +<20791> +proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=0 +y_0=0 +ellps=intl +pm=lisbon +units=m +no_defs <> +# Aratu / UTM zone 22S +<20822> +proj=utm +zone=22 +south +ellps=intl +units=m +no_defs <> +# Aratu / UTM zone 23S +<20823> +proj=utm +zone=23 +south +ellps=intl +units=m +no_defs <> +# Aratu / UTM zone 24S +<20824> +proj=utm +zone=24 +south +ellps=intl +units=m +no_defs <> +# Arc 1950 / UTM zone 34S +<20934> +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs <> +# Arc 1950 / UTM zone 35S +<20935> +proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs <> +# Arc 1950 / UTM zone 36S +<20936> +proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs <> +# Arc 1960 / UTM zone 35S +<21035> +proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs <> +# Arc 1960 / UTM zone 36S +<21036> +proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs <> +# Arc 1960 / UTM zone 37S +<21037> +proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs <> +# Arc 1960 / UTM zone 35N +<21095> +proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs <> +# Arc 1960 / UTM zone 36N +<21096> +proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs <> +# Arc 1960 / UTM zone 37N +<21097> +proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs <> +# Batavia (Jakarta) / NEIEZ (deprecated) +<21100> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs <> +# Batavia / UTM zone 48S +<21148> +proj=utm +zone=48 +south +ellps=bessel +units=m +no_defs <> +# Batavia / UTM zone 49S +<21149> +proj=utm +zone=49 +south +ellps=bessel +units=m +no_defs <> +# Batavia / UTM zone 50S +<21150> +proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs <> +# Barbados 1938 / British West Indies Grid +<21291> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs <> +# Barbados 1938 / Barbados National Grid +<21292> +proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222222222 +k=0.9999986 +x_0=30000 +y_0=75000 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 13 +<21413> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 14 +<21414> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 15 +<21415> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 16 +<21416> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 17 +<21417> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 18 +<21418> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 19 +<21419> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 20 +<21420> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 21 +<21421> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 22 +<21422> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger zone 23 +<21423> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 75E +<21453> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 81E +<21454> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 87E +<21455> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 93E +<21456> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 99E +<21457> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 105E +<21458> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 111E +<21459> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 117E +<21460> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 123E +<21461> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 129E +<21462> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger CM 135E +<21463> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 13N (deprecated) +<21473> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 14N (deprecated) +<21474> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 15N (deprecated) +<21475> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 16N (deprecated) +<21476> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 17N (deprecated) +<21477> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 18N (deprecated) +<21478> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 19N (deprecated) +<21479> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 20N (deprecated) +<21480> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 21N (deprecated) +<21481> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 22N (deprecated) +<21482> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Beijing 1954 / Gauss-Kruger 23N (deprecated) +<21483> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Belge 1950 (Brussels) / Belge Lambert 50 +<21500> +proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=0 +x_0=150000 +y_0=5400000 +ellps=intl +pm=brussels +units=m +no_defs <> +# Bern 1898 (Bern) / LV03C +<21780> +proj=somerc +lat_0=46.95240555555556 +lon_0=0 +k_0=1 +x_0=0 +y_0=0 +ellps=bessel +pm=bern +units=m +no_defs <> +# CH1903 / LV03 +<21781> +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs <> +# CH1903 / LV03C-G +<21782> +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=0 +y_0=0 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / UTM zone 17N (deprecated) +<21817> +proj=utm +zone=17 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / UTM zone 18N +<21818> +proj=utm +zone=18 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia West zone (deprecated) +<21891> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia Bogota zone (deprecated) +<21892> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia East Central zone (deprecated) +<21893> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia East (deprecated) +<21894> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia West zone +<21896> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia Bogota zone +<21897> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia East Central zone +<21898> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Bogota 1975 / Colombia East +<21899> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m +no_defs <> +# Camacupa / UTM zone 32S +<22032> +proj=utm +zone=32 +south +ellps=clrk80 +units=m +no_defs <> +# Camacupa / UTM zone 33S +<22033> +proj=utm +zone=33 +south +ellps=clrk80 +units=m +no_defs <> +# Camacupa / TM 11.30 SE +<22091> +proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# Camacupa / TM 12 SE +<22092> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs <> +# POSGAR 98 / Argentina 1 +<22171> +proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# POSGAR 98 / Argentina 2 +<22172> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# POSGAR 98 / Argentina 3 +<22173> +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# POSGAR 98 / Argentina 4 +<22174> +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# POSGAR 98 / Argentina 5 +<22175> +proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# POSGAR 98 / Argentina 6 +<22176> +proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# POSGAR 98 / Argentina 7 +<22177> +proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# POSGAR 94 / Argentina 1 +<22181> +proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# POSGAR 94 / Argentina 2 +<22182> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# POSGAR 94 / Argentina 3 +<22183> +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# POSGAR 94 / Argentina 4 +<22184> +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# POSGAR 94 / Argentina 5 +<22185> +proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# POSGAR 94 / Argentina 6 +<22186> +proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# POSGAR 94 / Argentina 7 +<22187> +proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Campo Inchauspe / Argentina 1 +<22191> +proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Campo Inchauspe / Argentina 2 +<22192> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Campo Inchauspe / Argentina 3 +<22193> +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Campo Inchauspe / Argentina 4 +<22194> +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Campo Inchauspe / Argentina 5 +<22195> +proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Campo Inchauspe / Argentina 6 +<22196> +proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Campo Inchauspe / Argentina 7 +<22197> +proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Cape / UTM zone 34S +<22234> +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs <> +# Cape / UTM zone 35S +<22235> +proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs <> +# Cape / UTM zone 36S +<22236> +proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs <> +# Cape / Lo15 +# Unable to translate coordinate system EPSG:22275 into PROJ.4 format. +# +# Cape / Lo17 +# Unable to translate coordinate system EPSG:22277 into PROJ.4 format. +# +# Cape / Lo19 +# Unable to translate coordinate system EPSG:22279 into PROJ.4 format. +# +# Cape / Lo21 +# Unable to translate coordinate system EPSG:22281 into PROJ.4 format. +# +# Cape / Lo23 +# Unable to translate coordinate system EPSG:22283 into PROJ.4 format. +# +# Cape / Lo25 +# Unable to translate coordinate system EPSG:22285 into PROJ.4 format. +# +# Cape / Lo27 +# Unable to translate coordinate system EPSG:22287 into PROJ.4 format. +# +# Cape / Lo29 +# Unable to translate coordinate system EPSG:22289 into PROJ.4 format. +# +# Cape / Lo31 +# Unable to translate coordinate system EPSG:22291 into PROJ.4 format. +# +# Cape / Lo33 +# Unable to translate coordinate system EPSG:22293 into PROJ.4 format. +# +# Carthage (Paris) / Tunisia Mining Grid +# Unable to translate coordinate system EPSG:22300 into PROJ.4 format. +# +# Carthage / UTM zone 32N +<22332> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +datum=carthage +units=m +no_defs <> +# Carthage / Nord Tunisie +<22391> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +datum=carthage +units=m +no_defs <> +# Carthage / Sud Tunisie +<22392> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +datum=carthage +units=m +no_defs <> +# Corrego Alegre / UTM zone 21S +<22521> +proj=utm +zone=21 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs <> +# Corrego Alegre / UTM zone 22S +<22522> +proj=utm +zone=22 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs <> +# Corrego Alegre / UTM zone 23S +<22523> +proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs <> +# Corrego Alegre / UTM zone 24S +<22524> +proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs <> +# Corrego Alegre / UTM zone 25S +<22525> +proj=utm +zone=25 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs <> +# Deir ez Zor / Levant Zone +<22700> +proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Deir ez Zor / Syria Lambert +<22770> +proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Deir ez Zor / Levant Stereographic +<22780> +proj=sterea +lat_0=34.2 +lon_0=39.15 +k=0.9995341 +x_0=0 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Douala / UTM zone 32N (deprecated) +<22832> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Egypt 1907 / Blue Belt +<22991> +proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=1100000 +ellps=helmert +units=m +no_defs <> +# Egypt 1907 / Red Belt +<22992> +proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +units=m +no_defs <> +# Egypt 1907 / Purple Belt +<22993> +proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=200000 +ellps=helmert +units=m +no_defs <> +# Egypt 1907 / Extended Purple Belt +<22994> +proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=1200000 +ellps=helmert +units=m +no_defs <> +# ED50 / UTM zone 28N +<23028> +proj=utm +zone=28 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 29N +<23029> +proj=utm +zone=29 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 30N +<23030> +proj=utm +zone=30 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 31N +<23031> +proj=utm +zone=31 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 32N +<23032> +proj=utm +zone=32 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 33N +<23033> +proj=utm +zone=33 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 34N +<23034> +proj=utm +zone=34 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 35N +<23035> +proj=utm +zone=35 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 36N +<23036> +proj=utm +zone=36 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 37N +<23037> +proj=utm +zone=37 +ellps=intl +units=m +no_defs <> +# ED50 / UTM zone 38N +<23038> +proj=utm +zone=38 +ellps=intl +units=m +no_defs <> +# ED50 / TM 0 N +<23090> +proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# ED50 / TM 5 NE +<23095> +proj=tmerc +lat_0=0 +lon_0=5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs <> +# Fahud / UTM zone 39N +<23239> +proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs <> +# Fahud / UTM zone 40N +<23240> +proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs <> +# Garoua / UTM zone 33N (deprecated) +<23433> +proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# HD72 / EOV +<23700> +proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177777778 +k_0=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 46.2 +<23830> +proj=tmerc +lat_0=0 +lon_0=94.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 47.1 +<23831> +proj=tmerc +lat_0=0 +lon_0=97.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 47.2 +<23832> +proj=tmerc +lat_0=0 +lon_0=100.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 48.1 +<23833> +proj=tmerc +lat_0=0 +lon_0=103.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 48.2 +<23834> +proj=tmerc +lat_0=0 +lon_0=106.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 49.1 +<23835> +proj=tmerc +lat_0=0 +lon_0=109.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 49.2 +<23836> +proj=tmerc +lat_0=0 +lon_0=112.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 50.1 +<23837> +proj=tmerc +lat_0=0 +lon_0=115.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 50.2 +<23838> +proj=tmerc +lat_0=0 +lon_0=118.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 51.1 +<23839> +proj=tmerc +lat_0=0 +lon_0=121.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 51.2 +<23840> +proj=tmerc +lat_0=0 +lon_0=124.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 52.1 +<23841> +proj=tmerc +lat_0=0 +lon_0=127.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 52.2 +<23842> +proj=tmerc +lat_0=0 +lon_0=130.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 53.1 +<23843> +proj=tmerc +lat_0=0 +lon_0=133.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 53.2 +<23844> +proj=tmerc +lat_0=0 +lon_0=136.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / Indonesia TM-3 zone 54.1 +<23845> +proj=tmerc +lat_0=0 +lon_0=139.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# ID74 / UTM zone 46N +<23846> +proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 47N +<23847> +proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 48N +<23848> +proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 49N +<23849> +proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 50N +<23850> +proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 51N +<23851> +proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 52N +<23852> +proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 53N (deprecated) +<23853> +proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# DGN95 / UTM zone 46N +<23866> +proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 47N +<23867> +proj=utm +zone=47 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 48N +<23868> +proj=utm +zone=48 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 49N +<23869> +proj=utm +zone=49 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 50N +<23870> +proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 51N +<23871> +proj=utm +zone=51 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 52N +<23872> +proj=utm +zone=52 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 47S +<23877> +proj=utm +zone=47 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 48S +<23878> +proj=utm +zone=48 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 49S +<23879> +proj=utm +zone=49 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 50S +<23880> +proj=utm +zone=50 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 51S +<23881> +proj=utm +zone=51 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 52S +<23882> +proj=utm +zone=52 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 53S +<23883> +proj=utm +zone=53 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# DGN95 / UTM zone 54S +<23884> +proj=utm +zone=54 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# ID74 / UTM zone 46S (deprecated) +<23886> +proj=utm +zone=46 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 47S +<23887> +proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 48S +<23888> +proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 49S +<23889> +proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 50S +<23890> +proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 51S +<23891> +proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 52S +<23892> +proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 53S +<23893> +proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# ID74 / UTM zone 54S +<23894> +proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs <> +# Indian 1954 / UTM zone 46N +<23946> +proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs <> +# Indian 1954 / UTM zone 47N +<23947> +proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs <> +# Indian 1954 / UTM zone 48N +<23948> +proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs <> +# Indian 1975 / UTM zone 47N +<24047> +proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# Indian 1975 / UTM zone 48N +<24048> +proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# Jamaica 1875 / Jamaica (Old Grid) +<24100> +proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=167638.49597 +y_0=121918.90616 +a=6378249.144808011 +b=6356514.966204134 +to_meter=0.3047972654 +no_defs <> +# JAD69 / Jamaica National Grid +<24200> +proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250000 +y_0=150000 +ellps=clrk66 +units=m +no_defs <> +# Kalianpur 1937 / UTM zone 45N +<24305> +proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# Kalianpur 1937 / UTM zone 46N +<24306> +proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# Kalianpur 1962 / UTM zone 41N +<24311> +proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs <> +# Kalianpur 1962 / UTM zone 42N +<24312> +proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs <> +# Kalianpur 1962 / UTM zone 43N +<24313> +proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs <> +# Kalianpur 1975 / UTM zone 42N +<24342> +proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / UTM zone 43N +<24343> +proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / UTM zone 44N +<24344> +proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / UTM zone 45N +<24345> +proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / UTM zone 46N +<24346> +proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / UTM zone 47N +<24347> +proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1880 / India zone 0 +<24370> +proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377299.36559538 +b=6356098.359005156 +to_meter=0.9143985307444408 +no_defs <> +# Kalianpur 1880 / India zone I +<24371> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005156 +to_meter=0.9143985307444408 +no_defs <> +# Kalianpur 1880 / India zone IIa +<24372> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005156 +to_meter=0.9143985307444408 +no_defs <> +# Kalianpur 1880 / India zone III +<24373> +proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005156 +to_meter=0.9143985307444408 +no_defs <> +# Kalianpur 1880 / India zone IV +<24374> +proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005156 +to_meter=0.9143985307444408 +no_defs <> +# Kalianpur 1937 / India zone IIb +<24375> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075.41314024 +units=m +no_defs <> +# Kalianpur 1962 / India zone I +<24376> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs <> +# Kalianpur 1962 / India zone IIa +<24377> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m +no_defs <> +# Kalianpur 1975 / India zone I +<24378> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / India zone IIa +<24379> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / India zone IIb +<24380> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1975 / India zone III +<24381> +proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kalianpur 1880 / India zone IIb +<24382> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.359005156 +to_meter=0.9143985307444408 +no_defs <> +# Kalianpur 1975 / India zone IV +<24383> +proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs <> +# Kertau 1968 / Singapore Grid +<24500> +proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <> +# Kertau 1968 / UTM zone 47N +<24547> +proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <> +# Kertau 1968 / UTM zone 48N +<24548> +proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <> +# Kertau / R.S.O. Malaya (ch) (deprecated) +<24571> +proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804671.2997750348 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587 +no_defs <> +# KOC Lambert +<24600> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +units=m +no_defs <> +# La Canoa / UTM zone 18N +<24718> +proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs <> +# La Canoa / UTM zone 19N +<24719> +proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs <> +# La Canoa / UTM zone 20N +<24720> +proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs <> +# PSAD56 / UTM zone 17N +<24817> +proj=utm +zone=17 +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 18N +<24818> +proj=utm +zone=18 +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 19N +<24819> +proj=utm +zone=19 +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 20N +<24820> +proj=utm +zone=20 +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 21N +<24821> +proj=utm +zone=21 +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 17S +<24877> +proj=utm +zone=17 +south +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 18S +<24878> +proj=utm +zone=18 +south +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 19S +<24879> +proj=utm +zone=19 +south +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 20S +<24880> +proj=utm +zone=20 +south +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 21S +<24881> +proj=utm +zone=21 +south +ellps=intl +units=m +no_defs <> +# PSAD56 / UTM zone 22S +<24882> +proj=utm +zone=22 +south +ellps=intl +units=m +no_defs <> +# PSAD56 / Peru west zone +<24891> +proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=222000 +y_0=1426834.743 +ellps=intl +units=m +no_defs <> +# PSAD56 / Peru central zone +<24892> +proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=720000 +y_0=1039979.159 +ellps=intl +units=m +no_defs <> +# PSAD56 / Peru east zone +<24893> +proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=1324000 +y_0=1040084.558 +ellps=intl +units=m +no_defs <> +# Leigon / Ghana Metre Grid +<25000> +proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +units=m +no_defs <> +# Lome / UTM zone 31N +<25231> +proj=utm +zone=31 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Luzon 1911 / Philippines zone I +<25391> +proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# Luzon 1911 / Philippines zone II +<25392> +proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# Luzon 1911 / Philippines zone III +<25393> +proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# Luzon 1911 / Philippines zone IV +<25394> +proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# Luzon 1911 / Philippines zone V +<25395> +proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs <> +# Makassar (Jakarta) / NEIEZ (deprecated) +<25700> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +units=m +no_defs <> +# ETRS89 / UTM zone 28N +<25828> +proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 29N +<25829> +proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 30N +<25830> +proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 31N +<25831> +proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 32N +<25832> +proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 33N +<25833> +proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 34N +<25834> +proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 35N +<25835> +proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 36N +<25836> +proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 37N +<25837> +proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / UTM zone 38N +<25838> +proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs <> +# ETRS89 / TM Baltic93 +<25884> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# Malongo 1987 / UTM zone 32S +<25932> +proj=utm +zone=32 +south +ellps=intl +units=m +no_defs <> +# Merchich / Nord Maroc +<26191> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs <> +# Merchich / Sud Maroc +<26192> +proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs <> +# Merchich / Sahara (deprecated) +<26193> +proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs <> +# Merchich / Sahara Nord +<26194> +proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs <> +# Merchich / Sahara Sud +<26195> +proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs <> +# Massawa / UTM zone 37N +<26237> +proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m +no_defs <> +# Minna / UTM zone 31N +<26331> +proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs <> +# Minna / UTM zone 32N +<26332> +proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs <> +# Minna / Nigeria West Belt +<26391> +proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m +no_defs <> +# Minna / Nigeria Mid Belt +<26392> +proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m +no_defs <> +# Minna / Nigeria East Belt +<26393> +proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +no_defs <> +# Mhast / UTM zone 32S (deprecated) +<26432> +proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +units=m +no_defs <> +# Monte Mario (Rome) / Italy zone 1 (deprecated) +<26591> +proj=tmerc +lat_0=0 +lon_0=-3.45233333333333 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs <> +# Monte Mario (Rome) / Italy zone 2 (deprecated) +<26592> +proj=tmerc +lat_0=0 +lon_0=2.54766666666666 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs <> +# M'poraloko / UTM zone 32N +<26632> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# M'poraloko / UTM zone 32S +<26692> +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs <> +# NAD27 / UTM zone 1N +<26701> +proj=utm +zone=1 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 2N +<26702> +proj=utm +zone=2 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 3N +<26703> +proj=utm +zone=3 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 4N +<26704> +proj=utm +zone=4 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 5N +<26705> +proj=utm +zone=5 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 6N +<26706> +proj=utm +zone=6 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 7N +<26707> +proj=utm +zone=7 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 8N +<26708> +proj=utm +zone=8 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 9N +<26709> +proj=utm +zone=9 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 10N +<26710> +proj=utm +zone=10 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 11N +<26711> +proj=utm +zone=11 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 12N +<26712> +proj=utm +zone=12 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 13N +<26713> +proj=utm +zone=13 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 14N +<26714> +proj=utm +zone=14 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 15N +<26715> +proj=utm +zone=15 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 16N +<26716> +proj=utm +zone=16 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 17N +<26717> +proj=utm +zone=17 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 18N +<26718> +proj=utm +zone=18 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 19N +<26719> +proj=utm +zone=19 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 20N +<26720> +proj=utm +zone=20 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 21N +<26721> +proj=utm +zone=21 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / UTM zone 22N +<26722> +proj=utm +zone=22 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Alabama East +<26729> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alabama West +<26730> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 1 +<26731> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5000000.001016002 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 2 +<26732> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 3 +<26733> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 4 +<26734> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 5 +<26735> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 6 +<26736> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 7 +<26737> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=213360.4267208534 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 8 +<26738> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 9 +<26739> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Alaska zone 10 +<26740> +proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone I +<26741> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone II +<26742> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone III +<26743> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone IV +<26744> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone V +<26745> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone VI +<26746> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone VII (deprecated) +<26747> +proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=127079.524511049 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Arizona East +<26748> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Arizona Central +<26749> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Arizona West +<26750> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Arkansas North +<26751> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Arkansas South +<26752> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Colorado North +<26753> +proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Colorado Central +<26754> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Colorado South +<26755> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Connecticut +<26756> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Delaware +<26757> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Florida East +<26758> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Florida West +<26759> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Florida North +<26760> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Georgia East +<26766> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Georgia West +<26767> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Idaho East +<26768> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Idaho Central +<26769> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Idaho West +<26770> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Illinois East +<26771> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Illinois West +<26772> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Indiana East +<26773> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Indiana West +<26774> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Iowa North +<26775> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Iowa South +<26776> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Kansas North +<26777> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Kansas South +<26778> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Kentucky North +<26779> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Kentucky South +<26780> +proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Louisiana North +<26781> +proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Louisiana South +<26782> +proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Maine East +<26783> +proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Maine West +<26784> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Maryland +<26785> +proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Massachusetts Mainland +<26786> +proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Massachusetts Island +<26787> +proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Minnesota North +<26791> +proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Minnesota Central +<26792> +proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Minnesota South +<26793> +proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Mississippi East +<26794> +proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Mississippi West +<26795> +proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Missouri East +<26796> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Missouri Central +<26797> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Missouri West +<26798> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / California zone VII +<26799> +proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=1268253.006858014 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD Michigan / Michigan East +<26801> +proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-ft +no_defs <> +# NAD Michigan / Michigan Old Central +<26802> +proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-ft +no_defs <> +# NAD Michigan / Michigan West +<26803> +proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-ft +no_defs <> +# NAD Michigan / Michigan North +<26811> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-ft +no_defs <> +# NAD Michigan / Michigan Central +<26812> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-ft +no_defs <> +# NAD Michigan / Michigan South +<26813> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +units=us-ft +no_defs <> +# NAD83 / Maine East (ftUS) (deprecated) +<26814> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Maine West (ftUS) (deprecated) +<26815> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Minnesota North (ftUS) (deprecated) +<26819> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Minnesota Central (ftUS) (deprecated) +<26820> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Minnesota South (ftUS) (deprecated) +<26821> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Nebraska (ftUS) (deprecated) +<26822> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / West Virginia North (ftUS) (deprecated) +<26823> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / West Virginia South (ftUS) (deprecated) +<26824> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83(HARN) / Maine East (ftUS) (deprecated) +<26825> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Maine West (ftUS) (deprecated) +<26826> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Minnesota North (ftUS) (deprecated) +<26830> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Minnesota Central (ftUS) (deprecated) +<26831> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Minnesota South (ftUS) (deprecated) +<26832> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / Nebraska (ftUS) (deprecated) +<26833> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / West Virginia North (ftUS) (deprecated) +<26834> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(HARN) / West Virginia South (ftUS) (deprecated) +<26835> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(NSRS2007) / Maine East (ftUS) (deprecated) +<26836> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Maine West (ftUS) (deprecated) +<26837> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Minnesota North (ftUS) (deprecated) +<26841> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Minnesota Central (ftUS) (deprecated) +<26842> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Minnesota South (ftUS) (deprecated) +<26843> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101601 +y_0=99999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / Nebraska (ftUS) (deprecated) +<26844> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000101601 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / West Virginia North (ftUS) (deprecated) +<26845> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83(NSRS2007) / West Virginia South (ftUS) (deprecated) +<26846> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=1968500 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD83 / Maine East (ftUS) +<26847> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Maine West (ftUS) +<26848> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Minnesota North (ftUS) +<26849> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Minnesota Central (ftUS) +<26850> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Minnesota South (ftUS) +<26851> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / Nebraska (ftUS) +<26852> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / West Virginia North (ftUS) +<26853> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / West Virginia South (ftUS) +<26854> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83(HARN) / Maine East (ftUS) +<26855> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Maine West (ftUS) +<26856> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Minnesota North (ftUS) +<26857> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Minnesota Central (ftUS) +<26858> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Minnesota South (ftUS) +<26859> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / Nebraska (ftUS) +<26860> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / West Virginia North (ftUS) +<26861> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(HARN) / West Virginia South (ftUS) +<26862> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Maine East (ftUS) +<26863> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Maine West (ftUS) +<26864> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Minnesota North (ftUS) +<26865> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Minnesota Central (ftUS) +<26866> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Minnesota South (ftUS) +<26867> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / Nebraska (ftUS) +<26868> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / West Virginia North (ftUS) +<26869> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(NSRS2007) / West Virginia South (ftUS) +<26870> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <> +# NAD83(CSRS) / MTM zone 11 +<26891> +proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 12 +<26892> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 13 +<26893> +proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 14 +<26894> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 15 +<26895> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 16 +<26896> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 17 +<26897> +proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 1 +<26898> +proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83(CSRS) / MTM zone 2 +<26899> +proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# NAD83 / UTM zone 1N +<26901> +proj=utm +zone=1 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 2N +<26902> +proj=utm +zone=2 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 3N +<26903> +proj=utm +zone=3 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 4N +<26904> +proj=utm +zone=4 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 5N +<26905> +proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 6N +<26906> +proj=utm +zone=6 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 7N +<26907> +proj=utm +zone=7 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 8N +<26908> +proj=utm +zone=8 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 9N +<26909> +proj=utm +zone=9 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 10N +<26910> +proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 11N +<26911> +proj=utm +zone=11 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 12N +<26912> +proj=utm +zone=12 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 13N +<26913> +proj=utm +zone=13 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 14N +<26914> +proj=utm +zone=14 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 15N +<26915> +proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 16N +<26916> +proj=utm +zone=16 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 17N +<26917> +proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 18N +<26918> +proj=utm +zone=18 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 19N +<26919> +proj=utm +zone=19 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 20N +<26920> +proj=utm +zone=20 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 21N +<26921> +proj=utm +zone=21 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 22N +<26922> +proj=utm +zone=22 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / UTM zone 23N +<26923> +proj=utm +zone=23 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alabama East +<26929> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alabama West +<26930> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 1 +<26931> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 2 +<26932> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 3 +<26933> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 4 +<26934> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 5 +<26935> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 6 +<26936> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 7 +<26937> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 8 +<26938> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 9 +<26939> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Alaska zone 10 +<26940> +proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / California zone 1 +<26941> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / California zone 2 +<26942> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / California zone 3 +<26943> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / California zone 4 +<26944> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / California zone 5 +<26945> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / California zone 6 +<26946> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Arizona East +<26948> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Arizona Central +<26949> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Arizona West +<26950> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Arkansas North +<26951> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Arkansas South +<26952> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Colorado North +<26953> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Colorado Central +<26954> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Colorado South +<26955> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Connecticut +<26956> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Delaware +<26957> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Florida East +<26958> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Florida West +<26959> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Florida North +<26960> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Hawaii zone 1 +<26961> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Hawaii zone 2 +<26962> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Hawaii zone 3 +<26963> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Hawaii zone 4 +<26964> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Hawaii zone 5 +<26965> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Georgia East +<26966> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Georgia West +<26967> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Idaho East +<26968> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Idaho Central +<26969> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Idaho West +<26970> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Illinois East +<26971> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Illinois West +<26972> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Indiana East +<26973> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Indiana West +<26974> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Iowa North +<26975> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Iowa South +<26976> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Kansas North +<26977> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Kansas South +<26978> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Kentucky North (deprecated) +<26979> +proj=lcc +lat_1=37.96666666666667 +lat_2=37.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Kentucky South +<26980> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Louisiana North +<26981> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Louisiana South +<26982> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Maine East +<26983> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Maine West +<26984> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Maryland +<26985> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Massachusetts Mainland +<26986> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Massachusetts Island +<26987> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Michigan North +<26988> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Michigan Central +<26989> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Michigan South +<26990> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Minnesota North +<26991> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Minnesota Central +<26992> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Minnesota South +<26993> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Mississippi East +<26994> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Mississippi West +<26995> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Missouri East +<26996> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Missouri Central +<26997> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Missouri West +<26998> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# Nahrwan 1967 / UTM zone 37N +<27037> +proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs <> +# Nahrwan 1967 / UTM zone 38N +<27038> +proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs <> +# Nahrwan 1967 / UTM zone 39N +<27039> +proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs <> +# Nahrwan 1967 / UTM zone 40N +<27040> +proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs <> +# Naparima 1972 / UTM zone 20N +<27120> +proj=utm +zone=20 +ellps=intl +units=m +no_defs <> +# NZGD49 / New Zealand Map Grid +<27200> +proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Mount Eden Circuit +<27205> +proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393611111 +k=0.9999 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Bay of Plenty Circuit +<27206> +proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.46619725 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Poverty Bay Circuit +<27207> +proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Hawkes Bay Circuit +<27208> +proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805277778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Taranaki Circuit +<27209> +proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.22801175 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Tuhirangi Circuit +<27210> +proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Wanganui Circuit +<27211> +proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Wairarapa Circuit +<27212> +proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Wellington Circuit +<27213> +proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Collingwood Circuit +<27214> +proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Nelson Circuit +<27215> +proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168055555 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Karamea Circuit +<27216> +proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Buller Circuit +<27217> +proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600555556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Grey Circuit +<27218> +proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Amuri Circuit +<27219> +proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333888889 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Marlborough Circuit +<27220> +proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Hokitika Circuit +<27221> +proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Okarito Circuit +<27222> +proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Jacksons Bay Circuit +<27223> +proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Mount Pleasant Circuit +<27224> +proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Gawler Circuit +<27225> +proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484722222 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Timaru Circuit +<27226> +proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Lindis Peak Circuit +<27227> +proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Mount Nicholas Circuit +<27228> +proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Mount York Circuit +<27229> +proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Observation Point Circuit +<27230> +proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / North Taieri Circuit +<27231> +proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891111111 +k=0.99996 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / Bluff Circuit +<27232> +proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 +k=1 +x_0=300002.66 +y_0=699999.58 +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / UTM zone 58S +<27258> +proj=utm +zone=58 +south +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / UTM zone 59S +<27259> +proj=utm +zone=59 +south +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / UTM zone 60S +<27260> +proj=utm +zone=60 +south +ellps=intl +datum=nzgd49 +units=m +no_defs <> +# NZGD49 / North Island Grid +<27291> +proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1 +x_0=274319.5243848086 +y_0=365759.3658464114 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs <> +# NZGD49 / South Island Grid +<27292> +proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1 +x_0=457199.2073080143 +y_0=457199.2073080143 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287 +no_defs <> +# NGO 1948 (Oslo) / NGO zone I +<27391> +proj=tmerc +lat_0=58 +lon_0=-4.666666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# NGO 1948 (Oslo) / NGO zone II +<27392> +proj=tmerc +lat_0=58 +lon_0=-2.333333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# NGO 1948 (Oslo) / NGO zone III +<27393> +proj=tmerc +lat_0=58 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# NGO 1948 (Oslo) / NGO zone IV +<27394> +proj=tmerc +lat_0=58 +lon_0=2.5 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# NGO 1948 (Oslo) / NGO zone V +<27395> +proj=tmerc +lat_0=58 +lon_0=6.166666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# NGO 1948 (Oslo) / NGO zone VI +<27396> +proj=tmerc +lat_0=58 +lon_0=10.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# NGO 1948 (Oslo) / NGO zone VII +<27397> +proj=tmerc +lat_0=58 +lon_0=14.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# NGO 1948 (Oslo) / NGO zone VIII +<27398> +proj=tmerc +lat_0=58 +lon_0=18.33333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs <> +# Datum 73 / UTM zone 29N +<27429> +proj=utm +zone=29 +ellps=intl +units=m +no_defs <> +# Datum 73 / Modified Portuguese Grid (deprecated) +<27492> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs <> +# Datum 73 / Modified Portuguese Grid +<27493> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs <> +# unnamed +<27500> +proj=lcc +lat_1=49.5 +lat_0=49.5 +lon_0=5.4 +k_0=0.99950908 +x_0=500000 +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=2.3372291666985 +units=m +no_defs <> +# NTF (Paris) / Lambert Nord France +<27561> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Lambert Centre France +<27562> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Lambert Sud France +<27563> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Lambert Corse +<27564> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Lambert zone I +<27571> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Lambert zone II +<27572> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Lambert zone III +<27573> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Lambert zone IV +<27574> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / France I (deprecated) +<27581> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / France II (deprecated) +<27582> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / France III (deprecated) +<27583> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / France IV (deprecated) +<27584> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Nord France (deprecated) +<27591> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Centre France (deprecated) +<27592> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Sud France (deprecated) +<27593> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# NTF (Paris) / Corse (deprecated) +<27594> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs <> +# OSGB 1936 / British National Grid +<27700> +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs <> +# Palestine 1923 / Palestine Grid +<28191> +proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs <> +# Palestine 1923 / Palestine Belt +<28192> +proj=tmerc +lat_0=31.73409694444445 +lon_0=35.21208055555556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs <> +# Palestine 1923 / Israeli CS Grid +<28193> +proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m +no_defs <> +# Pointe Noire / UTM zone 32S +<28232> +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs <> +# GDA94 / MGA zone 48 +<28348> +proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 49 +<28349> +proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 50 +<28350> +proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 51 +<28351> +proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 52 +<28352> +proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 53 +<28353> +proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 54 +<28354> +proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 55 +<28355> +proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 56 +<28356> +proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 57 +<28357> +proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# GDA94 / MGA zone 58 +<28358> +proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 2 (deprecated) +<28402> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 3 (deprecated) +<28403> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 4 +<28404> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 5 +<28405> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 6 +<28406> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 7 +<28407> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 8 +<28408> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 9 +<28409> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 10 +<28410> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 11 +<28411> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 12 +<28412> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 13 +<28413> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 14 +<28414> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 15 +<28415> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 16 +<28416> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 17 +<28417> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 18 +<28418> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 19 +<28419> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 20 +<28420> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 21 +<28421> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 22 +<28422> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 23 +<28423> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 24 +<28424> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 25 +<28425> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 26 +<28426> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 27 +<28427> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 28 +<28428> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 29 +<28429> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 30 +<28430> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 31 +<28431> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 32 +<28432> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 2N (deprecated) +<28462> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 3N (deprecated) +<28463> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 4N (deprecated) +<28464> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 5N (deprecated) +<28465> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 6N (deprecated) +<28466> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 7N (deprecated) +<28467> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 8N (deprecated) +<28468> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 9N (deprecated) +<28469> +proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 10N (deprecated) +<28470> +proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 11N (deprecated) +<28471> +proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 12N (deprecated) +<28472> +proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 13N (deprecated) +<28473> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 14N (deprecated) +<28474> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 15N (deprecated) +<28475> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 16N (deprecated) +<28476> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 17N (deprecated) +<28477> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 18N (deprecated) +<28478> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 19N (deprecated) +<28479> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 20N (deprecated) +<28480> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 21N (deprecated) +<28481> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 22N (deprecated) +<28482> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 23N (deprecated) +<28483> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 24N (deprecated) +<28484> +proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 25N (deprecated) +<28485> +proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 26N (deprecated) +<28486> +proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 27N (deprecated) +<28487> +proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 28N (deprecated) +<28488> +proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 29N (deprecated) +<28489> +proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 30N (deprecated) +<28490> +proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 31N (deprecated) +<28491> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Pulkovo 1942 / Gauss-Kruger 32N (deprecated) +<28492> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <> +# Qatar 1974 / Qatar National Grid +<28600> +proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +units=m +no_defs <> +# Amersfoort / RD Old +<28991> +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Amersfoort / RD New +<28992> +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs <> +# SAD69 / Brazil Polyconic (deprecated) +<29100> +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS67 +units=m +no_defs <> +# SAD69 / Brazil Polyconic +<29101> +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 18N (deprecated) +<29118> +proj=utm +zone=18 +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 19N (deprecated) +<29119> +proj=utm +zone=19 +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 20N (deprecated) +<29120> +proj=utm +zone=20 +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 21N (deprecated) +<29121> +proj=utm +zone=21 +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 22N (deprecated) +<29122> +proj=utm +zone=22 +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 18N +<29168> +proj=utm +zone=18 +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 19N +<29169> +proj=utm +zone=19 +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 20N +<29170> +proj=utm +zone=20 +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 21N +<29171> +proj=utm +zone=21 +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 22N +<29172> +proj=utm +zone=22 +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 17S (deprecated) +<29177> +proj=utm +zone=17 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 18S (deprecated) +<29178> +proj=utm +zone=18 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 19S (deprecated) +<29179> +proj=utm +zone=19 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 20S (deprecated) +<29180> +proj=utm +zone=20 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 21S (deprecated) +<29181> +proj=utm +zone=21 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 22S (deprecated) +<29182> +proj=utm +zone=22 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 23S (deprecated) +<29183> +proj=utm +zone=23 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 24S (deprecated) +<29184> +proj=utm +zone=24 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 25S (deprecated) +<29185> +proj=utm +zone=25 +south +ellps=GRS67 +units=m +no_defs <> +# SAD69 / UTM zone 17S +<29187> +proj=utm +zone=17 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 18S +<29188> +proj=utm +zone=18 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 19S +<29189> +proj=utm +zone=19 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 20S +<29190> +proj=utm +zone=20 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 21S +<29191> +proj=utm +zone=21 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 22S +<29192> +proj=utm +zone=22 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 23S +<29193> +proj=utm +zone=23 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 24S +<29194> +proj=utm +zone=24 +south +ellps=aust_SA +units=m +no_defs <> +# SAD69 / UTM zone 25S +<29195> +proj=utm +zone=25 +south +ellps=aust_SA +units=m +no_defs <> +# Sapper Hill 1943 / UTM zone 20S +<29220> +proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs <> +# Sapper Hill 1943 / UTM zone 21S +<29221> +proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs <> +# Schwarzeck / UTM zone 33S +<29333> +proj=utm +zone=33 +south +ellps=bess_nam +units=m +no_defs <> +# Schwarzeck / Lo22/11 +# Unable to translate coordinate system EPSG:29371 into PROJ.4 format. +# +# Schwarzeck / Lo22/13 +# Unable to translate coordinate system EPSG:29373 into PROJ.4 format. +# +# Schwarzeck / Lo22/15 +# Unable to translate coordinate system EPSG:29375 into PROJ.4 format. +# +# Schwarzeck / Lo22/17 +# Unable to translate coordinate system EPSG:29377 into PROJ.4 format. +# +# Schwarzeck / Lo22/19 +# Unable to translate coordinate system EPSG:29379 into PROJ.4 format. +# +# Schwarzeck / Lo22/21 +# Unable to translate coordinate system EPSG:29381 into PROJ.4 format. +# +# Schwarzeck / Lo22/23 +# Unable to translate coordinate system EPSG:29383 into PROJ.4 format. +# +# Schwarzeck / Lo22/25 +# Unable to translate coordinate system EPSG:29385 into PROJ.4 format. +# +# Sudan / UTM zone 35N (deprecated) +<29635> +proj=utm +zone=35 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Sudan / UTM zone 36N (deprecated) +<29636> +proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Tananarive (Paris) / Laborde Grid (deprecated) +<29700> +proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m +no_defs <> +# Tananarive (Paris) / Laborde Grid +# Unable to translate coordinate system EPSG:29701 into PROJ.4 format. +# +# Tananarive (Paris) / Laborde Grid approximation +<29702> +proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m +no_defs <> +# Tananarive / UTM zone 38S +<29738> +proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs <> +# Tananarive / UTM zone 39S +<29739> +proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs <> +# Timbalai 1948 / UTM zone 49N +<29849> +proj=utm +zone=49 +ellps=evrstSS +units=m +no_defs <> +# Timbalai 1948 / UTM zone 50N +<29850> +proj=utm +zone=50 +ellps=evrstSS +units=m +no_defs <> +# Timbalai 1948 / RSO Borneo (ch) +<29871> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 +ellps=evrstSS +to_meter=20.11676512155263 +no_defs <> +# Timbalai 1948 / RSO Borneo (ft) +<29872> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +ellps=evrstSS +to_meter=0.3047994715386762 +no_defs <> +# Timbalai 1948 / RSO Borneo (m) +<29873> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +ellps=evrstSS +units=m +no_defs <> +# TM65 / Irish National Grid (deprecated) +<29900> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +ellps=mod_airy +datum=ire65 +units=m +no_defs <> +# OSNI 1952 / Irish National Grid +<29901> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1 +x_0=200000 +y_0=250000 +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +units=m +no_defs <> +# TM65 / Irish Grid +<29902> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +ellps=mod_airy +datum=ire65 +units=m +no_defs <> +# TM75 / Irish Grid +<29903> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +ellps=mod_airy +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS I +<30161> +proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS II +<30162> +proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS III +<30163> +proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS IV +<30164> +proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS V +<30165> +proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS VI +<30166> +proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS VII +<30167> +proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS VIII +<30168> +proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS IX +<30169> +proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS X +<30170> +proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XI +<30171> +proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XII +<30172> +proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XIII +<30173> +proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XIV +<30174> +proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XV +<30175> +proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XVI +<30176> +proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XVII +<30177> +proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XVIII +<30178> +proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Tokyo / Japan Plane Rectangular CS XIX +<30179> +proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Trinidad 1903 / Trinidad Grid +<30200> +proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164 +no_defs <> +# TC(1948) / UTM zone 39N +<30339> +proj=utm +zone=39 +ellps=helmert +units=m +no_defs <> +# TC(1948) / UTM zone 40N +<30340> +proj=utm +zone=40 +ellps=helmert +units=m +no_defs <> +# Voirol 1875 / Nord Algerie (ancienne) +<30491> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs <> +# Voirol 1875 / Sud Algerie (ancienne) +<30492> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs <> +# Voirol 1879 / Nord Algerie (ancienne) +<30493> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Voirol 1879 / Sud Algerie (ancienne) +<30494> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Nord Sahara 1959 / UTM zone 29N +<30729> +proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs <> +# Nord Sahara 1959 / UTM zone 30N +<30730> +proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs <> +# Nord Sahara 1959 / UTM zone 31N +<30731> +proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs <> +# Nord Sahara 1959 / UTM zone 32N +<30732> +proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs <> +# Nord Sahara 1959 / Voirol Unifie Nord +<30791> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs <> +# Nord Sahara 1959 / Voirol Unifie Sud +<30792> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs <> +# RT38 2.5 gon W (deprecated) +<30800> +proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs <> +# Yoff / UTM zone 28N +<31028> +proj=utm +zone=28 +a=6378249.2 +b=6356515 +units=m +no_defs <> +# Zanderij / UTM zone 21N +<31121> +proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs <> +# Zanderij / TM 54 NW +<31154> +proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs <> +# Zanderij / Suriname Old TM +<31170> +proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs <> +# Zanderij / Suriname TM +<31171> +proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs <> +# MGI (Ferro) / Austria GK West Zone +<31251> +proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / Austria GK Central Zone +<31252> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / Austria GK East Zone +<31253> +proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI / Austria GK West +<31254> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria GK Central +<31255> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria GK East +<31256> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria GK M28 +<31257> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=-5000000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria GK M31 +<31258> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=-5000000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria GK M34 +<31259> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=-5000000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / 3-degree Gauss zone 5 (deprecated) +<31265> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / 3-degree Gauss zone 6 (deprecated) +<31266> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / 3-degree Gauss zone 7 (deprecated) +<31267> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / 3-degree Gauss zone 8 (deprecated) +<31268> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Balkans zone 5 (deprecated) +<31275> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Balkans zone 6 (deprecated) +<31276> +proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Balkans zone 7 (deprecated) +<31277> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Balkans zone 8 (deprecated) +<31278> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Balkans zone 8 (deprecated) +<31279> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI (Ferro) / Austria West Zone +<31281> +proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / Austria Central Zone +<31282> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / Austria East Zone +<31283> +proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI / Austria M28 +<31284> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria M31 +<31285> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria M34 +<31286> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria Lambert +<31287> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI (Ferro) / M28 +<31288> +proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / M31 +<31289> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / M34 +<31290> +proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / Austria West Zone (deprecated) +<31291> +proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / Austria Central Zone (deprecated) +<31292> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI (Ferro) / Austria East Zone (deprecated) +<31293> +proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs <> +# MGI / M28 (deprecated) +<31294> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / M31 (deprecated) +<31295> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / M34 (deprecated) +<31296> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# MGI / Austria Lambert (deprecated) +<31297> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +datum=hermannskogel +units=m +no_defs <> +# Belge 1972 / Belge Lambert 72 +<31300> +proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=4.356939722222222 +x_0=150000.01256 +y_0=5400088.4378 +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +units=m +no_defs <> +# Belge 1972 / Belgian Lambert 72 +<31370> +proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +units=m +no_defs <> +# DHDN / 3-degree Gauss zone 1 (deprecated) +<31461> +proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss zone 2 (deprecated) +<31462> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss zone 3 (deprecated) +<31463> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss zone 4 (deprecated) +<31464> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss zone 5 (deprecated) +<31465> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss-Kruger zone 2 +<31466> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss-Kruger zone 3 +<31467> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss-Kruger zone 4 +<31468> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# DHDN / 3-degree Gauss-Kruger zone 5 +<31469> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m +no_defs <> +# Conakry 1905 / UTM zone 28N +<31528> +proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs <> +# Conakry 1905 / UTM zone 29N +<31529> +proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs <> +# Dealul Piscului 1930 / Stereo 33 +<31600> +proj=sterea +lat_0=45.9 +lon_0=25.39246588888889 +k=0.9996667 +x_0=500000 +y_0=500000 +ellps=intl +units=m +no_defs <> +# Dealul Piscului 1970/ Stereo 70 (deprecated) +<31700> +proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 +y_0=500000 +ellps=krass +units=m +no_defs <> +# NGN / UTM zone 38N +<31838> +proj=utm +zone=38 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs <> +# NGN / UTM zone 39N +<31839> +proj=utm +zone=39 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m +no_defs <> +# KUDAMS / KTM (deprecated) +<31900> +proj=tmerc +lat_0=0 +lon_0=48 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# KUDAMS / KTM +<31901> +proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 11N +<31965> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 12N +<31966> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 13N +<31967> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 14N +<31968> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 15N +<31969> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 16N +<31970> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 17N +<31971> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 18N +<31972> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 19N +<31973> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 20N +<31974> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 21N +<31975> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 22N +<31976> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 17S +<31977> +proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 18S +<31978> +proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 19S +<31979> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 20S +<31980> +proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 21S +<31981> +proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 22S +<31982> +proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 23S +<31983> +proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 24S +<31984> +proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 2000 / UTM zone 25S +<31985> +proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 17N +<31986> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 18N +<31987> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 19N +<31988> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 20N +<31989> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 21N +<31990> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 22N +<31991> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 17S +<31992> +proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 18S +<31993> +proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 19S +<31994> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 20S +<31995> +proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 21S +<31996> +proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 22S +<31997> +proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 23S +<31998> +proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 24S +<31999> +proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# SIRGAS 1995 / UTM zone 25S +<32000> +proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <> +# NAD27 / Montana North +<32001> +proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=47 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Montana Central +<32002> +proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=45.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Montana South +<32003> +proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Nebraska North +<32005> +proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=41.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Nebraska South +<32006> +proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Nevada East +<32007> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Nevada Central +<32008> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Nevada West +<32009> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New Hampshire +<32010> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New Jersey +<32011> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666666667 +k=0.9999749999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New Mexico East +<32012> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New Mexico Central +<32013> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New Mexico West +<32014> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New York East +<32015> +proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New York Central +<32016> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New York West +<32017> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / New York Long Island +<32018> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.5 +lon_0=-74 +x_0=304800.6096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / North Carolina +<32019> +proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / North Dakota North +<32020> +proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / North Dakota South +<32021> +proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Ohio North +<32022> +proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Ohio South +<32023> +proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Oklahoma North +<32024> +proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Oklahoma South +<32025> +proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Oregon North +<32026> +proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Oregon South +<32027> +proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Pennsylvania North +<32028> +proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Pennsylvania South +<32029> +proj=lcc +lat_1=39.93333333333333 +lat_2=40.8 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Rhode Island +<32030> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9999938 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / South Carolina North +<32031> +proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / South Carolina South +<32033> +proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / South Dakota North +<32034> +proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / South Dakota South +<32035> +proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Tennessee (deprecated) +<32036> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=30480.06096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Texas North +<32037> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Texas North Central +<32038> +proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Texas Central +<32039> +proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Texas South Central +<32040> +proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Texas South +<32041> +proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Utah North +<32042> +proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Utah Central +<32043> +proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Utah South +<32044> +proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Vermont +<32045> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Virginia North +<32046> +proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Virginia South +<32047> +proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Washington North +<32048> +proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Washington South +<32049> +proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / West Virginia North +<32050> +proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / West Virginia South +<32051> +proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Wisconsin North +<32052> +proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Wisconsin Central +<32053> +proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Wisconsin South +<32054> +proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Wyoming East +<32055> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Wyoming East Central +<32056> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Wyoming West Central +<32057> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Wyoming West +<32058> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / Guatemala Norte +<32061> +proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=500000 +y_0=292209.579 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Guatemala Sur +<32062> +proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / BLM 14N (ftUS) +<32064> +proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / BLM 15N (ftUS) +<32065> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / BLM 16N (ftUS) +<32066> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / BLM 17N (ftUS) +<32067> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / BLM 14N (feet) (deprecated) +<32074> +proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / BLM 15N (feet) (deprecated) +<32075> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / BLM 16N (feet) (deprecated) +<32076> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / BLM 17N (feet) (deprecated) +<32077> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD27 / MTM zone 1 +<32081> +proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / MTM zone 2 +<32082> +proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / MTM zone 3 +<32083> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / MTM zone 4 +<32084> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / MTM zone 5 +<32085> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / MTM zone 6 +<32086> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Quebec Lambert +<32098> +proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs <> +# NAD27 / Louisiana Offshore +<32099> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=us-ft +no_defs <> +# NAD83 / Montana +<32100> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Nebraska +<32104> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Nevada East +<32107> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Nevada Central +<32108> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Nevada West +<32109> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New Hampshire +<32110> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New Jersey +<32111> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New Mexico East +<32112> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New Mexico Central +<32113> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New Mexico West +<32114> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New York East +<32115> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New York Central +<32116> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New York West +<32117> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / New York Long Island +<32118> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / North Carolina +<32119> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / North Dakota North +<32120> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / North Dakota South +<32121> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Ohio North +<32122> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Ohio South +<32123> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Oklahoma North +<32124> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Oklahoma South +<32125> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Oregon North +<32126> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Oregon South +<32127> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Pennsylvania North +<32128> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Pennsylvania South +<32129> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Rhode Island +<32130> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / South Carolina +<32133> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / South Dakota North +<32134> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / South Dakota South +<32135> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Tennessee +<32136> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Texas North +<32137> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Texas North Central +<32138> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Texas Central +<32139> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Texas South Central +<32140> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Texas South +<32141> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Utah North +<32142> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Utah Central +<32143> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Utah South +<32144> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Vermont +<32145> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Virginia North +<32146> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Virginia South +<32147> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Washington North +<32148> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Washington South +<32149> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / West Virginia North +<32150> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / West Virginia South +<32151> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Wisconsin North +<32152> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Wisconsin Central +<32153> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Wisconsin South +<32154> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Wyoming East +<32155> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Wyoming East Central +<32156> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Wyoming West Central +<32157> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Wyoming West +<32158> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Puerto Rico & Virgin Is. +<32161> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / BLM 14N (ftUS) +<32164> +proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / BLM 15N (ftUS) +<32165> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / BLM 16N (ftUS) +<32166> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / BLM 17N (ftUS) +<32167> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=us-ft +no_defs <> +# NAD83 / SCoPQ zone 2 +<32180> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 1 +<32181> +proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 2 +<32182> +proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 3 +<32183> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 4 +<32184> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 5 +<32185> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 6 +<32186> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 7 +<32187> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 8 +<32188> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 9 +<32189> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 10 +<32190> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 11 +<32191> +proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 12 +<32192> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 13 +<32193> +proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 14 +<32194> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 15 +<32195> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 16 +<32196> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / MTM zone 17 +<32197> +proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Quebec Lambert +<32198> +proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# NAD83 / Louisiana Offshore +<32199> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs <> +# WGS 72 / UTM zone 1N +<32201> +proj=utm +zone=1 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 2N +<32202> +proj=utm +zone=2 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 3N +<32203> +proj=utm +zone=3 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 4N +<32204> +proj=utm +zone=4 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 5N +<32205> +proj=utm +zone=5 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 6N +<32206> +proj=utm +zone=6 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 7N +<32207> +proj=utm +zone=7 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 8N +<32208> +proj=utm +zone=8 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 9N +<32209> +proj=utm +zone=9 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 10N +<32210> +proj=utm +zone=10 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 11N +<32211> +proj=utm +zone=11 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 12N +<32212> +proj=utm +zone=12 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 13N +<32213> +proj=utm +zone=13 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 14N +<32214> +proj=utm +zone=14 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 15N +<32215> +proj=utm +zone=15 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 16N +<32216> +proj=utm +zone=16 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 17N +<32217> +proj=utm +zone=17 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 18N +<32218> +proj=utm +zone=18 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 19N +<32219> +proj=utm +zone=19 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 20N +<32220> +proj=utm +zone=20 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 21N +<32221> +proj=utm +zone=21 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 22N +<32222> +proj=utm +zone=22 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 23N +<32223> +proj=utm +zone=23 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 24N +<32224> +proj=utm +zone=24 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 25N +<32225> +proj=utm +zone=25 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 26N +<32226> +proj=utm +zone=26 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 27N +<32227> +proj=utm +zone=27 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 28N +<32228> +proj=utm +zone=28 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 29N +<32229> +proj=utm +zone=29 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 30N +<32230> +proj=utm +zone=30 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 31N +<32231> +proj=utm +zone=31 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 32N +<32232> +proj=utm +zone=32 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 33N +<32233> +proj=utm +zone=33 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 34N +<32234> +proj=utm +zone=34 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 35N +<32235> +proj=utm +zone=35 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 36N +<32236> +proj=utm +zone=36 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 37N +<32237> +proj=utm +zone=37 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 38N +<32238> +proj=utm +zone=38 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 39N +<32239> +proj=utm +zone=39 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 40N +<32240> +proj=utm +zone=40 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 41N +<32241> +proj=utm +zone=41 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 42N +<32242> +proj=utm +zone=42 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 43N +<32243> +proj=utm +zone=43 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 44N +<32244> +proj=utm +zone=44 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 45N +<32245> +proj=utm +zone=45 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 46N +<32246> +proj=utm +zone=46 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 47N +<32247> +proj=utm +zone=47 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 48N +<32248> +proj=utm +zone=48 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 49N +<32249> +proj=utm +zone=49 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 50N +<32250> +proj=utm +zone=50 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 51N +<32251> +proj=utm +zone=51 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 52N +<32252> +proj=utm +zone=52 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 53N +<32253> +proj=utm +zone=53 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 54N +<32254> +proj=utm +zone=54 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 55N +<32255> +proj=utm +zone=55 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 56N +<32256> +proj=utm +zone=56 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 57N +<32257> +proj=utm +zone=57 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 58N +<32258> +proj=utm +zone=58 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 59N +<32259> +proj=utm +zone=59 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 60N +<32260> +proj=utm +zone=60 +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 1S +<32301> +proj=utm +zone=1 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 2S +<32302> +proj=utm +zone=2 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 3S +<32303> +proj=utm +zone=3 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 4S +<32304> +proj=utm +zone=4 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 5S +<32305> +proj=utm +zone=5 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 6S +<32306> +proj=utm +zone=6 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 7S +<32307> +proj=utm +zone=7 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 8S +<32308> +proj=utm +zone=8 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 9S +<32309> +proj=utm +zone=9 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 10S +<32310> +proj=utm +zone=10 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 11S +<32311> +proj=utm +zone=11 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 12S +<32312> +proj=utm +zone=12 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 13S +<32313> +proj=utm +zone=13 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 14S +<32314> +proj=utm +zone=14 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 15S +<32315> +proj=utm +zone=15 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 16S +<32316> +proj=utm +zone=16 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 17S +<32317> +proj=utm +zone=17 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 18S +<32318> +proj=utm +zone=18 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 19S +<32319> +proj=utm +zone=19 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 20S +<32320> +proj=utm +zone=20 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 21S +<32321> +proj=utm +zone=21 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 22S +<32322> +proj=utm +zone=22 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 23S +<32323> +proj=utm +zone=23 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 24S +<32324> +proj=utm +zone=24 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 25S +<32325> +proj=utm +zone=25 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 26S +<32326> +proj=utm +zone=26 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 27S +<32327> +proj=utm +zone=27 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 28S +<32328> +proj=utm +zone=28 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 29S +<32329> +proj=utm +zone=29 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 30S +<32330> +proj=utm +zone=30 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 31S +<32331> +proj=utm +zone=31 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 32S +<32332> +proj=utm +zone=32 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 33S +<32333> +proj=utm +zone=33 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 34S +<32334> +proj=utm +zone=34 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 35S +<32335> +proj=utm +zone=35 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 36S +<32336> +proj=utm +zone=36 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 37S +<32337> +proj=utm +zone=37 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 38S +<32338> +proj=utm +zone=38 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 39S +<32339> +proj=utm +zone=39 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 40S +<32340> +proj=utm +zone=40 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 41S +<32341> +proj=utm +zone=41 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 42S +<32342> +proj=utm +zone=42 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 43S +<32343> +proj=utm +zone=43 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 44S +<32344> +proj=utm +zone=44 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 45S +<32345> +proj=utm +zone=45 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 46S +<32346> +proj=utm +zone=46 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 47S +<32347> +proj=utm +zone=47 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 48S +<32348> +proj=utm +zone=48 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 49S +<32349> +proj=utm +zone=49 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 50S +<32350> +proj=utm +zone=50 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 51S +<32351> +proj=utm +zone=51 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 52S +<32352> +proj=utm +zone=52 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 53S +<32353> +proj=utm +zone=53 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 54S +<32354> +proj=utm +zone=54 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 55S +<32355> +proj=utm +zone=55 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 56S +<32356> +proj=utm +zone=56 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 57S +<32357> +proj=utm +zone=57 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 58S +<32358> +proj=utm +zone=58 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 59S +<32359> +proj=utm +zone=59 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72 / UTM zone 60S +<32360> +proj=utm +zone=60 +south +ellps=WGS72 +units=m +no_defs <> +# WGS 72BE / UTM zone 1N +<32401> +proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 2N +<32402> +proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 3N +<32403> +proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 4N +<32404> +proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 5N +<32405> +proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 6N +<32406> +proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 7N +<32407> +proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 8N +<32408> +proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 9N +<32409> +proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 10N +<32410> +proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 11N +<32411> +proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 12N +<32412> +proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 13N +<32413> +proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 14N +<32414> +proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 15N +<32415> +proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 16N +<32416> +proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 17N +<32417> +proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 18N +<32418> +proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 19N +<32419> +proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 20N +<32420> +proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 21N +<32421> +proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 22N +<32422> +proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 23N +<32423> +proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 24N +<32424> +proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 25N +<32425> +proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 26N +<32426> +proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 27N +<32427> +proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 28N +<32428> +proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 29N +<32429> +proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 30N +<32430> +proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 31N +<32431> +proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 32N +<32432> +proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 33N +<32433> +proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 34N +<32434> +proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 35N +<32435> +proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 36N +<32436> +proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 37N +<32437> +proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 38N +<32438> +proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 39N +<32439> +proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 40N +<32440> +proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 41N +<32441> +proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 42N +<32442> +proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 43N +<32443> +proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 44N +<32444> +proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 45N +<32445> +proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 46N +<32446> +proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 47N +<32447> +proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 48N +<32448> +proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 49N +<32449> +proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 50N +<32450> +proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 51N +<32451> +proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 52N +<32452> +proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 53N +<32453> +proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 54N +<32454> +proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 55N +<32455> +proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 56N +<32456> +proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 57N +<32457> +proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 58N +<32458> +proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 59N +<32459> +proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 60N +<32460> +proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 1S +<32501> +proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 2S +<32502> +proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 3S +<32503> +proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 4S +<32504> +proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 5S +<32505> +proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 6S +<32506> +proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 7S +<32507> +proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 8S +<32508> +proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 9S +<32509> +proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 10S +<32510> +proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 11S +<32511> +proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 12S +<32512> +proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 13S +<32513> +proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 14S +<32514> +proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 15S +<32515> +proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 16S +<32516> +proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 17S +<32517> +proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 18S +<32518> +proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 19S +<32519> +proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 20S +<32520> +proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 21S +<32521> +proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 22S +<32522> +proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 23S +<32523> +proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 24S +<32524> +proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 25S +<32525> +proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 26S +<32526> +proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 27S +<32527> +proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 28S +<32528> +proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 29S +<32529> +proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 30S +<32530> +proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 31S +<32531> +proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 32S +<32532> +proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 33S +<32533> +proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 34S +<32534> +proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 35S +<32535> +proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 36S +<32536> +proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 37S +<32537> +proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 38S +<32538> +proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 39S +<32539> +proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 40S +<32540> +proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 41S +<32541> +proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 42S +<32542> +proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 43S +<32543> +proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 44S +<32544> +proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 45S +<32545> +proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 46S +<32546> +proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 47S +<32547> +proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 48S +<32548> +proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 49S +<32549> +proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 50S +<32550> +proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 51S +<32551> +proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 52S +<32552> +proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 53S +<32553> +proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 54S +<32554> +proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 55S +<32555> +proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 56S +<32556> +proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 57S +<32557> +proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 58S +<32558> +proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 59S +<32559> +proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 72BE / UTM zone 60S +<32560> +proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs <> +# WGS 84 / UTM grid system (northern hemisphere) +# Unable to translate coordinate system EPSG:32600 into PROJ.4 format. +# +# WGS 84 / UTM zone 1N +<32601> +proj=utm +zone=1 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 2N +<32602> +proj=utm +zone=2 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 3N +<32603> +proj=utm +zone=3 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 4N +<32604> +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 5N +<32605> +proj=utm +zone=5 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 6N +<32606> +proj=utm +zone=6 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 7N +<32607> +proj=utm +zone=7 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 8N +<32608> +proj=utm +zone=8 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 9N +<32609> +proj=utm +zone=9 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 10N +<32610> +proj=utm +zone=10 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 11N +<32611> +proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 12N +<32612> +proj=utm +zone=12 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 13N +<32613> +proj=utm +zone=13 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 14N +<32614> +proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 15N +<32615> +proj=utm +zone=15 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 16N +<32616> +proj=utm +zone=16 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 17N +<32617> +proj=utm +zone=17 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 18N +<32618> +proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 19N +<32619> +proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 20N +<32620> +proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 21N +<32621> +proj=utm +zone=21 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 22N +<32622> +proj=utm +zone=22 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 23N +<32623> +proj=utm +zone=23 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 24N +<32624> +proj=utm +zone=24 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 25N +<32625> +proj=utm +zone=25 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 26N +<32626> +proj=utm +zone=26 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 27N +<32627> +proj=utm +zone=27 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 28N +<32628> +proj=utm +zone=28 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 29N +<32629> +proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 30N +<32630> +proj=utm +zone=30 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 31N +<32631> +proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 32N +<32632> +proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 33N +<32633> +proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 34N +<32634> +proj=utm +zone=34 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 35N +<32635> +proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 36N +<32636> +proj=utm +zone=36 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 37N +<32637> +proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 38N +<32638> +proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 39N +<32639> +proj=utm +zone=39 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 40N +<32640> +proj=utm +zone=40 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 41N +<32641> +proj=utm +zone=41 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 42N +<32642> +proj=utm +zone=42 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 43N +<32643> +proj=utm +zone=43 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 44N +<32644> +proj=utm +zone=44 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 45N +<32645> +proj=utm +zone=45 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 46N +<32646> +proj=utm +zone=46 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 47N +<32647> +proj=utm +zone=47 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 48N +<32648> +proj=utm +zone=48 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 49N +<32649> +proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 50N +<32650> +proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 51N +<32651> +proj=utm +zone=51 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 52N +<32652> +proj=utm +zone=52 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 53N +<32653> +proj=utm +zone=53 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 54N +<32654> +proj=utm +zone=54 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 55N +<32655> +proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 56N +<32656> +proj=utm +zone=56 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 57N +<32657> +proj=utm +zone=57 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 58N +<32658> +proj=utm +zone=58 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 59N +<32659> +proj=utm +zone=59 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 60N +<32660> +proj=utm +zone=60 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UPS North +<32661> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / Plate Carree (deprecated) +<32662> +proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / World Equidistant Cylindrical (deprecated) +# Unable to translate coordinate system EPSG:32663 into PROJ.4 format. +# +# WGS 84 / BLM 14N (ftUS) +<32664> +proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=us-ft +no_defs <> +# WGS 84 / BLM 15N (ftUS) +<32665> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=us-ft +no_defs <> +# WGS 84 / BLM 16N (ftUS) +<32666> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=us-ft +no_defs <> +# WGS 84 / BLM 17N (ftUS) +<32667> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=us-ft +no_defs <> +# WGS 84 / UTM grid system (southern hemisphere) +# Unable to translate coordinate system EPSG:32700 into PROJ.4 format. +# +# WGS 84 / UTM zone 1S +<32701> +proj=utm +zone=1 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 2S +<32702> +proj=utm +zone=2 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 3S +<32703> +proj=utm +zone=3 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 4S +<32704> +proj=utm +zone=4 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 5S +<32705> +proj=utm +zone=5 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 6S +<32706> +proj=utm +zone=6 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 7S +<32707> +proj=utm +zone=7 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 8S +<32708> +proj=utm +zone=8 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 9S +<32709> +proj=utm +zone=9 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 10S +<32710> +proj=utm +zone=10 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 11S +<32711> +proj=utm +zone=11 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 12S +<32712> +proj=utm +zone=12 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 13S +<32713> +proj=utm +zone=13 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 14S +<32714> +proj=utm +zone=14 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 15S +<32715> +proj=utm +zone=15 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 16S +<32716> +proj=utm +zone=16 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 17S +<32717> +proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 18S +<32718> +proj=utm +zone=18 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 19S +<32719> +proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 20S +<32720> +proj=utm +zone=20 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 21S +<32721> +proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 22S +<32722> +proj=utm +zone=22 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 23S +<32723> +proj=utm +zone=23 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 24S +<32724> +proj=utm +zone=24 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 25S +<32725> +proj=utm +zone=25 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 26S +<32726> +proj=utm +zone=26 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 27S +<32727> +proj=utm +zone=27 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 28S +<32728> +proj=utm +zone=28 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 29S +<32729> +proj=utm +zone=29 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 30S +<32730> +proj=utm +zone=30 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 31S +<32731> +proj=utm +zone=31 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 32S +<32732> +proj=utm +zone=32 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 33S +<32733> +proj=utm +zone=33 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 34S +<32734> +proj=utm +zone=34 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 35S +<32735> +proj=utm +zone=35 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 36S +<32736> +proj=utm +zone=36 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 37S +<32737> +proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 38S +<32738> +proj=utm +zone=38 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 39S +<32739> +proj=utm +zone=39 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 40S +<32740> +proj=utm +zone=40 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 41S +<32741> +proj=utm +zone=41 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 42S +<32742> +proj=utm +zone=42 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 43S +<32743> +proj=utm +zone=43 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 44S +<32744> +proj=utm +zone=44 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 45S +<32745> +proj=utm +zone=45 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 46S +<32746> +proj=utm +zone=46 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 47S +<32747> +proj=utm +zone=47 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 48S +<32748> +proj=utm +zone=48 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 49S +<32749> +proj=utm +zone=49 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 50S +<32750> +proj=utm +zone=50 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 51S +<32751> +proj=utm +zone=51 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 52S +<32752> +proj=utm +zone=52 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 53S +<32753> +proj=utm +zone=53 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 54S +<32754> +proj=utm +zone=54 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 55S +<32755> +proj=utm +zone=55 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 56S +<32756> +proj=utm +zone=56 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 57S +<32757> +proj=utm +zone=57 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 58S +<32758> +proj=utm +zone=58 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 59S +<32759> +proj=utm +zone=59 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UTM zone 60S +<32760> +proj=utm +zone=60 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / UPS South +<32761> +proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> +# WGS 84 / TM 36 SE +<32766> +proj=tmerc +lat_0=0 +lon_0=36 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs <> diff --git a/src/3rdparty/proj/proj_data/esri b/src/3rdparty/proj/proj_data/esri new file mode 100644 index 00000000..ddee64b1 --- /dev/null +++ b/src/3rdparty/proj/proj_data/esri @@ -0,0 +1,5937 @@ +# Anguilla 1957 / British West Indies Grid +<2000> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs no_defs <> +# Antigua 1943 / British West Indies Grid +<2001> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=-255,-15,71,0,0,0,0 +units=m +no_defs no_defs <> +# Dominica 1945 / British West Indies Grid +<2002> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +units=m +no_defs no_defs <> +# Grenada 1953 / British West Indies Grid +<2003> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +units=m +no_defs no_defs <> +# Montserrat 58 / British West Indies Grid +<2004> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +units=m +no_defs no_defs <> +# St Kitts 1955 / British West Indies Grid +<2005> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=9,183,236,0,0,0,0 +units=m +no_defs no_defs <> +# St Lucia 1955 / British West Indies Grid +<2006> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +units=m +no_defs no_defs <> +# St Vincent 45 / British West Indies Grid +<2007> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 2 +<2008> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 3 +<2009> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 4 +<2010> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 5 +<2011> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 6 +<2012> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 7 +<2013> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 8 +<2014> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 9 +<2015> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / SCoPQ zone 10 +<2016> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 8 +<2017> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 9 +<2018> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 10 +<2019> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 11 +<2020> +proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 12 +<2021> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 13 +<2022> +proj=tmerc +lat_0=0 +lon_0=-84 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 14 +<2023> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 15 +<2024> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 16 +<2025> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / MTM zone 17 +<2026> +proj=tmerc +lat_0=0 +lon_0=-96 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / UTM zone 15N +<2027> +proj=utm +zone=15 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / UTM zone 16N +<2028> +proj=utm +zone=16 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / UTM zone 17N +<2029> +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(76) / UTM zone 18N +<2030> +proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / UTM zone 17N +<2031> +proj=utm +zone=17 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / UTM zone 18N +<2032> +proj=utm +zone=18 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / UTM zone 19N +<2033> +proj=utm +zone=19 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / UTM zone 20N +<2034> +proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / UTM zone 21N +<2035> +proj=utm +zone=21 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / New Brunswick Stereo +<2036> +proj=stere +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 19N +<2037> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 20N +<2038> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Israel / Israeli TM Grid +<2039> +proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.000007 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +units=m +no_defs no_defs <> +# Locodjo 1965 / UTM zone 30N +<2040> +proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs no_defs <> +# Abidjan 1987 / UTM zone 30N +<2041> +proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs no_defs <> +# Locodjo 1965 / UTM zone 29N +<2042> +proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs no_defs <> +# Abidjan 1987 / UTM zone 29N +<2043> +proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs no_defs <> +# Hanoi 1972 / Gauss-Kruger zone 18 +<2044> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs no_defs <> +# Hanoi 1972 / Gauss-Kruger zone 19 +<2045> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs no_defs <> +# Hartebeesthoek94 / Lo15 +# Hartebeesthoek94 / Lo17 +# Hartebeesthoek94 / Lo19 +# Hartebeesthoek94 / Lo21 +# Hartebeesthoek94 / Lo23 +# Hartebeesthoek94 / Lo25 +# Hartebeesthoek94 / Lo27 +# Hartebeesthoek94 / Lo29 +# Hartebeesthoek94 / Lo31 +# Hartebeesthoek94 / Lo33 +# CH1903+ / LV95 +<2056> +proj=omerc +lat_0=46.95240555555556 +lonc=7.439583333333333 +alpha=90 +k=1 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m +no_defs no_defs <> +# Rassadiran / Nakhl e Taqi +<2057> +proj=omerc +lat_0=27.51882880555555 +lonc=52.60353916666667 +alpha=0.5716611944444444 +k=0.999895934 +x_0=658377.437 +y_0=3044969.194 +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +units=m +no_defs no_defs <> +# ED50(ED77) / UTM zone 38N +<2058> +proj=utm +zone=38 +ellps=intl +units=m +no_defs no_defs <> +# ED50(ED77) / UTM zone 39N +<2059> +proj=utm +zone=39 +ellps=intl +units=m +no_defs no_defs <> +# ED50(ED77) / UTM zone 40N +<2060> +proj=utm +zone=40 +ellps=intl +units=m +no_defs no_defs <> +# ED50(ED77) / UTM zone 41N +<2061> +proj=utm +zone=41 +ellps=intl +units=m +no_defs no_defs <> +# Madrid 1870 (Madrid) / Spain +<2062> +proj=lcc +lat_1=40 +lat_0=40 +lon_0=-3.687938888888889 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669562 +pm=madrid +units=m +no_defs no_defs <> +# Dabola 1981 / UTM zone 28N +<2063> +proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs no_defs <> +# Dabola 1981 / UTM zone 29N +<2064> +proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs no_defs <> +# S-JTSK (Ferro) / Krovak +<2065> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs no_defs <> +# Mount Dillon / Tobago Grid +<2066> +proj=cass +lat_0=11.25217861111111 +lon_0=-60.68600888888889 +x_0=37718.66154375 +y_0=36209.915082 +a=6378293.63683822 +b=6356617.979337744 +to_meter=0.2011661949 +no_defs no_defs <> +# Naparima 1955 / UTM zone 20N +<2067> +proj=utm +zone=20 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 5 +<2068> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 6 +<2069> +proj=tmerc +lat_0=0 +lon_0=11 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 7 +<2070> +proj=tmerc +lat_0=0 +lon_0=13 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 8 +<2071> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 9 +<2072> +proj=tmerc +lat_0=0 +lon_0=17 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 10 +<2073> +proj=tmerc +lat_0=0 +lon_0=19 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 11 +<2074> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 12 +<2075> +proj=tmerc +lat_0=0 +lon_0=23 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / Libya zone 13 +<2076> +proj=tmerc +lat_0=0 +lon_0=25 +k=0.999900 +x_0=200000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / UTM zone 32N +<2077> +proj=utm +zone=32 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / UTM zone 33N +<2078> +proj=utm +zone=33 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / UTM zone 34N +<2079> +proj=utm +zone=34 +ellps=intl +units=m +no_defs no_defs <> +# ELD79 / UTM zone 35N +<2080> +proj=utm +zone=35 +ellps=intl +units=m +no_defs no_defs <> +# Chos Malal 1914 / Argentina zone 2 +<2081> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Pampa del Castillo / Argentina zone 2 +<2082> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Hito XVIII 1963 / Argentina zone 2 +<2083> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013 +units=m +no_defs no_defs <> +# Hito XVIII 1963 / UTM zone 19S +<2084> +proj=utm +zone=19 +south +ellps=intl +towgs84=18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013 +units=m +no_defs no_defs <> +# NAD27 / Cuba Norte +<2085> +proj=lcc +lat_1=22.35 +lat_0=22.35 +lon_0=-81 +k_0=0.99993602 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / Cuba Sur +<2086> +proj=lcc +lat_1=20.71666666666667 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +k_0=0.99994848 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# ELD79 / TM 12 NE +<2087> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.999600 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Carthage / TM 11 NE +<2088> +proj=tmerc +lat_0=0 +lon_0=11 +k=0.999600 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Yemen NGN96 / UTM zone 38N +<2089> +proj=utm +zone=38 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Yemen NGN96 / UTM zone 39N +<2090> +proj=utm +zone=39 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# South Yemen / Gauss Kruger zone 8 +<2091> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs no_defs <> +# South Yemen / Gauss Kruger zone 9 +<2092> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs no_defs <> +# Hanoi 1972 / GK 106 NE +<2093> +proj=tmerc +lat_0=0 +lon_0=106 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m +no_defs no_defs <> +# WGS 72BE / TM 106 NE +<2094> +proj=tmerc +lat_0=0 +lon_0=106 +k=0.999600 +x_0=500000 +y_0=0 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# Bissau / UTM zone 28N +<2095> +proj=utm +zone=28 +ellps=intl +towgs84=-173,253,27,0,0,0,0 +units=m +no_defs no_defs <> +# Korean 1985 / Korea East Belt +<2096> +proj=tmerc +lat_0=38 +lon_0=129 +k=1.000000 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs no_defs <> +# Korean 1985 / Korea Central Belt +<2097> +proj=tmerc +lat_0=38 +lon_0=127 +k=1.000000 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs no_defs <> +# Korean 1985 / Korea West Belt +<2098> +proj=tmerc +lat_0=38 +lon_0=125 +k=1.000000 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs no_defs <> +# Qatar 1948 / Qatar Grid +<2099> +proj=cass +lat_0=25.38236111111111 +lon_0=50.76138888888889 +x_0=100000 +y_0=100000 +ellps=helmert +units=m +no_defs no_defs <> +# GGRS87 / Greek Grid +<2100> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m +no_defs no_defs <> +# Lake / Maracaibo Grid M1 +<2101> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=0 +y_0=-52684.972 +ellps=intl +units=m +no_defs no_defs <> +# Lake / Maracaibo Grid +<2102> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=200000 +y_0=147315.028 +ellps=intl +units=m +no_defs no_defs <> +# Lake / Maracaibo Grid M3 +<2103> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=500000 +y_0=447315.028 +ellps=intl +units=m +no_defs no_defs <> +# Lake / Maracaibo La Rosa Grid +<2104> +proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=-17044 +y_0=-23139.97 +ellps=intl +units=m +no_defs no_defs <> +# NZGD2000 / Mount Eden Circuit 2000 +<2105> +proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666666667 +k=0.999900 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Bay of Plenty Circuit 2000 +<2106> +proj=tmerc +lat_0=-37.76111111111111 +lon_0=176.4661111111111 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Poverty Bay Circuit 2000 +<2107> +proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555555556 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Hawkes Bay Circuit 2000 +<2108> +proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111111111 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Taranaki Circuit 2000 +<2109> +proj=tmerc +lat_0=-39.13555555555556 +lon_0=174.2277777777778 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Tuhirangi Circuit 2000 +<2110> +proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Wanganui Circuit 2000 +<2111> +proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555555555 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Wairarapa Circuit 2000 +<2112> +proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222222222 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Wellington Circuit 2000 +<2113> +proj=tmerc +lat_0=-41.3011111111111 +lon_0=174.7763888888889 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Collingwood Circuit 2000 +<2114> +proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444444444 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Nelson Circuit 2000 +<2115> +proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666666667 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Karamea Circuit 2000 +<2116> +proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888888889 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Buller Circuit 2000 +<2117> +proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111111111 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Grey Circuit 2000 +<2118> +proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222222222 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Amuri Circuit 2000 +<2119> +proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Marlborough Circuit 2000 +<2120> +proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444444444 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Hokitika Circuit 2000 +<2121> +proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222222222 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Okarito Circuit 2000 +<2122> +proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Jacksons Bay Circuit 2000 +<2123> +proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111111111 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Mount Pleasant Circuit 2000 +<2124> +proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444444445 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Gawler Circuit 2000 +<2125> +proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555555555 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Timaru Circuit 2000 +<2126> +proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222222222 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Lindis Peak Circuit 2000 +<2127> +proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Mount Nicholas Circuit 2000 +<2128> +proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111111111 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Mount York Circuit 2000 +<2129> +proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111111111 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Observation Point Circuit 2000 +<2130> +proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333333333 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / North Taieri Circuit 2000 +<2131> +proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k=0.999960 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / Bluff Circuit 2000 +<2132> +proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1.000000 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / UTM zone 58S +<2133> +proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / UTM zone 59S +<2134> +proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NZGD2000 / UTM zone 60S +<2135> +proj=utm +zone=60 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Accra / Ghana National Grid +<2136> +proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.999750 +x_0=274319.7391633579 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +to_meter=0.3047997101815088 +no_defs no_defs <> +# Accra / TM 1 NW +<2137> +proj=tmerc +lat_0=0 +lon_0=-1 +k=0.999600 +x_0=500000 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +units=m +no_defs no_defs <> +# NAD27(CGQ77) / Quebec Lambert +<2138> +proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / SCoPQ zone 2 +<2139> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 3 +<2140> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 4 +<2141> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 5 +<2142> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 6 +<2143> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 7 +<2144> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 8 +<2145> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 9 +<2146> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / MTM zone 10 +<2147> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 21N +<2148> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 18N +<2149> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 17N +<2150> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 13N +<2151> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 12N +<2152> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / UTM zone 11N +<2153> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# RGF93 / Lambert-93 +<2154> +proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# American Samoa 1962 / American Samoa Lambert +<2155> +proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / UTM zone 59S +<2156> +proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# IRENET95 / Irish Transverse Mercator +<2157> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=0.999820 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# IRENET95 / UTM zone 29N +<2158> +proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Sierra Leone 1924 / New Colony Grid +<2159> +proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1.000000 +x_0=152399.8550907544 +y_0=0 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs no_defs <> +# Sierra Leone 1924 / New War Office Grid +<2160> +proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1.000000 +x_0=243839.7681452071 +y_0=182879.8261089053 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088 +no_defs no_defs <> +# Sierra Leone 1968 / UTM zone 28N +<2161> +proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs no_defs <> +# Sierra Leone 1968 / UTM zone 29N +<2162> +proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m +no_defs no_defs <> +# US National Atlas Equal Area +<2163> +proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997 +b=6370997 +units=m +no_defs no_defs <> +# Locodjo 1965 / TM 5 NW +<2164> +proj=tmerc +lat_0=0 +lon_0=-5 +k=0.999600 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m +no_defs no_defs <> +# Abidjan 1987 / TM 5 NW +<2165> +proj=tmerc +lat_0=0 +lon_0=-5 +k=0.999600 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m +no_defs no_defs <> +# Pulkovo 1942(83) / Gauss Kruger zone 3 +<2166> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs no_defs <> +# Pulkovo 1942(83) / Gauss Kruger zone 4 +<2167> +proj=tmerc +lat_0=0 +lon_0=12 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs no_defs <> +# Pulkovo 1942(83) / Gauss Kruger zone 5 +<2168> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs no_defs <> +# Luxembourg 1930 / Gauss +<2169> +proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1.000000 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +units=m +no_defs no_defs <> +# MGI / Slovenia Grid +<2170> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999900 +x_0=500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Pulkovo 1942(58) / Poland zone I +<2171> +proj=stere +lat_0=50.625 +lon_0=21.08333333333333 +k=0.999800 +x_0=4637000 +y_0=5647000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs no_defs <> +# Pulkovo 1942(58) / Poland zone II +<2172> +proj=stere +lat_0=53.00194444444445 +lon_0=21.50277777777778 +k=0.999800 +x_0=4603000 +y_0=5806000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs no_defs <> +# Pulkovo 1942(58) / Poland zone III +<2173> +proj=stere +lat_0=53.58333333333334 +lon_0=17.00833333333333 +k=0.999800 +x_0=3501000 +y_0=5999000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs no_defs <> +# Pulkovo 1942(58) / Poland zone IV +<2174> +proj=stere +lat_0=51.67083333333333 +lon_0=16.67222222222222 +k=0.999800 +x_0=3703000 +y_0=5627000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs no_defs <> +# Pulkovo 1942(58) / Poland zone V +<2175> +proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 +y_0=-4700000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs no_defs <> +# ETRS89 / Poland CS2000 zone 5 +<2176> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / Poland CS2000 zone 6 +<2177> +proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / Poland CS2000 zone 7 +<2178> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / Poland CS2000 zone 8 +<2179> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / Poland CS92 +<2180> +proj=tmerc +lat_0=0 +lon_0=19 +k=0.999300 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs no_defs <> +# Azores Occidental 1939 / UTM zone 25N +<2188> +proj=utm +zone=25 +ellps=intl +units=m +no_defs no_defs <> +# Azores Central 1948 / UTM zone 26N +<2189> +proj=utm +zone=26 +ellps=intl +units=m +no_defs no_defs <> +# Azores Oriental 1940 / UTM zone 26N +<2190> +proj=utm +zone=26 +ellps=intl +units=m +no_defs no_defs <> +# Madeira 1936 / UTM zone 28N +<2191> +proj=utm +zone=28 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / France EuroLambert +<2192> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD2000 / New Zealand Transverse Mercator +<2193> +proj=tmerc +lat_0=0 +lon_0=173 +k=0.999600 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# American Samoa 1962 / American Samoa Lambert +<2194> +proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / UTM zone 2S +<2195> +proj=utm +zone=2 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# ETRS89 / Kp2000 Jutland +<2196> +proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.999950 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / Kp2000 Zealand +<2197> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.999950 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / Kp2000 Bornholm +<2198> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# Albanian 1987 / Gauss Kruger zone 4 +<2199> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# ATS77 / New Brunswick Stereographic (ATS77) +<2200> +proj=stere +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=300000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs no_defs <> +# REGVEN / UTM zone 18N +<2201> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# REGVEN / UTM zone 19N +<2202> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# REGVEN / UTM zone 20N +<2203> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD27 / Tennessee +<2204> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=609601.2192024384 +y_0=30480.06096012192 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Kentucky North +<2205> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 9 +<2206> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=9500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 10 +<2207> +proj=tmerc +lat_0=0 +lon_0=30 +k=1.000000 +x_0=10500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 11 +<2208> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=11500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 12 +<2209> +proj=tmerc +lat_0=0 +lon_0=36 +k=1.000000 +x_0=12500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 13 +<2210> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=13500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 14 +<2211> +proj=tmerc +lat_0=0 +lon_0=42 +k=1.000000 +x_0=14500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / 3-degree Gauss-Kruger zone 15 +<2212> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=15500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ETRS89 / TM 30 NE +<2213> +proj=tmerc +lat_0=0 +lon_0=30 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# Douala 1948 / AOF west +<2214> +proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999000 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs no_defs <> +# Manoca 1962 / UTM zone 32N +<2215> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +units=m +no_defs no_defs <> +# Qornoq 1927 / UTM zone 22N +<2216> +proj=utm +zone=22 +ellps=intl +units=m +no_defs no_defs <> +# Qornoq 1927 / UTM zone 23N +<2217> +proj=utm +zone=23 +ellps=intl +units=m +no_defs no_defs <> +# ATS77 / UTM zone 19N +<2219> +proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +units=m +no_defs no_defs <> +# ATS77 / UTM zone 20N +<2220> +proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +units=m +no_defs no_defs <> +# NAD83 / Arizona East (ft) +<2222> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Arizona Central (ft) +<2223> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Arizona West (ft) +<2224> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / California zone 1 (ftUS) +<2225> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / California zone 2 (ftUS) +<2226> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / California zone 3 (ftUS) +<2227> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / California zone 4 (ftUS) +<2228> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / California zone 5 (ftUS) +<2229> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / California zone 6 (ftUS) +<2230> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Colorado North (ftUS) +<2231> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Colorado Central (ftUS) +<2232> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Colorado South (ftUS) +<2233> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Connecticut (ftUS) +<2234> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Delaware (ftUS) +<2235> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Florida East (ftUS) +<2236> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Florida West (ftUS) +<2237> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Florida North (ftUS) +<2238> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Georgia East (ftUS) +<2239> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Georgia West (ftUS) +<2240> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Idaho East (ftUS) +<2241> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Idaho Central (ftUS) +<2242> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Idaho West (ftUS) +<2243> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Indiana East (ftUS) +<2244> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Indiana West (ftUS) +<2245> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Kentucky North (ftUS) +<2246> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Kentucky South (ftUS) +<2247> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Maryland (ftUS) +<2248> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Massachusetts Mainland (ftUS) +<2249> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Massachusetts Island (ftUS) +<2250> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Michigan North (ft) +<2251> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Michigan Central (ft) +<2252> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Michigan South (ft) +<2253> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Mississippi East (ftUS) +<2254> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Mississippi West (ftUS) +<2255> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Montana (ft) +<2256> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / New Mexico East (ftUS) +<2257> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / New Mexico Central (ftUS) +<2258> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / New Mexico West (ftUS) +<2259> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / New York East (ftUS) +<2260> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / New York Central (ftUS) +<2261> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / New York West (ftUS) +<2262> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / New York Long Island (ftUS) +<2263> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / North Carolina (ftUS) +<2264> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / North Dakota North (ft) +<2265> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / North Dakota South (ft) +<2266> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Oklahoma North (ftUS) +<2267> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Oklahoma South (ftUS) +<2268> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Oregon North (ft) +<2269> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Oregon South (ft) +<2270> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Pennsylvania North (ftUS) +<2271> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Pennsylvania South (ftUS) +<2272> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / South Carolina (ft) +<2273> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Tennessee (ftUS) +<2274> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Texas North (ftUS) +<2275> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Texas North Central (ftUS) +<2276> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Texas Central (ftUS) +<2277> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Texas South Central (ftUS) +<2278> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Texas South (ftUS) +<2279> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Utah North (ft) +<2280> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Utah Central (ft) +<2281> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Utah South (ft) +<2282> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048 +no_defs no_defs <> +# NAD83 / Virginia North (ftUS) +<2283> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Virginia South (ftUS) +<2284> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Washington North (ftUS) +<2285> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Washington South (ftUS) +<2286> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Wisconsin North (ftUS) +<2287> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Wisconsin Central (ftUS) +<2288> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / Wisconsin South (ftUS) +<2289> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# ATS77 / Prince Edward Isl. Stereographic (ATS77) +<2290> +proj=stere +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=700000 +y_0=400000 +a=6378135 +b=6356750.304921594 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) +<2291> +proj=stere +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m +no_defs no_defs <> +# NAD83(CSRS98) / Prince Edward Isl. Stereographic (NAD83) +<2292> +proj=stere +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# ATS77 / MTM Nova Scotia zone 4 +<2294> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.999900 +x_0=4500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs no_defs <> +# ATS77 / MTM Nova Scotia zone 5 +<2295> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.999900 +x_0=5500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m +no_defs no_defs <> +# Batavia / TM 109 SE +<2308> +proj=tmerc +lat_0=0 +lon_0=109 +k=0.999600 +x_0=500000 +y_0=10000000 +ellps=bessel +units=m +no_defs no_defs <> +# WGS 84 / TM 116 SE +<2309> +proj=tmerc +lat_0=0 +lon_0=116 +k=0.999600 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / TM 132 SE +<2310> +proj=tmerc +lat_0=0 +lon_0=132 +k=0.999600 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / TM 6 NE +<2311> +proj=tmerc +lat_0=0 +lon_0=6 +k=0.999600 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# Garoua / UTM zone 33N +<2312> +proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs no_defs <> +# Kousseri / UTM zone 33N +<2313> +proj=utm +zone=33 +ellps=clrk80 +units=m +no_defs no_defs <> +# Trinidad 1903 / Trinidad Grid (ftCla) +<2314> +proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46380699999 +y_0=65379.01334249999 +a=6378293.63683822 +b=6356617.979337744 +towgs84=-61.702,284.488,472.052,0,0,0,0 +to_meter=0.304797265 +no_defs no_defs <> +# Campo Inchauspe / UTM zone 19S +<2315> +proj=utm +zone=19 +south +ellps=intl +units=m +no_defs no_defs <> +# Campo Inchauspe / UTM zone 20S +<2316> +proj=utm +zone=20 +south +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / ICN Regional +<2317> +proj=lcc +lat_1=9 +lat_2=3 +lat_0=6 +lon_0=-66 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs no_defs <> +# Ain el Abd / Aramco Lambert +<2318> +proj=lcc +lat_1=17 +lat_2=33 +lat_0=25.08951 +lon_0=48 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM27 +<2319> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM30 +<2320> +proj=tmerc +lat_0=0 +lon_0=30 +k=1.000000 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM33 +<2321> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM36 +<2322> +proj=tmerc +lat_0=0 +lon_0=36 +k=1.000000 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM39 +<2323> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM42 +<2324> +proj=tmerc +lat_0=0 +lon_0=42 +k=1.000000 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM45 +<2325> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Hong Kong 1980 Grid System +<2326> +proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1.000000 +x_0=836694.05 +y_0=819069.8 +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 13 +<2327> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=13500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 14 +<2328> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=14500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 15 +<2329> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=15500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 16 +<2330> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=16500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 17 +<2331> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=17500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 18 +<2332> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=18500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 19 +<2333> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 20 +<2334> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=20500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 21 +<2335> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=21500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 22 +<2336> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=22500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger zone 23 +<2337> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=23500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 75E +<2338> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 81E +<2339> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 87E +<2340> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 93E +<2341> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 99E +<2342> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 105E +<2343> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 111E +<2344> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 117E +<2345> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 123E +<2346> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 129E +<2347> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / Gauss-Kruger CM 135E +<2348> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 25 +<2349> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=25500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 26 +<2350> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=26500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 27 +<2351> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=27500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 28 +<2352> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=28500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 29 +<2353> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=29500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 30 +<2354> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=30500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 31 +<2355> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=31500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 32 +<2356> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=32500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 33 +<2357> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=33500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 34 +<2358> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=34500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 35 +<2359> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=35500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 36 +<2360> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=36500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 37 +<2361> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=37500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 38 +<2362> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=38500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 39 +<2363> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=39500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 40 +<2364> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=40500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 41 +<2365> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=41500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 42 +<2366> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=42500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 43 +<2367> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=43500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 44 +<2368> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=44500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger zone 45 +<2369> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=45500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 75E +<2370> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 78E +<2371> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 81E +<2372> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 84E +<2373> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 87E +<2374> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 90E +<2375> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 93E +<2376> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 96E +<2377> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 99E +<2378> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 102E +<2379> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 105E +<2380> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 108E +<2381> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 111E +<2382> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 114E +<2383> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 117E +<2384> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 120E +<2385> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 123E +<2386> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 126E +<2387> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 129E +<2388> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 132E +<2389> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# Xian 1980 / 3-degree Gauss-Kruger CM 135E +<2390> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m +no_defs no_defs <> +# KKJ / Finland zone 1 +<2391> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=intl +towgs84=-90.7,-106.1,-119.2,4.09,0.218,-1.05,1.37 +units=m +no_defs no_defs <> +# KKJ / Finland zone 2 +<2392> +proj=tmerc +lat_0=0 +lon_0=24 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=-90.7,-106.1,-119.2,4.09,0.218,-1.05,1.37 +units=m +no_defs no_defs <> +# KKJ / Finland Uniform Coordinate System +<2393> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-90.7,-106.1,-119.2,4.09,0.218,-1.05,1.37 +units=m +no_defs no_defs <> +# KKJ / Finland zone 4 +<2394> +proj=tmerc +lat_0=0 +lon_0=30 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=intl +towgs84=-90.7,-106.1,-119.2,4.09,0.218,-1.05,1.37 +units=m +no_defs no_defs <> +# South Yemen / Gauss-Kruger zone 8 +<2395> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs no_defs <> +# South Yemen / Gauss-Kruger zone 9 +<2396> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m +no_defs no_defs <> +# Pulkovo 1942(83) / Gauss-Kruger zone 3 +<2397> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs no_defs <> +# Pulkovo 1942(83) / Gauss-Kruger zone 4 +<2398> +proj=tmerc +lat_0=0 +lon_0=12 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs no_defs <> +# Pulkovo 1942(83) / Gauss-Kruger zone 5 +<2399> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m +no_defs no_defs <> +# RT90 2.5 gon W +<2400> +proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 25 +<2401> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 26 +<2402> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 27 +<2403> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 28 +<2404> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 29 +<2405> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 30 +<2406> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 31 +<2407> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 32 +<2408> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 33 +<2409> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 34 +<2410> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 35 +<2411> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 36 +<2412> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 37 +<2413> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 38 +<2414> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 39 +<2415> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 40 +<2416> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 41 +<2417> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 42 +<2418> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 43 +<2419> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 44 +<2420> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger zone 45 +<2421> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 75E +<2422> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 78E +<2423> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 81E +<2424> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 84E +<2425> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 87E +<2426> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 90E +<2427> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 93E +<2428> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 96E +<2429> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 99E +<2430> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 102E +<2431> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 105E +<2432> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 108E +<2433> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 111E +<2434> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 114E +<2435> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 117E +<2436> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 120E +<2437> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 123E +<2438> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 126E +<2439> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 129E +<2440> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 132E +<2441> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / 3-degree Gauss-Kruger CM 135E +<2442> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS I +<2443> +proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS II +<2444> +proj=tmerc +lat_0=33 +lon_0=131 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS III +<2445> +proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS IV +<2446> +proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS V +<2447> +proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS VI +<2448> +proj=tmerc +lat_0=36 +lon_0=136 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS VII +<2449> +proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS VIII +<2450> +proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS IX +<2451> +proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS X +<2452> +proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XI +<2453> +proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XII +<2454> +proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XIII +<2455> +proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XIV +<2456> +proj=tmerc +lat_0=26 +lon_0=142 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XV +<2457> +proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XVI +<2458> +proj=tmerc +lat_0=26 +lon_0=124 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XVII +<2459> +proj=tmerc +lat_0=26 +lon_0=131 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XVIII +<2460> +proj=tmerc +lat_0=20 +lon_0=136 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# JGD2000 / Japan Plane Rectangular CS XIX +<2461> +proj=tmerc +lat_0=26 +lon_0=154 +k=0.999900 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Albanian 1987 / Gauss-Kruger zone 4 +<2462> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 21E +<2463> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 27E +<2464> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 33E +<2465> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 39E +<2466> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 45E +<2467> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 51E +<2468> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 57E +<2469> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 63E +<2470> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 69E +<2471> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 75E +<2472> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 81E +<2473> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 87E +<2474> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 93E +<2475> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 99E +<2476> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 105E +<2477> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 111E +<2478> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 117E +<2479> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 123E +<2480> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 129E +<2481> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 135E +<2482> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 141E +<2483> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 147E +<2484> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 153E +<2485> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 159E +<2486> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 165E +<2487> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 171E +<2488> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 177E +<2489> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 177W +<2490> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger CM 171W +<2491> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 9E +<2492> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 15E +<2493> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 21E +<2494> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 27E +<2495> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 33E +<2496> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 39E +<2497> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 45E +<2498> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 51E +<2499> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 57E +<2500> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 63E +<2501> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 69E +<2502> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 75E +<2503> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 81E +<2504> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 87E +<2505> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 93E +<2506> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 99E +<2507> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 105E +<2508> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 111E +<2509> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 117E +<2510> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 123E +<2511> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 129E +<2512> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 135E +<2513> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 141E +<2514> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 147E +<2515> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 153E +<2516> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 159E +<2517> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 165E +<2518> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 171E +<2519> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 177E +<2520> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 177W +<2521> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger CM 171W +<2522> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 7 +<2523> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 8 +<2524> +proj=tmerc +lat_0=0 +lon_0=24 +k=1.000000 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 9 +<2525> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 10 +<2526> +proj=tmerc +lat_0=0 +lon_0=30 +k=1.000000 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 11 +<2527> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 12 +<2528> +proj=tmerc +lat_0=0 +lon_0=36 +k=1.000000 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 13 +<2529> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 14 +<2530> +proj=tmerc +lat_0=0 +lon_0=42 +k=1.000000 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 15 +<2531> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 16 +<2532> +proj=tmerc +lat_0=0 +lon_0=48 +k=1.000000 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 17 +<2533> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 18 +<2534> +proj=tmerc +lat_0=0 +lon_0=54 +k=1.000000 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 19 +<2535> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 20 +<2536> +proj=tmerc +lat_0=0 +lon_0=60 +k=1.000000 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 21 +<2537> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 22 +<2538> +proj=tmerc +lat_0=0 +lon_0=66 +k=1.000000 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 23 +<2539> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 24 +<2540> +proj=tmerc +lat_0=0 +lon_0=72 +k=1.000000 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 25 +<2541> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 26 +<2542> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 27 +<2543> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 28 +<2544> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 29 +<2545> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 30 +<2546> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 31 +<2547> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 32 +<2548> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 33 +<2549> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Samboja / UTM zone 50S +<2550> +proj=utm +zone=50 +south +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 34 +<2551> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 35 +<2552> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 36 +<2553> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 37 +<2554> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 38 +<2555> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 39 +<2556> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 40 +<2557> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 41 +<2558> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 42 +<2559> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 43 +<2560> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 44 +<2561> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 45 +<2562> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 46 +<2563> +proj=tmerc +lat_0=0 +lon_0=138 +k=1.000000 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 47 +<2564> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 48 +<2565> +proj=tmerc +lat_0=0 +lon_0=144 +k=1.000000 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 49 +<2566> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 50 +<2567> +proj=tmerc +lat_0=0 +lon_0=150 +k=1.000000 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 51 +<2568> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 52 +<2569> +proj=tmerc +lat_0=0 +lon_0=156 +k=1.000000 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 53 +<2570> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 54 +<2571> +proj=tmerc +lat_0=0 +lon_0=162 +k=1.000000 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 55 +<2572> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 56 +<2573> +proj=tmerc +lat_0=0 +lon_0=168 +k=1.000000 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 57 +<2574> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 58 +<2575> +proj=tmerc +lat_0=0 +lon_0=174 +k=1.000000 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 59 +<2576> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 60 +<2577> +proj=tmerc +lat_0=0 +lon_0=180 +k=1.000000 +x_0=60000000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 61 +<2578> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 62 +<2579> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1.000000 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 63 +<2580> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger zone 64 +<2581> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1.000000 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 21E +<2582> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 24E +<2583> +proj=tmerc +lat_0=0 +lon_0=24 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 27E +<2584> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 30E +<2585> +proj=tmerc +lat_0=0 +lon_0=30 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 33E +<2586> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 36E +<2587> +proj=tmerc +lat_0=0 +lon_0=36 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 39E +<2588> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 42E +<2589> +proj=tmerc +lat_0=0 +lon_0=42 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 45E +<2590> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 48E +<2591> +proj=tmerc +lat_0=0 +lon_0=48 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 51E +<2592> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 54E +<2593> +proj=tmerc +lat_0=0 +lon_0=54 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 57E +<2594> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 60E +<2595> +proj=tmerc +lat_0=0 +lon_0=60 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 63E +<2596> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 66E +<2597> +proj=tmerc +lat_0=0 +lon_0=66 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 69E +<2598> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 72E +<2599> +proj=tmerc +lat_0=0 +lon_0=72 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Lietuvos Koordinoei Sistema 1994 +<2600> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999800 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 75E +<2601> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 78E +<2602> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 81E +<2603> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 84E +<2604> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 87E +<2605> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 90E +<2606> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 93E +<2607> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 96E +<2608> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 99E +<2609> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 102E +<2610> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 105E +<2611> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 108E +<2612> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 111E +<2613> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 114E +<2614> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 117E +<2615> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 120E +<2616> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 123E +<2617> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 126E +<2618> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 129E +<2619> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 132E +<2620> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 135E +<2621> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 138E +<2622> +proj=tmerc +lat_0=0 +lon_0=138 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 141E +<2623> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 144E +<2624> +proj=tmerc +lat_0=0 +lon_0=144 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 147E +<2625> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 150E +<2626> +proj=tmerc +lat_0=0 +lon_0=150 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 153E +<2627> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 156E +<2628> +proj=tmerc +lat_0=0 +lon_0=156 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 159E +<2629> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 162E +<2630> +proj=tmerc +lat_0=0 +lon_0=162 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 165E +<2631> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 168E +<2632> +proj=tmerc +lat_0=0 +lon_0=168 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 171E +<2633> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 174E +<2634> +proj=tmerc +lat_0=0 +lon_0=174 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 177E +<2635> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 180E +<2636> +proj=tmerc +lat_0=0 +lon_0=180 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 177W +<2637> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 174W +<2638> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 171W +<2639> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / 3-degree Gauss-Kruger CM 168W +<2640> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 7 +<2641> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 8 +<2642> +proj=tmerc +lat_0=0 +lon_0=24 +k=1.000000 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 9 +<2643> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 10 +<2644> +proj=tmerc +lat_0=0 +lon_0=30 +k=1.000000 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 11 +<2645> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 12 +<2646> +proj=tmerc +lat_0=0 +lon_0=36 +k=1.000000 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 13 +<2647> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 14 +<2648> +proj=tmerc +lat_0=0 +lon_0=42 +k=1.000000 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 15 +<2649> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 16 +<2650> +proj=tmerc +lat_0=0 +lon_0=48 +k=1.000000 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 17 +<2651> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 18 +<2652> +proj=tmerc +lat_0=0 +lon_0=54 +k=1.000000 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 19 +<2653> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 20 +<2654> +proj=tmerc +lat_0=0 +lon_0=60 +k=1.000000 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 21 +<2655> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 22 +<2656> +proj=tmerc +lat_0=0 +lon_0=66 +k=1.000000 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 23 +<2657> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 24 +<2658> +proj=tmerc +lat_0=0 +lon_0=72 +k=1.000000 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 25 +<2659> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 26 +<2660> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 27 +<2661> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 28 +<2662> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 29 +<2663> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 30 +<2664> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 31 +<2665> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 32 +<2666> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 33 +<2667> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 34 +<2668> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 35 +<2669> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 36 +<2670> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 37 +<2671> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 38 +<2672> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 39 +<2673> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 40 +<2674> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 41 +<2675> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 42 +<2676> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 43 +<2677> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 44 +<2678> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 45 +<2679> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 46 +<2680> +proj=tmerc +lat_0=0 +lon_0=138 +k=1.000000 +x_0=46500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 47 +<2681> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=47500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 48 +<2682> +proj=tmerc +lat_0=0 +lon_0=144 +k=1.000000 +x_0=48500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 49 +<2683> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=49500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 50 +<2684> +proj=tmerc +lat_0=0 +lon_0=150 +k=1.000000 +x_0=50500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 51 +<2685> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=51500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 52 +<2686> +proj=tmerc +lat_0=0 +lon_0=156 +k=1.000000 +x_0=52500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 53 +<2687> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=53500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 54 +<2688> +proj=tmerc +lat_0=0 +lon_0=162 +k=1.000000 +x_0=54500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 55 +<2689> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=55500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 56 +<2690> +proj=tmerc +lat_0=0 +lon_0=168 +k=1.000000 +x_0=56500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 57 +<2691> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=57500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 58 +<2692> +proj=tmerc +lat_0=0 +lon_0=174 +k=1.000000 +x_0=58500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 59 +<2693> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=59500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 60 +<2694> +proj=tmerc +lat_0=0 +lon_0=180 +k=1.000000 +x_0=60000000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 61 +<2695> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=61500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 62 +<2696> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1.000000 +x_0=62500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 63 +<2697> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=63500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger zone 64 +<2698> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1.000000 +x_0=64500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 21E +<2699> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 24E +<2700> +proj=tmerc +lat_0=0 +lon_0=24 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 27E +<2701> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 30E +<2702> +proj=tmerc +lat_0=0 +lon_0=30 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 33E +<2703> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 36E +<2704> +proj=tmerc +lat_0=0 +lon_0=36 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 39E +<2705> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 42E +<2706> +proj=tmerc +lat_0=0 +lon_0=42 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 45E +<2707> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 48E +<2708> +proj=tmerc +lat_0=0 +lon_0=48 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 51E +<2709> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 54E +<2710> +proj=tmerc +lat_0=0 +lon_0=54 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 57E +<2711> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 60E +<2712> +proj=tmerc +lat_0=0 +lon_0=60 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 63E +<2713> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 66E +<2714> +proj=tmerc +lat_0=0 +lon_0=66 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 69E +<2715> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 72E +<2716> +proj=tmerc +lat_0=0 +lon_0=72 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 75E +<2717> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 78E +<2718> +proj=tmerc +lat_0=0 +lon_0=78 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 81E +<2719> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 84E +<2720> +proj=tmerc +lat_0=0 +lon_0=84 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 87E +<2721> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 90E +<2722> +proj=tmerc +lat_0=0 +lon_0=90 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 93E +<2723> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 96E +<2724> +proj=tmerc +lat_0=0 +lon_0=96 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 99E +<2725> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 102E +<2726> +proj=tmerc +lat_0=0 +lon_0=102 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 105E +<2727> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 108E +<2728> +proj=tmerc +lat_0=0 +lon_0=108 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 111E +<2729> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 114E +<2730> +proj=tmerc +lat_0=0 +lon_0=114 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 117E +<2731> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 120E +<2732> +proj=tmerc +lat_0=0 +lon_0=120 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 123E +<2733> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 126E +<2734> +proj=tmerc +lat_0=0 +lon_0=126 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 129E +<2735> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Tete / UTM zone 36S +<2736> +proj=utm +zone=36 +south +ellps=clrk66 +units=m +no_defs no_defs <> +# Tete / UTM zone 37S +<2737> +proj=utm +zone=37 +south +ellps=clrk66 +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 132E +<2738> +proj=tmerc +lat_0=0 +lon_0=132 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 135E +<2739> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 138E +<2740> +proj=tmerc +lat_0=0 +lon_0=138 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 141E +<2741> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 144E +<2742> +proj=tmerc +lat_0=0 +lon_0=144 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 147E +<2743> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 150E +<2744> +proj=tmerc +lat_0=0 +lon_0=150 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 153E +<2745> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 156E +<2746> +proj=tmerc +lat_0=0 +lon_0=156 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 159E +<2747> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 162E +<2748> +proj=tmerc +lat_0=0 +lon_0=162 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 165E +<2749> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 168E +<2750> +proj=tmerc +lat_0=0 +lon_0=168 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 171E +<2751> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 174E +<2752> +proj=tmerc +lat_0=0 +lon_0=174 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 177E +<2753> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 180E +<2754> +proj=tmerc +lat_0=0 +lon_0=180 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 177W +<2755> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 174W +<2756> +proj=tmerc +lat_0=0 +lon_0=-174 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 171W +<2757> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / 3-degree Gauss-Kruger CM 168W +<2758> +proj=tmerc +lat_0=0 +lon_0=-168 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# NAD83(HARN) / Alabama East +<2759> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.999960 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Alabama West +<2760> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Arizona East +<2761> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Arizona Central +<2762> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Arizona West +<2763> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Arkansas North +<2764> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Arkansas South +<2765> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / California zone 1 +<2766> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / California zone 2 +<2767> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / California zone 3 +<2768> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / California zone 4 +<2769> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / California zone 5 +<2770> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / California zone 6 +<2771> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Colorado North +<2772> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Colorado Central +<2773> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Colorado South +<2774> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Connecticut +<2775> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Delaware +<2776> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Florida East +<2777> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Florida West +<2778> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Florida North +<2779> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Georgia East +<2780> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Georgia West +<2781> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Hawaii zone 1 +<2782> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Hawaii zone 2 +<2783> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Hawaii zone 3 +<2784> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Hawaii zone 4 +<2785> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Hawaii zone 5 +<2786> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Idaho East +<2787> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Idaho Central +<2788> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Idaho West +<2789> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=800000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Illinois East +<2790> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.999975 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Illinois West +<2791> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Indiana East +<2792> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=100000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Indiana West +<2793> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Iowa North +<2794> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Iowa South +<2795> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Kansas North +<2796> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Kansas South +<2797> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Kentucky North +<2798> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Kentucky South +<2799> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Louisiana North +<2800> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Louisiana South +<2801> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Maine East +<2802> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.999900 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Maine West +<2803> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999967 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Maryland +<2804> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Massachusetts Mainland +<2805> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Massachusetts Island +<2806> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Michigan North +<2807> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Michigan Central +<2808> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Michigan South +<2809> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Minnesota North +<2810> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Minnesota Central +<2811> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Minnesota South +<2812> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Mississippi East +<2813> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Mississippi West +<2814> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Missouri East +<2815> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Missouri Central +<2816> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Missouri West +<2817> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941 +x_0=850000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Montana +<2818> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Nebraska +<2819> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Nevada East +<2820> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.999900 +x_0=200000 +y_0=8000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Nevada Central +<2821> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.999900 +x_0=500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Nevada West +<2822> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.999900 +x_0=800000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New Hampshire +<2823> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999967 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New Jersey +<2824> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New Mexico East +<2825> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New Mexico Central +<2826> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New Mexico West +<2827> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=830000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New York East +<2828> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New York Central +<2829> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New York West +<2830> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / New York Long Island +<2831> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / North Dakota North +<2832> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / North Dakota South +<2833> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Ohio North +<2834> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Ohio South +<2835> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Oklahoma North +<2836> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Oklahoma South +<2837> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Oregon North +<2838> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Oregon South +<2839> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Rhode Island +<2840> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.999994 +x_0=100000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / South Dakota North +<2841> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / South Dakota South +<2842> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Tennessee +<2843> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Texas North +<2844> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Texas North Central +<2845> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Texas Central +<2846> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Texas South Central +<2847> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Texas South +<2848> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Utah North +<2849> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Utah Central +<2850> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Utah South +<2851> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Vermont +<2852> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Virginia North +<2853> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Virginia South +<2854> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Washington North +<2855> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Washington South +<2856> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / West Virginia North +<2857> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / West Virginia South +<2858> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Wisconsin North +<2859> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Wisconsin Central +<2860> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Wisconsin South +<2861> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Wyoming East +<2862> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.999938 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Wyoming East Central +<2863> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.999938 +x_0=400000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Wyoming West Central +<2864> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.999938 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Wyoming West +<2865> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.999938 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Puerto Rico & Virgin Is. +<2866> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(HARN) / Arizona East (ft) +<2867> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Arizona Central (ft) +<2868> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Arizona West (ft) +<2869> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / California zone 1 (ftUS) +<2870> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / California zone 2 (ftUS) +<2871> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / California zone 3 (ftUS) +<2872> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / California zone 4 (ftUS) +<2873> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / California zone 5 (ftUS) +<2874> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / California zone 6 (ftUS) +<2875> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Colorado North (ftUS) +<2876> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Colorado Central (ftUS) +<2877> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Colorado South (ftUS) +<2878> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Connecticut (ftUS) +<2879> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Delaware (ftUS) +<2880> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Florida East (ftUS) +<2881> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Florida West (ftUS) +<2882> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Florida North (ftUS) +<2883> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Georgia East (ftUS) +<2884> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Georgia West (ftUS) +<2885> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Idaho East (ftUS) +<2886> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Idaho Central (ftUS) +<2887> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Idaho West (ftUS) +<2888> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Indiana East (ftUS) +<2889> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Indiana West (ftUS) +<2890> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Kentucky North (ftUS) +<2891> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Kentucky South (ftUS) +<2892> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Maryland (ftUS) +<2893> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Massachusetts Mainland (ftUS) +<2894> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Massachusetts Island (ftUS) +<2895> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Michigan North (ft) +<2896> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Michigan Central (ft) +<2897> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Michigan South (ft) +<2898> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Mississippi East (ftUS) +<2899> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Mississippi West (ftUS) +<2900> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Montana (ft) +<2901> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / New Mexico East (ftUS) +<2902> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / New Mexico Central (ftUS) +<2903> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / New Mexico West (ftUS) +<2904> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / New York East (ftUS) +<2905> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / New York Central (ftUS) +<2906> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / New York West (ftUS) +<2907> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / New York Long Island (ftUS) +<2908> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / North Dakota North (ft) +<2909> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / North Dakota South (ft) +<2910> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Oklahoma North (ftUS) +<2911> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Oklahoma South (ftUS) +<2912> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Oregon North (ft) +<2913> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Oregon South (ft) +<2914> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Tennessee (ftUS) +<2915> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Texas North (ftUS) +<2916> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Texas North Central (ftUS) +<2917> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Texas Central (ftUS) +<2918> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Texas South Central (ftUS) +<2919> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Texas South (ftUS) +<2920> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Utah North (ft) +<2921> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Utah Central (ft) +<2922> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Utah South (ft) +<2923> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048 +no_defs no_defs <> +# NAD83(HARN) / Virginia North (ftUS) +<2924> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Virginia South (ftUS) +<2925> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Washington North (ftUS) +<2926> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Washington South (ftUS) +<2927> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Wisconsin North (ftUS) +<2928> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Wisconsin Central (ftUS) +<2929> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83(HARN) / Wisconsin South (ftUS) +<2930> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Beduaram / TM 13 NE +<2931> +proj=tmerc +lat_0=0 +lon_0=13 +k=0.999600 +x_0=500000.0000000001 +y_0=0 +a=6378249.2 +b=6356515 +to_meter=0.3048006096012192 +no_defs no_defs <> +# QND95 / Qatar National Grid +<2932> +proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.999990 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +units=m +no_defs no_defs <> +# Segara / UTM zone 50S +<2933> +proj=utm +zone=50 +south +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +units=m +no_defs no_defs <> +# Segara (Jakarta) / NEIEZ +<2934> +proj=merc +lat_ts=0 +lon_0=216.8077194444444 +k=0.997000 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs no_defs <> +# Pulkovo 1942 / CS63 zone A1 +<2935> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1.000000 +x_0=1300000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / CS63 zone A2 +<2936> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1.000000 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / CS63 zone A3 +<2937> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1.000000 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / CS63 zone A4 +<2938> +proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1.000000 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / CS63 zone K2 +<2939> +proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1.000000 +x_0=2300000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / CS63 zone K3 +<2940> +proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1.000000 +x_0=3300000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / CS63 zone K4 +<2941> +proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1.000000 +x_0=4300000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Porto Santo / UTM zone 28N +<2942> +proj=utm +zone=28 +ellps=intl +units=m +no_defs no_defs <> +# Selvagem Grande / UTM zone 28N +<2943> +proj=utm +zone=28 +ellps=intl +units=m +no_defs no_defs <> +# NAD83(CSRS) / SCoPQ zone 2 +<2944> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 3 +<2945> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 4 +<2946> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 5 +<2947> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 6 +<2948> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 7 +<2949> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 8 +<2950> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 9 +<2951> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / MTM zone 10 +<2952> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / New Brunswick Stereo +<2953> +proj=stere +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / Prince Edward Isl. Stereographic (NAD83) +<2954> +proj=stere +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 11N +<2955> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 12N +<2956> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 13N +<2957> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 17N +<2958> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 18N +<2959> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 19N +<2960> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 20N +<2961> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD83(CSRS) / UTM zone 21N +<2962> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Moznet / UTM zone 36S +<3036> +proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs no_defs <> +# Moznet / UTM zone 37S +<3037> +proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m +no_defs no_defs <> +# Indian 1960 / UTM zone 48N +<3148> +proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# Indian 1960 / UTM zone 49N +<3149> +proj=utm +zone=49 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# Indian 1960 / TM 106 NE +<3176> +proj=tmerc +lat_0=0 +lon_0=106 +k=0.999600 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# FD58 / Iraq zone +<3200> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs no_defs <> +# Estonian Coordinate System of 1992 +<3300> +proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +units=m +no_defs no_defs <> +# Estonian Coordinate System of 1997 +<3301> +proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# PSD93 / UTM zone 39N +<3439> +proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs no_defs <> +# PSD93 / UTM zone 40N +<3440> +proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs no_defs <> +# Old Hawaiian / Hawaii zone 1 +<3561> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Old Hawaiian / Hawaii zone 2 +<3562> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Old Hawaiian / Hawaii zone 3 +<3563> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Old Hawaiian / Hawaii zone 4 +<3564> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Old Hawaiian / Hawaii zone 5 +<3565> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Puerto Rico / UTM zone 20N +<3920> +proj=utm +zone=20 +ellps=clrk66 +units=m +no_defs no_defs <> +# Puerto Rico State Plane CS of 1927 +<3991> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Puerto Rico / St. Croix +<3992> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012192 +ellps=clrk66 +to_meter=0.3048006096012192 +no_defs no_defs <> +# Unknown datum based upon the Airy 1830 ellipsoid +<4001> +proj=longlat +ellps=airy +no_defs no_defs <> +# Unknown datum based upon the Airy Modified 1849 ellipsoid +<4002> +proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs no_defs <> +# Unknown datum based upon the Australian National Spheroid +<4003> +proj=longlat +ellps=aust_SA +no_defs no_defs <> +# Unknown datum based upon the Bessel 1841 ellipsoid +<4004> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Unknown datum based upon the Bessel Modified ellipsoid +<4005> +proj=longlat +a=6377492.018 +b=6356173.508712696 +no_defs no_defs <> +# Unknown datum based upon the Bessel Namibia ellipsoid +<4006> +proj=longlat +ellps=bess_nam +no_defs no_defs <> +# Unknown datum based upon the Clarke 1858 ellipsoid +<4007> +proj=longlat +a=6378293.63683822 +b=6356617.979337744 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1866 ellipsoid +<4008> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1866 Michigan ellipsoid +<4009> +proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1880 (Benoit) ellipsoid +<4010> +proj=longlat +a=6378300.789 +b=6356566.435 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1880 (IGN) ellipsoid +<4011> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1880 (RGS) ellipsoid +<4012> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1880 (Arc) ellipsoid +<4013> +proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1880 (SGA 1922) ellipsoid +<4014> +proj=longlat +a=6378249.2 +b=6356514.996941779 +no_defs no_defs <> +# Unknown datum based upon the Everest 1830 (1937 Adjustment) ellipsoid +<4015> +proj=longlat +a=6377276.345 +b=6356075.413140239 +no_defs no_defs <> +# Unknown datum based upon the Everest 1830 (1967 Definition) ellipsoid +<4016> +proj=longlat +ellps=evrstSS +no_defs no_defs <> +# Unknown datum based upon the Everest 1830 Modified ellipsoid +<4018> +proj=longlat +a=6377304.063 +b=6356103.038993155 +no_defs no_defs <> +# Unknown datum based upon the GRS 1980 ellipsoid +<4019> +proj=longlat +ellps=GRS80 +no_defs no_defs <> +# Unknown datum based upon the Helmert 1906 ellipsoid +<4020> +proj=longlat +ellps=helmert +no_defs no_defs <> +# Unknown datum based upon the Indonesian National Spheroid +<4021> +proj=longlat +a=6378160 +b=6356774.50408554 +no_defs no_defs <> +# Unknown datum based upon the International 1924 ellipsoid +<4022> +proj=longlat +ellps=intl +no_defs no_defs <> +# Unknown datum based upon the Krassowsky 1940 ellipsoid +<4024> +proj=longlat +ellps=krass +no_defs no_defs <> +# Unknown datum based upon the NWL 9D ellipsoid +<4025> +proj=longlat +ellps=WGS66 +no_defs no_defs <> +# Unknown datum based upon the Plessis 1817 ellipsoid +<4027> +proj=longlat +a=6376523 +b=6355862.933255573 +no_defs no_defs <> +# Unknown datum based upon the Struve 1860 ellipsoid +<4028> +proj=longlat +a=6378298.3 +b=6356657.142669562 +no_defs no_defs <> +# Unknown datum based upon the War Office ellipsoid +<4029> +proj=longlat +a=6378300 +b=6356751.689189189 +no_defs no_defs <> +# Unknown datum based upon the WGS 84 ellipsoid +<4030> +proj=longlat +ellps=WGS84 +no_defs no_defs <> +# Unknown datum based upon the GEM 10C ellipsoid +<4031> +proj=longlat +ellps=WGS84 +no_defs no_defs <> +# Unknown datum based upon the OSU86F ellipsoid +<4032> +proj=longlat +a=6378136.2 +b=6356751.516927429 +no_defs no_defs <> +# Unknown datum based upon the OSU91A ellipsoid +<4033> +proj=longlat +a=6378136.3 +b=6356751.616592146 +no_defs no_defs <> +# Unknown datum based upon the Clarke 1880 ellipsoid +<4034> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Unknown datum based upon the Authalic Sphere +<4035> +proj=longlat +a=6371000 +b=6371000 +no_defs no_defs <> +# Unknown datum based upon the GRS 1967 ellipsoid +<4036> +proj=longlat +ellps=GRS67 +no_defs no_defs <> +# Unknown datum based upon the Average Terrestrial System 1977 ellipsoid +<4041> +proj=longlat +a=6378135 +b=6356750.304921594 +no_defs no_defs <> +# Unknown datum based upon the Everest (1830 Definition) ellipsoid +<4042> +proj=longlat +a=6377299.36559538 +b=6356098.357204817 +no_defs no_defs <> +# Unknown datum based upon the WGS 72 ellipsoid +<4043> +proj=longlat +ellps=WGS72 +no_defs no_defs <> +# Unknown datum based upon the Everest 1830 (1962 Definition) ellipsoid +<4044> +proj=longlat +a=6377301.243 +b=6356100.230165385 +no_defs no_defs <> +# Unknown datum based upon the Everest 1830 (1975 Definition) ellipsoid +<4045> +proj=longlat +a=6377299.151 +b=6356098.145120132 +no_defs no_defs <> +# Unspecified based upon the GRS 1980 Authalic Sphere +<4047> +proj=longlat +a=6370997 +b=6370997 +no_defs no_defs <> +# Greek +<4120> +proj=longlat +ellps=bessel +no_defs no_defs <> +# GGRS87 +<4121> +proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +no_defs no_defs <> +# ATS77 +<4122> +proj=longlat +a=6378135 +b=6356750.304921594 +no_defs no_defs <> +# KKJ +<4123> +proj=longlat +ellps=intl +towgs84=-90.7,-106.1,-119.2,4.09,0.218,-1.05,1.37 +no_defs no_defs <> +# RT90 +<4124> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Samboja +<4125> +proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +no_defs no_defs <> +# LKS94 (ETRS89) +<4126> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Tete +<4127> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Madzansua +<4128> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Observatario +<4129> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Moznet +<4130> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +no_defs no_defs <> +# Indian 1960 +<4131> +proj=longlat +a=6377276.345 +b=6356075.413140239 +no_defs no_defs <> +# FD58 +<4132> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# EST92 +<4133> +proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +no_defs no_defs <> +# PDO Survey Datum 1993 +<4134> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Old Hawaiian +<4135> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# St. Lawrence Island +<4136> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# St. Paul Island +<4137> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# St. George Island +<4138> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Puerto Rico +<4139> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# NAD83(CSRS98) +<4140> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Israel +<4141> +proj=longlat +ellps=GRS80 +no_defs no_defs <> +# Locodjo 1965 +<4142> +proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +no_defs no_defs <> +# Abidjan 1987 +<4143> +proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +no_defs no_defs <> +# Kalianpur 1937 +<4144> +proj=longlat +a=6377276.345 +b=6356075.413140239 +no_defs no_defs <> +# Kalianpur 1962 +<4145> +proj=longlat +a=6377301.243 +b=6356100.230165385 +towgs84=283,682,231,0,0,0,0 +no_defs no_defs <> +# Kalianpur 1975 +<4146> +proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +no_defs no_defs <> +# Hanoi 1972 +<4147> +proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +no_defs no_defs <> +# Hartebeesthoek94 +<4148> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# CH1903 +<4149> +proj=longlat +ellps=bessel +no_defs no_defs <> +# CH1903+ +<4150> +proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +no_defs no_defs <> +# CHTRF95 +<4151> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# NAD83(HARN) +<4152> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Rassadiran +<4153> +proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +no_defs no_defs <> +# ED50(ED77) +<4154> +proj=longlat +ellps=intl +no_defs no_defs <> +# Dabola 1981 +<4155> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +no_defs no_defs <> +# S-JTSK +<4156> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Mount Dillon +<4157> +proj=longlat +a=6378293.63683822 +b=6356617.979337744 +no_defs no_defs <> +# Naparima 1955 +<4158> +proj=longlat +ellps=intl +no_defs no_defs <> +# ELD79 +<4159> +proj=longlat +ellps=intl +no_defs no_defs <> +# Chos Malal 1914 +<4160> +proj=longlat +ellps=intl +no_defs no_defs <> +# Pampa del Castillo +<4161> +proj=longlat +ellps=intl +no_defs no_defs <> +# Korean 1985 +<4162> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Yemen NGN96 +<4163> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# South Yemen +<4164> +proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +no_defs no_defs <> +# Bissau +<4165> +proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0 +no_defs no_defs <> +# Korean 1995 +<4166> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# NZGD2000 +<4167> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Accra +<4168> +proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +no_defs no_defs <> +# American Samoa 1962 +<4169> +proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +no_defs no_defs <> +# SIRGAS +<4170> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# RGF93 +<4171> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# POSGAR +<4172> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# IRENET95 +<4173> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Sierra Leone 1924 +<4174> +proj=longlat +a=6378300 +b=6356751.689189189 +no_defs no_defs <> +# Sierra Leone 1968 +<4175> +proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +no_defs no_defs <> +# Australian Antarctic +<4176> +proj=longlat +ellps=GRS80 +no_defs no_defs <> +# Pulkovo 1942(83) +<4178> +proj=longlat +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +no_defs no_defs <> +# Pulkovo 1942(58) +<4179> +proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +no_defs no_defs <> +# EST97 +<4180> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Luxembourg 1930 +<4181> +proj=longlat +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +no_defs no_defs <> +# Azores Occidental 1939 +<4182> +proj=longlat +ellps=intl +no_defs no_defs <> +# Azores Central 1948 +<4183> +proj=longlat +ellps=intl +no_defs no_defs <> +# Azores Oriental 1940 +<4184> +proj=longlat +ellps=intl +no_defs no_defs <> +# Madeira 1936 +<4185> +proj=longlat +ellps=intl +no_defs no_defs <> +# OSNI 1952 +<4188> +proj=longlat +ellps=airy +no_defs no_defs <> +# REGVEN +<4189> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# POSGAR 98 +<4190> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Albanian 1987 +<4191> +proj=longlat +ellps=krass +no_defs no_defs <> +# Douala 1948 +<4192> +proj=longlat +ellps=intl +no_defs no_defs <> +# Manoca 1962 +<4193> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs no_defs <> +# Qornoq 1927 +<4194> +proj=longlat +ellps=intl +no_defs no_defs <> +# Scoresbysund 1952 +<4195> +proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.814,-0.6 +no_defs no_defs <> +# Ammassalik 1958 +<4196> +proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.814,-0.6 +no_defs no_defs <> +# Garoua +<4197> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Kousseri +<4198> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Egypt 1930 +<4199> +proj=longlat +ellps=intl +no_defs no_defs <> +# Pulkovo 1995 +<4200> +proj=longlat +ellps=krass +no_defs no_defs <> +# Adindan +<4201> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# AGD66 +<4202> +proj=longlat +ellps=aust_SA +no_defs no_defs <> +# AGD84 +<4203> +proj=longlat +ellps=aust_SA +no_defs no_defs <> +# Ain el Abd +<4204> +proj=longlat +ellps=intl +no_defs no_defs <> +# Afgooye +<4205> +proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +no_defs no_defs <> +# Agadez +<4206> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Lisbon +<4207> +proj=longlat +ellps=intl +no_defs no_defs <> +# Aratu +<4208> +proj=longlat +ellps=intl +no_defs no_defs <> +# Arc 1950 +<4209> +proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs no_defs <> +# Arc 1960 +<4210> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Batavia +<4211> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Barbados 1938 +<4212> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Beduaram +<4213> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Beijing 1954 +<4214> +proj=longlat +ellps=krass +no_defs no_defs <> +# Belge 1950 +<4215> +proj=longlat +ellps=intl +no_defs no_defs <> +# Bermuda 1957 +<4216> +proj=longlat +ellps=clrk66 +towgs84=-73,213,296,0,0,0,0 +no_defs no_defs <> +# Bogota 1975 +<4218> +proj=longlat +ellps=intl +no_defs no_defs <> +# Bukit Rimpah +<4219> +proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,0 +no_defs no_defs <> +# Camacupa +<4220> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Campo Inchauspe +<4221> +proj=longlat +ellps=intl +no_defs no_defs <> +# Cape +<4222> +proj=longlat +a=6378249.145 +b=6356514.966398753 +no_defs no_defs <> +# Carthage +<4223> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Chua +<4224> +proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0 +no_defs no_defs <> +# Corrego Alegre +<4225> +proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +no_defs no_defs <> +# Cote d'Ivoire +<4226> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Deir ez Zor +<4227> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Douala +<4228> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Egypt 1907 +<4229> +proj=longlat +ellps=helmert +no_defs no_defs <> +# ED50 +<4230> +proj=longlat +ellps=intl +no_defs no_defs <> +# ED87 +<4231> +proj=longlat +ellps=intl +towgs84=-82.981,-99.719,-110.709,-0.5076,0.1503,0.3898,-0.3143 +no_defs no_defs <> +# Fahud +<4232> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Gandajika 1970 +<4233> +proj=longlat +ellps=intl +no_defs no_defs <> +# Garoua +<4234> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Guyane Francaise +<4235> +proj=longlat +ellps=intl +no_defs no_defs <> +# Hu Tzu Shan +<4236> +proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0 +no_defs no_defs <> +# HD72 +<4237> +proj=longlat +ellps=GRS67 +no_defs no_defs <> +# ID74 +<4238> +proj=longlat +a=6378160 +b=6356774.50408554 +no_defs no_defs <> +# Indian 1954 +<4239> +proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs84=217,823,299,0,0,0,0 +no_defs no_defs <> +# Indian 1975 +<4240> +proj=longlat +a=6377276.345 +b=6356075.413140239 +no_defs no_defs <> +# Jamaica 1875 +<4241> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# JAD69 +<4242> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Kalianpur 1880 +<4243> +proj=longlat +a=6377299.36559538 +b=6356098.357204817 +no_defs no_defs <> +# Kandawala +<4244> +proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs84=-97,787,86,0,0,0,0 +no_defs no_defs <> +# Kertau +<4245> +proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +no_defs no_defs <> +# KOC +<4246> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# La Canoa +<4247> +proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +no_defs no_defs <> +# PSAD56 +<4248> +proj=longlat +ellps=intl +no_defs no_defs <> +# Lake +<4249> +proj=longlat +ellps=intl +no_defs no_defs <> +# Leigon +<4250> +proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +no_defs no_defs <> +# Liberia 1964 +<4251> +proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0 +no_defs no_defs <> +# Lome +<4252> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Luzon 1911 +<4253> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Hito XVIII 1963 +<4254> +proj=longlat +ellps=intl +towgs84=18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013 +no_defs no_defs <> +# Herat North +<4255> +proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0 +no_defs no_defs <> +# Mahe 1971 +<4256> +proj=longlat +ellps=clrk80 +towgs84=41,-220,-134,0,0,0,0 +no_defs no_defs <> +# Makassar +<4257> +proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +no_defs no_defs <> +# ETRS89 +<4258> +proj=longlat +ellps=GRS80 +no_defs no_defs <> +# Malongo 1987 +<4259> +proj=longlat +ellps=intl +no_defs no_defs <> +# Manoca +<4260> +proj=longlat +ellps=clrk80 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +no_defs no_defs <> +# Merchich +<4261> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +no_defs no_defs <> +# Massawa +<4262> +proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0 +no_defs no_defs <> +# Minna +<4263> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Mhast +<4264> +proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +no_defs no_defs <> +# Monte Mario +<4265> +proj=longlat +ellps=intl +no_defs no_defs <> +# M'poraloko +<4266> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# NAD27 +<4267> +proj=longlat +ellps=clrk66 +datum=NAD27 +no_defs no_defs <> +# NAD27 Michigan +<4268> +proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs no_defs <> +# NAD83 +<4269> +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs no_defs <> +# Nahrwan 1967 +<4270> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Naparima 1972 +<4271> +proj=longlat +ellps=intl +no_defs no_defs <> +# NZGD49 +<4272> +proj=longlat +ellps=intl +no_defs no_defs <> +# NGO 1948 +<4273> +proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +no_defs no_defs <> +# Datum 73 +<4274> +proj=longlat +ellps=intl +no_defs no_defs <> +# NTF +<4275> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +no_defs no_defs <> +# NSWC 9Z-2 +<4276> +proj=longlat +ellps=WGS66 +no_defs no_defs <> +# OSGB 1936 +<4277> +proj=longlat +ellps=airy +no_defs no_defs <> +# OSGB70 +<4278> +proj=longlat +ellps=airy +no_defs no_defs <> +# OS(SN)80 +<4279> +proj=longlat +ellps=airy +no_defs no_defs <> +# Padang +<4280> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Palestine 1923 +<4281> +proj=longlat +a=6378300.789 +b=6356566.435 +no_defs no_defs <> +# Pointe Noire +<4282> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# GDA94 +<4283> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Pulkovo 1942 +<4284> +proj=longlat +ellps=krass +no_defs no_defs <> +# Qatar 1974 +<4285> +proj=longlat +ellps=intl +no_defs no_defs <> +# Qatar 1948 +<4286> +proj=longlat +ellps=helmert +no_defs no_defs <> +# Qornoq +<4287> +proj=longlat +ellps=intl +towgs84=164,138,-189,0,0,0,0 +no_defs no_defs <> +# Loma Quintana +<4288> +proj=longlat +ellps=intl +no_defs no_defs <> +# Amersfoort +<4289> +proj=longlat +ellps=bessel +no_defs no_defs <> +# SAD69 +<4291> +proj=longlat +ellps=GRS67 +no_defs no_defs <> +# Sapper Hill 1943 +<4292> +proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0 +no_defs no_defs <> +# Schwarzeck +<4293> +proj=longlat +ellps=bess_nam +no_defs no_defs <> +# Segora +<4294> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Serindung +<4295> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Sudan +<4296> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Tananarive +<4297> +proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +no_defs no_defs <> +# Timbalai 1948 +<4298> +proj=longlat +ellps=evrstSS +no_defs no_defs <> +# TM65 +<4299> +proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs no_defs <> +# TM75 +<4300> +proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs no_defs <> +# Tokyo +<4301> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Trinidad 1903 +<4302> +proj=longlat +a=6378293.63683822 +b=6356617.979337744 +towgs84=-61.702,284.488,472.052,0,0,0,0 +no_defs no_defs <> +# TC(1948) +<4303> +proj=longlat +ellps=helmert +no_defs no_defs <> +# Voirol 1875 +<4304> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +no_defs no_defs <> +# Bern 1938 +<4306> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Nord Sahara 1959 +<4307> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# RT38 +<4308> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Yacare +<4309> +proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0 +no_defs no_defs <> +# Yoff +<4310> +proj=longlat +a=6378249.2 +b=6356515 +no_defs no_defs <> +# Zanderij +<4311> +proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs no_defs <> +# MGI +<4312> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Belge 1972 +<4313> +proj=longlat +ellps=intl +no_defs no_defs <> +# DHDN +<4314> +proj=longlat +ellps=bessel +no_defs no_defs <> +# Conakry 1905 +<4315> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +no_defs no_defs <> +# Dealul Piscului 1933 +<4316> +proj=longlat +ellps=intl +towgs84=103.25,-100.4,-307.19,0,0,0,0 +no_defs no_defs <> +# Dealul Piscului 1970 +<4317> +proj=longlat +ellps=krass +no_defs no_defs <> +# NGN +<4318> +proj=longlat +ellps=WGS84 +no_defs no_defs <> +# KUDAMS +<4319> +proj=longlat +ellps=GRS80 +no_defs no_defs <> +# WGS 72 +<4322> +proj=longlat +ellps=WGS72 +no_defs no_defs <> +# WGS 72BE +<4324> +proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +no_defs no_defs <> +# WGS 84 +<4326> +proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs no_defs <> +# Anguilla 1957 +<4600> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# Antigua 1943 +<4601> +proj=longlat +ellps=clrk80 +towgs84=-255,-15,71,0,0,0,0 +no_defs no_defs <> +# Dominica 1945 +<4602> +proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +no_defs no_defs <> +# Grenada 1953 +<4603> +proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +no_defs no_defs <> +# Montserrat 1958 +<4604> +proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +no_defs no_defs <> +# St. Kitts 1955 +<4605> +proj=longlat +ellps=clrk80 +towgs84=9,183,236,0,0,0,0 +no_defs no_defs <> +# St. Lucia 1955 +<4606> +proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +no_defs no_defs <> +# St. Vincent 1945 +<4607> +proj=longlat +ellps=clrk80 +no_defs no_defs <> +# NAD27(76) +<4608> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# NAD27(CGQ77) +<4609> +proj=longlat +ellps=clrk66 +no_defs no_defs <> +# Xian 1980 +<4610> +proj=longlat +a=6378140 +b=6356755.288157528 +no_defs no_defs <> +# Hong Kong 1980 +<4611> +proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +no_defs no_defs <> +# JGD2000 +<4612> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Segara +<4613> +proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +no_defs no_defs <> +# QND95 +<4614> +proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +no_defs no_defs <> +# Porto Santo +<4615> +proj=longlat +ellps=intl +no_defs no_defs <> +# Selvagem Grande +<4616> +proj=longlat +ellps=intl +no_defs no_defs <> +# NAD83(CSRS) +<4617> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs no_defs <> +# Bern 1898 (Bern) +<4801> +proj=longlat +ellps=bessel +pm=bern +no_defs no_defs <> +# Bogota 1975 (Bogota) +<4802> +proj=longlat +ellps=intl +pm=bogota +no_defs no_defs <> +# Lisbon (Lisbon) +<4803> +proj=longlat +ellps=intl +pm=lisbon +no_defs no_defs <> +# Makassar (Jakarta) +<4804> +proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +no_defs no_defs <> +# MGI (Ferro) +<4805> +proj=longlat +ellps=bessel +pm=ferro +no_defs no_defs <> +# Monte Mario (Rome) +<4806> +proj=longlat +ellps=intl +pm=rome +no_defs no_defs <> +# NTF (Paris) +<4807> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +no_defs no_defs <> +# Padang (Jakarta) +<4808> +proj=longlat +ellps=bessel +pm=jakarta +no_defs no_defs <> +# Belge 1950 (Brussels) +<4809> +proj=longlat +ellps=intl +pm=brussels +no_defs no_defs <> +# Tananarive (Paris) +<4810> +proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +no_defs no_defs <> +# Voirol 1875 (Paris) +<4811> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +pm=paris +no_defs no_defs <> +# Batavia (Jakarta) +<4813> +proj=longlat +ellps=bessel +pm=jakarta +no_defs no_defs <> +# RT38 (Stockholm) +<4814> +proj=longlat +ellps=bessel +pm=stockholm +no_defs no_defs <> +# Greek (Athens) +<4815> +proj=longlat +ellps=bessel +pm=athens +no_defs no_defs <> +# Carthage (Paris) +<4816> +proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs no_defs <> +# NGO 1948 (Oslo) +<4817> +proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +no_defs no_defs <> +# S-JTSK (Ferro) +<4818> +proj=longlat +ellps=bessel +pm=ferro +no_defs no_defs <> +# Nord Sahara 1959 (Paris) +<4819> +proj=longlat +ellps=clrk80 +pm=paris +no_defs no_defs <> +# Segara (Jakarta) +<4820> +proj=longlat +ellps=bessel +pm=jakarta +no_defs no_defs <> +# ATF (Paris) +<4901> +proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris +no_defs no_defs <> +# NDG (Paris) +<4902> +proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris +no_defs no_defs <> +# Madrid 1870 (Madrid) +<4903> +proj=longlat +a=6378298.3 +b=6356657.142669562 +pm=madrid +no_defs no_defs <> +# Lisbon 1890 (Lisbon) +<4904> +proj=longlat +ellps=bessel +pm=lisbon +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 4 +<20004> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 5 +<20005> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 6 +<20006> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 7 +<20007> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 8 +<20008> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 9 +<20009> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 10 +<20010> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 11 +<20011> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 12 +<20012> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 13 +<20013> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 14 +<20014> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 15 +<20015> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 16 +<20016> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 17 +<20017> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 18 +<20018> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 19 +<20019> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 20 +<20020> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 21 +<20021> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 22 +<20022> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 23 +<20023> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 24 +<20024> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 25 +<20025> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 26 +<20026> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 27 +<20027> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 28 +<20028> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 29 +<20029> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 30 +<20030> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 31 +<20031> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger zone 32 +<20032> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 4N +<20064> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 5N +<20065> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 6N +<20066> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 7N +<20067> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 8N +<20068> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 9N +<20069> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 10N +<20070> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 11N +<20071> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 12N +<20072> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 13N +<20073> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 14N +<20074> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 15N +<20075> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 16N +<20076> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 17N +<20077> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 18N +<20078> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 19N +<20079> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 20N +<20080> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 21N +<20081> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 22N +<20082> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 23N +<20083> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 24N +<20084> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 25N +<20085> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 26N +<20086> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 27N +<20087> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 28N +<20088> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 29N +<20089> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 30N +<20090> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 31N +<20091> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1995 / Gauss-Kruger 32N +<20092> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Adindan / UTM zone 37N +<20137> +proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs no_defs <> +# Adindan / UTM zone 38N +<20138> +proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs no_defs <> +# AGD66 / AMG zone 48 +<20248> +proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 49 +<20249> +proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 50 +<20250> +proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 51 +<20251> +proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 52 +<20252> +proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 53 +<20253> +proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 54 +<20254> +proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 55 +<20255> +proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 56 +<20256> +proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 57 +<20257> +proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD66 / AMG zone 58 +<20258> +proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 48 +<20348> +proj=utm +zone=48 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 49 +<20349> +proj=utm +zone=49 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 50 +<20350> +proj=utm +zone=50 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 51 +<20351> +proj=utm +zone=51 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 52 +<20352> +proj=utm +zone=52 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 53 +<20353> +proj=utm +zone=53 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 54 +<20354> +proj=utm +zone=54 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 55 +<20355> +proj=utm +zone=55 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 56 +<20356> +proj=utm +zone=56 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 57 +<20357> +proj=utm +zone=57 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# AGD84 / AMG zone 58 +<20358> +proj=utm +zone=58 +south +ellps=aust_SA +units=m +no_defs no_defs <> +# Ain el Abd / UTM zone 37N +<20437> +proj=utm +zone=37 +ellps=intl +units=m +no_defs no_defs <> +# Ain el Abd / UTM zone 38N +<20438> +proj=utm +zone=38 +ellps=intl +units=m +no_defs no_defs <> +# Ain el Abd / UTM zone 39N +<20439> +proj=utm +zone=39 +ellps=intl +units=m +no_defs no_defs <> +# Ain el Abd / Bahrain Grid +<20499> +proj=utm +zone=39 +ellps=intl +units=m +no_defs no_defs <> +# Afgooye / UTM zone 38N +<20538> +proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs no_defs <> +# Afgooye / UTM zone 39N +<20539> +proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m +no_defs no_defs <> +# Lisbon (Lisbon)/Portuguese National Grid +<20790> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=200000 +y_0=300000 +ellps=intl +pm=lisbon +units=m +no_defs no_defs <> +# Lisbon (Lisbon)/Portuguese Grid +<20791> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=0 +y_0=0 +ellps=intl +pm=lisbon +units=m +no_defs no_defs <> +# Aratu / UTM zone 22S +<20822> +proj=utm +zone=22 +south +ellps=intl +units=m +no_defs no_defs <> +# Aratu / UTM zone 23S +<20823> +proj=utm +zone=23 +south +ellps=intl +units=m +no_defs no_defs <> +# Aratu / UTM zone 24S +<20824> +proj=utm +zone=24 +south +ellps=intl +units=m +no_defs no_defs <> +# Arc 1950 / UTM zone 34S +<20934> +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs no_defs <> +# Arc 1950 / UTM zone 35S +<20935> +proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs no_defs <> +# Arc 1950 / UTM zone 36S +<20936> +proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs no_defs <> +# Arc 1960 / UTM zone 35S +<21035> +proj=utm +zone=35 +south +ellps=clrk80 +units=m +no_defs no_defs <> +# Arc 1960 / UTM zone 36S +<21036> +proj=utm +zone=36 +south +ellps=clrk80 +units=m +no_defs no_defs <> +# Arc 1960 / UTM zone 37S +<21037> +proj=utm +zone=37 +south +ellps=clrk80 +units=m +no_defs no_defs <> +# Arc 1960 / UTM zone 35N +<21095> +proj=utm +zone=35 +ellps=clrk80 +units=m +no_defs no_defs <> +# Arc 1960 / UTM zone 36N +<21096> +proj=utm +zone=36 +ellps=clrk80 +units=m +no_defs no_defs <> +# Arc 1960 / UTM zone 37N +<21097> +proj=utm +zone=37 +ellps=clrk80 +units=m +no_defs no_defs <> +# Batavia (Jakarta) / NEIEZ +<21100> +proj=merc +lat_ts=0 +lon_0=216.8077194444444 +k=0.997000 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m +no_defs no_defs <> +# Batavia / UTM zone 48S +<21148> +proj=utm +zone=48 +south +ellps=bessel +units=m +no_defs no_defs <> +# Batavia / UTM zone 49S +<21149> +proj=utm +zone=49 +south +ellps=bessel +units=m +no_defs no_defs <> +# Batavia / UTM zone 50S +<21150> +proj=utm +zone=50 +south +ellps=bessel +units=m +no_defs no_defs <> +# Barbados 1938 / British West Indies Grid +<21291> +proj=tmerc +lat_0=0 +lon_0=-62 +k=0.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +no_defs no_defs <> +# Barbados 1938 / Barbados National Grid +<21292> +proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222222222 +k=0.999999 +x_0=30000 +y_0=75000 +ellps=clrk80 +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 13 +<21413> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 14 +<21414> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 15 +<21415> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 16 +<21416> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 17 +<21417> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 18 +<21418> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 19 +<21419> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 20 +<21420> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 21 +<21421> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 22 +<21422> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger zone 23 +<21423> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 75E +<21453> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 81E +<21454> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 87E +<21455> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 93E +<21456> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 99E +<21457> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 105E +<21458> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 111E +<21459> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 117E +<21460> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 123E +<21461> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 129E +<21462> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger CM 135E +<21463> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 13N +<21473> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 14N +<21474> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 15N +<21475> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 16N +<21476> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 17N +<21477> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 18N +<21478> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 19N +<21479> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 20N +<21480> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 21N +<21481> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 22N +<21482> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Beijing 1954 / Gauss-Kruger 23N +<21483> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Belge 1950 (Brussels) / Belge Lambert 50 +<21500> +proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=4.367975 +x_0=150000 +y_0=5400000 +ellps=intl +pm=brussels +units=m +no_defs no_defs <> +# Bern 1898 (Bern) / LV03C +<21780> +proj=omerc +lat_0=46.95240555555556 +lonc=7.439583333333333 +alpha=90 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=bern +units=m +no_defs no_defs <> +# CH1903 / LV03 +<21781> +proj=omerc +lat_0=46.95240555555556 +lonc=7.439583333333333 +alpha=90 +k=1 +x_0=600000 +y_0=200000 +ellps=bessel +units=m +no_defs no_defs <> +# Bogota 1975 / UTM zone 17N +<21817> +proj=utm +zone=17 +ellps=intl +units=m +no_defs no_defs <> +# Bogota 1975 / UTM zone 18N +<21818> +proj=utm +zone=18 +ellps=intl +units=m +no_defs no_defs <> +# Bogota 1975 / Colombia West zone +<21891> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1.000000 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs no_defs <> +# Bogota 1975 / Colombia Bogota zone +<21892> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1.000000 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs no_defs <> +# Bogota 1975 / Colombia East Central zone +<21893> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1.000000 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs no_defs <> +# Bogota 1975 / Colombia East +<21894> +proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1.000000 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m +no_defs no_defs <> +# Camacupa / UTM zone 32S +<22032> +proj=utm +zone=32 +south +ellps=clrk80 +units=m +no_defs no_defs <> +# Camacupa / UTM zone 33S +<22033> +proj=utm +zone=33 +south +ellps=clrk80 +units=m +no_defs no_defs <> +# Camacupa / TM 11.30 SE +<22091> +proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.999600 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs no_defs <> +# Camacupa / TM 12 SE +<22092> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.999600 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +no_defs no_defs <> +# Campo Inchauspe / Argentina 1 +<22191> +proj=tmerc +lat_0=-90 +lon_0=-72 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Campo Inchauspe / Argentina 2 +<22192> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Campo Inchauspe / Argentina 3 +<22193> +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Campo Inchauspe / Argentina 4 +<22194> +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Campo Inchauspe / Argentina 5 +<22195> +proj=tmerc +lat_0=-90 +lon_0=-60 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Campo Inchauspe / Argentina 6 +<22196> +proj=tmerc +lat_0=-90 +lon_0=-57 +k=1.000000 +x_0=6500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Campo Inchauspe / Argentina 7 +<22197> +proj=tmerc +lat_0=-90 +lon_0=-54 +k=1.000000 +x_0=7500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Cape / UTM zone 34S +<22234> +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs no_defs <> +# Cape / UTM zone 35S +<22235> +proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs no_defs <> +# Cape / UTM zone 36S +<22236> +proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m +no_defs no_defs <> +# South African Coordinate System zone 15 +# South African Coordinate System zone 17 +# South African Coordinate System zone 19 +# South African Coordinate System zone 21 +# South African Coordinate System zone 23 +# South African Coordinate System zone 25 +# South African Coordinate System zone 27 +# South African Coordinate System zone 29 +# South African Coordinate System zone 31 +# South African Coordinate System zone 33 +# Carthage (Paris) / Tunisia Mining Grid +# Carthage / UTM zone 32N +<22332> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Carthage / Nord Tunisie +<22391> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Carthage / Sud Tunisie +<22392> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Corrego Alegre / UTM zone 23S +<22523> +proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs no_defs <> +# Corrego Alegre / UTM zone 24S +<22524> +proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m +no_defs no_defs <> +# Deir ez Zor / Levant Zone +<22700> +proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Deir ez Zor / Syria Lambert +<22770> +proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Deir ez Zor / Levant Stereographic +<22780> +proj=stere +lat_0=34.2 +lon_0=39.15 +k=0.999534 +x_0=0 +y_0=0 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Douala / UTM zone 32N +<22832> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Egypt 1907 / Blue Belt +<22991> +proj=tmerc +lat_0=30 +lon_0=35 +k=1.000000 +x_0=300000 +y_0=1100000 +ellps=helmert +units=m +no_defs no_defs <> +# Egypt 1907 / Red Belt +<22992> +proj=tmerc +lat_0=30 +lon_0=31 +k=1.000000 +x_0=615000 +y_0=810000 +ellps=helmert +units=m +no_defs no_defs <> +# Egypt 1907 / Purple Belt +<22993> +proj=tmerc +lat_0=30 +lon_0=27 +k=1.000000 +x_0=700000 +y_0=200000 +ellps=helmert +units=m +no_defs no_defs <> +# Egypt 1907 / Extended Purple Belt +<22994> +proj=tmerc +lat_0=30 +lon_0=27 +k=1.000000 +x_0=700000 +y_0=1200000 +ellps=helmert +units=m +no_defs no_defs <> +# ED50 / UTM zone 28N +<23028> +proj=utm +zone=28 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 29N +<23029> +proj=utm +zone=29 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 30N +<23030> +proj=utm +zone=30 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 31N +<23031> +proj=utm +zone=31 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 32N +<23032> +proj=utm +zone=32 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 33N +<23033> +proj=utm +zone=33 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 34N +<23034> +proj=utm +zone=34 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 35N +<23035> +proj=utm +zone=35 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 36N +<23036> +proj=utm +zone=36 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 37N +<23037> +proj=utm +zone=37 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / UTM zone 38N +<23038> +proj=utm +zone=38 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM 0 N +<23090> +proj=tmerc +lat_0=0 +lon_0=0 +k=0.999600 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# ED50 / TM 5 NE +<23095> +proj=tmerc +lat_0=0 +lon_0=5 +k=0.999600 +x_0=500000 +y_0=0 +ellps=intl +units=m +no_defs no_defs <> +# Fahud / UTM zone 39N +<23239> +proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs no_defs <> +# Fahud / UTM zone 40N +<23240> +proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs no_defs <> +# Garoua / UTM zone 33N +<23433> +proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# HD72 / EOV +<23700> +proj=omerc +lat_0=47.14439372222222 +lonc=19.04857177777778 +alpha=90 +k=0.99993 +x_0=650000 +y_0=200000 +ellps=GRS67 +units=m +no_defs no_defs <> +# ID74 / UTM zone 46N +<23846> +proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 47N +<23847> +proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 48N +<23848> +proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 49N +<23849> +proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 50N +<23850> +proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 51N +<23851> +proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 52N +<23852> +proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 53N +<23853> +proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 46S +<23886> +proj=utm +zone=46 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 47S +<23887> +proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 48S +<23888> +proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 49S +<23889> +proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 50S +<23890> +proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 51S +<23891> +proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 52S +<23892> +proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 53S +<23893> +proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# ID74 / UTM zone 54S +<23894> +proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554 +units=m +no_defs no_defs <> +# Indian 1954 / UTM zone 46N +<23946> +proj=utm +zone=46 +a=6377276.345 +b=6356075.413140239 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs no_defs <> +# Indian 1954 / UTM zone 47N +<23947> +proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs no_defs <> +# Indian 1954 / UTM zone 48N +<23948> +proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +towgs84=217,823,299,0,0,0,0 +units=m +no_defs no_defs <> +# Indian 1975 / UTM zone 47N +<24047> +proj=utm +zone=47 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# Indian 1975 / UTM zone 48N +<24048> +proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# Jamaica 1875 / Jamaica (Old Grid) +<24100> +proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=167638.49575 +y_0=121918.906 +ellps=clrk80 +to_meter=0.304797265 +no_defs no_defs <> +# JAD69 / Jamaica National Grid +<24200> +proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250000 +y_0=150000 +ellps=clrk66 +units=m +no_defs no_defs <> +# Kalianpur 1937 / UTM zone 45N +<24305> +proj=utm +zone=45 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# Kalianpur 1937 / UTM zone 46N +<24306> +proj=utm +zone=46 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# Kalianpur 1962 / UTM zone 41N +<24311> +proj=utm +zone=41 +a=6377301.243 +b=6356100.230165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1962 / UTM zone 42N +<24312> +proj=utm +zone=42 +a=6377301.243 +b=6356100.230165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1962 / UTM zone 43N +<24313> +proj=utm +zone=43 +a=6377301.243 +b=6356100.230165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / UTM zone 42N +<24342> +proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / UTM zone 43N +<24343> +proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / UTM zone 44N +<24344> +proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / UTM zone 45N +<24345> +proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / UTM zone 46N +<24346> +proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / UTM zone 47N +<24347> +proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1880 / India zone 0 +<24370> +proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377299.36559538 +b=6356098.357204817 +to_meter=0.9143985307444408 +no_defs no_defs <> +# Kalianpur 1880 / India zone I +<24371> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204817 +to_meter=0.9143985307444408 +no_defs no_defs <> +# Kalianpur 1880 / India zone IIa +<24372> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204817 +to_meter=0.9143985307444408 +no_defs no_defs <> +# Kalianpur 1880 / India zone III +<24373> +proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204817 +to_meter=0.9143985307444408 +no_defs no_defs <> +# Kalianpur 1880 / India zone IV +<24374> +proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204817 +to_meter=0.9143985307444408 +no_defs no_defs <> +# Kalianpur 1937 / India zone IIb +<24375> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs no_defs <> +# Kalianpur 1962 / India zone I +<24376> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1962 / India zone IIa +<24377> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165385 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / India zone I +<24378> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / India zone IIa +<24379> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / India zone IIb +<24380> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1975 / India zone III +<24381> +proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kalianpur 1880 / India zone IIb +<24382> +proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204817 +to_meter=0.9143985307444408 +no_defs no_defs <> +# Kalianpur 1975 / India zone IV +<24383> +proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m +no_defs no_defs <> +# Kertau / Singapore Grid +<24500> +proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs no_defs <> +# Kertau / UTM zone 47N +<24547> +proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs no_defs <> +# Kertau / UTM zone 48N +<24548> +proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs no_defs <> +# Kertau / R.S.O. Malaya (ch) +<24571> +proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804671.2997750348 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587 +no_defs no_defs <> +# KOC Lambert +<24600> +proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m +no_defs no_defs <> +# La Canoa / UTM zone 18N +<24718> +proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs no_defs <> +# La Canoa / UTM zone 19N +<24719> +proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs no_defs <> +# La Canoa / UTM zone 20N +<24720> +proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 18N +<24818> +proj=utm +zone=18 +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 19N +<24819> +proj=utm +zone=19 +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 20N +<24820> +proj=utm +zone=20 +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 21N +<24821> +proj=utm +zone=21 +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 17S +<24877> +proj=utm +zone=17 +south +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 18S +<24878> +proj=utm +zone=18 +south +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 19S +<24879> +proj=utm +zone=19 +south +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 20S +<24880> +proj=utm +zone=20 +south +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / UTM zone 22S +<24882> +proj=utm +zone=22 +south +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / Peru west zone +<24891> +proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.999830 +x_0=222000 +y_0=1426834.743 +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / Peru central zone +<24892> +proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.999330 +x_0=720000 +y_0=1039979.159 +ellps=intl +units=m +no_defs no_defs <> +# PSAD56 / Peru east zone +<24893> +proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.999530 +x_0=1324000 +y_0=1040084.558 +ellps=intl +units=m +no_defs no_defs <> +# Leigon / Ghana Metre Grid +<25000> +proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.999750 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +units=m +no_defs no_defs <> +# Lome / UTM zone 31N +<25231> +proj=utm +zone=31 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Luzon 1911 / Philippines zone I +<25391> +proj=tmerc +lat_0=0 +lon_0=117 +k=0.999950 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# Luzon 1911 / Philippines zone II +<25392> +proj=tmerc +lat_0=0 +lon_0=119 +k=0.999950 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# Luzon 1911 / Philippines zone III +<25393> +proj=tmerc +lat_0=0 +lon_0=121 +k=0.999950 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# Luzon 1911 / Philippines zone IV +<25394> +proj=tmerc +lat_0=0 +lon_0=123 +k=0.999950 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# Luzon 1911 / Philippines zone V +<25395> +proj=tmerc +lat_0=0 +lon_0=125 +k=0.999950 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +no_defs no_defs <> +# Makassar (Jakarta) / NEIEZ +<25700> +proj=merc +lat_ts=0 +lon_0=216.8077194444444 +k=0.997000 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 28N +<25828> +proj=utm +zone=28 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 29N +<25829> +proj=utm +zone=29 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 30N +<25830> +proj=utm +zone=30 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 31N +<25831> +proj=utm +zone=31 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 32N +<25832> +proj=utm +zone=32 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 33N +<25833> +proj=utm +zone=33 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 34N +<25834> +proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 35N +<25835> +proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 36N +<25836> +proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 37N +<25837> +proj=utm +zone=37 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / UTM zone 38N +<25838> +proj=utm +zone=38 +ellps=GRS80 +units=m +no_defs no_defs <> +# ETRS89 / TM Baltic93 +<25884> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# Malongo 1987 / UTM zone 32S +<25932> +proj=utm +zone=32 +south +ellps=intl +units=m +no_defs no_defs <> +# Merchich / Nord Maroc +<26191> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs no_defs <> +# Merchich / Sud Maroc +<26192> +proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs no_defs <> +# Merchich / Sahara +<26193> +proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m +no_defs no_defs <> +# Massawa / UTM zone 37N +<26237> +proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m +no_defs no_defs <> +# Minna / UTM zone 31N +<26331> +proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs no_defs <> +# Minna / UTM zone 32N +<26332> +proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs no_defs <> +# Minna / Nigeria West Belt +<26391> +proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.999750 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m +no_defs no_defs <> +# Minna / Nigeria Mid Belt +<26392> +proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.999750 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m +no_defs no_defs <> +# Minna / Nigeria East Belt +<26393> +proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.999750 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +no_defs no_defs <> +# Mhast / UTM zone 32S +<26432> +proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +units=m +no_defs no_defs <> +# Monte Mario (Rome) / Italy zone 1 +<26591> +proj=tmerc +lat_0=0 +lon_0=21.45233333333333 +k=0.999600 +x_0=1500000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs no_defs <> +# Monte Mario (Rome) / Italy zone 2 +<26592> +proj=tmerc +lat_0=0 +lon_0=27.45233333333333 +k=0.999600 +x_0=2520000 +y_0=0 +ellps=intl +pm=rome +units=m +no_defs no_defs <> +# M'poraloko / UTM zone 32N +<26632> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# M'poraloko / UTM zone 32S +<26692> +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 3N +<26703> +proj=utm +zone=3 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 4N +<26704> +proj=utm +zone=4 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 5N +<26705> +proj=utm +zone=5 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 6N +<26706> +proj=utm +zone=6 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 7N +<26707> +proj=utm +zone=7 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 8N +<26708> +proj=utm +zone=8 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 9N +<26709> +proj=utm +zone=9 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 10N +<26710> +proj=utm +zone=10 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 11N +<26711> +proj=utm +zone=11 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 12N +<26712> +proj=utm +zone=12 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 13N +<26713> +proj=utm +zone=13 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 14N +<26714> +proj=utm +zone=14 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 15N +<26715> +proj=utm +zone=15 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 16N +<26716> +proj=utm +zone=16 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 17N +<26717> +proj=utm +zone=17 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 18N +<26718> +proj=utm +zone=18 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 19N +<26719> +proj=utm +zone=19 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 20N +<26720> +proj=utm +zone=20 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 21N +<26721> +proj=utm +zone=21 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / UTM zone 22N +<26722> +proj=utm +zone=22 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / Alabama East +<26729> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.999960 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alabama West +<26730> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 1 +<26731> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5000000.001016002 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 2 +<26732> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 3 +<26733> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 4 +<26734> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 5 +<26735> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 6 +<26736> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 7 +<26737> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.999900 +x_0=213360.4267208534 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 8 +<26738> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 9 +<26739> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.999900 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Alaska zone 10 +<26740> +proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California zone I +<26741> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California zone II +<26742> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California zone III +<26743> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California zone IV +<26744> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California zone V +<26745> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California zone VI +<26746> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California zone VII +<26747> +proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=127079.524511049 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Arizona East +<26748> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Arizona Central +<26749> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Arizona West +<26750> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Arkansas North +<26751> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Arkansas South +<26752> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Colorado North +<26753> +proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Colorado Central +<26754> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Colorado South +<26755> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Connecticut +<26756> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Delaware +<26757> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Florida East +<26758> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Florida West +<26759> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Florida North +<26760> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Georgia East +<26766> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Georgia West +<26767> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Idaho East +<26768> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Idaho Central +<26769> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Idaho West +<26770> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Illinois East +<26771> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.999975 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Illinois West +<26772> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Indiana East +<26773> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Indiana West +<26774> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Iowa North +<26775> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Iowa South +<26776> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Kansas North +<26777> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Kansas South +<26778> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Kentucky North +<26779> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Kentucky South +<26780> +proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Louisiana North +<26781> +proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Louisiana South +<26782> +proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Maine East +<26783> +proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Maine West +<26784> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Maryland +<26785> +proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Massachusetts Mainland +<26786> +proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Massachusetts Island +<26787> +proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Minnesota North +<26791> +proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Minnesota Central +<26792> +proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Minnesota South +<26793> +proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Mississippi East +<26794> +proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333333333 +k=0.999960 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Mississippi West +<26795> +proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Missouri East +<26796> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Missouri Central +<26797> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Missouri West +<26798> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD Michigan / Michigan East +<26801> +proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999943 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD Michigan / Michigan Old Central +<26802> +proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD Michigan / Michigan West +<26803> +proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD Michigan / Michigan North +<26811> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD Michigan / Michigan Central +<26812> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD Michigan / Michigan South +<26813> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD83 / UTM zone 3N +<26903> +proj=utm +zone=3 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 4N +<26904> +proj=utm +zone=4 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 5N +<26905> +proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 6N +<26906> +proj=utm +zone=6 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 7N +<26907> +proj=utm +zone=7 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 8N +<26908> +proj=utm +zone=8 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 9N +<26909> +proj=utm +zone=9 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 10N +<26910> +proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 11N +<26911> +proj=utm +zone=11 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 12N +<26912> +proj=utm +zone=12 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 13N +<26913> +proj=utm +zone=13 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 14N +<26914> +proj=utm +zone=14 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 15N +<26915> +proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 16N +<26916> +proj=utm +zone=16 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 17N +<26917> +proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 18N +<26918> +proj=utm +zone=18 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 19N +<26919> +proj=utm +zone=19 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 20N +<26920> +proj=utm +zone=20 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 21N +<26921> +proj=utm +zone=21 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 22N +<26922> +proj=utm +zone=22 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / UTM zone 23N +<26923> +proj=utm +zone=23 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alabama East +<26929> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.999960 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alabama West +<26930> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 1 +<26931> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 2 +<26932> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 3 +<26933> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 4 +<26934> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 5 +<26935> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 6 +<26936> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 7 +<26937> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 8 +<26938> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 9 +<26939> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Alaska zone 10 +<26940> +proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / California zone 1 +<26941> +proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / California zone 2 +<26942> +proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / California zone 3 +<26943> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / California zone 4 +<26944> +proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / California zone 5 +<26945> +proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / California zone 6 +<26946> +proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Arizona East +<26948> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Arizona Central +<26949> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Arizona West +<26950> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Arkansas North +<26951> +proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Arkansas South +<26952> +proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Colorado North +<26953> +proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Colorado Central +<26954> +proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Colorado South +<26955> +proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Connecticut +<26956> +proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Delaware +<26957> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Florida East +<26958> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Florida West +<26959> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Florida North +<26960> +proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Hawaii zone 1 +<26961> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Hawaii zone 2 +<26962> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Hawaii zone 3 +<26963> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Hawaii zone 4 +<26964> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Hawaii zone 5 +<26965> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Georgia East +<26966> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Georgia West +<26967> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Idaho East +<26968> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Idaho Central +<26969> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Idaho West +<26970> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Illinois East +<26971> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.999975 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Illinois West +<26972> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Indiana East +<26973> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Indiana West +<26974> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Iowa North +<26975> +proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Iowa South +<26976> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Kansas North +<26977> +proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Kansas South +<26978> +proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Kentucky North +<26979> +proj=lcc +lat_1=37.96666666666667 +lat_2=37.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Kentucky South +<26980> +proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Louisiana North +<26981> +proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Louisiana South +<26982> +proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Maine East +<26983> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.999900 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Maine West +<26984> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999967 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Maryland +<26985> +proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Massachusetts Mainland +<26986> +proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Massachusetts Island +<26987> +proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Michigan North +<26988> +proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Michigan Central +<26989> +proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Michigan South +<26990> +proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Minnesota North +<26991> +proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Minnesota Central +<26992> +proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Minnesota South +<26993> +proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Mississippi East +<26994> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Mississippi West +<26995> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Missouri East +<26996> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Missouri Central +<26997> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Missouri West +<26998> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# Nahrwan 1967 / UTM zone 38N +<27038> +proj=utm +zone=38 +ellps=clrk80 +units=m +no_defs no_defs <> +# Nahrwan 1967 / UTM zone 39N +<27039> +proj=utm +zone=39 +ellps=clrk80 +units=m +no_defs no_defs <> +# Nahrwan 1967 / UTM zone 40N +<27040> +proj=utm +zone=40 +ellps=clrk80 +units=m +no_defs no_defs <> +# Naparima 1972 / UTM zone 20N +<27120> +proj=utm +zone=20 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / New Zealand Map Grid +<27200> +proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Mount Eden Circuit +<27205> +proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393611111 +k=0.999900 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Bay of Plenty Circuit +<27206> +proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.46619725 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Poverty Bay Circuit +<27207> +proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362777778 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Hawkes Bay Circuit +<27208> +proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805277778 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Taranaki Circuit +<27209> +proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.22801175 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Tuhirangi Circuit +<27210> +proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368055556 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Wanganui Circuit +<27211> +proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996111111 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Wairarapa Circuit +<27212> +proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496666667 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Wellington Circuit +<27213> +proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231111111 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Collingwood Circuit +<27214> +proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Nelson Circuit +<27215> +proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168055555 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Karamea Circuit +<27216> +proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281944444 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Buller Circuit +<27217> +proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600555556 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Grey Circuit +<27218> +proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713055556 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Amuri Circuit +<27219> +proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333888889 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Marlborough Circuit +<27220> +proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741111111 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Hokitika Circuit +<27221> +proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Okarito Circuit +<27222> +proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258333333 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Jacksons Bay Circuit +<27223> +proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Mount Pleasant Circuit +<27224> +proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935833333 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Gawler Circuit +<27225> +proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484722222 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Timaru Circuit +<27226> +proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508333333 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Lindis Peak Circuit +<27227> +proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550833333 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Mount Nicholas Circuit +<27228> +proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411944444 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Mount York Circuit +<27229> +proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617777778 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Observation Point Circuit +<27230> +proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951666667 +k=1.000000 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / North Taieri Circuit +<27231> +proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891111111 +k=0.999960 +x_0=300000 +y_0=700000 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / Bluff Circuit +<27232> +proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 +k=1.000000 +x_0=300002.66 +y_0=699999.58 +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / UTM zone 58S +<27258> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / UTM zone 59S +<27259> +proj=utm +zone=59 +south +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / UTM zone 60S +<27260> +proj=utm +zone=60 +south +ellps=intl +units=m +no_defs no_defs <> +# NZGD49 / North Island Grid +<27291> +proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1.000000 +x_0=274319.5243848086 +y_0=365759.3658464114 +ellps=intl +to_meter=0.9143984146160287 +no_defs no_defs <> +# NZGD49 / South Island Grid +<27292> +proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1.000000 +x_0=457199.2073080143 +y_0=457199.2073080143 +ellps=intl +to_meter=0.9143984146160287 +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone I +<27391> +proj=tmerc +lat_0=58 +lon_0=6.056250000000003 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone II +<27392> +proj=tmerc +lat_0=58 +lon_0=8.389583333333336 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone III +<27393> +proj=tmerc +lat_0=58 +lon_0=10.72291666666667 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone IV +<27394> +proj=tmerc +lat_0=58 +lon_0=13.22291666666667 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone V +<27395> +proj=tmerc +lat_0=58 +lon_0=16.88958333333334 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone VI +<27396> +proj=tmerc +lat_0=58 +lon_0=20.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone VII +<27397> +proj=tmerc +lat_0=58 +lon_0=24.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# NGO 1948 (Oslo) / NGO zone VIII +<27398> +proj=tmerc +lat_0=58 +lon_0=29.05625 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m +no_defs no_defs <> +# Datum 73 / UTM zone 29N +<27429> +proj=utm +zone=29 +ellps=intl +units=m +no_defs no_defs <> +# Datum 73 / Modified Portuguese Grid +<27492> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m +no_defs no_defs <> +# ATF (Paris) / Nord de Guerre +<27500> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=7.737229170000001 +k_0=0.99950908 +x_0=500000 +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert Nord France +<27561> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=2.33722917 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert Centre France +<27562> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.33722917 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert Sud France +<27563> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=2.33722917 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert Corse +<27564> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=2.33722917 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert zone I +<27571> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=2.33722917 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert zone II +<27572> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.33722917 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert zone III +<27573> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=2.33722917 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Lambert zone IV +<27574> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=2.33722917 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / France I +<27581> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=2.33722917 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / France II +<27582> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.33722917 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / France III +<27583> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=2.33722917 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / France IV +<27584> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=2.33722917 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Nord France +<27591> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=2.33722917 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Centre France +<27592> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.33722917 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Sud France +<27593> +proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=2.33722917 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# NTF (Paris) / Corse +<27594> +proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=2.33722917 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# OSGB 1936 / British National Grid +<27700> +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.999601 +x_0=400000 +y_0=-100000 +ellps=airy +units=m +no_defs no_defs <> +# Palestine 1923 / Palestine Grid +<28191> +proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +units=m +no_defs no_defs <> +# Palestine 1923 / Palestine Belt +<28192> +proj=tmerc +lat_0=31.73409694444445 +lon_0=35.21208055555556 +k=1.000000 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +units=m +no_defs no_defs <> +# Palestine 1923 / Israeli CS Grid +<28193> +proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +units=m +no_defs no_defs <> +# Pointe Noire / UTM zone 32S +<28232> +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 48 +<28348> +proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 49 +<28349> +proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 50 +<28350> +proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 51 +<28351> +proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 52 +<28352> +proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 53 +<28353> +proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 54 +<28354> +proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 55 +<28355> +proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 56 +<28356> +proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 57 +<28357> +proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# GDA94 / MGA zone 58 +<28358> +proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 2 +<28402> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 3 +<28403> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 4 +<28404> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 5 +<28405> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 6 +<28406> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=6500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 7 +<28407> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=7500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 8 +<28408> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=8500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 9 +<28409> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=9500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 10 +<28410> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=10500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 11 +<28411> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=11500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 12 +<28412> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=12500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 13 +<28413> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 14 +<28414> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 15 +<28415> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 16 +<28416> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 17 +<28417> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 18 +<28418> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 19 +<28419> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 20 +<28420> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 21 +<28421> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 22 +<28422> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 23 +<28423> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 24 +<28424> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=24500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 25 +<28425> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 26 +<28426> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 27 +<28427> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 28 +<28428> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 29 +<28429> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 30 +<28430> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 31 +<28431> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger zone 32 +<28432> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 2N +<28462> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 3N +<28463> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 4N +<28464> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 5N +<28465> +proj=tmerc +lat_0=0 +lon_0=27 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 6N +<28466> +proj=tmerc +lat_0=0 +lon_0=33 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 7N +<28467> +proj=tmerc +lat_0=0 +lon_0=39 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 8N +<28468> +proj=tmerc +lat_0=0 +lon_0=45 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 9N +<28469> +proj=tmerc +lat_0=0 +lon_0=51 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 10N +<28470> +proj=tmerc +lat_0=0 +lon_0=57 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 11N +<28471> +proj=tmerc +lat_0=0 +lon_0=63 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 12N +<28472> +proj=tmerc +lat_0=0 +lon_0=69 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 13N +<28473> +proj=tmerc +lat_0=0 +lon_0=75 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 14N +<28474> +proj=tmerc +lat_0=0 +lon_0=81 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 15N +<28475> +proj=tmerc +lat_0=0 +lon_0=87 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 16N +<28476> +proj=tmerc +lat_0=0 +lon_0=93 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 17N +<28477> +proj=tmerc +lat_0=0 +lon_0=99 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 18N +<28478> +proj=tmerc +lat_0=0 +lon_0=105 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 19N +<28479> +proj=tmerc +lat_0=0 +lon_0=111 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 20N +<28480> +proj=tmerc +lat_0=0 +lon_0=117 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 21N +<28481> +proj=tmerc +lat_0=0 +lon_0=123 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 22N +<28482> +proj=tmerc +lat_0=0 +lon_0=129 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 23N +<28483> +proj=tmerc +lat_0=0 +lon_0=135 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 24N +<28484> +proj=tmerc +lat_0=0 +lon_0=141 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 25N +<28485> +proj=tmerc +lat_0=0 +lon_0=147 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 26N +<28486> +proj=tmerc +lat_0=0 +lon_0=153 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 27N +<28487> +proj=tmerc +lat_0=0 +lon_0=159 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 28N +<28488> +proj=tmerc +lat_0=0 +lon_0=165 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 29N +<28489> +proj=tmerc +lat_0=0 +lon_0=171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 30N +<28490> +proj=tmerc +lat_0=0 +lon_0=177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 31N +<28491> +proj=tmerc +lat_0=0 +lon_0=-177 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Pulkovo 1942 / Gauss-Kruger 32N +<28492> +proj=tmerc +lat_0=0 +lon_0=-171 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs no_defs <> +# Qatar 1974 / Qatar National Grid +<28600> +proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.999990 +x_0=200000 +y_0=300000 +ellps=intl +units=m +no_defs no_defs <> +# Amersfoort / RD Old +<28991> +proj=stere +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Amersfoort / RD New +<28992> +proj=stere +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.999908 +x_0=155000 +y_0=463000 +ellps=bessel +units=m +no_defs no_defs <> +# SAD69 / Brazil Polyconic +<29100> +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 18N +<29118> +proj=utm +zone=18 +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 19N +<29119> +proj=utm +zone=19 +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 20N +<29120> +proj=utm +zone=20 +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 21N +<29121> +proj=utm +zone=21 +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 22N +<29122> +proj=utm +zone=22 +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 17S +<29177> +proj=utm +zone=17 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 18S +<29178> +proj=utm +zone=18 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 19S +<29179> +proj=utm +zone=19 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 20S +<29180> +proj=utm +zone=20 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 21S +<29181> +proj=utm +zone=21 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 22S +<29182> +proj=utm +zone=22 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 23S +<29183> +proj=utm +zone=23 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 24S +<29184> +proj=utm +zone=24 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# SAD69 / UTM zone 25S +<29185> +proj=utm +zone=25 +south +ellps=GRS67 +units=m +no_defs no_defs <> +# Sapper Hill 1943 / UTM zone 20S +<29220> +proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs no_defs <> +# Sapper Hill 1943 / UTM zone 21S +<29221> +proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m +no_defs no_defs <> +# Schwarzeck / UTM zone 33S +<29333> +proj=utm +zone=33 +south +ellps=bess_nam +units=m +no_defs no_defs <> +# South West African Coord. System zone 11 +# South West African Coord. System zone 13 +# South West African Coord. System zone 15 +# South West African Coord. System zone 17 +# South West African Coord. System zone 19 +# South West African Coord. System zone 21 +# South West African Coord. System zone 23 +# South West African Coord. System zone 25 +# Sudan / UTM zone 35N +<29635> +proj=utm +zone=35 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Sudan / UTM zone 36N +<29636> +proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Tananarive (Paris) / Laborde Grid +<29700> +proj=omerc +lat_0=-18.9 +lonc=46.43722917000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m +no_defs no_defs <> +# Tananarive / UTM zone 38S +<29738> +proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs no_defs <> +# Tananarive / UTM zone 39S +<29739> +proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m +no_defs no_defs <> +# Timbalai 1948 / UTM zone 49N +<29849> +proj=utm +zone=49 +ellps=evrstSS +units=m +no_defs no_defs <> +# Timbalai 1948 / UTM zone 50N +<29850> +proj=utm +zone=50 +ellps=evrstSS +units=m +no_defs no_defs <> +# Timbalai 1948 / R.S.O. Borneo (ch) +<29871> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 +ellps=evrstSS +to_meter=20.11676512155263 +no_defs no_defs <> +# Timbalai 1948 / R.S.O. Borneo (ft) +<29872> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +ellps=evrstSS +to_meter=0.3047994715386762 +no_defs no_defs <> +# Timbalai 1948 / R.S.O. Borneo (m) +<29873> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +ellps=evrstSS +units=m +no_defs no_defs <> +# TM65 / Irish National Grid +<29900> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs no_defs <> +# OSNI 1952 / Irish National Grid +<29901> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000000 +x_0=200000 +y_0=250000 +ellps=airy +units=m +no_defs no_defs <> +# TM65 / Irish Grid +<29902> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs no_defs <> +# TM75 / Irish Grid +<29903> +proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS I +<30161> +proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS II +<30162> +proj=tmerc +lat_0=33 +lon_0=131 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS III +<30163> +proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS IV +<30164> +proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS V +<30165> +proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS VI +<30166> +proj=tmerc +lat_0=36 +lon_0=136 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS VII +<30167> +proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS VIII +<30168> +proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS IX +<30169> +proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS X +<30170> +proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XI +<30171> +proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XII +<30172> +proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XIII +<30173> +proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XIV +<30174> +proj=tmerc +lat_0=26 +lon_0=142 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XV +<30175> +proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XVI +<30176> +proj=tmerc +lat_0=26 +lon_0=124 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XVII +<30177> +proj=tmerc +lat_0=26 +lon_0=131 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XVIII +<30178> +proj=tmerc +lat_0=20 +lon_0=136 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Tokyo / Japan Plane Rectangular CS XIX +<30179> +proj=tmerc +lat_0=26 +lon_0=154 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Trinidad 1903 / Trinidad Grid +<30200> +proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46380700001 +y_0=65379.0133425 +a=6378293.63683822 +b=6356617.979337744 +towgs84=-61.702,284.488,472.052,0,0,0,0 +to_meter=0.2011661949 +no_defs no_defs <> +# TC(1948) / UTM zone 39N +<30339> +proj=utm +zone=39 +ellps=helmert +units=m +no_defs no_defs <> +# TC(1948) / UTM zone 40N +<30340> +proj=utm +zone=40 +ellps=helmert +units=m +no_defs no_defs <> +# Voirol 1875 / Nord Algerie (ancienne) +<30491> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs no_defs <> +# Voirol 1875 / Sud Algerie (ancienne) +<30492> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m +no_defs no_defs <> +# Nord Sahara 1959 / UTM zone 29N +<30729> +proj=utm +zone=29 +ellps=clrk80 +units=m +no_defs no_defs <> +# Nord Sahara 1959 / UTM zone 30N +<30730> +proj=utm +zone=30 +ellps=clrk80 +units=m +no_defs no_defs <> +# Nord Sahara 1959 / UTM zone 31N +<30731> +proj=utm +zone=31 +ellps=clrk80 +units=m +no_defs no_defs <> +# Nord Sahara 1959 / UTM zone 32N +<30732> +proj=utm +zone=32 +ellps=clrk80 +units=m +no_defs no_defs <> +# Nord Sahara 1959 / Voirol Unifie Nord +<30791> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs no_defs <> +# Nord Sahara 1959 / Voirol Unifie Sud +<30792> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m +no_defs no_defs <> +# RT38 2.5 gon W +<30800> +proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Yoff / UTM zone 28N +<31028> +proj=utm +zone=28 +a=6378249.2 +b=6356515 +units=m +no_defs no_defs <> +# Zanderij / UTM zone 21N +<31121> +proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs no_defs <> +# Zanderij / TM 54 NW +<31154> +proj=tmerc +lat_0=0 +lon_0=-54 +k=0.999600 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs no_defs <> +# Zanderij / Suriname Old TM +<31170> +proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.999600 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs no_defs <> +# Zanderij / Suriname TM +<31171> +proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.999900 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +no_defs no_defs <> +# MGI / 3-degree Gauss zone 5 +<31265> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / 3-degree Gauss zone 6 +<31266> +proj=tmerc +lat_0=0 +lon_0=18 +k=1.000000 +x_0=6500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / 3-degree Gauss zone 7 +<31267> +proj=tmerc +lat_0=0 +lon_0=21 +k=1.000000 +x_0=7500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / 3-degree Gauss zone 8 +<31268> +proj=tmerc +lat_0=0 +lon_0=24 +k=1.000000 +x_0=8500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / Balkans zone 5 +<31275> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999900 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / Balkans zone 6 +<31276> +proj=tmerc +lat_0=0 +lon_0=18 +k=0.999900 +x_0=6500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / Balkans zone 7 +<31277> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.999900 +x_0=7500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / Balkans zone 8 +<31278> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.999900 +x_0=7500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / Balkans zone 8 +<31279> +proj=tmerc +lat_0=0 +lon_0=24 +k=0.999900 +x_0=8500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI (Ferro) / Austria West Zone +<31281> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs no_defs <> +# MGI (Ferro) / Austria Central Zone +<31282> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs no_defs <> +# MGI (Ferro) / Austria East Zone +<31283> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs no_defs <> +# MGI / M28 +<31284> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1.000000 +x_0=150000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / M31 +<31285> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1.000000 +x_0=450000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / M34 +<31286> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1.000000 +x_0=750000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / Austria Lambert +<31287> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +units=m +no_defs no_defs <> +# MGI (Ferro) / Austria West Zone +<31291> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs no_defs <> +# MGI (Ferro) / Austria Central Zone +<31292> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs no_defs <> +# MGI (Ferro) / Austria East Zone +<31293> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1.000000 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m +no_defs no_defs <> +# MGI / M28 +<31294> +proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1.000000 +x_0=150000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / M31 +<31295> +proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1.000000 +x_0=450000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / M34 +<31296> +proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1.000000 +x_0=750000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# MGI / Austria Lambert +<31297> +proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +units=m +no_defs no_defs <> +# Belge 1972 / Belge Lambert 72 +<31300> +proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=4.356939722222222 +x_0=150000.01256 +y_0=5400088.4378 +ellps=intl +units=m +no_defs no_defs <> +# Belge 1972 / Belgian Lambert 72 +<31370> +proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +units=m +no_defs no_defs <> +# DHDN / 3-degree Gauss zone 1 +<31461> +proj=tmerc +lat_0=0 +lon_0=3 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / 3-degree Gauss zone 2 +<31462> +proj=tmerc +lat_0=0 +lon_0=6 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / 3-degree Gauss zone 3 +<31463> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / 3-degree Gauss zone 4 +<31464> +proj=tmerc +lat_0=0 +lon_0=12 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / 3-degree Gauss zone 5 +<31465> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / Gauss-Kruger zone 2 +<31466> +proj=tmerc +lat_0=0 +lon_0=6 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / Gauss-Kruger zone 3 +<31467> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / Gauss-Kruger zone 4 +<31468> +proj=tmerc +lat_0=0 +lon_0=12 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# DHDN / Gauss-Kruger zone 5 +<31469> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# Conakry 1905 / UTM zone 28N +<31528> +proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs no_defs <> +# Conakry 1905 / UTM zone 29N +<31529> +proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m +no_defs no_defs <> +# Dealul Piscului 1933/ Stereo 33 +<31600> +proj=stere +lat_0=45.9 +lon_0=25.39246588888889 +k=0.999667 +x_0=500000 +y_0=500000 +ellps=intl +towgs84=103.25,-100.4,-307.19,0,0,0,0 +units=m +no_defs no_defs <> +# Dealul Piscului 1970/ Stereo 70 +<31700> +proj=stere +lat_0=46 +lon_0=25 +k=0.999750 +x_0=500000 +y_0=500000 +ellps=krass +units=m +no_defs no_defs <> +# NGN / UTM zone 38N +<31838> +proj=utm +zone=38 +ellps=WGS84 +units=m +no_defs no_defs <> +# NGN / UTM zone 39N +<31839> +proj=utm +zone=39 +ellps=WGS84 +units=m +no_defs no_defs <> +# KUDAMS / KTM +<31900> +proj=tmerc +lat_0=0 +lon_0=48 +k=0.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 17N +<31986> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 18N +<31987> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 19N +<31988> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 20N +<31989> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 21N +<31990> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 22N +<31991> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 17S +<31992> +proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 18S +<31993> +proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 19S +<31994> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 20S +<31995> +proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 21S +<31996> +proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 22S +<31997> +proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 23S +<31998> +proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 24S +<31999> +proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# SIRGAS / UTM zone 25S +<32000> +proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs no_defs <> +# NAD27 / Montana North +<32001> +proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=47 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Montana Central +<32002> +proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=45.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Montana South +<32003> +proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Nebraska North +<32005> +proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=41.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Nebraska South +<32006> +proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Nevada East +<32007> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Nevada Central +<32008> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Nevada West +<32009> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New Hampshire +<32010> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New Jersey +<32011> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666666667 +k=0.999975 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New Mexico East +<32012> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New Mexico Central +<32013> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New Mexico West +<32014> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New York East +<32015> +proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New York Central +<32016> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New York West +<32017> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / New York Long Island +<32018> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.5 +lon_0=-74 +x_0=304800.6096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / North Carolina +<32019> +proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / North Dakota North +<32020> +proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / North Dakota South +<32021> +proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Ohio North +<32022> +proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Ohio South +<32023> +proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Oklahoma North +<32024> +proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Oklahoma South +<32025> +proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Oregon North +<32026> +proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Oregon South +<32027> +proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Pennsylvania North +<32028> +proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Pennsylvania South +<32029> +proj=lcc +lat_1=39.93333333333333 +lat_2=40.8 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Rhode Island +<32030> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.999994 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / South Carolina North +<32031> +proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / South Carolina South +<32033> +proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / South Dakota North +<32034> +proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / South Dakota South +<32035> +proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Tennessee +<32036> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=30480.06096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Texas North +<32037> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Texas North Central +<32038> +proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Texas Central +<32039> +proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Texas South Central +<32040> +proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Texas South +<32041> +proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Utah North +<32042> +proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Utah Central +<32043> +proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Utah South +<32044> +proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Vermont +<32045> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Virginia North +<32046> +proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Virginia South +<32047> +proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Washington North +<32048> +proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Washington South +<32049> +proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / West Virginia North +<32050> +proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / West Virginia South +<32051> +proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Wisconsin North +<32052> +proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Wisconsin Central +<32053> +proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Wisconsin South +<32054> +proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Wyoming East +<32055> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666666667 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Wyoming East Central +<32056> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333333333 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Wyoming West Central +<32057> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Wyoming West +<32058> +proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333333333 +k=0.999941 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / Guatemala Norte +<32061> +proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=500000 +y_0=292209.579 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / Guatemala Sur +<32062> +proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / BLM 14N (ftUS) +<32064> +proj=tmerc +lat_0=0 +lon_0=-99 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / BLM 15N (ftUS) +<32065> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / BLM 16N (ftUS) +<32066> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / BLM 17N (ftUS) +<32067> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / BLM 14N (feet) +<32074> +proj=tmerc +lat_0=0 +lon_0=-99 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / BLM 15N (feet) +<32075> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / BLM 16N (feet) +<32076> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / BLM 17N (feet) +<32077> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / MTM zone 1 +<32081> +proj=tmerc +lat_0=0 +lon_0=-53 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / MTM zone 2 +<32082> +proj=tmerc +lat_0=0 +lon_0=-56 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / MTM zone 3 +<32083> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / MTM zone 4 +<32084> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / MTM zone 5 +<32085> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / MTM zone 6 +<32086> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD27 / Quebec Lambert +<32098> +proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD83 / Montana +<32100> +proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Nebraska +<32104> +proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Nevada East +<32107> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.999900 +x_0=200000 +y_0=8000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Nevada Central +<32108> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.999900 +x_0=500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Nevada West +<32109> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.999900 +x_0=800000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New Hampshire +<32110> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999967 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New Jersey +<32111> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New Mexico East +<32112> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New Mexico Central +<32113> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New Mexico West +<32114> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=830000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New York East +<32115> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New York Central +<32116> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New York West +<32117> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / New York Long Island +<32118> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / North Carolina +<32119> +proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / North Dakota North +<32120> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / North Dakota South +<32121> +proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Ohio North +<32122> +proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Ohio South +<32123> +proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Oklahoma North +<32124> +proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Oklahoma South +<32125> +proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Oregon North +<32126> +proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Oregon South +<32127> +proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Pennsylvania North +<32128> +proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Pennsylvania South +<32129> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Rhode Island +<32130> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.999994 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / South Carolina +<32133> +proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / South Dakota North +<32134> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / South Dakota South +<32135> +proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Tennessee +<32136> +proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Texas North +<32137> +proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Texas North Central +<32138> +proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Texas Central +<32139> +proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Texas South Central +<32140> +proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Texas South +<32141> +proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Utah North +<32142> +proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Utah Central +<32143> +proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Utah South +<32144> +proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Vermont +<32145> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Virginia North +<32146> +proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Virginia South +<32147> +proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Washington North +<32148> +proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Washington South +<32149> +proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / West Virginia North +<32150> +proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / West Virginia South +<32151> +proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Wisconsin North +<32152> +proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Wisconsin Central +<32153> +proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Wisconsin South +<32154> +proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Wyoming East +<32155> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.999938 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Wyoming East Central +<32156> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.999938 +x_0=400000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Wyoming West Central +<32157> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.999938 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Wyoming West +<32158> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.999938 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Puerto Rico & Virgin Is. +<32161> +proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / SCoPQ zone 2 +<32180> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 1 +<32181> +proj=tmerc +lat_0=0 +lon_0=-53 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 2 +<32182> +proj=tmerc +lat_0=0 +lon_0=-56 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 3 +<32183> +proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 4 +<32184> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 5 +<32185> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 6 +<32186> +proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 7 +<32187> +proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 8 +<32188> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 9 +<32189> +proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 10 +<32190> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 11 +<32191> +proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 12 +<32192> +proj=tmerc +lat_0=0 +lon_0=-81 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 13 +<32193> +proj=tmerc +lat_0=0 +lon_0=-84 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 14 +<32194> +proj=tmerc +lat_0=0 +lon_0=-87 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 15 +<32195> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 16 +<32196> +proj=tmerc +lat_0=0 +lon_0=-93 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 17 +<32197> +proj=tmerc +lat_0=0 +lon_0=-96 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Quebec Lambert +<32198> +proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 1N +<32201> +proj=utm +zone=1 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 2N +<32202> +proj=utm +zone=2 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 3N +<32203> +proj=utm +zone=3 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 4N +<32204> +proj=utm +zone=4 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 5N +<32205> +proj=utm +zone=5 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 6N +<32206> +proj=utm +zone=6 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 7N +<32207> +proj=utm +zone=7 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 8N +<32208> +proj=utm +zone=8 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 9N +<32209> +proj=utm +zone=9 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 10N +<32210> +proj=utm +zone=10 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 11N +<32211> +proj=utm +zone=11 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 12N +<32212> +proj=utm +zone=12 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 13N +<32213> +proj=utm +zone=13 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 14N +<32214> +proj=utm +zone=14 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 15N +<32215> +proj=utm +zone=15 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 16N +<32216> +proj=utm +zone=16 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 17N +<32217> +proj=utm +zone=17 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 18N +<32218> +proj=utm +zone=18 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 19N +<32219> +proj=utm +zone=19 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 20N +<32220> +proj=utm +zone=20 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 21N +<32221> +proj=utm +zone=21 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 22N +<32222> +proj=utm +zone=22 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 23N +<32223> +proj=utm +zone=23 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 24N +<32224> +proj=utm +zone=24 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 25N +<32225> +proj=utm +zone=25 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 26N +<32226> +proj=utm +zone=26 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 27N +<32227> +proj=utm +zone=27 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 28N +<32228> +proj=utm +zone=28 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 29N +<32229> +proj=utm +zone=29 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 30N +<32230> +proj=utm +zone=30 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 31N +<32231> +proj=utm +zone=31 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 32N +<32232> +proj=utm +zone=32 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 33N +<32233> +proj=utm +zone=33 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 34N +<32234> +proj=utm +zone=34 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 35N +<32235> +proj=utm +zone=35 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 36N +<32236> +proj=utm +zone=36 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 37N +<32237> +proj=utm +zone=37 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 38N +<32238> +proj=utm +zone=38 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 39N +<32239> +proj=utm +zone=39 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 40N +<32240> +proj=utm +zone=40 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 41N +<32241> +proj=utm +zone=41 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 42N +<32242> +proj=utm +zone=42 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 43N +<32243> +proj=utm +zone=43 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 44N +<32244> +proj=utm +zone=44 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 45N +<32245> +proj=utm +zone=45 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 46N +<32246> +proj=utm +zone=46 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 47N +<32247> +proj=utm +zone=47 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 48N +<32248> +proj=utm +zone=48 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 49N +<32249> +proj=utm +zone=49 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 50N +<32250> +proj=utm +zone=50 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 51N +<32251> +proj=utm +zone=51 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 52N +<32252> +proj=utm +zone=52 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 53N +<32253> +proj=utm +zone=53 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 54N +<32254> +proj=utm +zone=54 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 55N +<32255> +proj=utm +zone=55 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 56N +<32256> +proj=utm +zone=56 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 57N +<32257> +proj=utm +zone=57 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 58N +<32258> +proj=utm +zone=58 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 59N +<32259> +proj=utm +zone=59 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 60N +<32260> +proj=utm +zone=60 +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 1S +<32301> +proj=utm +zone=1 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 2S +<32302> +proj=utm +zone=2 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 3S +<32303> +proj=utm +zone=3 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 4S +<32304> +proj=utm +zone=4 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 5S +<32305> +proj=utm +zone=5 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 6S +<32306> +proj=utm +zone=6 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 7S +<32307> +proj=utm +zone=7 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 8S +<32308> +proj=utm +zone=8 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 9S +<32309> +proj=utm +zone=9 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 10S +<32310> +proj=utm +zone=10 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 11S +<32311> +proj=utm +zone=11 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 12S +<32312> +proj=utm +zone=12 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 13S +<32313> +proj=utm +zone=13 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 14S +<32314> +proj=utm +zone=14 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 15S +<32315> +proj=utm +zone=15 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 16S +<32316> +proj=utm +zone=16 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 17S +<32317> +proj=utm +zone=17 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 18S +<32318> +proj=utm +zone=18 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 19S +<32319> +proj=utm +zone=19 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 20S +<32320> +proj=utm +zone=20 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 21S +<32321> +proj=utm +zone=21 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 22S +<32322> +proj=utm +zone=22 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 23S +<32323> +proj=utm +zone=23 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 24S +<32324> +proj=utm +zone=24 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 25S +<32325> +proj=utm +zone=25 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 26S +<32326> +proj=utm +zone=26 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 27S +<32327> +proj=utm +zone=27 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 28S +<32328> +proj=utm +zone=28 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 29S +<32329> +proj=utm +zone=29 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 30S +<32330> +proj=utm +zone=30 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 31S +<32331> +proj=utm +zone=31 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 32S +<32332> +proj=utm +zone=32 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 33S +<32333> +proj=utm +zone=33 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 34S +<32334> +proj=utm +zone=34 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 35S +<32335> +proj=utm +zone=35 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 36S +<32336> +proj=utm +zone=36 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 37S +<32337> +proj=utm +zone=37 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 38S +<32338> +proj=utm +zone=38 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 39S +<32339> +proj=utm +zone=39 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 40S +<32340> +proj=utm +zone=40 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 41S +<32341> +proj=utm +zone=41 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 42S +<32342> +proj=utm +zone=42 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 43S +<32343> +proj=utm +zone=43 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 44S +<32344> +proj=utm +zone=44 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 45S +<32345> +proj=utm +zone=45 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 46S +<32346> +proj=utm +zone=46 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 47S +<32347> +proj=utm +zone=47 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 48S +<32348> +proj=utm +zone=48 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 49S +<32349> +proj=utm +zone=49 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 50S +<32350> +proj=utm +zone=50 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 51S +<32351> +proj=utm +zone=51 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 52S +<32352> +proj=utm +zone=52 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 53S +<32353> +proj=utm +zone=53 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 54S +<32354> +proj=utm +zone=54 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 55S +<32355> +proj=utm +zone=55 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 56S +<32356> +proj=utm +zone=56 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 57S +<32357> +proj=utm +zone=57 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 58S +<32358> +proj=utm +zone=58 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 59S +<32359> +proj=utm +zone=59 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72 / UTM zone 60S +<32360> +proj=utm +zone=60 +south +ellps=WGS72 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 1N +<32401> +proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 2N +<32402> +proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 3N +<32403> +proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 4N +<32404> +proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 5N +<32405> +proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 6N +<32406> +proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 7N +<32407> +proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 8N +<32408> +proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 9N +<32409> +proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 10N +<32410> +proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 11N +<32411> +proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 12N +<32412> +proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 13N +<32413> +proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 14N +<32414> +proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 15N +<32415> +proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 16N +<32416> +proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 17N +<32417> +proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 18N +<32418> +proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 19N +<32419> +proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 20N +<32420> +proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 21N +<32421> +proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 22N +<32422> +proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 23N +<32423> +proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 24N +<32424> +proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 25N +<32425> +proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 26N +<32426> +proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 27N +<32427> +proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 28N +<32428> +proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 29N +<32429> +proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 30N +<32430> +proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 31N +<32431> +proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 32N +<32432> +proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 33N +<32433> +proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 34N +<32434> +proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 35N +<32435> +proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 36N +<32436> +proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 37N +<32437> +proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 38N +<32438> +proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 39N +<32439> +proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 40N +<32440> +proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 41N +<32441> +proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 42N +<32442> +proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 43N +<32443> +proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 44N +<32444> +proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 45N +<32445> +proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 46N +<32446> +proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 47N +<32447> +proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 48N +<32448> +proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 49N +<32449> +proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 50N +<32450> +proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 51N +<32451> +proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 52N +<32452> +proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 53N +<32453> +proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 54N +<32454> +proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 55N +<32455> +proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 56N +<32456> +proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 57N +<32457> +proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 58N +<32458> +proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 59N +<32459> +proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 60N +<32460> +proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 1S +<32501> +proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 2S +<32502> +proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 3S +<32503> +proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 4S +<32504> +proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 5S +<32505> +proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 6S +<32506> +proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 7S +<32507> +proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 8S +<32508> +proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 9S +<32509> +proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 10S +<32510> +proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 11S +<32511> +proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 12S +<32512> +proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 13S +<32513> +proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 14S +<32514> +proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 15S +<32515> +proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 16S +<32516> +proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 17S +<32517> +proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 18S +<32518> +proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 19S +<32519> +proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 20S +<32520> +proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 21S +<32521> +proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 22S +<32522> +proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 23S +<32523> +proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 24S +<32524> +proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 25S +<32525> +proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 26S +<32526> +proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 27S +<32527> +proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 28S +<32528> +proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 29S +<32529> +proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 30S +<32530> +proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 31S +<32531> +proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 32S +<32532> +proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 33S +<32533> +proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 34S +<32534> +proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 35S +<32535> +proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 36S +<32536> +proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 37S +<32537> +proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 38S +<32538> +proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 39S +<32539> +proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 40S +<32540> +proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 41S +<32541> +proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 42S +<32542> +proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 43S +<32543> +proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 44S +<32544> +proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 45S +<32545> +proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 46S +<32546> +proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 47S +<32547> +proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 48S +<32548> +proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 49S +<32549> +proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 50S +<32550> +proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 51S +<32551> +proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 52S +<32552> +proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 53S +<32553> +proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 54S +<32554> +proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 55S +<32555> +proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 56S +<32556> +proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 57S +<32557> +proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 58S +<32558> +proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 59S +<32559> +proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 72BE / UTM zone 60S +<32560> +proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 1N +<32601> +proj=utm +zone=1 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 2N +<32602> +proj=utm +zone=2 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 3N +<32603> +proj=utm +zone=3 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 4N +<32604> +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 5N +<32605> +proj=utm +zone=5 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 6N +<32606> +proj=utm +zone=6 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 7N +<32607> +proj=utm +zone=7 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 8N +<32608> +proj=utm +zone=8 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 9N +<32609> +proj=utm +zone=9 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 10N +<32610> +proj=utm +zone=10 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 11N +<32611> +proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 12N +<32612> +proj=utm +zone=12 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 13N +<32613> +proj=utm +zone=13 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 14N +<32614> +proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 15N +<32615> +proj=utm +zone=15 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 16N +<32616> +proj=utm +zone=16 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 17N +<32617> +proj=utm +zone=17 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 18N +<32618> +proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 19N +<32619> +proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 20N +<32620> +proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 21N +<32621> +proj=utm +zone=21 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 22N +<32622> +proj=utm +zone=22 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 23N +<32623> +proj=utm +zone=23 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 24N +<32624> +proj=utm +zone=24 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 25N +<32625> +proj=utm +zone=25 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 26N +<32626> +proj=utm +zone=26 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 27N +<32627> +proj=utm +zone=27 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 28N +<32628> +proj=utm +zone=28 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 29N +<32629> +proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 30N +<32630> +proj=utm +zone=30 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 31N +<32631> +proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 32N +<32632> +proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 33N +<32633> +proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 34N +<32634> +proj=utm +zone=34 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 35N +<32635> +proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 36N +<32636> +proj=utm +zone=36 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 37N +<32637> +proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 38N +<32638> +proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 39N +<32639> +proj=utm +zone=39 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 40N +<32640> +proj=utm +zone=40 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 41N +<32641> +proj=utm +zone=41 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 42N +<32642> +proj=utm +zone=42 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 43N +<32643> +proj=utm +zone=43 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 44N +<32644> +proj=utm +zone=44 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 45N +<32645> +proj=utm +zone=45 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 46N +<32646> +proj=utm +zone=46 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 47N +<32647> +proj=utm +zone=47 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 48N +<32648> +proj=utm +zone=48 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 49N +<32649> +proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 50N +<32650> +proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 51N +<32651> +proj=utm +zone=51 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 52N +<32652> +proj=utm +zone=52 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 53N +<32653> +proj=utm +zone=53 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 54N +<32654> +proj=utm +zone=54 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 55N +<32655> +proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 56N +<32656> +proj=utm +zone=56 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 57N +<32657> +proj=utm +zone=57 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 58N +<32658> +proj=utm +zone=58 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 59N +<32659> +proj=utm +zone=59 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 60N +<32660> +proj=utm +zone=60 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UPS North +<32661> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 1S +<32701> +proj=utm +zone=1 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 2S +<32702> +proj=utm +zone=2 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 3S +<32703> +proj=utm +zone=3 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 4S +<32704> +proj=utm +zone=4 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 5S +<32705> +proj=utm +zone=5 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 6S +<32706> +proj=utm +zone=6 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 7S +<32707> +proj=utm +zone=7 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 8S +<32708> +proj=utm +zone=8 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 9S +<32709> +proj=utm +zone=9 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 10S +<32710> +proj=utm +zone=10 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 11S +<32711> +proj=utm +zone=11 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 12S +<32712> +proj=utm +zone=12 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 13S +<32713> +proj=utm +zone=13 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 14S +<32714> +proj=utm +zone=14 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 15S +<32715> +proj=utm +zone=15 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 16S +<32716> +proj=utm +zone=16 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 17S +<32717> +proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 18S +<32718> +proj=utm +zone=18 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 19S +<32719> +proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 20S +<32720> +proj=utm +zone=20 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 21S +<32721> +proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 22S +<32722> +proj=utm +zone=22 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 23S +<32723> +proj=utm +zone=23 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 24S +<32724> +proj=utm +zone=24 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 25S +<32725> +proj=utm +zone=25 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 26S +<32726> +proj=utm +zone=26 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 27S +<32727> +proj=utm +zone=27 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 28S +<32728> +proj=utm +zone=28 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 29S +<32729> +proj=utm +zone=29 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 30S +<32730> +proj=utm +zone=30 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 31S +<32731> +proj=utm +zone=31 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 32S +<32732> +proj=utm +zone=32 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 33S +<32733> +proj=utm +zone=33 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 34S +<32734> +proj=utm +zone=34 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 35S +<32735> +proj=utm +zone=35 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 36S +<32736> +proj=utm +zone=36 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 37S +<32737> +proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 38S +<32738> +proj=utm +zone=38 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 39S +<32739> +proj=utm +zone=39 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 40S +<32740> +proj=utm +zone=40 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 41S +<32741> +proj=utm +zone=41 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 42S +<32742> +proj=utm +zone=42 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 43S +<32743> +proj=utm +zone=43 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 44S +<32744> +proj=utm +zone=44 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 45S +<32745> +proj=utm +zone=45 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 46S +<32746> +proj=utm +zone=46 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 47S +<32747> +proj=utm +zone=47 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 48S +<32748> +proj=utm +zone=48 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 49S +<32749> +proj=utm +zone=49 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 50S +<32750> +proj=utm +zone=50 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 51S +<32751> +proj=utm +zone=51 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 52S +<32752> +proj=utm +zone=52 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 53S +<32753> +proj=utm +zone=53 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 54S +<32754> +proj=utm +zone=54 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 55S +<32755> +proj=utm +zone=55 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 56S +<32756> +proj=utm +zone=56 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 57S +<32757> +proj=utm +zone=57 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 58S +<32758> +proj=utm +zone=58 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 59S +<32759> +proj=utm +zone=59 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UTM zone 60S +<32760> +proj=utm +zone=60 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / UPS South +<32761> +proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS 84 / TM 36 SE +<32766> +proj=tmerc +lat_0=0 +lon_0=36 +k=0.999600 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# Pulkovo 1995 GK Zone 2 +<20002> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=krass +units=m no_defs <> +# Pulkovo 1995 GK Zone 3 +<20003> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +units=m no_defs <> +# Pulkovo 1995 GK Zone 2N +<20062> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m no_defs <> +# Pulkovo 1995 GK Zone 3N +<20063> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m no_defs <> +# La Canoa UTM Zone 21N +<24721> +proj=utm +zone=21 +ellps=intl +units=m no_defs <> +# NAD 1927 StatePlane Hawaii 1 FIPS 5101 +<26761> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 2 FIPS 5102 +<26762> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 3 FIPS 5103 +<26763> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 4 FIPS 5104 +<26764> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 5 FIPS 5105 +<26765> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Michigan North FIPS 2111 +<26788> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024385 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Michigan Central FIPS 2112 +<26789> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024385 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Michigan South FIPS 2113 +<26790> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024385 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# Nord Algerie +<30591> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# Sud Algerie +<30592> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# Germany Zone 1 +<31491> +proj=tmerc +lat_0=0 +lon_0=3 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 2 +<31492> +proj=tmerc +lat_0=0 +lon_0=6 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 3 +<31493> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 4 +<31494> +proj=tmerc +lat_0=0 +lon_0=12 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 5 +<31495> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# NAD 1927 StatePlane Puerto Rico FIPS 5201 +<32059> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Virgin Islands St Croix FIPS 5202 +<32060> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012193 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# Sphere Plate Carree +<53001> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Equidistant Cylindrical +<53002> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Miller Cylindrical +<53003> +proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Mercator +<53004> +proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Sinusoidal +<53008> +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Mollweide +<53009> +proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert VI +<53010> +proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert V +<53011> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert IV +<53012> +proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert III +<53013> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert II +<53014> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert I +<53015> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Gall Stereographic +<53016> +proj=gall +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Behrmann +<53017> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Winkel I +<53018> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Winkel II +<53019> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Polyconic +<53021> +proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Quartic Authalic +<53022> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Loximuthal +<53023> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Bonne +<53024> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Hotine +<53025> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Stereographic +<53026> +proj=stere +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Equidistant Conic +<53027> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Cassini +<53028> +proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Van der Grinten I +<53029> +proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Robinson +<53030> +proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Two Point Equidistant +<53031> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Azimuthal Equidistant +<53032> +proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# World Plate Carree +<54001> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Equidistant Cylindrical +<54002> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Miller Cylindrical +<54003> +proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Mercator +<54004> +proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Sinusoidal +<54008> +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Mollweide +<54009> +proj=moll +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert VI +<54010> +proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert V +<54011> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert IV +<54012> +proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert III +<54013> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert II +<54014> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert I +<54015> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Gall Stereographic +<54016> +proj=gall +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Behrmann +<54017> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Winkel I +<54018> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Winkel II +<54019> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Polyconic +<54021> +proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Quartic Authalic +<54022> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Loximuthal +<54023> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Bonne +<54024> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Hotine +<54025> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Stereographic +<54026> +proj=stere +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Equidistant Conic +<54027> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Cassini +<54028> +proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Van der Grinten I +<54029> +proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Robinson +<54030> +proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Two Point Equidistant +<54031> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Azimuthal Equidistant +<54032> +proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# NAD 1927 StatePlane Guam FIPS 5400 +<65061> +proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000.00000000001 +y_0=50000.00000000001 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Guam FIPS 5400 +<65161> +proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000 +y_0=50000 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Canada Albers Equal Area Conic +<102001> +proj=aea +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Canada Lambert Conformal Conic +<102002> +proj=lcc +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# USA Contiguous Albers Equal Area Conic +<102003> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# USA Contiguous Lambert Conformal Conic +<102004> +proj=lcc +lat_1=33 +lat_2=45 +lat_0=39 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# USA Contiguous Equidistant Conic +<102005> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Alaska Albers Equal Area Conic +<102006> +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Hawaii Albers Equal Area Conic +<102007> +proj=aea +lat_1=8 +lat_2=18 +lat_0=13 +lon_0=-157 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# North America Albers Equal Area Conic +<102008> +proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# North America Lambert Conformal Conic +<102009> +proj=lcc +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# North America Equidistant Conic +<102010> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=60 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Africa Sinusoidal +<102011> +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia Lambert Conformal Conic +<102012> +proj=lcc +lat_1=30 +lat_2=62 +lat_0=0 +lon_0=105 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Europe Albers Equal Area Conic +<102013> +proj=aea +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# Europe Lambert Conformal Conic +<102014> +proj=lcc +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# South America Lambert Conformal Conic +<102015> +proj=lcc +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m no_defs <> +# North Pole Azimuthal Equidistant +<102016> +proj=aeqd +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# North Pole Lambert Azimuthal Equal Area +<102017> +proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# North Pole Stereographic +<102018> +proj=stere +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# South Pole Azimuthal Equidistant +<102019> +proj=aeqd +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# South Pole Lambert Azimuthal Equal Area +<102020> +proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# South Pole Stereographic +<102021> +proj=stere +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Africa Albers Equal Area Conic +<102022> +proj=aea +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Africa Equidistant Conic +<102023> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=-23 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Africa Lambert Conformal Conic +<102024> +proj=lcc +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia North Albers Equal Area Conic +<102025> +proj=aea +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia North Equidistant Conic +<102026> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=15 +lat_2=65 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia North Lambert Conformal Conic +<102027> +proj=lcc +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia South Albers Equal Area Conic +<102028> +proj=aea +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia South Equidistant Conic +<102029> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=7 +lat_2=-32 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia South Lambert Conformal Conic +<102030> +proj=lcc +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Europe Equidistant Conic +<102031> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=43 +lat_2=62 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# South America Equidistant Conic +<102032> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=-5 +lat_2=-42 +x_0=0 +y_0=0 +ellps=aust_SA +units=m no_defs <> +# South America Albers Equal Area Conic +<102033> +proj=aea +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m no_defs <> +# S-JTSK Krovak +<102065> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m no_defs <> +# S-JTSK Ferro Krovak East North +<102066> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=-17.66666666666667 +units=m no_defs <> +# S-JTSK Krovak East North +<102067> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m no_defs <> +# Monte Mario Italy 1 +<102091> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.999600 +x_0=1500000 +y_0=0 +ellps=intl +units=m no_defs <> +# Monte Mario Italy 2 +<102092> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999600 +x_0=2520000 +y_0=0 +ellps=intl +units=m no_defs <> +# NGO 1948 Norway Zone 1 +<102101> +proj=tmerc +lat_0=58 +lon_0=6.05625 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 2 +<102102> +proj=tmerc +lat_0=58 +lon_0=8.389583333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 3 +<102103> +proj=tmerc +lat_0=58 +lon_0=10.72291666666667 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 4 +<102104> +proj=tmerc +lat_0=58 +lon_0=13.22291666666667 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 5 +<102105> +proj=tmerc +lat_0=58 +lon_0=16.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 6 +<102106> +proj=tmerc +lat_0=58 +lon_0=20.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 7 +<102107> +proj=tmerc +lat_0=58 +lon_0=24.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 8 +<102108> +proj=tmerc +lat_0=58 +lon_0=29.05625 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# RGF 1993 Lambert 93 +<102110> +proj=lcc +lat_1=44 +lat_2=49 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +units=m no_defs <> +# Old Hawaiian UTM Zone 4N +<102114> +proj=utm +zone=4 +ellps=clrk66 +units=m no_defs <> +# Old Hawaiian UTM Zone 5N +<102115> +proj=utm +zone=5 +ellps=clrk66 +units=m no_defs <> +# NAD 1927 Michigan GeoRef Feet US +<102120> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 Michigan GeoRef Feet US +<102121> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 Michigan GeoRef Meters +<102122> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=clrk66 +datum=NAD27 +units=m no_defs <> +# NAD 1983 Michigan GeoRef Meters +<102123> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# NGO 1948 UTM Zone 32N +<102132> +proj=utm +zone=32 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 UTM Zone 33N +<102133> +proj=utm +zone=33 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 UTM Zone 34N +<102134> +proj=utm +zone=34 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 UTM Zone 35N +<102135> +proj=utm +zone=35 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# Hong Kong 1980 Grid +<102140> +proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1.000000 +x_0=836694.05 +y_0=819069.8 +ellps=intl +units=m no_defs <> +# Hong Kong 1980 UTM Zone 49N +<102141> +proj=utm +zone=49 +ellps=intl +units=m no_defs <> +# Hong Kong 1980 UTM Zone 50N +<102142> +proj=utm +zone=50 +ellps=intl +units=m no_defs <> +# Tokyo UTM Zone 51N +<102151> +proj=utm +zone=51 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 52N +<102152> +proj=utm +zone=52 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 53N +<102153> +proj=utm +zone=53 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 54N +<102154> +proj=utm +zone=54 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 55N +<102155> +proj=utm +zone=55 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 56N +<102156> +proj=utm +zone=56 +ellps=bessel +units=m no_defs <> +# Datum 73 Hayford Gauss IGeoE +<102160> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=200180.598 +y_0=299913.01 +ellps=intl +units=m no_defs <> +# Datum 73 Hayford Gauss IPCC +<102161> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m no_defs <> +# Graciosa Base SW 1948 UTM Zone 26N +<102162> +proj=utm +zone=26 +ellps=intl +units=m no_defs <> +# Lisboa Bessel Bonne +<102163> +ellps=bessel +units=m no_defs <> +# Lisboa Hayford Gauss IGeoE +<102164> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=200000 +y_0=300000 +ellps=intl +units=m no_defs <> +# Lisboa Hayford Gauss IPCC +<102165> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# Observ Meteorologico 1939 UTM Zone 25N +<102166> +proj=utm +zone=25 +ellps=intl +units=m no_defs <> +# Porto Santo 1936 UTM Zone 28N +<102167> +proj=utm +zone=28 +ellps=intl +units=m no_defs <> +# Sao Braz UTM Zone 26N +<102168> +proj=utm +zone=26 +ellps=intl +units=m no_defs <> +# Selvagem Grande 1938 UTM Zone 28N +<102169> +proj=utm +zone=28 +ellps=intl +units=m no_defs <> +# Nord Maroc Degree +<102191> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Sud Maroc Degree +<102192> +proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Sahara Degree +<102193> +proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NAD 1983 HARN StatePlane Alabama East FIPS 0101 +<102229> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.999960 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Alabama West FIPS 0102 +<102230> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California I FIPS 0401 +<102241> +proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California II FIPS 0402 +<102242> +proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California III FIPS 0403 +<102243> +proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California IV FIPS 0404 +<102244> +proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California V FIPS 0405 +<102245> +proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California VI FIPS 0406 +<102246> +proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arizona East FIPS 0201 +<102248> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arizona Central FIPS 0202 +<102249> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arizona West FIPS 0203 +<102250> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arkansas North FIPS 0301 +<102251> +proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arkansas South FIPS 0302 +<102252> +proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Colorado North FIPS 0501 +<102253> +proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Colorado Central FIPS 0502 +<102254> +proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Colorado South FIPS 0503 +<102255> +proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Connecticut FIPS 0600 +<102256> +proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Delaware FIPS 0700 +<102257> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Florida East FIPS 0901 +<102258> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Florida West FIPS 0902 +<102259> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Florida North FIPS 0903 +<102260> +proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 1 FIPS 5101 +<102261> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 2 FIPS 5102 +<102262> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 3 FIPS 5103 +<102263> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 4 FIPS 5104 +<102264> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 5 FIPS 5105 +<102265> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Georgia East FIPS 1001 +<102266> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Georgia West FIPS 1002 +<102267> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Idaho East FIPS 1101 +<102268> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Idaho Central FIPS 1102 +<102269> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Idaho West FIPS 1103 +<102270> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Illinois East FIPS 1201 +<102271> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.999975 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Illinois West FIPS 1202 +<102272> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Indiana East FIPS 1301 +<102273> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Indiana West FIPS 1302 +<102274> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kansas North FIPS 1501 +<102277> +proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kansas South FIPS 1502 +<102278> +proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kentucky North FIPS 1601 +<102279> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kentucky South FIPS 1602 +<102280> +proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Louisiana North FIPS 1701 +<102281> +proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Louisiana South FIPS 1702 +<102282> +proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Maine East FIPS 1801 +<102283> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.999900 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Maine West FIPS 1802 +<102284> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999967 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Maryland FIPS 1900 +<102285> +proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Massachusetts Mainland FIPS 2001 +<102286> +proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Massachusetts Island FIPS 2002 +<102287> +proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Michigan North FIPS 2111 +<102288> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Michigan Central FIPS 2112 +<102289> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Michigan South FIPS 2113 +<102290> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Minnesota North FIPS 2201 +<102291> +proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Minnesota Central FIPS 2202 +<102292> +proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Minnesota South FIPS 2203 +<102293> +proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Mississippi East FIPS 2301 +<102294> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Mississippi West FIPS 2302 +<102295> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Missouri East FIPS 2401 +<102296> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Missouri Central FIPS 2402 +<102297> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Missouri West FIPS 2403 +<102298> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Montana FIPS 2500 +<102300> +proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nebraska FIPS 2600 +<102304> +proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nevada East FIPS 2701 +<102307> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.999900 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nevada Central FIPS 2702 +<102308> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.999900 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nevada West FIPS 2703 +<102309> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.999900 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Hampshire FIPS 2800 +<102310> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999967 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Jersey FIPS 2900 +<102311> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Mexico East FIPS 3001 +<102312> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Mexico Central FIPS 3002 +<102313> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Mexico West FIPS 3003 +<102314> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York East FIPS 3101 +<102315> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York Central FIPS 3102 +<102316> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York West FIPS 3103 +<102317> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York Long Island FIPS 3104 +<102318> +proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane North Dakota North FIPS 3301 +<102320> +proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane North Dakota South FIPS 3302 +<102321> +proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Ohio North FIPS 3401 +<102322> +proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Ohio South FIPS 3402 +<102323> +proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oklahoma North FIPS 3501 +<102324> +proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oklahoma South FIPS 3502 +<102325> +proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oregon North FIPS 3601 +<102326> +proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oregon South FIPS 3602 +<102327> +proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Rhode Island FIPS 3800 +<102330> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.999994 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane South Dakota North FIPS 4001 +<102334> +proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane South Dakota South FIPS 4002 +<102335> +proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Tennessee FIPS 4100 +<102336> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas North FIPS 4201 +<102337> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas North Central FIPS 4202 +<102338> +proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas Central FIPS 4203 +<102339> +proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas South Central FIPS 4204 +<102340> +proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas South FIPS 4205 +<102341> +proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Utah North FIPS 4301 +<102342> +proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Utah Central FIPS 4302 +<102343> +proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Utah South FIPS 4303 +<102344> +proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Vermont FIPS 4400 +<102345> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Virginia North FIPS 4501 +<102346> +proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Virginia South FIPS 4502 +<102347> +proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Washington North FIPS 4601 +<102348> +proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Washington South FIPS 4602 +<102349> +proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane West Virginia North FIPS 4701 +<102350> +proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane West Virginia South FIPS 4702 +<102351> +proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wisconsin North FIPS 4801 +<102352> +proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wisconsin Central FIPS 4802 +<102353> +proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wisconsin South FIPS 4803 +<102354> +proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming East FIPS 4901 +<102355> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.999938 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming East Central FIPS 4902 +<102356> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.999938 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming West Central FIPS 4903 +<102357> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.999938 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming West FIPS 4904 +<102358> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.999938 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Puerto Rico Virgin Islands FIPS 5200 +<102361> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m no_defs <> +# Nord Algerie Ancienne Degree +<102491> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Sud Algerie Ancienne Degree +<102492> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France I degrees +<102581> +proj=lcc +lat_1=49.5 +lat_0=49.5 +lon_0=2.337229166666667 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France II degrees +<102582> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France III degrees +<102583> +proj=lcc +lat_1=44.1 +lat_0=44.1 +lon_0=2.337229166666667 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France IV degrees +<102584> +proj=lcc +lat_1=42.165 +lat_0=42.165 +lon_0=2.337229166666667 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Nord Algerie Degree +<102591> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# Sud Algerie Degree +<102592> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# NAD 1983 StatePlane Alabama East FIPS 0101 Feet +<102629> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.999960 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alabama West FIPS 0102 Feet +<102630> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 1 FIPS 5001 Feet +<102631> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=-36.86989764583333 +k=0.9999 +x_0=4999999.999999999 +y_0=-4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 2 FIPS 5002 Feet +<102632> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 3 FIPS 5003 Feet +<102633> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 4 FIPS 5004 Feet +<102634> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 5 FIPS 5005 Feet +<102635> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 6 FIPS 5006 Feet +<102636> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 7 FIPS 5007 Feet +<102637> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 8 FIPS 5008 Feet +<102638> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 9 FIPS 5009 Feet +<102639> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 10 FIPS 5010 Feet +<102640> +proj=lcc +lat_1=51.83333333333334 +lat_2=53.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California I FIPS 0401 Feet +<102641> +proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California II FIPS 0402 Feet +<102642> +proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California III FIPS 0403 Feet +<102643> +proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California IV FIPS 0404 Feet +<102644> +proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California V FIPS 0405 Feet +<102645> +proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California VI FIPS 0406 Feet +<102646> +proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arizona East FIPS 0201 Feet +<102648> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arizona Central FIPS 0202 Feet +<102649> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arizona West FIPS 0203 Feet +<102650> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arkansas North FIPS 0301 Feet +<102651> +proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arkansas South FIPS 0302 Feet +<102652> +proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Colorado North FIPS 0501 Feet +<102653> +proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Colorado Central FIPS 0502 Feet +<102654> +proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Colorado South FIPS 0503 Feet +<102655> +proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Connecticut FIPS 0600 Feet +<102656> +proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Delaware FIPS 0700 Feet +<102657> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Florida East FIPS 0901 Feet +<102658> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Florida West FIPS 0902 Feet +<102659> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Florida North FIPS 0903 Feet +<102660> +proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 1 FIPS 5101 Feet +<102661> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 2 FIPS 5102 Feet +<102662> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 3 FIPS 5103 Feet +<102663> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 4 FIPS 5104 Feet +<102664> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 5 FIPS 5105 Feet +<102665> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Georgia East FIPS 1001 Feet +<102666> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Georgia West FIPS 1002 Feet +<102667> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Idaho East FIPS 1101 Feet +<102668> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Idaho Central FIPS 1102 Feet +<102669> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Idaho West FIPS 1103 Feet +<102670> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=799999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Illinois East FIPS 1201 Feet +<102671> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.999975 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Illinois West FIPS 1202 Feet +<102672> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Indiana East FIPS 1301 Feet +<102673> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Indiana West FIPS 1302 Feet +<102674> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000.0000000001 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Iowa North FIPS 1401 Feet +<102675> +proj=lcc +lat_1=42.06666666666667 +lat_2=43.26666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Iowa South FIPS 1402 Feet +<102676> +proj=lcc +lat_1=40.61666666666667 +lat_2=41.78333333333333 +lat_0=40 +lon_0=-93.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kansas North FIPS 1501 Feet +<102677> +proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kansas South FIPS 1502 Feet +<102678> +proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kentucky North FIPS 1601 Feet +<102679> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kentucky South FIPS 1602 Feet +<102680> +proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0000000002 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Louisiana North FIPS 1701 Feet +<102681> +proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Louisiana South FIPS 1702 Feet +<102682> +proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Maine East FIPS 1801 Feet +<102683> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.999900 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Maine West FIPS 1802 Feet +<102684> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999967 +x_0=900000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Maryland FIPS 1900 Feet +<102685> +proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Massachusetts Mainland FIPS 2001 Feet +<102686> +proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000.0000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Massachusetts Island FIPS 2002 Feet +<102687> +proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Michigan North FIPS 2111 Feet +<102688> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Michigan Central FIPS 2112 Feet +<102689> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000.000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Michigan South FIPS 2113 Feet +<102690> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Minnesota North FIPS 2201 Feet +<102691> +proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Minnesota Central FIPS 2202 Feet +<102692> +proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Minnesota South FIPS 2203 Feet +<102693> +proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Mississippi East FIPS 2301 Feet +<102694> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Mississippi West FIPS 2302 Feet +<102695> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Missouri East FIPS 2401 Feet +<102696> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Missouri Central FIPS 2402 Feet +<102697> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Missouri West FIPS 2403 Feet +<102698> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Montana FIPS 2500 Feet +<102700> +proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nebraska FIPS 2600 Feet +<102704> +proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nevada East FIPS 2701 Feet +<102707> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.999900 +x_0=200000 +y_0=7999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nevada Central FIPS 2702 Feet +<102708> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.999900 +x_0=500000.0000000002 +y_0=6000000.000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nevada West FIPS 2703 Feet +<102709> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.999900 +x_0=799999.9999999999 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Hampshire FIPS 2800 Feet +<102710> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999967 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Jersey FIPS 2900 Feet +<102711> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Mexico East FIPS 3001 Feet +<102712> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Mexico Central FIPS 3002 Feet +<102713> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Mexico West FIPS 3003 Feet +<102714> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=829999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York East FIPS 3101 Feet +<102715> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York Central FIPS 3102 Feet +<102716> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York West FIPS 3103 Feet +<102717> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York Long Island FIPS 3104 Feet +<102718> +proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane North Carolina FIPS 3200 Feet +<102719> +proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2199999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane North Dakota North FIPS 3301 Feet +<102720> +proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane North Dakota South FIPS 3302 Feet +<102721> +proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Ohio North FIPS 3401 Feet +<102722> +proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Ohio South FIPS 3402 Feet +<102723> +proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oklahoma North FIPS 3501 Feet +<102724> +proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oklahoma South FIPS 3502 Feet +<102725> +proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oregon North FIPS 3601 Feet +<102726> +proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oregon South FIPS 3602 Feet +<102727> +proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Pennsylvania North FIPS 3701 Feet +<102728> +proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Pennsylvania South FIPS 3702 Feet +<102729> +proj=lcc +lat_1=39.93333333333333 +lat_2=40.96666666666667 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Rhode Island FIPS 3800 Feet +<102730> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.999994 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane South Carolina FIPS 3900 Feet +<102733> +proj=lcc +lat_1=32.5 +lat_2=34.83333333333334 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane South Dakota North FIPS 4001 Feet +<102734> +proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane South Dakota South FIPS 4002 Feet +<102735> +proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Tennessee FIPS 4100 Feet +<102736> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas North FIPS 4201 Feet +<102737> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas North Central FIPS 4202 Feet +<102738> +proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000.0000000001 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas Central FIPS 4203 Feet +<102739> +proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas South Central FIPS 4204 Feet +<102740> +proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000.0000000001 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas South FIPS 4205 Feet +<102741> +proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Utah North FIPS 4301 Feet +<102742> +proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Utah Central FIPS 4302 Feet +<102743> +proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Utah South FIPS 4303 Feet +<102744> +proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Vermont FIPS 4400 Feet +<102745> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Virginia North FIPS 4501 Feet +<102746> +proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Virginia South FIPS 4502 Feet +<102747> +proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Washington North FIPS 4601 Feet +<102748> +proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Washington South FIPS 4602 Feet +<102749> +proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane West Virginia North FIPS 4701 Feet +<102750> +proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane West Virginia South FIPS 4702 Feet +<102751> +proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wisconsin North FIPS 4801 Feet +<102752> +proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wisconsin Central FIPS 4802 Feet +<102753> +proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wisconsin South FIPS 4803 Feet +<102754> +proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming East FIPS 4901 Feet +<102755> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.999938 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming East Central FIPS 4902 Feet +<102756> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.999938 +x_0=399999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming West Central FIPS 4903 Feet +<102757> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.999938 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming West FIPS 4904 Feet +<102758> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.999938 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Puerto Rico Virgin Islands FIPS 5200 Feet +<102761> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Guam FIPS 5400 Feet +<102766> +proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=49999.99999999999 +y_0=49999.99999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# Belge Lambert 1972 +<103300> +proj=lcc +lat_1=49.8333339 +lat_2=51.16666733333333 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.01256 +y_0=5400088.4378 +ellps=intl +units=m no_defs <> +# GCS International 1967 +<4023> +proj=longlat +ellps=aust_SA no_defs <> +# GCS Bern 1898 +<4217> +proj=longlat +ellps=bessel no_defs <> +# GCS Voirol Unifie 1960 +<4305> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Montserrat 1958 +<4404> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Voirol Unifie 1960 Paris +<4812> +proj=longlat +ellps=clrk80 +pm=2.337229166666667 no_defs <> +# GCS WGS 1966 +<37001> +proj=longlat +ellps=WGS66 no_defs <> +# GCS Fischer 1960 +<37002> +proj=longlat +a=6378166 +b=6356784.283607107 no_defs <> +# GCS Fischer 1968 +<37003> +proj=longlat +a=6378150 +b=6356768.337244385 no_defs <> +# GCS Fischer Modified +<37004> +proj=longlat +ellps=fschr60m no_defs <> +# GCS Hough 1960 +<37005> +proj=longlat +a=6378270 +b=6356794.343434343 no_defs <> +# GCS Everest Modified 1969 +<37006> +proj=longlat +a=6377295.664 +b=6356094.667915204 no_defs <> +# GCS Walbeck +<37007> +proj=longlat +a=6376896 +b=6355834.846687363 no_defs <> +# GCS Sphere ARC INFO +<37008> +proj=longlat +a=6370997 +b=6370997 no_defs <> +# GCS European 1979 +<37201> +proj=longlat +ellps=intl no_defs <> +# GCS Everest Bangladesh +<37202> +proj=longlat +a=6377276.345 +b=6356075.413140239 no_defs <> +# GCS Everest India Nepal +<37203> +proj=longlat +a=6377301.243 +b=6356100.230165385 no_defs <> +# GCS Hjorsey 1955 +<37204> +proj=longlat +ellps=intl no_defs <> +# GCS Hong Kong 1963 +<37205> +proj=longlat +ellps=intl no_defs <> +# GCS Oman +<37206> +proj=longlat +ellps=clrk80 no_defs <> +# GCS South Asia Singapore +<37207> +proj=longlat +ellps=fschr60m no_defs <> +# GCS Ayabelle +<37208> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Point 58 +<37211> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Beacon E 1945 +<37212> +proj=longlat +ellps=intl no_defs <> +# GCS Tern Island 1961 +<37213> +proj=longlat +ellps=intl no_defs <> +# GCS Astro 1952 +<37214> +proj=longlat +ellps=intl no_defs <> +# GCS Bellevue IGN +<37215> +proj=longlat +ellps=intl no_defs <> +# GCS Canton 1966 +<37216> +proj=longlat +ellps=intl no_defs <> +# GCS Chatham Island 1971 +<37217> +proj=longlat +ellps=intl no_defs <> +# GCS DOS 1968 +<37218> +proj=longlat +ellps=intl no_defs <> +# GCS Easter Island 1967 +<37219> +proj=longlat +ellps=intl no_defs <> +# GCS Guam 1963 +<37220> +proj=longlat +ellps=clrk66 no_defs <> +# GCS GUX 1 +<37221> +proj=longlat +ellps=intl no_defs <> +# GCS Johnston Island 1961 +<37222> +proj=longlat +ellps=intl no_defs <> +# GCS Carthage Degree +<37223> +proj=longlat +a=6378249.2 +b=6356514.999904194 no_defs <> +# GCS Midway 1961 +<37224> +proj=longlat +ellps=intl no_defs <> +# GCS Pitcairn 1967 +<37226> +proj=longlat +ellps=intl no_defs <> +# GCS Santo DOS 1965 +<37227> +proj=longlat +ellps=intl no_defs <> +# GCS Viti Levu 1916 +<37228> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Wake Eniwetok 1960 +<37229> +proj=longlat +a=6378270 +b=6356794.343434343 no_defs <> +# GCS Wake Island 1952 +<37230> +proj=longlat +ellps=intl no_defs <> +# GCS Anna 1 1965 +<37231> +proj=longlat +ellps=aust_SA no_defs <> +# GCS Gan 1970 +<37232> +proj=longlat +ellps=intl no_defs <> +# GCS ISTS 073 1969 +<37233> +proj=longlat +ellps=intl no_defs <> +# GCS Kerguelen Island 1949 +<37234> +proj=longlat +ellps=intl no_defs <> +# GCS Reunion +<37235> +proj=longlat +ellps=intl no_defs <> +# GCS Ascension Island 1958 +<37237> +proj=longlat +ellps=intl no_defs <> +# GCS DOS 71 4 +<37238> +proj=longlat +ellps=intl no_defs <> +# GCS Cape Canaveral +<37239> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Fort Thomas 1955 +<37240> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Graciosa Base SW 1948 +<37241> +proj=longlat +ellps=intl no_defs <> +# GCS ISTS 061 1968 +<37242> +proj=longlat +ellps=intl no_defs <> +# GCS LC5 1961 +<37243> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Observ Meteorologico 1939 +<37245> +proj=longlat +ellps=intl no_defs <> +# GCS Pico de Las Nieves +<37246> +proj=longlat +ellps=intl no_defs <> +# GCS Porto Santo 1936 +<37247> +proj=longlat +ellps=intl no_defs <> +# GCS Sao Braz +<37249> +proj=longlat +ellps=intl no_defs <> +# GCS Selvagem Grande 1938 +<37250> +proj=longlat +ellps=intl no_defs <> +# GCS Tristan 1968 +<37251> +proj=longlat +ellps=intl no_defs <> +# GCS Samoa 1962 +<37252> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Camp Area +<37253> +proj=longlat +ellps=intl no_defs <> +# GCS Deception Island +<37254> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Gunung Segara +<37255> +proj=longlat +ellps=bessel no_defs <> +# GCS S42 Hungary +<37257> +proj=longlat +ellps=krass no_defs <> +# GCS Kusaie 1951 +<37259> +proj=longlat +ellps=intl no_defs <> +# GCS Alaskan Islands +<37260> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Assumed Geographic 1 +<104000> +proj=longlat +ellps=clrk66 +datum=NAD27 no_defs <> +# GCS Estonia 1937 +<104101> +proj=longlat +ellps=bessel no_defs <> +# GCS Hermannskogel +<104102> +proj=longlat +ellps=bessel no_defs <> +# GCS Sierra Leone 1960 +<104103> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Hong Kong 1980 +<104104> +proj=longlat +ellps=intl no_defs <> +# GCS Datum Lisboa Bessel +<104105> +proj=longlat +ellps=bessel no_defs <> +# GCS Datum Lisboa Hayford +<104106> +proj=longlat +ellps=intl no_defs <> +# GCS RGF 1993 +<104107> +proj=longlat +ellps=GRS80 no_defs <> +# GCS NZGD 2000 +<104108> +proj=longlat +ellps=GRS80 no_defs <> +# GCS Merchich Degree +<104261> +proj=longlat +a=6378249.2 +b=6356514.999904194 no_defs <> +# GCS Voirol 1875 Degree +<104304> +proj=longlat +a=6378249.2 +b=6356514.999904194 no_defs <> +# GCS Voirol Unifie 1960 Degree +<104305> +proj=longlat +ellps=clrk80 no_defs <> diff --git a/src/3rdparty/proj/proj_data/esri.extra b/src/3rdparty/proj/proj_data/esri.extra new file mode 100644 index 00000000..2514b33c --- /dev/null +++ b/src/3rdparty/proj/proj_data/esri.extra @@ -0,0 +1,952 @@ +# Pulkovo 1995 GK Zone 2 +<20002> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=krass +units=m no_defs <> +# Pulkovo 1995 GK Zone 3 +<20003> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=krass +units=m no_defs <> +# Pulkovo 1995 GK Zone 2N +<20062> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m no_defs <> +# Pulkovo 1995 GK Zone 3N +<20063> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m no_defs <> +# La Canoa UTM Zone 21N +<24721> +proj=utm +zone=21 +ellps=intl +units=m no_defs <> +# NAD 1927 StatePlane Hawaii 1 FIPS 5101 +<26761> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 2 FIPS 5102 +<26762> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 3 FIPS 5103 +<26763> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 4 FIPS 5104 +<26764> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Hawaii 5 FIPS 5105 +<26765> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Michigan North FIPS 2111 +<26788> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024385 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Michigan Central FIPS 2112 +<26789> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024385 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Michigan South FIPS 2113 +<26790> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024385 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# Nord Algerie +<30591> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# Sud Algerie +<30592> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# Germany Zone 1 +<31491> +proj=tmerc +lat_0=0 +lon_0=3 +k=1.000000 +x_0=1500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 2 +<31492> +proj=tmerc +lat_0=0 +lon_0=6 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 3 +<31493> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=3500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 4 +<31494> +proj=tmerc +lat_0=0 +lon_0=12 +k=1.000000 +x_0=4500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# Germany Zone 5 +<31495> +proj=tmerc +lat_0=0 +lon_0=15 +k=1.000000 +x_0=5500000 +y_0=0 +ellps=bessel +units=m no_defs <> +# NAD 1927 StatePlane Puerto Rico FIPS 5201 +<32059> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 StatePlane Virgin Islands St Croix FIPS 5202 +<32060> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012193 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# Sphere Plate Carree +<53001> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Equidistant Cylindrical +<53002> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Miller Cylindrical +<53003> +proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Mercator +<53004> +proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Sinusoidal +<53008> +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Mollweide +<53009> +proj=moll +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert VI +<53010> +proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert V +<53011> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert IV +<53012> +proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert III +<53013> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert II +<53014> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Eckert I +<53015> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Gall Stereographic +<53016> +proj=gall +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Behrmann +<53017> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Winkel I +<53018> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Winkel II +<53019> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Polyconic +<53021> +proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Quartic Authalic +<53022> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Loximuthal +<53023> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Bonne +<53024> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Hotine +<53025> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Stereographic +<53026> +proj=stere +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Equidistant Conic +<53027> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Cassini +<53028> +proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Van der Grinten I +<53029> +proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Robinson +<53030> +proj=robin +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Two Point Equidistant +<53031> +a=6371000 +b=6371000 +units=m no_defs <> +# Sphere Azimuthal Equidistant +<53032> +proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +a=6371000 +b=6371000 +units=m no_defs <> +# World Plate Carree +<54001> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Equidistant Cylindrical +<54002> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Miller Cylindrical +<54003> +proj=mill +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Mercator +<54004> +proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Sinusoidal +<54008> +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Mollweide +<54009> +proj=moll +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert VI +<54010> +proj=eck6 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert V +<54011> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert IV +<54012> +proj=eck4 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert III +<54013> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert II +<54014> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Eckert I +<54015> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Gall Stereographic +<54016> +proj=gall +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Behrmann +<54017> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Winkel I +<54018> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Winkel II +<54019> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Polyconic +<54021> +proj=poly +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Quartic Authalic +<54022> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Loximuthal +<54023> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Bonne +<54024> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Hotine +<54025> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Stereographic +<54026> +proj=stere +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Equidistant Conic +<54027> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=60 +lat_2=60 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Cassini +<54028> +proj=cass +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Van der Grinten I +<54029> +proj=vandg +lon_0=0 +x_0=0 +y_0=0 +R_A +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Robinson +<54030> +proj=robin +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Two Point Equidistant +<54031> +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# World Azimuthal Equidistant +<54032> +proj=aeqd +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# NAD 1927 StatePlane Guam FIPS 5400 +<65061> +proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000.00000000001 +y_0=50000.00000000001 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Guam FIPS 5400 +<65161> +proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=50000 +y_0=50000 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Canada Albers Equal Area Conic +<102001> +proj=aea +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Canada Lambert Conformal Conic +<102002> +proj=lcc +lat_1=50 +lat_2=70 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# USA Contiguous Albers Equal Area Conic +<102003> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# USA Contiguous Lambert Conformal Conic +<102004> +proj=lcc +lat_1=33 +lat_2=45 +lat_0=39 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# USA Contiguous Equidistant Conic +<102005> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=33 +lat_2=45 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Alaska Albers Equal Area Conic +<102006> +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Hawaii Albers Equal Area Conic +<102007> +proj=aea +lat_1=8 +lat_2=18 +lat_0=13 +lon_0=-157 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# North America Albers Equal Area Conic +<102008> +proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# North America Lambert Conformal Conic +<102009> +proj=lcc +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# North America Equidistant Conic +<102010> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=60 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# Africa Sinusoidal +<102011> +proj=sinu +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia Lambert Conformal Conic +<102012> +proj=lcc +lat_1=30 +lat_2=62 +lat_0=0 +lon_0=105 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Europe Albers Equal Area Conic +<102013> +proj=aea +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# Europe Lambert Conformal Conic +<102014> +proj=lcc +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# South America Lambert Conformal Conic +<102015> +proj=lcc +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m no_defs <> +# North Pole Azimuthal Equidistant +<102016> +proj=aeqd +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# North Pole Lambert Azimuthal Equal Area +<102017> +proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# North Pole Stereographic +<102018> +proj=stere +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# South Pole Azimuthal Equidistant +<102019> +proj=aeqd +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# South Pole Lambert Azimuthal Equal Area +<102020> +proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# South Pole Stereographic +<102021> +proj=stere +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Africa Albers Equal Area Conic +<102022> +proj=aea +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Africa Equidistant Conic +<102023> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=20 +lat_2=-23 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Africa Lambert Conformal Conic +<102024> +proj=lcc +lat_1=20 +lat_2=-23 +lat_0=0 +lon_0=25 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia North Albers Equal Area Conic +<102025> +proj=aea +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia North Equidistant Conic +<102026> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=15 +lat_2=65 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia North Lambert Conformal Conic +<102027> +proj=lcc +lat_1=15 +lat_2=65 +lat_0=30 +lon_0=95 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia South Albers Equal Area Conic +<102028> +proj=aea +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia South Equidistant Conic +<102029> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=7 +lat_2=-32 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Asia South Lambert Conformal Conic +<102030> +proj=lcc +lat_1=7 +lat_2=-32 +lat_0=-15 +lon_0=125 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m no_defs <> +# Europe Equidistant Conic +<102031> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=43 +lat_2=62 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# South America Equidistant Conic +<102032> +proj=eqdc +lat_0=0 +lon_0=0 +lat_1=-5 +lat_2=-42 +x_0=0 +y_0=0 +ellps=aust_SA +units=m no_defs <> +# South America Albers Equal Area Conic +<102033> +proj=aea +lat_1=-5 +lat_2=-42 +lat_0=-32 +lon_0=-60 +x_0=0 +y_0=0 +ellps=aust_SA +units=m no_defs <> +# S-JTSK Krovak +<102065> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m no_defs <> +# S-JTSK Ferro Krovak East North +<102066> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=-17.66666666666667 +units=m no_defs <> +# S-JTSK Krovak East North +<102067> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813975277778 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m no_defs <> +# Monte Mario Italy 1 +<102091> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.999600 +x_0=1500000 +y_0=0 +ellps=intl +units=m no_defs <> +# Monte Mario Italy 2 +<102092> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.999600 +x_0=2520000 +y_0=0 +ellps=intl +units=m no_defs <> +# NGO 1948 Norway Zone 1 +<102101> +proj=tmerc +lat_0=58 +lon_0=6.05625 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 2 +<102102> +proj=tmerc +lat_0=58 +lon_0=8.389583333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 3 +<102103> +proj=tmerc +lat_0=58 +lon_0=10.72291666666667 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 4 +<102104> +proj=tmerc +lat_0=58 +lon_0=13.22291666666667 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 5 +<102105> +proj=tmerc +lat_0=58 +lon_0=16.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 6 +<102106> +proj=tmerc +lat_0=58 +lon_0=20.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 7 +<102107> +proj=tmerc +lat_0=58 +lon_0=24.88958333333333 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 Norway Zone 8 +<102108> +proj=tmerc +lat_0=58 +lon_0=29.05625 +k=1.000000 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# RGF 1993 Lambert 93 +<102110> +proj=lcc +lat_1=44 +lat_2=49 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +units=m no_defs <> +# Old Hawaiian UTM Zone 4N +<102114> +proj=utm +zone=4 +ellps=clrk66 +units=m no_defs <> +# Old Hawaiian UTM Zone 5N +<102115> +proj=utm +zone=5 +ellps=clrk66 +units=m no_defs <> +# NAD 1927 Michigan GeoRef Feet US +<102120> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 Michigan GeoRef Feet US +<102121> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.495961392 +y_0=-4354009.816002033 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1927 Michigan GeoRef Meters +<102122> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=clrk66 +datum=NAD27 +units=m no_defs <> +# NAD 1983 Michigan GeoRef Meters +<102123> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.255555555556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m no_defs <> +# NGO 1948 UTM Zone 32N +<102132> +proj=utm +zone=32 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 UTM Zone 33N +<102133> +proj=utm +zone=33 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 UTM Zone 34N +<102134> +proj=utm +zone=34 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# NGO 1948 UTM Zone 35N +<102135> +proj=utm +zone=35 +a=6377492.018 +b=6356173.508712696 +units=m no_defs <> +# Hong Kong 1980 Grid +<102140> +proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1.000000 +x_0=836694.05 +y_0=819069.8 +ellps=intl +units=m no_defs <> +# Hong Kong 1980 UTM Zone 49N +<102141> +proj=utm +zone=49 +ellps=intl +units=m no_defs <> +# Hong Kong 1980 UTM Zone 50N +<102142> +proj=utm +zone=50 +ellps=intl +units=m no_defs <> +# Tokyo UTM Zone 51N +<102151> +proj=utm +zone=51 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 52N +<102152> +proj=utm +zone=52 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 53N +<102153> +proj=utm +zone=53 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 54N +<102154> +proj=utm +zone=54 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 55N +<102155> +proj=utm +zone=55 +ellps=bessel +units=m no_defs <> +# Tokyo UTM Zone 56N +<102156> +proj=utm +zone=56 +ellps=bessel +units=m no_defs <> +# Datum 73 Hayford Gauss IGeoE +<102160> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=200180.598 +y_0=299913.01 +ellps=intl +units=m no_defs <> +# Datum 73 Hayford Gauss IPCC +<102161> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m no_defs <> +# Graciosa Base SW 1948 UTM Zone 26N +<102162> +proj=utm +zone=26 +ellps=intl +units=m no_defs <> +# Lisboa Bessel Bonne +<102163> +ellps=bessel +units=m no_defs <> +# Lisboa Hayford Gauss IGeoE +<102164> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=200000 +y_0=300000 +ellps=intl +units=m no_defs <> +# Lisboa Hayford Gauss IPCC +<102165> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1.000000 +x_0=0 +y_0=0 +ellps=intl +units=m no_defs <> +# Observ Meteorologico 1939 UTM Zone 25N +<102166> +proj=utm +zone=25 +ellps=intl +units=m no_defs <> +# Porto Santo 1936 UTM Zone 28N +<102167> +proj=utm +zone=28 +ellps=intl +units=m no_defs <> +# Sao Braz UTM Zone 26N +<102168> +proj=utm +zone=26 +ellps=intl +units=m no_defs <> +# Selvagem Grande 1938 UTM Zone 28N +<102169> +proj=utm +zone=28 +ellps=intl +units=m no_defs <> +# Nord Maroc Degree +<102191> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Sud Maroc Degree +<102192> +proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Sahara Degree +<102193> +proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NAD 1983 HARN StatePlane Alabama East FIPS 0101 +<102229> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.999960 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Alabama West FIPS 0102 +<102230> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California I FIPS 0401 +<102241> +proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California II FIPS 0402 +<102242> +proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California III FIPS 0403 +<102243> +proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California IV FIPS 0404 +<102244> +proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California V FIPS 0405 +<102245> +proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane California VI FIPS 0406 +<102246> +proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arizona East FIPS 0201 +<102248> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arizona Central FIPS 0202 +<102249> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arizona West FIPS 0203 +<102250> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arkansas North FIPS 0301 +<102251> +proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Arkansas South FIPS 0302 +<102252> +proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Colorado North FIPS 0501 +<102253> +proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Colorado Central FIPS 0502 +<102254> +proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Colorado South FIPS 0503 +<102255> +proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Connecticut FIPS 0600 +<102256> +proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Delaware FIPS 0700 +<102257> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Florida East FIPS 0901 +<102258> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Florida West FIPS 0902 +<102259> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Florida North FIPS 0903 +<102260> +proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 1 FIPS 5101 +<102261> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 2 FIPS 5102 +<102262> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 3 FIPS 5103 +<102263> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 4 FIPS 5104 +<102264> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Hawaii 5 FIPS 5105 +<102265> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Georgia East FIPS 1001 +<102266> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Georgia West FIPS 1002 +<102267> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Idaho East FIPS 1101 +<102268> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Idaho Central FIPS 1102 +<102269> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Idaho West FIPS 1103 +<102270> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Illinois East FIPS 1201 +<102271> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.999975 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Illinois West FIPS 1202 +<102272> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Indiana East FIPS 1301 +<102273> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Indiana West FIPS 1302 +<102274> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kansas North FIPS 1501 +<102277> +proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kansas South FIPS 1502 +<102278> +proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kentucky North FIPS 1601 +<102279> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Kentucky South FIPS 1602 +<102280> +proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Louisiana North FIPS 1701 +<102281> +proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Louisiana South FIPS 1702 +<102282> +proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Maine East FIPS 1801 +<102283> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.999900 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Maine West FIPS 1802 +<102284> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999967 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Maryland FIPS 1900 +<102285> +proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Massachusetts Mainland FIPS 2001 +<102286> +proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Massachusetts Island FIPS 2002 +<102287> +proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Michigan North FIPS 2111 +<102288> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Michigan Central FIPS 2112 +<102289> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Michigan South FIPS 2113 +<102290> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Minnesota North FIPS 2201 +<102291> +proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Minnesota Central FIPS 2202 +<102292> +proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Minnesota South FIPS 2203 +<102293> +proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Mississippi East FIPS 2301 +<102294> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Mississippi West FIPS 2302 +<102295> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Missouri East FIPS 2401 +<102296> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Missouri Central FIPS 2402 +<102297> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Missouri West FIPS 2403 +<102298> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Montana FIPS 2500 +<102300> +proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nebraska FIPS 2600 +<102304> +proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nevada East FIPS 2701 +<102307> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.999900 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nevada Central FIPS 2702 +<102308> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.999900 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Nevada West FIPS 2703 +<102309> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.999900 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Hampshire FIPS 2800 +<102310> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999967 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Jersey FIPS 2900 +<102311> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Mexico East FIPS 3001 +<102312> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Mexico Central FIPS 3002 +<102313> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New Mexico West FIPS 3003 +<102314> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York East FIPS 3101 +<102315> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York Central FIPS 3102 +<102316> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York West FIPS 3103 +<102317> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane New York Long Island FIPS 3104 +<102318> +proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane North Dakota North FIPS 3301 +<102320> +proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane North Dakota South FIPS 3302 +<102321> +proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Ohio North FIPS 3401 +<102322> +proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Ohio South FIPS 3402 +<102323> +proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oklahoma North FIPS 3501 +<102324> +proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oklahoma South FIPS 3502 +<102325> +proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oregon North FIPS 3601 +<102326> +proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Oregon South FIPS 3602 +<102327> +proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Rhode Island FIPS 3800 +<102330> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.999994 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane South Dakota North FIPS 4001 +<102334> +proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane South Dakota South FIPS 4002 +<102335> +proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Tennessee FIPS 4100 +<102336> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas North FIPS 4201 +<102337> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas North Central FIPS 4202 +<102338> +proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas Central FIPS 4203 +<102339> +proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas South Central FIPS 4204 +<102340> +proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Texas South FIPS 4205 +<102341> +proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Utah North FIPS 4301 +<102342> +proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Utah Central FIPS 4302 +<102343> +proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Utah South FIPS 4303 +<102344> +proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Vermont FIPS 4400 +<102345> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Virginia North FIPS 4501 +<102346> +proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Virginia South FIPS 4502 +<102347> +proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Washington North FIPS 4601 +<102348> +proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Washington South FIPS 4602 +<102349> +proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane West Virginia North FIPS 4701 +<102350> +proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane West Virginia South FIPS 4702 +<102351> +proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wisconsin North FIPS 4801 +<102352> +proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wisconsin Central FIPS 4802 +<102353> +proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wisconsin South FIPS 4803 +<102354> +proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming East FIPS 4901 +<102355> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.999938 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming East Central FIPS 4902 +<102356> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.999938 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming West Central FIPS 4903 +<102357> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.999938 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Wyoming West FIPS 4904 +<102358> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.999938 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m no_defs <> +# NAD 1983 HARN StatePlane Puerto Rico Virgin Islands FIPS 5200 +<102361> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m no_defs <> +# Nord Algerie Ancienne Degree +<102491> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Sud Algerie Ancienne Degree +<102492> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France I degrees +<102581> +proj=lcc +lat_1=49.5 +lat_0=49.5 +lon_0=2.337229166666667 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France II degrees +<102582> +proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France III degrees +<102583> +proj=lcc +lat_1=44.1 +lat_0=44.1 +lon_0=2.337229166666667 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# NTF France IV degrees +<102584> +proj=lcc +lat_1=42.165 +lat_0=42.165 +lon_0=2.337229166666667 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356514.999904194 +units=m no_defs <> +# Nord Algerie Degree +<102591> +proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# Sud Algerie Degree +<102592> +proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m no_defs <> +# NAD 1983 StatePlane Alabama East FIPS 0101 Feet +<102629> +proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.999960 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alabama West FIPS 0102 Feet +<102630> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 1 FIPS 5001 Feet +<102631> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=-36.86989764583333 +k=0.9999 +x_0=4999999.999999999 +y_0=-4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 2 FIPS 5002 Feet +<102632> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 3 FIPS 5003 Feet +<102633> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 4 FIPS 5004 Feet +<102634> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 5 FIPS 5005 Feet +<102635> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 6 FIPS 5006 Feet +<102636> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 7 FIPS 5007 Feet +<102637> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 8 FIPS 5008 Feet +<102638> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 9 FIPS 5009 Feet +<102639> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Alaska 10 FIPS 5010 Feet +<102640> +proj=lcc +lat_1=51.83333333333334 +lat_2=53.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California I FIPS 0401 Feet +<102641> +proj=lcc +lat_1=40 +lat_2=41.66666666666666 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California II FIPS 0402 Feet +<102642> +proj=lcc +lat_1=38.33333333333334 +lat_2=39.83333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California III FIPS 0403 Feet +<102643> +proj=lcc +lat_1=37.06666666666667 +lat_2=38.43333333333333 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California IV FIPS 0404 Feet +<102644> +proj=lcc +lat_1=36 +lat_2=37.25 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California V FIPS 0405 Feet +<102645> +proj=lcc +lat_1=34.03333333333333 +lat_2=35.46666666666667 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane California VI FIPS 0406 Feet +<102646> +proj=lcc +lat_1=32.78333333333333 +lat_2=33.88333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arizona East FIPS 0201 Feet +<102648> +proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arizona Central FIPS 0202 Feet +<102649> +proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.999900 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arizona West FIPS 0203 Feet +<102650> +proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arkansas North FIPS 0301 Feet +<102651> +proj=lcc +lat_1=34.93333333333333 +lat_2=36.23333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Arkansas South FIPS 0302 Feet +<102652> +proj=lcc +lat_1=33.3 +lat_2=34.76666666666667 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Colorado North FIPS 0501 Feet +<102653> +proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Colorado Central FIPS 0502 Feet +<102654> +proj=lcc +lat_1=38.45 +lat_2=39.75 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Colorado South FIPS 0503 Feet +<102655> +proj=lcc +lat_1=37.23333333333333 +lat_2=38.43333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Connecticut FIPS 0600 Feet +<102656> +proj=lcc +lat_1=41.2 +lat_2=41.86666666666667 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Delaware FIPS 0700 Feet +<102657> +proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Florida East FIPS 0901 Feet +<102658> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Florida West FIPS 0902 Feet +<102659> +proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Florida North FIPS 0903 Feet +<102660> +proj=lcc +lat_1=29.58333333333333 +lat_2=30.75 +lat_0=29 +lon_0=-84.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 1 FIPS 5101 Feet +<102661> +proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999967 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 2 FIPS 5102 Feet +<102662> +proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999967 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 3 FIPS 5103 Feet +<102663> +proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.999990 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 4 FIPS 5104 Feet +<102664> +proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.999990 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Hawaii 5 FIPS 5105 Feet +<102665> +proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1.000000 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Georgia East FIPS 1001 Feet +<102666> +proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.999900 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Georgia West FIPS 1002 Feet +<102667> +proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.999900 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Idaho East FIPS 1101 Feet +<102668> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.999947 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Idaho Central FIPS 1102 Feet +<102669> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.999947 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Idaho West FIPS 1103 Feet +<102670> +proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933 +x_0=799999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Illinois East FIPS 1201 Feet +<102671> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.999975 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Illinois West FIPS 1202 Feet +<102672> +proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Indiana East FIPS 1301 Feet +<102673> +proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999967 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Indiana West FIPS 1302 Feet +<102674> +proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999967 +x_0=900000.0000000001 +y_0=250000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Iowa North FIPS 1401 Feet +<102675> +proj=lcc +lat_1=42.06666666666667 +lat_2=43.26666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Iowa South FIPS 1402 Feet +<102676> +proj=lcc +lat_1=40.61666666666667 +lat_2=41.78333333333333 +lat_0=40 +lon_0=-93.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kansas North FIPS 1501 Feet +<102677> +proj=lcc +lat_1=38.71666666666667 +lat_2=39.78333333333333 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kansas South FIPS 1502 Feet +<102678> +proj=lcc +lat_1=37.26666666666667 +lat_2=38.56666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.9999999999 +y_0=399999.9999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kentucky North FIPS 1601 Feet +<102679> +proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Kentucky South FIPS 1602 Feet +<102680> +proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0000000002 +y_0=500000.0000000002 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Louisiana North FIPS 1701 Feet +<102681> +proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Louisiana South FIPS 1702 Feet +<102682> +proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Maine East FIPS 1801 Feet +<102683> +proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.999900 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Maine West FIPS 1802 Feet +<102684> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999967 +x_0=900000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Maryland FIPS 1900 Feet +<102685> +proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Massachusetts Mainland FIPS 2001 Feet +<102686> +proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000.0000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Massachusetts Island FIPS 2002 Feet +<102687> +proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Michigan North FIPS 2111 Feet +<102688> +proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Michigan Central FIPS 2112 Feet +<102689> +proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000.000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Michigan South FIPS 2113 Feet +<102690> +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Minnesota North FIPS 2201 Feet +<102691> +proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Minnesota Central FIPS 2202 Feet +<102692> +proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Minnesota South FIPS 2203 Feet +<102693> +proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Mississippi East FIPS 2301 Feet +<102694> +proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.999950 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Mississippi West FIPS 2302 Feet +<102695> +proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.999950 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Missouri East FIPS 2401 Feet +<102696> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Missouri Central FIPS 2402 Feet +<102697> +proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Missouri West FIPS 2403 Feet +<102698> +proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Montana FIPS 2500 Feet +<102700> +proj=lcc +lat_1=45 +lat_2=49 +lat_0=44.25 +lon_0=-109.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nebraska FIPS 2600 Feet +<102704> +proj=lcc +lat_1=40 +lat_2=43 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nevada East FIPS 2701 Feet +<102707> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.999900 +x_0=200000 +y_0=7999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nevada Central FIPS 2702 Feet +<102708> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.999900 +x_0=500000.0000000002 +y_0=6000000.000000001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Nevada West FIPS 2703 Feet +<102709> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.999900 +x_0=799999.9999999999 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Hampshire FIPS 2800 Feet +<102710> +proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999967 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Jersey FIPS 2900 Feet +<102711> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Mexico East FIPS 3001 Feet +<102712> +proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Mexico Central FIPS 3002 Feet +<102713> +proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.999900 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New Mexico West FIPS 3003 Feet +<102714> +proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999917 +x_0=829999.9999999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York East FIPS 3101 Feet +<102715> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.999900 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York Central FIPS 3102 Feet +<102716> +proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.999938 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York West FIPS 3103 Feet +<102717> +proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.999938 +x_0=350000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane New York Long Island FIPS 3104 Feet +<102718> +proj=lcc +lat_1=40.66666666666666 +lat_2=41.03333333333333 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane North Carolina FIPS 3200 Feet +<102719> +proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2199999999 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane North Dakota North FIPS 3301 Feet +<102720> +proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane North Dakota South FIPS 3302 Feet +<102721> +proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Ohio North FIPS 3401 Feet +<102722> +proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Ohio South FIPS 3402 Feet +<102723> +proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oklahoma North FIPS 3501 Feet +<102724> +proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oklahoma South FIPS 3502 Feet +<102725> +proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oregon North FIPS 3601 Feet +<102726> +proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Oregon South FIPS 3602 Feet +<102727> +proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Pennsylvania North FIPS 3701 Feet +<102728> +proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Pennsylvania South FIPS 3702 Feet +<102729> +proj=lcc +lat_1=39.93333333333333 +lat_2=40.96666666666667 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Rhode Island FIPS 3800 Feet +<102730> +proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.999994 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane South Carolina FIPS 3900 Feet +<102733> +proj=lcc +lat_1=32.5 +lat_2=34.83333333333334 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane South Dakota North FIPS 4001 Feet +<102734> +proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane South Dakota South FIPS 4002 Feet +<102735> +proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Tennessee FIPS 4100 Feet +<102736> +proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas North FIPS 4201 Feet +<102737> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas North Central FIPS 4202 Feet +<102738> +proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000.0000000001 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas Central FIPS 4203 Feet +<102739> +proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas South Central FIPS 4204 Feet +<102740> +proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333334 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000.0000000001 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Texas South FIPS 4205 Feet +<102741> +proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=4999999.999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Utah North FIPS 4301 Feet +<102742> +proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Utah Central FIPS 4302 Feet +<102743> +proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Utah South FIPS 4303 Feet +<102744> +proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0000000002 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Vermont FIPS 4400 Feet +<102745> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Virginia North FIPS 4501 Feet +<102746> +proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Virginia South FIPS 4502 Feet +<102747> +proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3499999.999999999 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Washington North FIPS 4601 Feet +<102748> +proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Washington South FIPS 4602 Feet +<102749> +proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0000000002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane West Virginia North FIPS 4701 Feet +<102750> +proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane West Virginia South FIPS 4702 Feet +<102751> +proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wisconsin North FIPS 4801 Feet +<102752> +proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wisconsin Central FIPS 4802 Feet +<102753> +proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wisconsin South FIPS 4803 Feet +<102754> +proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming East FIPS 4901 Feet +<102755> +proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.999938 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming East Central FIPS 4902 Feet +<102756> +proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.999938 +x_0=399999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming West Central FIPS 4903 Feet +<102757> +proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.999938 +x_0=600000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Wyoming West FIPS 4904 Feet +<102758> +proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.999938 +x_0=799999.9999999999 +y_0=100000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Puerto Rico Virgin Islands FIPS 5200 Feet +<102761> +proj=lcc +lat_1=18.03333333333334 +lat_2=18.43333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# NAD 1983 StatePlane Guam FIPS 5400 Feet +<102766> +proj=poly +lat_0=13.47246635277778 +lon_0=-144.7487507055556 +x_0=49999.99999999999 +y_0=49999.99999999999 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 no_defs <> +# Belge Lambert 1972 +<103300> +proj=lcc +lat_1=49.8333339 +lat_2=51.16666733333333 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.01256 +y_0=5400088.4378 +ellps=intl +units=m no_defs <> +# GCS International 1967 +<4023> +proj=longlat +ellps=aust_SA no_defs <> +# GCS Bern 1898 +<4217> +proj=longlat +ellps=bessel no_defs <> +# GCS Voirol Unifie 1960 +<4305> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Montserrat 1958 +<4404> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Voirol Unifie 1960 Paris +<4812> +proj=longlat +ellps=clrk80 +pm=2.337229166666667 no_defs <> +# GCS WGS 1966 +<37001> +proj=longlat +ellps=WGS66 no_defs <> +# GCS Fischer 1960 +<37002> +proj=longlat +a=6378166 +b=6356784.283607107 no_defs <> +# GCS Fischer 1968 +<37003> +proj=longlat +a=6378150 +b=6356768.337244385 no_defs <> +# GCS Fischer Modified +<37004> +proj=longlat +ellps=fschr60m no_defs <> +# GCS Hough 1960 +<37005> +proj=longlat +a=6378270 +b=6356794.343434343 no_defs <> +# GCS Everest Modified 1969 +<37006> +proj=longlat +a=6377295.664 +b=6356094.667915204 no_defs <> +# GCS Walbeck +<37007> +proj=longlat +a=6376896 +b=6355834.846687363 no_defs <> +# GCS Sphere ARC INFO +<37008> +proj=longlat +a=6370997 +b=6370997 no_defs <> +# GCS European 1979 +<37201> +proj=longlat +ellps=intl no_defs <> +# GCS Everest Bangladesh +<37202> +proj=longlat +a=6377276.345 +b=6356075.413140239 no_defs <> +# GCS Everest India Nepal +<37203> +proj=longlat +a=6377301.243 +b=6356100.230165385 no_defs <> +# GCS Hjorsey 1955 +<37204> +proj=longlat +ellps=intl no_defs <> +# GCS Hong Kong 1963 +<37205> +proj=longlat +ellps=intl no_defs <> +# GCS Oman +<37206> +proj=longlat +ellps=clrk80 no_defs <> +# GCS South Asia Singapore +<37207> +proj=longlat +ellps=fschr60m no_defs <> +# GCS Ayabelle +<37208> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Point 58 +<37211> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Beacon E 1945 +<37212> +proj=longlat +ellps=intl no_defs <> +# GCS Tern Island 1961 +<37213> +proj=longlat +ellps=intl no_defs <> +# GCS Astro 1952 +<37214> +proj=longlat +ellps=intl no_defs <> +# GCS Bellevue IGN +<37215> +proj=longlat +ellps=intl no_defs <> +# GCS Canton 1966 +<37216> +proj=longlat +ellps=intl no_defs <> +# GCS Chatham Island 1971 +<37217> +proj=longlat +ellps=intl no_defs <> +# GCS DOS 1968 +<37218> +proj=longlat +ellps=intl no_defs <> +# GCS Easter Island 1967 +<37219> +proj=longlat +ellps=intl no_defs <> +# GCS Guam 1963 +<37220> +proj=longlat +ellps=clrk66 no_defs <> +# GCS GUX 1 +<37221> +proj=longlat +ellps=intl no_defs <> +# GCS Johnston Island 1961 +<37222> +proj=longlat +ellps=intl no_defs <> +# GCS Carthage Degree +<37223> +proj=longlat +a=6378249.2 +b=6356514.999904194 no_defs <> +# GCS Midway 1961 +<37224> +proj=longlat +ellps=intl no_defs <> +# GCS Pitcairn 1967 +<37226> +proj=longlat +ellps=intl no_defs <> +# GCS Santo DOS 1965 +<37227> +proj=longlat +ellps=intl no_defs <> +# GCS Viti Levu 1916 +<37228> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Wake Eniwetok 1960 +<37229> +proj=longlat +a=6378270 +b=6356794.343434343 no_defs <> +# GCS Wake Island 1952 +<37230> +proj=longlat +ellps=intl no_defs <> +# GCS Anna 1 1965 +<37231> +proj=longlat +ellps=aust_SA no_defs <> +# GCS Gan 1970 +<37232> +proj=longlat +ellps=intl no_defs <> +# GCS ISTS 073 1969 +<37233> +proj=longlat +ellps=intl no_defs <> +# GCS Kerguelen Island 1949 +<37234> +proj=longlat +ellps=intl no_defs <> +# GCS Reunion +<37235> +proj=longlat +ellps=intl no_defs <> +# GCS Ascension Island 1958 +<37237> +proj=longlat +ellps=intl no_defs <> +# GCS DOS 71 4 +<37238> +proj=longlat +ellps=intl no_defs <> +# GCS Cape Canaveral +<37239> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Fort Thomas 1955 +<37240> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Graciosa Base SW 1948 +<37241> +proj=longlat +ellps=intl no_defs <> +# GCS ISTS 061 1968 +<37242> +proj=longlat +ellps=intl no_defs <> +# GCS LC5 1961 +<37243> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Observ Meteorologico 1939 +<37245> +proj=longlat +ellps=intl no_defs <> +# GCS Pico de Las Nieves +<37246> +proj=longlat +ellps=intl no_defs <> +# GCS Porto Santo 1936 +<37247> +proj=longlat +ellps=intl no_defs <> +# GCS Sao Braz +<37249> +proj=longlat +ellps=intl no_defs <> +# GCS Selvagem Grande 1938 +<37250> +proj=longlat +ellps=intl no_defs <> +# GCS Tristan 1968 +<37251> +proj=longlat +ellps=intl no_defs <> +# GCS Samoa 1962 +<37252> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Camp Area +<37253> +proj=longlat +ellps=intl no_defs <> +# GCS Deception Island +<37254> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Gunung Segara +<37255> +proj=longlat +ellps=bessel no_defs <> +# GCS S42 Hungary +<37257> +proj=longlat +ellps=krass no_defs <> +# GCS Kusaie 1951 +<37259> +proj=longlat +ellps=intl no_defs <> +# GCS Alaskan Islands +<37260> +proj=longlat +ellps=clrk66 no_defs <> +# GCS Assumed Geographic 1 +<104000> +proj=longlat +ellps=clrk66 +datum=NAD27 no_defs <> +# GCS Estonia 1937 +<104101> +proj=longlat +ellps=bessel no_defs <> +# GCS Hermannskogel +<104102> +proj=longlat +ellps=bessel no_defs <> +# GCS Sierra Leone 1960 +<104103> +proj=longlat +ellps=clrk80 no_defs <> +# GCS Hong Kong 1980 +<104104> +proj=longlat +ellps=intl no_defs <> +# GCS Datum Lisboa Bessel +<104105> +proj=longlat +ellps=bessel no_defs <> +# GCS Datum Lisboa Hayford +<104106> +proj=longlat +ellps=intl no_defs <> +# GCS RGF 1993 +<104107> +proj=longlat +ellps=GRS80 no_defs <> +# GCS NZGD 2000 +<104108> +proj=longlat +ellps=GRS80 no_defs <> +# GCS Merchich Degree +<104261> +proj=longlat +a=6378249.2 +b=6356514.999904194 no_defs <> +# GCS Voirol 1875 Degree +<104304> +proj=longlat +a=6378249.2 +b=6356514.999904194 no_defs <> +# GCS Voirol Unifie 1960 Degree +<104305> +proj=longlat +ellps=clrk80 no_defs <> +# +# Chris' funny epsgish code for the google mercator +# +<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs <> diff --git a/src/3rdparty/proj/proj_data/nad.lst b/src/3rdparty/proj/proj_data/nad.lst new file mode 100644 index 00000000..cc427722 --- /dev/null +++ b/src/3rdparty/proj/proj_data/nad.lst @@ -0,0 +1,142 @@ + Listing of State Plane North American Datum Zones + + NGS zone number + State and zone 1927 1983 + +Alabama east .................. 101 101 +Alabama west .................. 102 102 +Alaska zone no. 1 ............. 5001 5001 +Alaska zone no. 2 ............. 5002 5002 +Alaska zone no. 3 ............. 5003 5003 +Alaska zone no. 4 ............. 5004 5004 +Alaska zone no. 5 ............. 5005 5005 +Alaska zone no. 6 ............. 5006 5006 +Alaska zone no. 7 ............. 5007 5007 +Alaska zone no. 8 ............. 5008 5008 +Alaska zone no. 9 ............. 5009 5009 +Alaska zone no. 10 ............ 5010 5010 +American Samoa ................ 5300 +Arizona central ............... 202 202 +Arizona east .................. 201 201 +Arizona west .................. 203 203 +Arkansas north ................ 301 301 +Arkansas south ................ 302 302 +California I .................. 401 401 +California II ................. 402 402 +California III ................ 403 403 +California IV ................. 404 404 +California V .................. 405 405 +California VI ................. 406 406 +California VII ................ 407 +Colorado central .............. 502 502 +Colorado north ................ 501 501 +Colorado south ................ 503 503 +Connecticut ................... 600 600 +Delaware ...................... 700 700 +Florida east .................. 901 901 +Florida north ................. 903 903 +Florida west .................. 902 902 +Georgia east .................. 1001 1001 +Georgia west .................. 1002 1002 +Guam Island ................... 5400 +Hawaii 1 ...................... 5101 5101 +Hawaii 2 ...................... 5102 5102 +Hawaii 3 ...................... 5103 5103 +Hawaii 4 ...................... 5104 5104 +Hawaii 5 ...................... 5105 5105 +Idaho central ................. 1102 1102 +Idaho east .................... 1101 1101 +Idaho west .................... 1103 1103 +Illinois east ................. 1201 1201 +Illinois west ................. 1202 1202 +Indiana east .................. 1301 1301 +Indiana west .................. 1302 1302 +Iowa north .................... 1401 1401 +Iowa south .................... 1402 1402 +Kansas north .................. 1501 1501 +Kansas south .................. 1502 1502 +Kentucky north ................ 1601 1601 +Kentucky south ................ 1602 1602 +Louisiana north ............... 1701 1701 +Louisiana offshore ............ 1703 1703 +Louisiana south ............... 1702 1702 +Maine east .................... 1801 1801 +Maine west .................... 1802 1802 +Maryland ...................... 1900 1900 +Massachusetts island .......... 2002 2002 +Massachusetts mainland ........ 2001 2001 +Michigan central/l ............ 2112 2112 current +Michigan central/m ............ 2102 old +Michigan east ................. 2101 old +Michigan north ................ 2111 2111 current +Michigan south ................ 2113 2113 current +Michigan west ................. 2103 old +Minnesota central ............. 2202 2202 +Minnesota north ............... 2201 2201 +Minnesota south ............... 2203 2203 +Mississippi east .............. 2301 2301 +Mississippi west .............. 2302 2302 +Missouri central .............. 2402 2402 +Missouri east ................. 2401 2401 +Missouri west ................. 2403 2403 +Montana ....................... 2500 +Montana central ............... 2502 +Montana north ................. 2501 +Montana south ................. 2503 +Nebraska ...................... 2600 +Nebraska north ................ 2601 +Nebraska south ................ 2602 +Nevada central ................ 2702 2702 +Nevada east ................... 2701 2701 +Nevada west ................... 2703 2703 +New hampshire ................. 2800 2800 +New jersey .................... 2900 2900 +New mexico central ............ 3002 3002 +New mexico east ............... 3001 3001 +New mexico west ............... 3003 3003 +New york central .............. 3102 3102 +New york east ................. 3101 3101 +New york long island .......... 3104 3104 +New york west ................. 3103 3103 +North carolina ................ 3200 3200 +North dakota north ............ 3301 3301 +North dakota south ............ 3302 3302 +Ohio north .................... 3401 3401 +Ohio south .................... 3402 3402 +Oklahoma north ................ 3501 3501 +Oklahoma south ................ 3502 3502 +Oregon north .................. 3601 3601 +Oregon south .................. 3602 3602 +Pennsylvania north ............ 3701 3701 +Pennsylvania south ............ 3702 3702 +Puerto Rico, Virgin Islands ... 5201 5200 +Rhode Island .................. 3800 3800 +South Carolina ................ 3900 +South Carolina north .......... 3901 +South Carolina south .......... 3902 +South Dakota north ............ 4001 4001 +South Dakota south ............ 4002 4002 +Tennessee ..................... 4100 4100 +Texas central ................. 4203 4203 +Texas north ................... 4201 4201 +Texas north central ........... 4202 4202 +Texas south ................... 4205 4205 +Texas south central ........... 4204 4204 +Utah central .................. 4302 4302 +Utah north .................... 4301 4301 +Utah south .................... 4303 4303 +Vermont ....................... 4400 4400 +Virgin Islands, St. Croix ..... 5202 +Virginia north ................ 4501 4501 +Virginia south ................ 4502 4502 +Washington north .............. 4601 4601 +Washington south .............. 4602 4602 +West Virginia north ........... 4701 4701 +West Virginia south ........... 4702 4702 +Wisconsin central ............. 4802 4802 +Wisconsin north ............... 4801 4801 +Wisconsin south ............... 4803 4803 +Wyoming east .................. 4901 4901 +Wyoming east central .......... 4902 4902 +Wyoming west .................. 4904 4904 +Wyoming west central .......... 4903 4903 diff --git a/src/3rdparty/proj/proj_data/nad27 b/src/3rdparty/proj/proj_data/nad27 new file mode 100644 index 00000000..6e06900c --- /dev/null +++ b/src/3rdparty/proj/proj_data/nad27 @@ -0,0 +1,809 @@ +# SCCSID @(#)nad27 4.1 92/12/20 GIE +# proj +init files for: +# +# State Plane Coordinate Systems, +# North American Datum 1927 + +# 101: alabama east: nad27 +<101> proj=tmerc datum=NAD27 +lon_0=-85d50 lat_0=30d30 k=.99996 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 102: alabama west: nad27 +<102> proj=tmerc datum=NAD27 +lon_0=-87d30 lat_0=30 k=.9999333333333333 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5010: alaska zone no. 10: nad27 +<5010> proj=lcc datum=NAD27 +lon_0=-176 lat_1=53d50 lat_2=51d50 lat_0=51 +x_0=914401.8288036576 y_0=0 +no_defs <> + +# 5300: american samoa: nad27 +<5300> proj=lcc datum=NAD27 +lon_0=-170 lat_1=-14d16 lat_2=-14d16 lat_0=-14d16 +x_0=152400.3048006096 y_0=95169.31165862332 +no_defs <> + +# 201: arizona east: nad27 +<201> proj=tmerc datum=NAD27 +lon_0=-110d10 lat_0=31 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 202: arizona central: nad27 +<202> proj=tmerc datum=NAD27 +lon_0=-111d55 lat_0=31 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 203: arizona west: nad27 +<203> proj=tmerc datum=NAD27 +lon_0=-113d45 lat_0=31 k=.9999333333333333 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 301: arkansas north: nad27 +<301> proj=lcc datum=NAD27 +lon_0=-92 lat_1=36d14 lat_2=34d56 lat_0=34d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 302: arkansas south: nad27 +<302> proj=lcc datum=NAD27 +lon_0=-92 lat_1=34d46 lat_2=33d18 lat_0=32d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 401: california i: nad27 +<401> proj=lcc datum=NAD27 +lon_0=-122 lat_1=41d40 lat_2=40 lat_0=39d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 402: california ii: nad27 +<402> proj=lcc datum=NAD27 +lon_0=-122 lat_1=39d50 lat_2=38d20 lat_0=37d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 403: california iii: nad27 +<403> proj=lcc datum=NAD27 +lon_0=-120d30 lat_1=38d26 lat_2=37d4 lat_0=36d30 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 404: california iv: nad27 +<404> proj=lcc datum=NAD27 +lon_0=-119 lat_1=37d15 lat_2=36 lat_0=35d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 405: california v: nad27 +<405> proj=lcc datum=NAD27 +lon_0=-118 lat_1=35d28 lat_2=34d2 lat_0=33d30 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 406: california vi: nad27 +<406> proj=lcc datum=NAD27 +lon_0=-116d15 lat_1=33d53 lat_2=32d47 lat_0=32d10 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 407: california vii: nad27 +<407> proj=lcc datum=NAD27 +lon_0=-118d20 lat_1=34d25 lat_2=33d52 lat_0=34d8 +x_0=1276106.450596901 y_0=1268253.006858014 +no_defs <> + +# 501: colorado north: nad27 +<501> proj=lcc datum=NAD27 +lon_0=-105d30 lat_1=40d47 lat_2=39d43 lat_0=39d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 502: colorado central: nad27 +<502> proj=lcc datum=NAD27 +lon_0=-105d30 lat_1=39d45 lat_2=38d27 lat_0=37d50 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 503: colorado south: nad27 +<503> proj=lcc datum=NAD27 +lon_0=-105d30 lat_1=38d26 lat_2=37d14 lat_0=36d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 600: connecticut ---: nad27 +<600> proj=lcc datum=NAD27 +lon_0=-72d45 lat_1=41d52 lat_2=41d12 lat_0=40d50 +x_0=182880.3657607315 y_0=0 +no_defs <> + +# 700: delaware ---: nad27 +<700> proj=tmerc datum=NAD27 +lon_0=-75d25 lat_0=38 k=.999995 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 901: florida east: nad27 +<901> proj=tmerc datum=NAD27 +lon_0=-81 lat_0=24d20 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 902: florida west: nad27 +<902> proj=tmerc datum=NAD27 +lon_0=-82 lat_0=24d20 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 903: florida north: nad27 +<903> proj=lcc datum=NAD27 +lon_0=-84d30 lat_1=30d45 lat_2=29d35 lat_0=29 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1001: georgia east: nad27 +<1001> proj=tmerc datum=NAD27 +lon_0=-82d10 lat_0=30 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1002: georgia west: nad27 +<1002> proj=tmerc datum=NAD27 +lon_0=-84d10 lat_0=30 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5101: hawaii 1: nad27 +<5101> proj=tmerc datum=NAD27 +lon_0=-155d30 lat_0=18d50 k=.9999666666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5102: hawaii 2: nad27 +<5102> proj=tmerc datum=NAD27 +lon_0=-156d40 lat_0=20d20 k=.9999666666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5103: hawaii 3: nad27 +<5103> proj=tmerc datum=NAD27 +lon_0=-158 lat_0=21d10 k=.99999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5104: hawaii 4: nad27 +<5104> proj=tmerc datum=NAD27 +lon_0=-159d30 lat_0=21d50 k=.99999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5105: hawaii 5: nad27 +<5105> proj=tmerc datum=NAD27 +lon_0=-160d10 lat_0=21d40 k=1 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1101: idaho east: nad27 +<1101> proj=tmerc datum=NAD27 +lon_0=-112d10 lat_0=41d40 k=.9999473684210526 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1102: idaho central: nad27 +<1102> proj=tmerc datum=NAD27 +lon_0=-114 lat_0=41d40 k=.9999473684210526 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1103: idaho west: nad27 +<1103> proj=tmerc datum=NAD27 +lon_0=-115d45 lat_0=41d40 k=.9999333333333333 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1201: illinois east: nad27 +<1201> proj=tmerc datum=NAD27 +lon_0=-88d20 lat_0=36d40 k=.999975 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1202: illinois west: nad27 +<1202> proj=tmerc datum=NAD27 +lon_0=-90d10 lat_0=36d40 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1301: indiana east: nad27 +<1301> proj=tmerc datum=NAD27 +lon_0=-85d40 lat_0=37d30 k=.9999666666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1302: indiana west: nad27 +<1302> proj=tmerc datum=NAD27 +lon_0=-87d5 lat_0=37d30 k=.9999666666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1401: iowa north: nad27 +<1401> proj=lcc datum=NAD27 +lon_0=-93d30 lat_1=43d16 lat_2=42d4 lat_0=41d30 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1402: iowa south: nad27 +<1402> proj=lcc datum=NAD27 +lon_0=-93d30 lat_1=41d47 lat_2=40d37 lat_0=40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1501: kansas north: nad27 +<1501> proj=lcc datum=NAD27 +lon_0=-98 lat_1=39d47 lat_2=38d43 lat_0=38d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1502: kansas south: nad27 +<1502> proj=lcc datum=NAD27 +lon_0=-98d30 lat_1=38d34 lat_2=37d16 lat_0=36d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1601: kentucky north: nad27 +<1601> proj=lcc datum=NAD27 +lon_0=-84d15 lat_1=38d58 lat_2=37d58 lat_0=37d30 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1602: kentucky south: nad27 +<1602> proj=lcc datum=NAD27 +lon_0=-85d45 lat_1=37d56 lat_2=36d44 lat_0=36d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1701: louisiana north: nad27 +<1701> proj=lcc datum=NAD27 +lon_0=-92d30 lat_1=32d40 lat_2=31d10 lat_0=30d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1702: louisiana south: nad27 +<1702> proj=lcc datum=NAD27 +lon_0=-91d20 lat_1=30d42 lat_2=29d18 lat_0=28d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1703: louisiana offshore: nad27 +<1703> proj=lcc datum=NAD27 +lon_0=-91d20 lat_1=27d50 lat_2=26d10 lat_0=25d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 1801: maine east: nad27 +<1801> proj=tmerc datum=NAD27 +lon_0=-68d30 lat_0=43d50 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1802: maine west: nad27 +<1802> proj=tmerc datum=NAD27 +lon_0=-70d10 lat_0=42d50 k=.9999666666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 1900: maryland ---: nad27 +<1900> proj=lcc datum=NAD27 +lon_0=-77 lat_1=39d27 lat_2=38d18 lat_0=37d50 +x_0=243840.4876809754 y_0=0 +no_defs <> + +# 2001: massachusetts mainland: nad27 +<2001> proj=lcc datum=NAD27 +lon_0=-71d30 lat_1=42d41 lat_2=41d43 lat_0=41 +x_0=182880.3657607315 y_0=0 +no_defs <> + +# 2002: massachusetts island: nad27 +<2002> proj=lcc datum=NAD27 +lon_0=-70d30 lat_1=41d29 lat_2=41d17 lat_0=41 +x_0=60960.12192024384 y_0=0 +no_defs <> + +# 2101: michigan east: nad27 +<2101> proj=tmerc datum=NAD27 +lon_0=-83d40 lat_0=41d30 k=.9999428571428571 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2102: michigan central/m: nad27 +<2102> proj=tmerc datum=NAD27 +lon_0=-85d45 lat_0=41d30 k=.9999090909090909 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2103: michigan west: nad27 +<2103> proj=tmerc datum=NAD27 +lon_0=-88d45 lat_0=41d30 k=.9999090909090909 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2111: michigan north: nad27 +<2111> proj=lcc a=6378450.047 es=.006768657997291094 +lon_0=-87 lat_1=47d5 lat_2=45d29 lat_0=44d47 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2112: michigan central/l: nad27 +<2112> proj=lcc a=6378450.047 es=.006768657997291094 +lon_0=-84d20 lat_1=45d42 lat_2=44d11 lat_0=43d19 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2113: michigan south: nad27 +<2113> proj=lcc a=6378450.047 es=.006768657997291094 +lon_0=-84d20 lat_1=43d40 lat_2=42d6 lat_0=41d30 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2201: minnesota north: nad27 +<2201> proj=lcc datum=NAD27 +lon_0=-93d6 lat_1=48d38 lat_2=47d2 lat_0=46d30 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2202: minnesota central: nad27 +<2202> proj=lcc datum=NAD27 +lon_0=-94d15 lat_1=47d3 lat_2=45d37 lat_0=45 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2203: minnesota south: nad27 +<2203> proj=lcc datum=NAD27 +lon_0=-94 lat_1=45d13 lat_2=43d47 lat_0=43 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2301: mississippi east: nad27 +<2301> proj=tmerc datum=NAD27 +lon_0=-88d50 lat_0=29d40 k=.99996 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2302: mississippi west: nad27 +<2302> proj=tmerc datum=NAD27 +lon_0=-90d20 lat_0=30d30 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2401: missouri east: nad27 +<2401> proj=tmerc datum=NAD27 +lon_0=-90d30 lat_0=35d50 k=.9999333333333333 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2402: missouri central: nad27 +<2402> proj=tmerc datum=NAD27 +lon_0=-92d30 lat_0=35d50 k=.9999333333333333 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2403: missouri west: nad27 +<2403> proj=tmerc datum=NAD27 +lon_0=-94d30 lat_0=36d10 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2501: montana north: nad27 +<2501> proj=lcc datum=NAD27 +lon_0=-109d30 lat_1=48d43 lat_2=47d51 lat_0=47 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2502: montana central: nad27 +<2502> proj=lcc datum=NAD27 +lon_0=-109d30 lat_1=47d53 lat_2=46d27 lat_0=45d50 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2503: montana south: nad27 +<2503> proj=lcc datum=NAD27 +lon_0=-109d30 lat_1=46d24 lat_2=44d52 lat_0=44 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2601: nebraska north: nad27 +<2601> proj=lcc datum=NAD27 +lon_0=-100 lat_1=42d49 lat_2=41d51 lat_0=41d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2602: nebraska south: nad27 +<2602> proj=lcc datum=NAD27 +lon_0=-99d30 lat_1=41d43 lat_2=40d17 lat_0=39d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 2701: nevada east: nad27 +<2701> proj=tmerc datum=NAD27 +lon_0=-115d35 lat_0=34d45 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2702: nevada central: nad27 +<2702> proj=tmerc datum=NAD27 +lon_0=-116d40 lat_0=34d45 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2703: nevada west: nad27 +<2703> proj=tmerc datum=NAD27 +lon_0=-118d35 lat_0=34d45 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2800: new hampshire ---: nad27 +<2800> proj=tmerc datum=NAD27 +lon_0=-71d40 lat_0=42d30 k=.9999666666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 2900: new jersey ---: nad27 +<2900> proj=tmerc datum=NAD27 +lon_0=-74d40 lat_0=38d50 k=.999975 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3001: new mexico east: nad27 +<3001> proj=tmerc datum=NAD27 +lon_0=-104d20 lat_0=31 k=.9999090909090909 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 3002: new mexico central: nad27 +<3002> proj=tmerc datum=NAD27 +lon_0=-106d15 lat_0=31 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 3003: new mexico west: nad27 +<3003> proj=tmerc datum=NAD27 +lon_0=-107d50 lat_0=31 k=.9999166666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 3101: new york east: nad27 +<3101> proj=tmerc datum=NAD27 +lon_0=-74d20 lat_0=40 k=.9999666666666667 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 3102: new york central: nad27 +<3102> proj=tmerc datum=NAD27 +lon_0=-76d35 lat_0=40 k=.9999375 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 3103: new york west: nad27 +<3103> proj=tmerc datum=NAD27 +lon_0=-78d35 lat_0=40 k=.9999375 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 3104: new york long island: nad27 +<3104> proj=lcc datum=NAD27 +lon_0=-74 lat_1=41d2 lat_2=40d40 lat_0=40d30 +x_0=609601.2192024384 y_0=30480.06096012192 +no_defs <> + +# 3200: north carolina ---: nad27 +<3200> proj=lcc datum=NAD27 +lon_0=-79 lat_1=36d10 lat_2=34d20 lat_0=33d45 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3301: north dakota north: nad27 +<3301> proj=lcc datum=NAD27 +lon_0=-100d30 lat_1=48d44 lat_2=47d26 lat_0=47 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3302: north dakota south: nad27 +<3302> proj=lcc datum=NAD27 +lon_0=-100d30 lat_1=47d29 lat_2=46d11 lat_0=45d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3401: ohio north: nad27 +<3401> proj=lcc datum=NAD27 +lon_0=-82d30 lat_1=41d42 lat_2=40d26 lat_0=39d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3402: ohio south: nad27 +<3402> proj=lcc datum=NAD27 +lon_0=-82d30 lat_1=40d2 lat_2=38d44 lat_0=38 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3501: oklahoma north: nad27 +<3501> proj=lcc datum=NAD27 +lon_0=-98 lat_1=36d46 lat_2=35d34 lat_0=35 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3502: oklahoma south: nad27 +<3502> proj=lcc datum=NAD27 +lon_0=-98 lat_1=35d14 lat_2=33d56 lat_0=33d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3601: oregon north: nad27 +<3601> proj=lcc datum=NAD27 +lon_0=-120d30 lat_1=46 lat_2=44d20 lat_0=43d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3602: oregon south: nad27 +<3602> proj=lcc datum=NAD27 +lon_0=-120d30 lat_1=44 lat_2=42d20 lat_0=41d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3701: pennsylvania north: nad27 +<3701> proj=lcc datum=NAD27 +lon_0=-77d45 lat_1=41d57 lat_2=40d53 lat_0=40d10 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3702: pennsylvania south: nad27 +<3702> proj=lcc datum=NAD27 +lon_0=-77d45 lat_1=40d58 lat_2=39d56 lat_0=39d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3800: rhode island ---: nad27 +<3800> proj=tmerc datum=NAD27 +lon_0=-71d30 lat_0=41d5 k=.99999375 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 3901: south carolina north: nad27 +<3901> proj=lcc datum=NAD27 +lon_0=-81 lat_1=34d58 lat_2=33d46 lat_0=33 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 3902: south carolina south: nad27 +<3902> proj=lcc datum=NAD27 +lon_0=-81 lat_1=33d40 lat_2=32d20 lat_0=31d50 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4001: south dakota north: nad27 +<4001> proj=lcc datum=NAD27 +lon_0=-100 lat_1=45d41 lat_2=44d25 lat_0=43d50 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4002: south dakota south: nad27 +<4002> proj=lcc datum=NAD27 +lon_0=-100d20 lat_1=44d24 lat_2=42d50 lat_0=42d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4100: tennessee ---: nad27 +<4100> proj=lcc datum=NAD27 +lon_0=-86 lat_1=36d25 lat_2=35d15 lat_0=34d40 +x_0=609601.2192024384 y_0=30480.06096012192 +no_defs <> + +# 4201: texas north: nad27 +<4201> proj=lcc datum=NAD27 +lon_0=-101d30 lat_1=36d11 lat_2=34d39 lat_0=34 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4202: texas north central: nad27 +<4202> proj=lcc datum=NAD27 +lon_0=-97d30 lat_1=33d58 lat_2=32d8 lat_0=31d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4203: texas central: nad27 +<4203> proj=lcc datum=NAD27 +lon_0=-100d20 lat_1=31d53 lat_2=30d7 lat_0=29d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4204: texas south central: nad27 +<4204> proj=lcc datum=NAD27 +lon_0=-99 lat_1=30d17 lat_2=28d23 lat_0=27d50 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4205: texas south: nad27 +<4205> proj=lcc datum=NAD27 +lon_0=-98d30 lat_1=27d50 lat_2=26d10 lat_0=25d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4301: utah north: nad27 +<4301> proj=lcc datum=NAD27 +lon_0=-111d30 lat_1=41d47 lat_2=40d43 lat_0=40d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4302: utah central: nad27 +<4302> proj=lcc datum=NAD27 +lon_0=-111d30 lat_1=40d39 lat_2=39d1 lat_0=38d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4303: utah south: nad27 +<4303> proj=lcc datum=NAD27 +lon_0=-111d30 lat_1=38d21 lat_2=37d13 lat_0=36d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4400: vermont ---: nad27 +<4400> proj=tmerc datum=NAD27 +lon_0=-72d30 lat_0=42d30 k=.9999642857142857 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 4501: virginia north: nad27 +<4501> proj=lcc datum=NAD27 +lon_0=-78d30 lat_1=39d12 lat_2=38d2 lat_0=37d40 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4502: virginia south: nad27 +<4502> proj=lcc datum=NAD27 +lon_0=-78d30 lat_1=37d58 lat_2=36d46 lat_0=36d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4601: washington north: nad27 +<4601> proj=lcc datum=NAD27 +lon_0=-120d50 lat_1=48d44 lat_2=47d30 lat_0=47 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4602: washington south: nad27 +<4602> proj=lcc datum=NAD27 +lon_0=-120d30 lat_1=47d20 lat_2=45d50 lat_0=45d20 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4701: west virginia north: nad27 +<4701> proj=lcc datum=NAD27 +lon_0=-79d30 lat_1=40d15 lat_2=39 lat_0=38d30 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4702: west virginia south: nad27 +<4702> proj=lcc datum=NAD27 +lon_0=-81 lat_1=38d53 lat_2=37d29 lat_0=37 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4801: wisconsin north: nad27 +<4801> proj=lcc datum=NAD27 +lon_0=-90 lat_1=46d46 lat_2=45d34 lat_0=45d10 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4802: wisconsin central: nad27 +<4802> proj=lcc datum=NAD27 +lon_0=-90 lat_1=45d30 lat_2=44d15 lat_0=43d50 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4803: wisconsin south: nad27 +<4803> proj=lcc datum=NAD27 +lon_0=-90 lat_1=44d4 lat_2=42d44 lat_0=42 +x_0=609601.2192024384 y_0=0 +no_defs <> + +# 4901: wyoming east: nad27 +<4901> proj=tmerc datum=NAD27 +lon_0=-105d10 lat_0=40d40 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 4902: wyoming east central: nad27 +<4902> proj=tmerc datum=NAD27 +lon_0=-107d20 lat_0=40d40 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 4903: wyoming west central: nad27 +<4903> proj=tmerc datum=NAD27 +lon_0=-108d45 lat_0=40d40 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 4904: wyoming west: nad27 +<4904> proj=tmerc datum=NAD27 +lon_0=-110d5 lat_0=40d40 k=.9999411764705882 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5001: alaska zone no. 1: nad27 +<5001> proj=omerc datum=NAD27 +k=.9999 lonc=-133d40 lat_0=57 alpha=-36d52'11.6315 +x_0=818585.5672270928 y_0=575219.2451072642 +no_defs <> + +# 5002: alaska zone no. 2: nad27 +<5002> proj=tmerc datum=NAD27 +lon_0=-142 lat_0=54 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5003: alaska zone no. 3: nad27 +<5003> proj=tmerc datum=NAD27 +lon_0=-146 lat_0=54 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5004: alaska zone no. 4: nad27 +<5004> proj=tmerc datum=NAD27 +lon_0=-150 lat_0=54 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5005: alaska zone no. 5: nad27 +<5005> proj=tmerc datum=NAD27 +lon_0=-154 lat_0=54 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5006: alaska zone no. 6: nad27 +<5006> proj=tmerc datum=NAD27 +lon_0=-158 lat_0=54 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5007: alaska zone no. 7: nad27 +<5007> proj=tmerc datum=NAD27 +lon_0=-162 lat_0=54 k=.9999 +x_0=213360.4267208534 y_0=0 +no_defs <> + +# 5008: alaska zone no. 8: nad27 +<5008> proj=tmerc datum=NAD27 +lon_0=-166 lat_0=54 k=.9999 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5009: alaska zone no. 9: nad27 +<5009> proj=tmerc datum=NAD27 +lon_0=-170 lat_0=54 k=.9999 +x_0=182880.3657607315 y_0=0 +no_defs <> + +# 5201: puerto rico and virgin islands: nad27 +<5201> proj=lcc datum=NAD27 +lon_0=-66d26 lat_1=18d26 lat_2=18d2 lat_0=17d50 +x_0=152400.3048006096 y_0=0 +no_defs <> + +# 5202: virgin islands st. croix: nad27 +<5202> proj=lcc datum=NAD27 +lon_0=-66d26 lat_1=18d26 lat_2=18d2 lat_0=17d50 +x_0=152400.3048006096 y_0=30480.06096012192 +no_defs <> + +# 5400: guam island: nad27 +<5400> proj=poly datum=NAD27 +x_0=50000 y_0=50000 lon_0=144d44'55.50254 lat_0=13d28'20.87887 +no_defs <> + diff --git a/src/3rdparty/proj/proj_data/nad83 b/src/3rdparty/proj/proj_data/nad83 new file mode 100644 index 00000000..e740a4d5 --- /dev/null +++ b/src/3rdparty/proj/proj_data/nad83 @@ -0,0 +1,744 @@ +# SCCSID @(#)nad83 4.1 92/12/20 GIE +# proj +init files for: +# +# State Plane Coordinate Systems, +# North American Datum 1983 + +# 101: alabama east: nad83 +<101> proj=tmerc datum=NAD83 +lon_0=-85d50 lat_0=30d30 k=.99996 +x_0=200000 y_0=0 +no_defs <> + +# 102: alabama west: nad83 +<102> proj=tmerc datum=NAD83 +lon_0=-87d30 lat_0=30 k=.9999333333333333 +x_0=600000 y_0=0 +no_defs <> + +# 5010: alaska zone no. 10: nad83 +<5010> proj=lcc datum=NAD83 +lon_0=-176 lat_1=53d50 lat_2=51d50 lat_0=51 +x_0=1000000 y_0=0 +no_defs <> + +# 201: arizona east: nad83 +<201> proj=tmerc datum=NAD83 +lon_0=-110d10 lat_0=31 k=.9999 +x_0=213360 y_0=0 +no_defs <> + +# 202: arizona central: nad83 +<202> proj=tmerc datum=NAD83 +lon_0=-111d55 lat_0=31 k=.9999 +x_0=213360 y_0=0 +no_defs <> + +# 203: arizona west: nad83 +<203> proj=tmerc datum=NAD83 +lon_0=-113d45 lat_0=31 k=.9999333333333333 +x_0=213360 y_0=0 +no_defs <> + +# 301: arkansas north: nad83 +<301> proj=lcc datum=NAD83 +lon_0=-92 lat_1=36d14 lat_2=34d56 lat_0=34d20 +x_0=400000 y_0=0 +no_defs <> + +# 302: arkansas south: nad83 +<302> proj=lcc datum=NAD83 +lon_0=-92 lat_1=34d46 lat_2=33d18 lat_0=32d40 +x_0=400000 y_0=400000 +no_defs <> + +# 401: california i: nad83 +<401> proj=lcc datum=NAD83 +lon_0=-122 lat_1=41d40 lat_2=40 lat_0=39d20 +x_0=2000000 y_0=500000 +no_defs <> + +# 402: california ii: nad83 +<402> proj=lcc datum=NAD83 +lon_0=-122 lat_1=39d50 lat_2=38d20 lat_0=37d40 +x_0=2000000 y_0=500000 +no_defs <> + +# 403: california iii: nad83 +<403> proj=lcc datum=NAD83 +lon_0=-120d30 lat_1=38d26 lat_2=37d4 lat_0=36d30 +x_0=2000000 y_0=500000 +no_defs <> + +# 404: california iv: nad83 +<404> proj=lcc datum=NAD83 +lon_0=-119 lat_1=37d15 lat_2=36 lat_0=35d20 +x_0=2000000 y_0=500000 +no_defs <> + +# 405: california v: nad83 +<405> proj=lcc datum=NAD83 +lon_0=-118 lat_1=35d28 lat_2=34d2 lat_0=33d30 +x_0=2000000 y_0=500000 +no_defs <> + +# 406: california vi: nad83 +<406> proj=lcc datum=NAD83 +lon_0=-116d15 lat_1=33d53 lat_2=32d47 lat_0=32d10 +x_0=2000000 y_0=500000 +no_defs <> + +# 501: colorado north: nad83 +<501> proj=lcc datum=NAD83 +lon_0=-105d30 lat_1=40d47 lat_2=39d43 lat_0=39d20 +x_0=914401.8289 y_0=304800.6096 +no_defs <> + +# 502: colorado central: nad83 +<502> proj=lcc datum=NAD83 +lon_0=-105d30 lat_1=39d45 lat_2=38d27 lat_0=37d50 +x_0=914401.8289 y_0=304800.6096 +no_defs <> + +# 503: colorado south: nad83 +<503> proj=lcc datum=NAD83 +lon_0=-105d30 lat_1=38d26 lat_2=37d14 lat_0=36d40 +x_0=914401.8289 y_0=304800.6096 +no_defs <> + +# 600: connecticut ---: nad83 +<600> proj=lcc datum=NAD83 +lon_0=-72d45 lat_1=41d52 lat_2=41d12 lat_0=40d50 +x_0=304800.6096 y_0=152400.3048 +no_defs <> + +# 700: delaware ---: nad83 +<700> proj=tmerc datum=NAD83 +lon_0=-75d25 lat_0=38 k=.999995 +x_0=200000 y_0=0 +no_defs <> + +# 901: florida east: nad83 +<901> proj=tmerc datum=NAD83 +lon_0=-81 lat_0=24d20 k=.9999411764705882 +x_0=200000 y_0=0 +no_defs <> + +# 902: florida west: nad83 +<902> proj=tmerc datum=NAD83 +lon_0=-82 lat_0=24d20 k=.9999411764705882 +x_0=200000 y_0=0 +no_defs <> + +# 903: florida north: nad83 +<903> proj=lcc datum=NAD83 +lon_0=-84d30 lat_1=30d45 lat_2=29d35 lat_0=29 +x_0=600000 y_0=0 +no_defs <> + +# 1001: georgia east: nad83 +<1001> proj=tmerc datum=NAD83 +lon_0=-82d10 lat_0=30 k=.9999 +x_0=200000 y_0=0 +no_defs <> + +# 1002: georgia west: nad83 +<1002> proj=tmerc datum=NAD83 +lon_0=-84d10 lat_0=30 k=.9999 +x_0=700000 y_0=0 +no_defs <> + +# 5101: hawaii 1: nad83 +<5101> proj=tmerc datum=NAD83 +lon_0=-155d30 lat_0=18d50 k=.9999666666666667 +x_0=500000 y_0=0 +no_defs <> + +# 5102: hawaii 2: nad83 +<5102> proj=tmerc datum=NAD83 +lon_0=-156d40 lat_0=20d20 k=.9999666666666667 +x_0=500000 y_0=0 +no_defs <> + +# 5103: hawaii 3: nad83 +<5103> proj=tmerc datum=NAD83 +lon_0=-158 lat_0=21d10 k=.99999 +x_0=500000 y_0=0 +no_defs <> + +# 5104: hawaii 4: nad83 +<5104> proj=tmerc datum=NAD83 +lon_0=-159d30 lat_0=21d50 k=.99999 +x_0=500000 y_0=0 +no_defs <> + +# 5105: hawaii 5: nad83 +<5105> proj=tmerc datum=NAD83 +lon_0=-160d10 lat_0=21d40 k=1 +x_0=500000 y_0=0 +no_defs <> + +# 1101: idaho east: nad83 +<1101> proj=tmerc datum=NAD83 +lon_0=-112d10 lat_0=41d40 k=.9999473684210526 +x_0=200000 y_0=0 +no_defs <> + +# 1102: idaho central: nad83 +<1102> proj=tmerc datum=NAD83 +lon_0=-114 lat_0=41d40 k=.9999473684210526 +x_0=500000 y_0=0 +no_defs <> + +# 1103: idaho west: nad83 +<1103> proj=tmerc datum=NAD83 +lon_0=-115d45 lat_0=41d40 k=.9999333333333333 +x_0=800000 y_0=0 +no_defs <> + +# 1201: illinois east: nad83 +<1201> proj=tmerc datum=NAD83 +lon_0=-88d20 lat_0=36d40 k=.999975 +x_0=300000 y_0=0 +no_defs <> + +# 1202: illinois west: nad83 +<1202> proj=tmerc datum=NAD83 +lon_0=-90d10 lat_0=36d40 k=.9999411764705882 +x_0=700000 y_0=0 +no_defs <> + +# 1301: indiana east: nad83 +<1301> proj=tmerc datum=NAD83 +lon_0=-85d40 lat_0=37d30 k=.9999666666666667 +x_0=100000 y_0=250000 +no_defs <> + +# 1302: indiana west: nad83 +<1302> proj=tmerc datum=NAD83 +lon_0=-87d5 lat_0=37d30 k=.9999666666666667 +x_0=900000 y_0=250000 +no_defs <> + +# 1401: iowa north: nad83 +<1401> proj=lcc datum=NAD83 +lon_0=-93d30 lat_1=43d16 lat_2=42d4 lat_0=41d30 +x_0=1500000 y_0=1000000 +no_defs <> + +# 1402: iowa south: nad83 +<1402> proj=lcc datum=NAD83 +lon_0=-93d30 lat_1=41d47 lat_2=40d37 lat_0=40 +x_0=500000 y_0=0 +no_defs <> + +# 1501: kansas north: nad83 +<1501> proj=lcc datum=NAD83 +lon_0=-98 lat_1=39d47 lat_2=38d43 lat_0=38d20 +x_0=400000 y_0=0 +no_defs <> + +# 1502: kansas south: nad83 +<1502> proj=lcc datum=NAD83 +lon_0=-98d30 lat_1=38d34 lat_2=37d16 lat_0=36d40 +x_0=400000 y_0=400000 +no_defs <> + +# 1601: kentucky north: nad83 +<1601> proj=lcc datum=NAD83 +lon_0=-84d15 lat_1=38d58 lat_2=37d58 lat_0=37d30 +x_0=500000 y_0=0 +no_defs <> + +# 1602: kentucky south: nad83 +<1602> proj=lcc datum=NAD83 +lon_0=-85d45 lat_1=37d56 lat_2=36d44 lat_0=36d20 +x_0=500000 y_0=500000 +no_defs <> + +# 1701: louisiana north: nad83 +<1701> proj=lcc datum=NAD83 +lon_0=-92d30 lat_1=32d40 lat_2=31d10 lat_0=30d30 +x_0=1000000 y_0=0 +no_defs <> + +# 1702: louisiana south: nad83 +<1702> proj=lcc datum=NAD83 +lon_0=-91d20 lat_1=30d42 lat_2=29d18 lat_0=28d30 +x_0=1000000 y_0=0 +no_defs <> + +# 1703: louisiana offshore: nad83 +<1703> proj=lcc datum=NAD83 +lon_0=-91d20 lat_1=27d50 lat_2=26d10 lat_0=25d30 +x_0=1000000 y_0=0 +no_defs <> + +# 1801: maine east: nad83 +<1801> proj=tmerc datum=NAD83 +lon_0=-68d30 lat_0=43d40 k=.9999 +x_0=300000 y_0=0 +no_defs <> + +# 1802: maine west: nad83 +<1802> proj=tmerc datum=NAD83 +lon_0=-70d10 lat_0=42d50 k=.9999666666666667 +x_0=900000 y_0=0 +no_defs <> + +# 1900: maryland ---: nad83 +<1900> proj=lcc datum=NAD83 +lon_0=-77 lat_1=39d27 lat_2=38d18 lat_0=37d40 +x_0=400000 y_0=0 +no_defs <> + +# 2001: massachusetts mainland: nad83 +<2001> proj=lcc datum=NAD83 +lon_0=-71d30 lat_1=42d41 lat_2=41d43 lat_0=41 +x_0=200000 y_0=750000 +no_defs <> + +# 2002: massachusetts island: nad83 +<2002> proj=lcc datum=NAD83 +lon_0=-70d30 lat_1=41d29 lat_2=41d17 lat_0=41 +x_0=500000 y_0=0 +no_defs <> + +# 2111: michigan north: nad83 +<2111> proj=lcc datum=NAD83 +lon_0=-87 lat_1=47d5 lat_2=45d29 lat_0=44d47 +x_0=8000000 y_0=0 +no_defs <> + +# 2112: michigan central/l: nad83 +<2112> proj=lcc datum=NAD83 +lon_0=-84d22 lat_1=45d42 lat_2=44d11 lat_0=43d19 +x_0=6000000 y_0=0 +no_defs <> + +# 2113: michigan south: nad83 +<2113> proj=lcc datum=NAD83 +lon_0=-84d22 lat_1=43d40 lat_2=42d6 lat_0=41d30 +x_0=4000000 y_0=0 +no_defs <> + +# 2201: minnesota north: nad83 +<2201> proj=lcc datum=NAD83 +lon_0=-93d6 lat_1=48d38 lat_2=47d2 lat_0=46d30 +x_0=800000 y_0=100000 +no_defs <> + +# 2202: minnesota central: nad83 +<2202> proj=lcc datum=NAD83 +lon_0=-94d15 lat_1=47d3 lat_2=45d37 lat_0=45 +x_0=800000 y_0=100000 +no_defs <> + +# 2203: minnesota south: nad83 +<2203> proj=lcc datum=NAD83 +lon_0=-94 lat_1=45d13 lat_2=43d47 lat_0=43 +x_0=800000 y_0=100000 +no_defs <> + +# 2301: mississippi east: nad83 +<2301> proj=tmerc datum=NAD83 +lon_0=-88d50 lat_0=29d30 k=.99995 +x_0=300000 y_0=0 +no_defs <> + +# 2302: mississippi west: nad83 +<2302> proj=tmerc datum=NAD83 +lon_0=-90d20 lat_0=29d30 k=.99995 +x_0=700000 y_0=0 +no_defs <> + +# 2401: missouri east: nad83 +<2401> proj=tmerc datum=NAD83 +lon_0=-90d30 lat_0=35d50 k=.9999333333333333 +x_0=250000 y_0=0 +no_defs <> + +# 2402: missouri central: nad83 +<2402> proj=tmerc datum=NAD83 +lon_0=-92d30 lat_0=35d50 k=.9999333333333333 +x_0=500000 y_0=0 +no_defs <> + +# 2403: missouri west: nad83 +<2403> proj=tmerc datum=NAD83 +lon_0=-94d30 lat_0=36d10 k=.9999411764705882 +x_0=850000 y_0=0 +no_defs <> + +# 2500: montana: nad83 +<2500> proj=lcc datum=NAD83 +lon_0=-109d30 lat_1=49 lat_2=45 lat_0=44d15 +x_0=600000 y_0=0 +no_defs <> + +# 2600: nebraska: nad83 +<2600> proj=lcc datum=NAD83 +lon_0=-100 lat_1=43 lat_2=40 lat_0=39d50 +x_0=500000 y_0=0 +no_defs <> + +# 2701: nevada east: nad83 +<2701> proj=tmerc datum=NAD83 +lon_0=-115d35 lat_0=34d45 k=.9999 +x_0=200000 y_0=8000000 +no_defs <> + +# 2702: nevada central: nad83 +<2702> proj=tmerc datum=NAD83 +lon_0=-116d40 lat_0=34d45 k=.9999 +x_0=500000 y_0=6000000 +no_defs <> + +# 2703: nevada west: nad83 +<2703> proj=tmerc datum=NAD83 +lon_0=-118d35 lat_0=34d45 k=.9999 +x_0=800000 y_0=4000000 +no_defs <> + +# 2800: new hampshire ---: nad83 +<2800> proj=tmerc datum=NAD83 +lon_0=-71d40 lat_0=42d30 k=.9999666666666667 +x_0=300000 y_0=0 +no_defs <> + +# 2900: new jersey ---: nad83 +<2900> proj=tmerc datum=NAD83 +lon_0=-74d30 lat_0=38d50 k=.9999 +x_0=150000 y_0=0 +no_defs <> + +# 3001: new mexico east: nad83 +<3001> proj=tmerc datum=NAD83 +lon_0=-104d20 lat_0=31 k=.9999090909090909 +x_0=165000 y_0=0 +no_defs <> + +# 3002: new mexico central: nad83 +<3002> proj=tmerc datum=NAD83 +lon_0=-106d15 lat_0=31 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 3003: new mexico west: nad83 +<3003> proj=tmerc datum=NAD83 +lon_0=-107d50 lat_0=31 k=.9999166666666667 +x_0=830000 y_0=0 +no_defs <> + +# 3101: new york east: nad83 +<3101> proj=tmerc datum=NAD83 +lon_0=-74d30 lat_0=38d50 k=.9999 +x_0=150000 y_0=0 +no_defs <> + +# 3102: new york central: nad83 +<3102> proj=tmerc datum=NAD83 +lon_0=-76d35 lat_0=40 k=.9999375 +x_0=250000 y_0=0 +no_defs <> + +# 3103: new york west: nad83 +<3103> proj=tmerc datum=NAD83 +lon_0=-78d35 lat_0=40 k=.9999375 +x_0=350000 y_0=0 +no_defs <> + +# 3104: new york long island: nad83 +<3104> proj=lcc datum=NAD83 +lon_0=-74 lat_1=41d2 lat_2=40d40 lat_0=40d10 +x_0=300000 y_0=0 +no_defs <> + +# 3200: north carolina ---: nad83 +<3200> proj=lcc datum=NAD83 +lon_0=-79 lat_1=36d10 lat_2=34d20 lat_0=33d45 +x_0=609601.22 y_0=0 +no_defs <> + +# 3301: north dakota north: nad83 +<3301> proj=lcc datum=NAD83 +lon_0=-100d30 lat_1=48d44 lat_2=47d26 lat_0=47 +x_0=600000 y_0=0 +no_defs <> + +# 3302: north dakota south: nad83 +<3302> proj=lcc datum=NAD83 +lon_0=-100d30 lat_1=47d29 lat_2=46d11 lat_0=45d40 +x_0=600000 y_0=0 +no_defs <> + +# 3401: ohio north: nad83 +<3401> proj=lcc datum=NAD83 +lon_0=-82d30 lat_1=41d42 lat_2=40d26 lat_0=39d40 +x_0=600000 y_0=0 +no_defs <> + +# 3402: ohio south: nad83 +<3402> proj=lcc datum=NAD83 +lon_0=-82d30 lat_1=40d2 lat_2=38d44 lat_0=38 +x_0=600000 y_0=0 +no_defs <> + +# 3501: oklahoma north: nad83 +<3501> proj=lcc datum=NAD83 +lon_0=-98 lat_1=36d46 lat_2=35d34 lat_0=35 +x_0=600000 y_0=0 +no_defs <> + +# 3502: oklahoma south: nad83 +<3502> proj=lcc datum=NAD83 +lon_0=-98 lat_1=35d14 lat_2=33d56 lat_0=33d20 +x_0=600000 y_0=0 +no_defs <> + +# 3601: oregon north: nad83 +<3601> proj=lcc datum=NAD83 +lon_0=-120d30 lat_1=46 lat_2=44d20 lat_0=43d40 +x_0=2500000 y_0=0 +no_defs <> + +# 3602: oregon south: nad83 +<3602> proj=lcc datum=NAD83 +lon_0=-120d30 lat_1=44 lat_2=42d20 lat_0=41d40 +x_0=1500000 y_0=0 +no_defs <> + +# 3701: pennsylvania north: nad83 +<3701> proj=lcc datum=NAD83 +lon_0=-77d45 lat_1=41d57 lat_2=40d53 lat_0=40d10 +x_0=600000 y_0=0 +no_defs <> + +# 3702: pennsylvania south: nad83 +<3702> proj=lcc datum=NAD83 +lon_0=-77d45 lat_1=40d58 lat_2=39d56 lat_0=39d20 +x_0=600000 y_0=0 +no_defs <> + +# 3800: rhode island ---: nad83 +<3800> proj=tmerc datum=NAD83 +lon_0=-71d30 lat_0=41d5 k=.99999375 +x_0=100000 y_0=0 +no_defs <> + +# 3900: south carolina: nad83 +<3900> proj=lcc datum=NAD83 +lon_0=-81 lat_1=34d50 lat_2=32d30 lat_0=31d50 +x_0=609600 y_0=0 +no_defs <> + +# 4001: south dakota north: nad83 +<4001> proj=lcc datum=NAD83 +lon_0=-100 lat_1=45d41 lat_2=44d25 lat_0=43d50 +x_0=600000 y_0=0 +no_defs <> + +# 4002: south dakota south: nad83 +<4002> proj=lcc datum=NAD83 +lon_0=-100d20 lat_1=44d24 lat_2=42d50 lat_0=42d20 +x_0=600000 y_0=0 +no_defs <> + +# 4100: tennessee ---: nad83 +<4100> proj=lcc datum=NAD83 +lon_0=-86 lat_1=36d25 lat_2=35d15 lat_0=34d20 +x_0=600000 y_0=0 +no_defs <> + +# 4201: texas north: nad83 +<4201> proj=lcc datum=NAD83 +lon_0=-101d30 lat_1=36d11 lat_2=34d39 lat_0=34 +x_0=200000 y_0=1000000 +no_defs <> + +# 4202: texas north central: nad83 +<4202> proj=lcc datum=NAD83 +lon_0=-98d30 lat_1=33d58 lat_2=32d8 lat_0=31d40 +x_0=600000 y_0=2000000 +no_defs <> + +# 4203: texas central: nad83 +<4203> proj=lcc datum=NAD83 +lon_0=-100d20 lat_1=31d53 lat_2=30d7 lat_0=29d40 +x_0=700000 y_0=3000000 +no_defs <> + +# 4204: texas south central: nad83 +<4204> proj=lcc datum=NAD83 +lon_0=-99 lat_1=30d17 lat_2=28d23 lat_0=27d50 +x_0=600000 y_0=4000000 +no_defs <> + +# 4205: texas south: nad83 +<4205> proj=lcc datum=NAD83 +lon_0=-98d30 lat_1=27d50 lat_2=26d10 lat_0=25d40 +x_0=300000 y_0=5000000 +no_defs <> + +# 4301: utah north: nad83 +<4301> proj=lcc datum=NAD83 +lon_0=-111d30 lat_1=41d47 lat_2=40d43 lat_0=40d20 +x_0=500000 y_0=1000000 +no_defs <> + +# 4302: utah central: nad83 +<4302> proj=lcc datum=NAD83 +lon_0=-111d30 lat_1=40d39 lat_2=39d1 lat_0=38d20 +x_0=500000 y_0=2000000 +no_defs <> + +# 4303: utah south: nad83 +<4303> proj=lcc datum=NAD83 +lon_0=-111d30 lat_1=38d21 lat_2=37d13 lat_0=36d40 +x_0=500000 y_0=3000000 +no_defs <> + +# 4400: vermont ---: nad83 +<4400> proj=tmerc datum=NAD83 +lon_0=-72d30 lat_0=42d30 k=.9999642857142857 +x_0=500000 y_0=0 +no_defs <> + +# 4501: virginia north: nad83 +<4501> proj=lcc datum=NAD83 +lon_0=-78d30 lat_1=39d12 lat_2=38d2 lat_0=37d40 +x_0=3500000 y_0=2000000 +no_defs <> + +# 4502: virginia south: nad83 +<4502> proj=lcc datum=NAD83 +lon_0=-78d30 lat_1=37d58 lat_2=36d46 lat_0=36d20 +x_0=3500000 y_0=1000000 +no_defs <> + +# 4601: washington north: nad83 +<4601> proj=lcc datum=NAD83 +lon_0=-120d50 lat_1=48d44 lat_2=47d30 lat_0=47 +x_0=500000 y_0=0 +no_defs <> + +# 4602: washington south: nad83 +<4602> proj=lcc datum=NAD83 +lon_0=-120d30 lat_1=47d20 lat_2=45d50 lat_0=45d20 +x_0=500000 y_0=0 +no_defs <> + +# 4701: west virginia north: nad83 +<4701> proj=lcc datum=NAD83 +lon_0=-79d30 lat_1=40d15 lat_2=39 lat_0=38d30 +x_0=600000 y_0=0 +no_defs <> + +# 4702: west virginia south: nad83 +<4702> proj=lcc datum=NAD83 +lon_0=-81 lat_1=38d53 lat_2=37d29 lat_0=37 +x_0=600000 y_0=0 +no_defs <> + +# 4801: wisconsin north: nad83 +<4801> proj=lcc datum=NAD83 +lon_0=-90 lat_1=46d46 lat_2=45d34 lat_0=45d10 +x_0=600000 y_0=0 +no_defs <> + +# 4802: wisconsin central: nad83 +<4802> proj=lcc datum=NAD83 +lon_0=-90 lat_1=45d30 lat_2=44d15 lat_0=43d50 +x_0=600000 y_0=0 +no_defs <> + +# 4803: wisconsin south: nad83 +<4803> proj=lcc datum=NAD83 +lon_0=-90 lat_1=44d4 lat_2=42d44 lat_0=42 +x_0=600000 y_0=0 +no_defs <> + +# 4901: wyoming east: nad83 +<4901> proj=tmerc datum=NAD83 +lon_0=-105d10 lat_0=40d30 k=.9999375 +x_0=200000 y_0=0 +no_defs <> + +# 4902: wyoming east central: nad83 +<4902> proj=tmerc datum=NAD83 +lon_0=-107d20 lat_0=40d30 k=.9999375 +x_0=400000 y_0=100000 +no_defs <> + +# 4903: wyoming west central: nad83 +<4903> proj=tmerc datum=NAD83 +lon_0=-108d45 lat_0=40d30 k=.9999375 +x_0=600000 y_0=0 +no_defs <> + +# 4904: wyoming west: nad83 +<4904> proj=tmerc datum=NAD83 +lon_0=-110d5 lat_0=40d30 k=.9999375 +x_0=800000 y_0=100000 +no_defs <> + +# 5001: alaska zone no. 1: nad83 +<5001> proj=omerc datum=NAD83 +k=.9999 lonc=-133d40 lat_0=57 alpha=-36d52'11.6315 +x_0=818676.7344011233 y_0=575097.6888751927 +no_defs <> + +# 5002: alaska zone no. 2: nad83 +<5002> proj=tmerc datum=NAD83 +lon_0=-142 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5003: alaska zone no. 3: nad83 +<5003> proj=tmerc datum=NAD83 +lon_0=-146 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5004: alaska zone no. 4: nad83 +<5004> proj=tmerc datum=NAD83 +lon_0=-150 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5005: alaska zone no. 5: nad83 +<5005> proj=tmerc datum=NAD83 +lon_0=-154 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5006: alaska zone no. 6: nad83 +<5006> proj=tmerc datum=NAD83 +lon_0=-158 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5007: alaska zone no. 7: nad83 +<5007> proj=tmerc datum=NAD83 +lon_0=-162 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5008: alaska zone no. 8: nad83 +<5008> proj=tmerc datum=NAD83 +lon_0=-166 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5009: alaska zone no. 9: nad83 +<5009> proj=tmerc datum=NAD83 +lon_0=-170 lat_0=54 k=.9999 +x_0=500000 y_0=0 +no_defs <> + +# 5200: puerto rico and virgin islands: nad83 +<5200> proj=lcc datum=NAD83 +lon_0=-66d26 lat_1=18d26 lat_2=18d2 lat_0=17d50 +x_0=200000 y_0=200000 +no_defs <> + diff --git a/src/3rdparty/proj/proj_data/other.extra b/src/3rdparty/proj/proj_data/other.extra new file mode 100644 index 00000000..168525d2 --- /dev/null +++ b/src/3rdparty/proj/proj_data/other.extra @@ -0,0 +1,49 @@ +## NAD83 / BC Albers (this has been superceeded but is kept for compatibility) +<42102> +proj=aea +ellps=GRS80 +lat_0=45 +lon_0=-126.0 +lat_1=50.0 +lat_2=58.5 +x_0=1000000.0 +y_0=0 +datum=NAD83 +units=m no_defs <> + + +# +# OGC-defined extended codes (41000--41999) +# see http://www.digitalearth.gov/wmt/auto.html +# +# WGS84 / Simple Mercator +<41001> +proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# +# CubeWerx-defined extended codes (42100--42199) +# +# WGS 84 / LCC Canada +<42101> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=0 +lon_0=-95 +x_0=0 +y_0=-8000000 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +#EPSG:42102,"PROJCS[\"NAD83 / BC Albers\",GEOGCS[\"NAD83\",DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS_1980\",6378137,298.257222101]],PRIMEM[\"Greenwich\",0],UNIT[\"Decimal_Degree\",0.0174532925199433]],PROJECTION[\"Albers_conic_equal_area\"],PARAMETER[\"central_meridian\",-126.0],PARAMETER[\"latitude_of_origin\",45],PARAMETER[\"standard_parallel_1\",50.0],PARAMETER[\"standard_parallel_2\",58.5],PARAMETER[\"false_easting\",1000000.0],PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1]]" +# WGS 84 / LCC USA +<42103> +proj=lcc +lat_1=33 +lat_2=45 +lat_0=0 +lon_0=-100 +x_0=0 +y_0=0 +ellps=WGS72 +datum=WGS84 +units=m +no_defs no_defs <> +# NAD83 / MTM zone 8 Québec +<42104> +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m +no_defs no_defs <> +# WGS84 / Merc NorthAm +<42105> +proj=merc +lat_ts=0 +lon_0=-96 +k=1.000000 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs no_defs <> +# WGS84 / Lambert Azim Mozambique +<42106> +proj=laea +lat_0=5 +lon_0=20 +x_0=0 +y_0=0 +a=6370997 +b=6370997 +datum=WGS84 +units=m +no_defs no_defs <> +# +# CubeWerx-customer definitions (42300--42399) +# +# NAD27 / Polar Stereographic / CM=-98 +<42301> +proj=stere +lat_0=90 +lon_0=-98 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# JapanOrtho.09 09 +<42302> +proj=tmerc +lat_0=36 +lon_0=139.833333333333 +k=0.999900 +x_0=0 +y_0=0 +ellps=bessel +units=m +no_defs no_defs <> +# NAD83 / Albers NorthAm +<42303> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / NRCan LCC Canada +<42304> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=49 +lon_0=-95 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# France_II +<42305> +proj=lcc +lat_1=45.898918964419 +lat_2=47.696014502038 +lat_0=46.8 +lon_0=2.337229166666667 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356514.999904194 +pm=2.337229166666667 +units=m +no_defs no_defs <> +# NAD83/QC_LCC +<42306> +proj=lcc +lat_1=46 +lat_2=60 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# NAD83 / Texas Central - feet +<42307> +proj=lcc +lat_1=31.8833333333333 +lat_2=30.1166666666667 +lat_0=29.6666666666667 +lon_0=-100.333333333333 +x_0=700000.0000000001 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs no_defs <> +# NAD27 / California Albers +<42308> +proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=clrk66 +datum=NAD27 +units=m +no_defs no_defs <> +# NAD 83 / LCC Canada AVHRR-2 +<42309> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=0 +lon_0=-95 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> +# WGS84+GRS80 / Mercator +<42310> +proj=merc +lat_ts=0 +lon_0=0 +k=1.000000 +x_0=0 +y_0=0 +ellps=GRS80 +datum=WGS84 +units=m +no_defs no_defs <> +# NAD83 / LCC Statcan +<42311> +proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666700000001 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m +no_defs no_defs <> diff --git a/src/3rdparty/proj/proj_data/proj_def.dat b/src/3rdparty/proj/proj_data/proj_def.dat new file mode 100644 index 00000000..00dff281 --- /dev/null +++ b/src/3rdparty/proj/proj_data/proj_def.dat @@ -0,0 +1,17 @@ +# Projection library defaults file +# SCCSID--- @(#)proj_def.dat 4.3 94/02/23 GIE REL" +# very preliminary version +<general> +ellps=WGS84 +<> +<aea> # Conterminous U.S. map +lat_1=29.5 +lat_2=45.5 +<> +<lcc> # Conterminous U.S. map +lat_1=33 +lat_2=45 +<> +<lagrng> +W=2 +<> diff --git a/src/3rdparty/proj/proj_data/world b/src/3rdparty/proj/proj_data/world new file mode 100644 index 00000000..2018b533 --- /dev/null +++ b/src/3rdparty/proj/proj_data/world @@ -0,0 +1,212 @@ +# SCCSID @(#)world 1.2 95/08/05 GIE REL +# proj +init files for various non-U.S. coordinate systems. +# +<CH1903> # Swiss Coordinate System + +proj=somerc +lat_0=46d57'8.660"N +lon_0=7d26'22.500"E + +ellps=bessel +x_0=600000 +y_0=200000 + +k_0=1. no_defs <> +<madagascar> # Laborde grid for Madagascar + proj=labrd ellps=intl lon_0=46d26'13.95E lat_0=18d54S + azi=18d54 k_0=.9995 x_0=400000 y_0=800000 + no_defs <> +<new_zealand> # New Zealand Map Grid (NZMG) + proj=nzmg # Projection unique to N.Z. so all factors fixed + no_defs <> +# Secondary grids DMA TM8358.1, p. 4.3 +<bwi> # British West Indies + proj=tmerc ellps=clrk80 lon_0=62W + x_0=400000 k_0=0.9995 + no_defs <> +<costa-n> # Costa Rica Norte + proj=lcc ellps=clrk66 lat_1=10d28N lon_0=84d20W + x_0=500000 y_0=217820.522 k_0=0.99995696 + no_defs <> +<costa-s> # Costa Rica Sud + proj=lcc ellps=clrk66 lat_1=9dN lon_0=83d40W + x_0=500000 y_0=327987.436 k_0=0.99995696 + no_defs <> +<cuba-n> # Cuba Norte + proj=lcc ellps=clrk66 lat_1=22d21N lon_0=81dW + x_0=500000 y_0=280296.016 k_0=0.99993602 + no_defs <> +<cuba-s> # Cuba Sud + proj=lcc ellps=clrk66 lat_1=20d43'N lon_0=76d50'W + x_0=500000 y_0=229126.939 k_0=0.99994848 + no_defs <> +<domin_rep> # Dominican Republic + proj=lcc ellps=clrk66 lat_1=18d49'N lon_0=71d30'W + x_0=500000 y_0=277063.657 k_0=0.99991102 + no_defs <> +<egypt-1> # Egypt + proj=tmerc ellps=intl lon_0=25d30'E x_0=300000 k_0=0.99985 + no_defs <> +<egypt-2> # Egypt + proj=tmerc ellps=intl lon_0=28d30'E x_0=300000 k_0=0.99985 + no_defs <> +<egypt-3> # Egypt + proj=tmerc ellps=intl lon_0=31d30'E x_0=300000 k_0=0.99985 + no_defs <> +<egypt-4> # Egypt + proj=tmerc ellps=intl lon_0=34d30'E x_0=300000 k_0=0.99985 + no_defs <> +<egypt-5> # Egypt + proj=tmerc ellps=intl lon_0=37d30'E x_0=300000 k_0=0.99985 + no_defs <> +<el_sal> # El Salvador + proj=lcc ellps=clrk66 lat_1=13d47'N lon_0=89dW + x_0=500000 y_0=295809.184 k_0=0.99996704 + no_defs <> +<guat-n> # Guatemala Norte + proj=lcc ellps=clrk66 lat_1=16d49'N lon_0=90d20'W + x_0=500000 y_0=292209.579 k_0=0.99992226 + no_defs <> +<guat-s> # Guatemala Sud + proj=lcc ellps=clrk66 lat_1=14d54'N lon_0=90d20'W + x_0=500000 y_0=325992.681 k_0=0.99989906 + no_defs <> +<haiti> # Haiti + proj=lcc ellps=clrk66 lat_1=18d49'N lon_0=71d30'W + x_0=500000 y_0=277063.657 k_0=0.99991102 + no_defs <> +<hond-n> # Honduras Norte + proj=lcc ellps=clrk66 lat_1=15d30'N lon_0=86d10'W + x_0=500000 y_0=296917.439 k_0=0.99993273 + no_defs <> +<hond-s> # Honduras Sud + proj=lcc ellps=clrk66 lat_1=13d47'N lon_0=87d10'W + x_0=500000 y_0=296215.903 k_0=0.99995140 + no_defs <> +<levant> # Levant + proj=lcc ellps=clrk66 lat_1=34d39'N lon_0=37d21'E + x_0=500000 y_0=300000 k_0=0.9996256 + no_defs <> +<nica-n> # Nicaragua Norte + proj=lcc ellps=clrk66 lat_1=13d52'N lon_0=85d30'W + x_0=500000 y_0=359891.816 k_0=0.99990314 + no_defs <> +<nica-s> # Nicaragua Sud + proj=lcc ellps=clrk66 lat_1=11d40'N lon_0=85d30'W + x_0=500000 y_0=288876.327 k_0=0.99992228 + no_defs <> +<nw-africa> # Northwest Africa + proj=lcc ellps=clrk80 lat_1=34dN lon_0=0dE + x_0=1000000 y_0=500000 k_0=0.99908 + no_defs <> +<palestine> # Palestine + proj=tmerc a=6378300.79 rf=293.488307656 + lat_0=31d44'2.749"N lon_0=35d12'43.490"E + x_0=170251.555 y_0=126867.909 k_0=1 + no_defs <> +<panama> # Panama + proj=lcc ellps=clrk66 lat_1=8d25'N lon_0=80dW + x_0=500000 y_0=294865.303 k_0=0.99989909 + no_defs <> +# other grids in DMA TM8358.1 +<bng> # British National Grid + proj=tmerc ellps=airy lat_0=49dN lon_0=2dW + k_0=0.9996012717 x_0=400000 y_0=-100000 + no_defs <> +<malay> # West Malaysian RSO Grid + proj=omerc a=6377295.66402 rf=300.8017 alpha=323d01'32.846" + no_uoff rot_conv lonc=102d15E lat_0=4dN k_0=0.99984 x_0=804670.240 y_0=0 + no_defs <> +<india-I> # India Zone I + proj=lcc ellps=everest lon_0=68E lat_1=32d30'N + x_0=2743185.69 y_0=914395.23 k_0=.998786408 + no_defs <> +<india-IIA> # India Zone IIA + proj=lcc ellps=everest lon_0=74E lat_1=26N + x_0=2743185.69 y_0=914395.23 k_0=.998786408 + no_defs <> +<india-IIB> # India Zone IIB + proj=lcc ellps=everest lon_0=90E lat_1=26N + x_0=2743185.69 y_0=914395.23 k_0=.998786408 + no_defs <> +<india-IIIA> # India Zone IIIA + proj=lcc ellps=everest lon_0=80E lat_1=19N + x_0=2743185.69 y_0=914395.23 k_0=.998786408 + no_defs <> +<india-IIIB> # India Zone IIIB + proj=lcc ellps=everest lon_0=100E lat_1=19N + x_0=2743185.69 y_0=914395.23 k_0=.998786408 + no_defs <> +<india-IVA> # India Zone IVA + proj=lcc ellps=everest lon_0=80E lat_1=12N + x_0=2743185.69 y_0=914395.23 k_0=.998786408 + no_defs <> +<india-IVB> # India Zone IVB + proj=lcc ellps=everest lon_0=104E lat_1=12N + x_0=2743185.69 y_0=914395.23 k_0=.998786408 + no_defs <> +<ceylon> # Ceylon Belt + proj=tmerc ellps=everest lon_0=80d46'18.160"E lat_0=7d0'1.729"N + x_0=160933.56048 y_0=160933.56048 k_0=1. + no_defs <> +<irish> # Irish Transverse Mercator Grid + proj=tmerc ellps=mod_airy lat_0=53d30'N lon_0=8W + x_0=200000 y_0=250000 k_0=1.000035 + no_defs <> +<neiez> # Netherlands East Indies Equitorial Zone + proj=merc ellps=bessel lon_0=110E + x_0=3900000 y_0=900000 k_0=0.997 + no_defs <> +<n-alger> # Nord Algerie Grid + proj=lcc ellps=clrk80 lon_0=2d42E lat_0=36N + x_0=500000 y_0=300000 k_0=0.999625544 + no_defs <> +<n-maroc> # Nord Maroc Grid + proj=lcc ellps=clrk80 lon_0=5d24'W lat_0=33d18'N + x_0=500000 y_0=300000 k_0=0.999625769 + no_defs <> +<n-tunis> # Nord Tunisie Grid + proj=lcc ellps=clrk80 lon_0=9d54E lat_0=36N + x_0=500000 y_0=300000 k_0=0.999625544 + no_defs <> +<s-alger> # Sud Algerie Grid + proj=lcc ellps=clrk80 lon_0=2d42E lat_0=33d18'N + x_0=500000 y_0=300000 k_0=0.999625769 + no_defs <> +<s-maroc> # Sud Maroc Grid + proj=lcc ellps=clrk80 lon_0=5d24W lat_0=29d42'N + x_0=500000 y_0=300000 k_0=0.999615596 + no_defs <> +<s-tunis> # Sud Tunisie Grid + proj=lcc ellps=clrk80 lon_0=9d54'E lat_0=33d18'N + x_0=500000 y_0=300000 k_0=0.999625769 + no_defs <> +# Gauss Krueger Grid for Germany +# +# The first figure of the easting is lon_0 devided by 3 +# ( 2 for 6d0E, 3 for 9d0E, 4 for 12d0E) +# For translations you have to remove this first figure +# and convert northings and eastings from km to meter . +# The other way round, devide by 1000 and add the figure. +# I made 3 entrys for the officially used grids in Germany +# +# +# Und nochmal in deutsch : +# Die erste Ziffer des Rechtswerts beschreibt den Hauptmeridian +# und ist dessen Gradzahl geteilt durch 3. +# Zum Umrechnen in Grad muss daher die erste Ziffer des Rechtswertes +# entfernt werden und evt. von km auf Metern umgerechnet werden. +# Zur Umrechnung in Gauss Krueger Koordinaten entsprechend die +# Ziffer fuer den Hauptmeridian vor dem Rechtswert ergaenzen. +# Ich hab fuer alle drei in Deutschland ueblichen Hauptmeridiane +# jeweils einen Eintrag ergaenzt. +# +# +# added by Michael Goepel <goepel@ffm.plusline.de> +# +<gk2-d> # Gauss Krueger Grid for Germany + proj=tmerc ellps=bessel lon_0=6d0E lat_0=0 + x_0=500000 + no_defs<> +<gk3-d> # Gauss Krueger Grid for Germany + proj=tmerc ellps=bessel lon_0=9d0E lat_0=0 + x_0=500000 + no_defs<> +<gk4-d> # Gauss Krueger Grid for Germany + proj=tmerc ellps=bessel lon_0=12d0E lat_0=0 + x_0=500000 + no_defs<> + diff --git a/src/3rdparty/proj/proj_mdist.c b/src/3rdparty/proj/proj_mdist.c new file mode 100644 index 00000000..9edde83f --- /dev/null +++ b/src/3rdparty/proj/proj_mdist.c @@ -0,0 +1,123 @@ +/* +** libproj -- library of cartographic projections +** +** Copyright (c) 2003, 2006 Gerald I. Evenden +*/ +static const char +LIBPROJ_ID[] = "$Id: proj_mdist.c 1504 2009-01-06 02:11:57Z warmerdam $"; +/* +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +/* Computes distance from equator along the meridian to latitude phi +** and inverse on unit ellipsoid. +** Precision commensurate with double precision. +*/ +#define PROJ_LIB__ +#include <projects.h> +#define MAX_ITER 20 +#define TOL 1e-14 + +struct MDIST { + int nb; + double es; + double E; + double b[1]; +}; +#define B ((struct MDIST *)b) + void * +proj_mdist_ini(double es) { + double numf, numfi, twon1, denf, denfi, ens, T, twon; + double den, El, Es; + double E[MAX_ITER]; + struct MDIST *b; + int i, j; + +/* generate E(e^2) and its terms E[] */ + ens = es; + numf = twon1 = denfi = 1.; + denf = 1.; + twon = 4.; + Es = El = E[0] = 1.; + for (i = 1; i < MAX_ITER ; ++i) { + numf *= (twon1 * twon1); + den = twon * denf * denf * twon1; + T = numf/den; + Es -= (E[i] = T * ens); + ens *= es; + twon *= 4.; + denf *= ++denfi; + twon1 += 2.; + if (Es == El) /* jump out if no change */ + break; + El = Es; + } + if ((b = (struct MDIST *)malloc(sizeof(struct MDIST)+ + (i*sizeof(double)))) == NULL) + return(NULL); + b->nb = i - 1; + b->es = es; + b->E = Es; + /* generate b_n coefficients--note: collapse with prefix ratios */ + b->b[0] = Es = 1. - Es; + numf = denf = 1.; + numfi = 2.; + denfi = 3.; + for (j = 1; j < i; ++j) { + Es -= E[j]; + numf *= numfi; + denf *= denfi; + b->b[j] = Es * numf / denf; + numfi += 2.; + denfi += 2.; + } + return (b); +} + double +proj_mdist(double phi, double sphi, double cphi, const void *b) { + double sc, sum, sphi2, D; + int i; + + sc = sphi * cphi; + sphi2 = sphi * sphi; + D = phi * B->E - B->es * sc / sqrt(1. - B->es * sphi2); + sum = B->b[i = B->nb]; + while (i) sum = B->b[--i] + sphi2 * sum; + return(D + sc * sum); +} + double +proj_inv_mdist(double dist, const void *b) { + double s, t, phi, k; + int i; + + k = 1./(1.- B->es); + i = MAX_ITER; + phi = dist; + while ( i-- ) { + s = sin(phi); + t = 1. - B->es * s * s; + phi -= t = (proj_mdist(phi, s, cos(phi), b) - dist) * + (t * sqrt(t)) * k; + if (fabs(t) < TOL) /* that is no change */ + return phi; + } + /* convergence failed */ + pj_errno = -17; + return phi; +} diff --git a/src/3rdparty/proj/proj_rouss.c b/src/3rdparty/proj/proj_rouss.c new file mode 100644 index 00000000..594c237d --- /dev/null +++ b/src/3rdparty/proj/proj_rouss.c @@ -0,0 +1,122 @@ +/* +** libproj -- library of cartographic projections +** +** Copyright (c) 2003, 2006 Gerald I. Evenden +*/ +static const char +LIBPROJ_ID[] = "$Id: proj_rouss.c 1504 2009-01-06 02:11:57Z warmerdam $"; +/* +** Permission is hereby granted, free of charge, to any person obtaining +** a copy of this software and associated documentation files (the +** "Software"), to deal in the Software without restriction, including +** without limitation the rights to use, copy, modify, merge, publish, +** distribute, sublicense, and/or sell copies of the Software, and to +** permit persons to whom the Software is furnished to do so, subject to +** the following conditions: +** +** The above copyright notice and this permission notice shall be +** included in all copies or substantial portions of the Software. +** +** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +** SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +#define PROJ_PARMS__ \ + double s0; \ + double A1, A2, A3, A4, A5, A6; \ + double B1, B2, B3, B4, B5, B6, B7, B8; \ + double C1, C2, C3, C4, C5, C6, C7, C8; \ + double D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11; \ + void *en; +#define PJ_LIB__ +# include <projects.h> +PROJ_HEAD(rouss, "Roussilhe Stereographic") "\n\tAzi., Ellps."; +FORWARD(e_forward); /* ellipsoid */ + double s, al, cp, sp, al2, s2; + + cp = cos(lp.phi); + sp = sin(lp.phi); + s = proj_mdist(lp.phi, sp, cp, P->en) - P->s0; + s2 = s * s; + al = lp.lam * cp / sqrt(1. - P->es * sp * sp); + al2 = al * al; + xy.x = P->k0 * al*(1.+s2*(P->A1+s2*P->A4)-al2*(P->A2+s*P->A3+s2*P->A5 + +al2*P->A6)); + xy.y = P->k0 * (al2*(P->B1+al2*P->B4)+ + s*(1.+al2*(P->B3-al2*P->B6)+s2*(P->B2+s2*P->B8)+ + s*al2*(P->B5+s*P->B7))); + return (xy); +} +INVERSE(e_inverse); /* ellipsoid */ + double s, al, x = xy.x / P->k0, y = xy.y / P->k0, x2, y2;; + + x2 = x * x; + y2 = y * y; + al = x*(1.-P->C1*y2+x2*(P->C2+P->C3*y-P->C4*x2+P->C5*y2-P->C7*x2*y) + +y2*(P->C6*y2-P->C8*x2*y)); + s = P->s0 + y*(1.+y2*(-P->D2+P->D8*y2))+ + x2*(-P->D1+y*(-P->D3+y*(-P->D5+y*(-P->D7+y*P->D11)))+ + x2*(P->D4+y*(P->D6+y*P->D10)-x2*P->D9)); + lp.phi=proj_inv_mdist(s, P->en); + s = sin(lp.phi); + lp.lam=al * sqrt(1. - P->es * s * s)/cos(lp.phi); + return (lp); +} +FREEUP; + if (P) { + if (P->en) + free(P->en); + free(P); + } +} +ENTRY1(rouss, en) + double N0, es2, t, t2, R_R0_2, R_R0_4; + + if (!((P->en = proj_mdist_ini(P->es)))) + E_ERROR_0; + es2 = sin(P->phi0); + P->s0 = proj_mdist(P->phi0, es2, cos(P->phi0), P->en); + t = 1. - (es2 = P->es * es2 * es2); + N0 = 1./sqrt(t); + R_R0_2 = t * t / P->one_es; + R_R0_4 = R_R0_2 * R_R0_2; + t = tan(P->phi0); + t2 = t * t; + P->C1 = P->A1 = R_R0_2 / 4.; + P->C2 = P->A2 = R_R0_2 * (2 * t2 - 1. - 2. * es2) / 12.; + P->A3 = R_R0_2 * t * (1. + 4. * t2)/ ( 12. * N0); + P->A4 = R_R0_4 / 24.; + P->A5 = R_R0_4 * ( -1. + t2 * (11. + 12. * t2))/24.; + P->A6 = R_R0_4 * ( -2. + t2 * (11. - 2. * t2))/240.; + P->B1 = t / (2. * N0); + P->B2 = R_R0_2 / 12.; + P->B3 = R_R0_2 * (1. + 2. * t2 - 2. * es2)/4.; + P->B4 = R_R0_2 * t * (2. - t2)/(24. * N0); + P->B5 = R_R0_2 * t * (5. + 4.* t2)/(8. * N0); + P->B6 = R_R0_4 * (-2. + t2 * (-5. + 6. * t2))/48.; + P->B7 = R_R0_4 * (5. + t2 * (19. + 12. * t2))/24.; + P->B8 = R_R0_4 / 120.; + P->C3 = R_R0_2 * t * (1. + t2)/(3. * N0); + P->C4 = R_R0_4 * (-3. + t2 * (34. + 22. * t2))/240.; + P->C5 = R_R0_4 * (4. + t2 * (13. + 12. * t2))/24.; + P->C6 = R_R0_4 / 16.; + P->C7 = R_R0_4 * t * (11. + t2 * (33. + t2 * 16.))/(48. * N0); + P->C8 = R_R0_4 * t * (1. + t2 * 4.)/(36. * N0); + P->D1 = t / (2. * N0); + P->D2 = R_R0_2 / 12.; + P->D3 = R_R0_2 * (2 * t2 + 1. - 2. * es2) / 4.; + P->D4 = R_R0_2 * t * (1. + t2)/(8. * N0); + P->D5 = R_R0_2 * t * (1. + t2 * 2.)/(4. * N0); + P->D6 = R_R0_4 * (1. + t2 * (6. + t2 * 6.))/16.; + P->D7 = R_R0_4 * t2 * (3. + t2 * 4.)/8.; + P->D8 = R_R0_4 / 80.; + P->D9 = R_R0_4 * t * (-21. + t2 * (178. - t2 * 26.))/720.; + P->D10 = R_R0_4 * t * (29. + t2 * (86. + t2 * 48.))/(96. * N0); + P->D11 = R_R0_4 * t * (37. + t2 * 44.)/(96. * N0); + P->fwd = e_forward; + P->inv = e_inverse; + ENDENTRY(P) diff --git a/src/3rdparty/proj/rtodms.c b/src/3rdparty/proj/rtodms.c new file mode 100644 index 00000000..abf6bc1c --- /dev/null +++ b/src/3rdparty/proj/rtodms.c @@ -0,0 +1,72 @@ +/* Convert radian argument to DMS ascii format */ +#include <projects.h> +#include <stdio.h> +#include <string.h> +/* +** RES is fractional second figures +** RES60 = 60 * RES +** CONV = 180 * 3600 * RES / PI (radians to RES seconds) +*/ + static double +RES = 1000., +RES60 = 60000., +CONV = 206264806.24709635515796003417; + static char +format[50] = "%dd%d'%.3f\"%c"; + static int +dolong = 0; + void +set_rtodms(int fract, int con_w) { + int i; + + if (fract >= 0 && fract < 9 ) { + RES = 1.; + /* following not very elegant, but used infrequently */ + for (i = 0; i < fract; ++i) + RES *= 10.; + RES60 = RES * 60.; + CONV = 180. * 3600. * RES / PI; + if (! con_w) + (void)sprintf(format,"%%dd%%d'%%.%df\"%%c", fract); + else + (void)sprintf(format,"%%dd%%02d'%%0%d.%df\"%%c", + fract+2+(fract?1:0), fract); + dolong = con_w; + } +} + char * +rtodms(char *s, double r, int pos, int neg) { + int deg, min, sign; + char *ss = s; + double sec; + + if (r < 0) { + r = -r; + if (!pos) { *ss++ = '-'; sign = 0; } + else sign = neg; + } else + sign = pos; + r = floor(r * CONV + .5); + sec = fmod(r / RES, 60.); + r = floor(r / RES60); + min = fmod(r, 60.); + r = floor(r / 60.); + deg = r; + + if (dolong) + (void)sprintf(ss,format,deg,min,sec,sign); + else if (sec) { + char *p, *q; + + (void)sprintf(ss,format,deg,min,sec,sign); + for (q = p = ss + strlen(ss) - (sign ? 3 : 2); *p == '0'; --p) ; + if (*p != '.') + ++p; + if (++q != p) + (void)strcpy(p, q); + } else if (min) + (void)sprintf(ss,"%dd%d'%c",deg,min,sign); + else + (void)sprintf(ss,"%dd%c",deg, sign); + return s; +} diff --git a/src/3rdparty/proj/vector1.c b/src/3rdparty/proj/vector1.c new file mode 100644 index 00000000..30fca1ca --- /dev/null +++ b/src/3rdparty/proj/vector1.c @@ -0,0 +1,29 @@ +/* make storage for one and two dimensional matricies */ +#include <stdlib.h> +#include <projects.h> + void * /* one dimension array */ +vector1(int nvals, int size) { return((void *)pj_malloc(size * nvals)); } + void /* free 2D array */ +freev2(void **v, int nrows) { + if (v) { + for (v += nrows; nrows > 0; --nrows) + pj_dalloc(*--v); + pj_dalloc(v); + } +} + void ** /* two dimension array */ +vector2(int nrows, int ncols, int size) { + void **s; + + if (s = (void **)pj_malloc(sizeof(void *) * nrows)) { + int rsize, i; + + rsize = size * ncols; + for (i = 0; i < nrows; ++i) + if (!(s[i] = pj_malloc(rsize))) { + freev2(s, i); + return (void **)0; + } + } + return s; +} |