summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex <qt-info@nokia.com>2011-05-06 12:59:37 +1000
committerAlex <qt-info@nokia.com>2011-05-06 12:59:37 +1000
commit31a6300090cf085c55ff43a999bdc8455d2f4b1b (patch)
tree75e7471720555ddd9409a58458faa48342583348
parent336c5619c03cd338142f827ffcdaca855e35096c (diff)
downloadqtlocation-31a6300090cf085c55ff43a999bdc8455d2f4b1b.tar.gz
add snapshot of 3rdparty Proj library
support library for QtLocation
-rw-r--r--src/3rdparty/proj.pri158
-rw-r--r--src/3rdparty/proj/PJ_aea.c162
-rw-r--r--src/3rdparty/proj/PJ_aeqd.c271
-rw-r--r--src/3rdparty/proj/PJ_airy.c124
-rw-r--r--src/3rdparty/proj/PJ_aitoff.c76
-rw-r--r--src/3rdparty/proj/PJ_august.c18
-rw-r--r--src/3rdparty/proj/PJ_bacon.c41
-rw-r--r--src/3rdparty/proj/PJ_bipc.c132
-rw-r--r--src/3rdparty/proj/PJ_boggs.c32
-rw-r--r--src/3rdparty/proj/PJ_bonne.c85
-rw-r--r--src/3rdparty/proj/PJ_cass.c79
-rw-r--r--src/3rdparty/proj/PJ_cc.c19
-rw-r--r--src/3rdparty/proj/PJ_cea.c61
-rw-r--r--src/3rdparty/proj/PJ_chamb.c112
-rw-r--r--src/3rdparty/proj/PJ_collg.c29
-rw-r--r--src/3rdparty/proj/PJ_crast.c22
-rw-r--r--src/3rdparty/proj/PJ_denoy.c18
-rw-r--r--src/3rdparty/proj/PJ_eck1.c19
-rw-r--r--src/3rdparty/proj/PJ_eck2.c28
-rw-r--r--src/3rdparty/proj/PJ_eck3.c50
-rw-r--r--src/3rdparty/proj/PJ_eck4.c44
-rw-r--r--src/3rdparty/proj/PJ_eck5.c18
-rw-r--r--src/3rdparty/proj/PJ_eqc.c23
-rw-r--r--src/3rdparty/proj/PJ_eqdc.c85
-rw-r--r--src/3rdparty/proj/PJ_fahey.c17
-rw-r--r--src/3rdparty/proj/PJ_fouc_s.c45
-rw-r--r--src/3rdparty/proj/PJ_gall.c19
-rw-r--r--src/3rdparty/proj/PJ_geos.c142
-rw-r--r--src/3rdparty/proj/PJ_gins8.c17
-rw-r--r--src/3rdparty/proj/PJ_gn_sinu.c100
-rw-r--r--src/3rdparty/proj/PJ_gnom.c105
-rw-r--r--src/3rdparty/proj/PJ_goode.c46
-rw-r--r--src/3rdparty/proj/PJ_gstmerc.c48
-rw-r--r--src/3rdparty/proj/PJ_hammer.c29
-rw-r--r--src/3rdparty/proj/PJ_hatano.c50
-rw-r--r--src/3rdparty/proj/PJ_imw_p.c151
-rw-r--r--src/3rdparty/proj/PJ_krovak.c253
-rw-r--r--src/3rdparty/proj/PJ_labrd.c109
-rw-r--r--src/3rdparty/proj/PJ_laea.c233
-rw-r--r--src/3rdparty/proj/PJ_lagrng.c35
-rw-r--r--src/3rdparty/proj/PJ_larr.c12
-rw-r--r--src/3rdparty/proj/PJ_lask.c26
-rw-r--r--src/3rdparty/proj/PJ_lcc.c105
-rw-r--r--src/3rdparty/proj/PJ_lcca.c72
-rw-r--r--src/3rdparty/proj/PJ_loxim.c41
-rw-r--r--src/3rdparty/proj/PJ_lsat.c171
-rw-r--r--src/3rdparty/proj/PJ_mbt_fps.c38
-rw-r--r--src/3rdparty/proj/PJ_mbtfpp.c32
-rw-r--r--src/3rdparty/proj/PJ_mbtfpq.c47
-rw-r--r--src/3rdparty/proj/PJ_merc.c47
-rw-r--r--src/3rdparty/proj/PJ_mill.c15
-rw-r--r--src/3rdparty/proj/PJ_mod_ster.c211
-rw-r--r--src/3rdparty/proj/PJ_moll.c62
-rw-r--r--src/3rdparty/proj/PJ_nell.c31
-rw-r--r--src/3rdparty/proj/PJ_nell_h.c30
-rw-r--r--src/3rdparty/proj/PJ_nocol.c38
-rw-r--r--src/3rdparty/proj/PJ_nsper.c149
-rw-r--r--src/3rdparty/proj/PJ_nzmg.c107
-rw-r--r--src/3rdparty/proj/PJ_ob_tran.c144
-rw-r--r--src/3rdparty/proj/PJ_ocea.c68
-rw-r--r--src/3rdparty/proj/PJ_oea.c58
-rw-r--r--src/3rdparty/proj/PJ_omerc.c166
-rw-r--r--src/3rdparty/proj/PJ_ortho.c95
-rw-r--r--src/3rdparty/proj/PJ_poly.c99
-rw-r--r--src/3rdparty/proj/PJ_putp2.c40
-rw-r--r--src/3rdparty/proj/PJ_putp3.c26
-rw-r--r--src/3rdparty/proj/PJ_putp4p.c29
-rw-r--r--src/3rdparty/proj/PJ_putp5.c26
-rw-r--r--src/3rdparty/proj/PJ_putp6.c59
-rw-r--r--src/3rdparty/proj/PJ_robin.c105
-rw-r--r--src/3rdparty/proj/PJ_rpoly.c35
-rw-r--r--src/3rdparty/proj/PJ_sconics.c154
-rw-r--r--src/3rdparty/proj/PJ_somerc.c66
-rw-r--r--src/3rdparty/proj/PJ_stere.c241
-rw-r--r--src/3rdparty/proj/PJ_sterea.c82
-rw-r--r--src/3rdparty/proj/PJ_sts.c54
-rw-r--r--src/3rdparty/proj/PJ_tcc.c17
-rw-r--r--src/3rdparty/proj/PJ_tcea.c27
-rw-r--r--src/3rdparty/proj/PJ_tmerc.c175
-rw-r--r--src/3rdparty/proj/PJ_tpeqd.c76
-rw-r--r--src/3rdparty/proj/PJ_urm5.c28
-rw-r--r--src/3rdparty/proj/PJ_urmfps.c40
-rw-r--r--src/3rdparty/proj/PJ_vandg.c78
-rw-r--r--src/3rdparty/proj/PJ_vandg2.c45
-rw-r--r--src/3rdparty/proj/PJ_vandg4.c41
-rw-r--r--src/3rdparty/proj/PJ_wag2.c21
-rw-r--r--src/3rdparty/proj/PJ_wag3.c24
-rw-r--r--src/3rdparty/proj/PJ_wag7.c14
-rw-r--r--src/3rdparty/proj/PJ_wink1.c20
-rw-r--r--src/3rdparty/proj/PJ_wink2.c34
-rw-r--r--src/3rdparty/proj/aasincos.c33
-rw-r--r--src/3rdparty/proj/adjlon.c15
-rw-r--r--src/3rdparty/proj/bch2bps.c140
-rw-r--r--src/3rdparty/proj/bchgen.c58
-rw-r--r--src/3rdparty/proj/biveval.c85
-rw-r--r--src/3rdparty/proj/cs2cs.c417
-rw-r--r--src/3rdparty/proj/data.qrc15
-rw-r--r--src/3rdparty/proj/dmstor.c108
-rw-r--r--src/3rdparty/proj/emess.c57
-rw-r--r--src/3rdparty/proj/emess.h32
-rw-r--r--src/3rdparty/proj/gen_cheb.c71
-rw-r--r--src/3rdparty/proj/geocent.c435
-rw-r--r--src/3rdparty/proj/geocent.h179
-rw-r--r--src/3rdparty/proj/geod.c237
-rw-r--r--src/3rdparty/proj/geod_for.c103
-rw-r--r--src/3rdparty/proj/geod_inv.c56
-rw-r--r--src/3rdparty/proj/geod_set.c74
-rw-r--r--src/3rdparty/proj/geodesic.h51
-rw-r--r--src/3rdparty/proj/include/pj_list.h136
-rw-r--r--src/3rdparty/proj/include/proj_api.h108
-rw-r--r--src/3rdparty/proj/include/projects.h434
-rw-r--r--src/3rdparty/proj/mk_cheby.c161
-rw-r--r--src/3rdparty/proj/nad2bin.c65
-rw-r--r--src/3rdparty/proj/nad2nad.c310
-rw-r--r--src/3rdparty/proj/nad_cvt.c68
-rw-r--r--src/3rdparty/proj/nad_init.c176
-rw-r--r--src/3rdparty/proj/nad_intr.c62
-rw-r--r--src/3rdparty/proj/nad_list.h6
-rw-r--r--src/3rdparty/proj/org_proj4_Projections.h37
-rw-r--r--src/3rdparty/proj/p_series.c39
-rw-r--r--src/3rdparty/proj/pj_apply_gridshift.c151
-rw-r--r--src/3rdparty/proj/pj_auth.c30
-rw-r--r--src/3rdparty/proj/pj_datum_set.c139
-rw-r--r--src/3rdparty/proj/pj_datums.c90
-rw-r--r--src/3rdparty/proj/pj_deriv.c33
-rw-r--r--src/3rdparty/proj/pj_ell_set.c102
-rw-r--r--src/3rdparty/proj/pj_ellps.c56
-rw-r--r--src/3rdparty/proj/pj_errno.c17
-rw-r--r--src/3rdparty/proj/pj_factors.c84
-rw-r--r--src/3rdparty/proj/pj_fwd.c34
-rw-r--r--src/3rdparty/proj/pj_gauss.c94
-rw-r--r--src/3rdparty/proj/pj_geocent.c57
-rw-r--r--src/3rdparty/proj/pj_gridinfo.c686
-rw-r--r--src/3rdparty/proj/pj_gridlist.c266
-rw-r--r--src/3rdparty/proj/pj_init.c416
-rw-r--r--src/3rdparty/proj/pj_initcache.c181
-rw-r--r--src/3rdparty/proj/pj_inv.c29
-rw-r--r--src/3rdparty/proj/pj_latlong.c80
-rw-r--r--src/3rdparty/proj/pj_list.c11
-rw-r--r--src/3rdparty/proj/pj_malloc.c25
-rw-r--r--src/3rdparty/proj/pj_mlfn.c57
-rw-r--r--src/3rdparty/proj/pj_msfn.c7
-rw-r--r--src/3rdparty/proj/pj_mutex.c208
-rw-r--r--src/3rdparty/proj/pj_open_lib_qt.cpp86
-rw-r--r--src/3rdparty/proj/pj_param.c104
-rw-r--r--src/3rdparty/proj/pj_phi2.c25
-rw-r--r--src/3rdparty/proj/pj_pr_list.c91
-rw-r--r--src/3rdparty/proj/pj_qsfn.c16
-rw-r--r--src/3rdparty/proj/pj_release.c11
-rw-r--r--src/3rdparty/proj/pj_strerrno.c82
-rw-r--r--src/3rdparty/proj/pj_transform.c646
-rw-r--r--src/3rdparty/proj/pj_tsfn.c10
-rw-r--r--src/3rdparty/proj/pj_units.c37
-rw-r--r--src/3rdparty/proj/pj_utils.c156
-rw-r--r--src/3rdparty/proj/pj_zpoly1.c46
-rw-r--r--src/3rdparty/proj/proj.c499
-rw-r--r--src/3rdparty/proj/proj.def41
-rw-r--r--src/3rdparty/proj/proj_data/GL2722
-rw-r--r--src/3rdparty/proj/proj_data/IGNF469
-rw-r--r--src/3rdparty/proj/proj_data/epsg7631
-rw-r--r--src/3rdparty/proj/proj_data/esri5937
-rw-r--r--src/3rdparty/proj/proj_data/esri.extra952
-rw-r--r--src/3rdparty/proj/proj_data/nad.lst142
-rw-r--r--src/3rdparty/proj/proj_data/nad27809
-rw-r--r--src/3rdparty/proj/proj_data/nad83744
-rw-r--r--src/3rdparty/proj/proj_data/other.extra49
-rw-r--r--src/3rdparty/proj/proj_data/proj_def.dat17
-rw-r--r--src/3rdparty/proj/proj_data/world212
-rw-r--r--src/3rdparty/proj/proj_mdist.c123
-rw-r--r--src/3rdparty/proj/proj_rouss.c122
-rw-r--r--src/3rdparty/proj/rtodms.c72
-rw-r--r--src/3rdparty/proj/vector1.c29
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;
+}