aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@mines-paris.org>2018-12-03 17:20:48 +0100
committerGitHub <noreply@github.com>2018-12-03 17:20:48 +0100
commitd0506e19a71888f7f0c3aa8618d919624e754c4d (patch)
tree4468cd5ef29f3f7f6ce2ed950b5d1938cfbf84b5
parent4794d755a8dea4f4501c61e896e1829bb720e69a (diff)
parentba111ac8323ff194039a06db87d1fb17ed8175b3 (diff)
downloadPROJ-d0506e19a71888f7f0c3aa8618d919624e754c4d.tar.gz
PROJ-d0506e19a71888f7f0c3aa8618d919624e754c4d.zip
Merge pull request #1182 from rouault/plug_new_code
Remove data/epsg, IGNF and esri.* files / support legacy +init=epsg:XXXX syntax
-rw-r--r--Doxyfile2
-rw-r--r--cmake/ProjTest.cmake2
-rw-r--r--configure.ac6
-rw-r--r--data/CMakeLists.txt6
-rw-r--r--data/IGNF488
-rw-r--r--data/Makefile.am10
-rw-r--r--data/epsg11731
-rw-r--r--data/esri5938
-rw-r--r--data/esri.extra948
-rw-r--r--data/sql/esri.sql1
-rw-r--r--data/sql/metadata.sql4
-rw-r--r--include/proj/coordinateoperation.hpp14
-rw-r--r--include/proj/coordinatesystem.hpp29
-rw-r--r--include/proj/crs.hpp13
-rw-r--r--include/proj/internal/internal.hpp2
-rw-r--r--include/proj/io.hpp27
-rwxr-xr-xscripts/build_db_from_esri.py3
-rwxr-xr-xscripts/create_c_api_projections.py70
-rwxr-xr-xscripts/reformat_cpp.sh2
-rw-r--r--src/Makefile.am4
-rw-r--r--src/bin_cs2cs.cmake2
-rw-r--r--src/c_api.cpp4720
-rw-r--r--src/coordinateoperation.cpp362
-rw-r--r--src/coordinatesystem.cpp97
-rw-r--r--src/crs.cpp313
-rw-r--r--src/cs2cs.c463
-rw-r--r--src/cs2cs.cpp636
-rw-r--r--src/emess.h8
-rw-r--r--src/factory.cpp47
-rw-r--r--src/gie.c646
-rw-r--r--src/io.cpp802
-rw-r--r--src/lib_proj.cmake3
-rw-r--r--src/pj_apply_gridshift.c2
-rw-r--r--src/pj_ctx.c3
-rw-r--r--src/pj_fwd.c9
-rw-r--r--src/pj_init.c102
-rw-r--r--src/pj_transform.c6
-rw-r--r--src/proj.h875
-rw-r--r--src/proj_4D_api.c234
-rw-r--r--src/proj_experimental.h831
-rw-r--r--src/proj_symbol_rename.h12
-rw-r--r--src/projects.h13
-rw-r--r--src/projinfo.cpp68
-rw-r--r--src/rtodms.c7
-rw-r--r--test/CMakeLists.txt2
-rw-r--r--test/Makefile.am2
-rw-r--r--test/cli/CMakeLists.txt (renamed from test/old/CMakeLists.txt)0
-rw-r--r--test/cli/Makefile.am (renamed from test/old/Makefile.am)13
-rw-r--r--test/cli/ntv2_out.dist (renamed from test/old/ntv2_out.dist)0
-rw-r--r--test/cli/pj_out27.dist (renamed from test/old/pj_out27.dist)0
-rw-r--r--test/cli/pj_out83.dist (renamed from test/old/pj_out83.dist)0
-rw-r--r--test/cli/proj_outIGNF.dist (renamed from test/old/proj_outIGNF.dist)42
-rw-r--r--test/cli/td_out.dist (renamed from test/old/td_out.dist)0
-rwxr-xr-xtest/cli/test27 (renamed from test/old/test27)4
-rwxr-xr-xtest/cli/test83 (renamed from test/old/test83)4
-rwxr-xr-xtest/cli/testIGNF (renamed from test/old/testIGNF)16
-rwxr-xr-xtest/cli/testdatumfile (renamed from test/old/testdatumfile)8
-rwxr-xr-xtest/cli/testflaky (renamed from test/old/testflaky)4
-rwxr-xr-xtest/cli/testntv2 (renamed from test/old/testntv2)4
-rwxr-xr-xtest/cli/testprojinfo67
-rw-r--r--test/cli/testprojinfo_out.dist480
-rwxr-xr-xtest/cli/testvarious (renamed from test/old/testvarious)28
-rw-r--r--test/cli/tf_out.dist (renamed from test/old/tf_out.dist)0
-rw-r--r--test/cli/tv_out.dist (renamed from test/old/tv_out.dist)12
-rw-r--r--test/gie/4D-API_cs2cs-style.gie2
-rw-r--r--test/gie/more_builtins.gie10
-rw-r--r--test/gigs/5101.1-jhs.gie2
-rw-r--r--test/gigs/5101.2-jhs.gie2
-rw-r--r--test/gigs/5101.3-jhs.gie2
-rw-r--r--test/gigs/5101.4-jhs-etmerc.gie2
-rw-r--r--test/gigs/5102.1.gie2
-rw-r--r--test/gigs/5103.1.gie2
-rw-r--r--test/gigs/5103.2.gie2
-rw-r--r--test/gigs/5103.3.gie2
-rw-r--r--test/gigs/5105.2.gie2
-rw-r--r--test/gigs/5106.gie2
-rw-r--r--test/gigs/5107.gie2
-rw-r--r--test/gigs/5109.gie2
-rw-r--r--test/gigs/5111.1.gie2
-rw-r--r--test/gigs/5112.gie2
-rw-r--r--test/gigs/5113.gie2
-rw-r--r--test/gigs/5201.gie2
-rw-r--r--test/gigs/5208.gie2
-rw-r--r--test/gigs/Makefile.am2
-rw-r--r--test/unit/CMakeLists.txt16
-rw-r--r--test/unit/Makefile.am26
-rw-r--r--test/unit/basic_test.cpp44
-rw-r--r--test/unit/gie_self_tests.cpp664
-rw-r--r--test/unit/main.cpp8
-rw-r--r--test/unit/pj_phi2_test.cpp3
-rw-r--r--test/unit/pj_transform_test.cpp583
-rw-r--r--test/unit/proj_errno_string_test.cpp18
-rw-r--r--test/unit/test_c_api.cpp1032
-rw-r--r--test/unit/test_crs.cpp328
-rw-r--r--test/unit/test_factory.cpp17
-rw-r--r--test/unit/test_io.cpp335
-rw-r--r--test/unit/test_operation.cpp221
97 files changed, 10245 insertions, 23345 deletions
diff --git a/Doxyfile b/Doxyfile
index cc772c2e..282030fc 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -772,7 +772,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
-INPUT = src include/proj src/proj.h src/general_doc.dox
+INPUT = src include/proj src/proj.h src/proj_experimental.h src/general_doc.dox
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/cmake/ProjTest.cmake b/cmake/ProjTest.cmake
index 9d886f5e..46c4e515 100644
--- a/cmake/ProjTest.cmake
+++ b/cmake/ProjTest.cmake
@@ -23,7 +23,7 @@ function(proj_add_test_script_sh SH_NAME BIN_USE)
if(${TEST_OK})
add_test( NAME "${testname}"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/data
- COMMAND ${PROJECT_SOURCE_DIR}/test/old/${SH_NAME}
+ COMMAND ${PROJECT_SOURCE_DIR}/test/cli/${SH_NAME}
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${${BIN_USE}}
)
endif(${TEST_OK})
diff --git a/configure.ac b/configure.ac
index 31cb2a8a..4b400858 100644
--- a/configure.ac
+++ b/configure.ac
@@ -151,10 +151,10 @@ AC_MSG_CHECKING([to enable LTO (link time optimization) build])
AC_ARG_ENABLE(lto,
AS_HELP_STRING([--enable-lto],
- [enable LTO(link time optimization) (enabled by default)]))
+ [enable LTO(link time optimization) (disabled by default)]))
FLTO_FLAG=""
-if test "x$enable_lto" = "xyes" -o "x$enable_lto" = "x"; then
+if test "x$enable_lto" = "xyes"; then
AC_LANG_PUSH([C++])
AX_CHECK_COMPILE_FLAG([-flto], [FLTO_FLAG="-flto"],,[$ERROR_ON_UNKNOWN_OPTIONS])
if test "$FLTO_FLAG" != ""; then
@@ -351,7 +351,7 @@ dnl Generate files
dnl ---------------------------------------------------------------------------
AC_CONFIG_FILES([Makefile cmake/Makefile src/Makefile include/Makefile include/proj/Makefile include/proj/internal/Makefile
- test/Makefile test/old/Makefile test/gie/Makefile test/gigs/Makefile test/unit/Makefile
+ test/Makefile test/cli/Makefile test/gie/Makefile test/gigs/Makefile test/unit/Makefile
test/googletest/Makefile test/googletest/include/Makefile
test/googletest/include/gtest/Makefile
test/googletest/include/gtest/internal/Makefile
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index d7d1486f..fe256ba7 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -2,12 +2,8 @@
# files containing dictionary of useful projection
#
-set(PROJ_DICTIONARY epsg
- esri
- world
- esri.extra
+set(PROJ_DICTIONARY world
other.extra
- IGNF
nad27
GL27
nad83
diff --git a/data/IGNF b/data/IGNF
deleted file mode 100644
index a29657fb..00000000
--- a/data/IGNF
+++ /dev/null
@@ -1,488 +0,0 @@
-<metadata> +version=1.0.0 +origin=IGNF +lastupdate=2011-11-27
-# W [AMANU49]
-# W [AMANU63]
-<AMST63> +title=Ile d'Amsterdam 1963 +proj=geocent +towgs84=109.7530,-528.1330,-362.2440 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <>
-# 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 +nadgrids=@null +wktext +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 <>
-<ETRS89> +title=Systeme de reference terrestre Europeen (1989) +proj=geocent +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +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=144.8990,-186.7700,100.9230 +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 +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <>
-<RGTAAF07> +title=Reseau Geodesique des TAAF (2007) +proj=geocent +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 <>
-<STPL69> +title=Ile de Saint-Paul 1969 +proj=geocent +towgs84=225.5710,-346.6080,-46.5670 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <>
-<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.9120,153.2820,172.0260 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <>
-# W [AMANU49GEO]
-# W [AMANU63GEO]
-<AMST63GEO> +title=Ile d'Amsterdam 1963 +proj=longlat +towgs84=109.7530,-528.1330,-362.2440 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <>
-# 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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <>
-<CSG67GEO> +title=Guyane CSG67 +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 <>
-<ETRS89GEO> +title=ETRS89 geographiques (dms) +proj=longlat +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +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=144.8990,-186.7700,100.9230 +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 +wktext +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 +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +units=m +no_defs <>
-<RGTAAF07G> +title=Reseau Geodesique des TAAF (2007) (dms) +proj=longlat +nadgrids=@null +wktext +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 <>
-<STPL69GEO> +title=Ile de Saint-Paul 1969 +proj=longlat +towgs84=225.5710,-346.6080,-46.5670 +a=6378388.0000 +rf=297.0000000000000 +units=m +no_defs <>
-<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 <>
-<TERA50G> +title=Pointe Geologie - Perroud 1950 +proj=longlat +towgs84=324.9120,153.2820,172.0260 +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 +a=6378137.0000 +rf=298.2572221010000 +units=m +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +no_defs <>
-<WGS84RRAFGEO> +title=Reseau de reference des Antilles francaises (1988-1991) +proj=longlat +nadgrids=@null +wktext +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]
-<AMST63UTM43S> +title=Amsterdam 1963 +proj=tmerc +towgs84=109.7530,-528.1330,-362.2440 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=75.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <>
-# 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 +nadgrids=@null +wktext +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 <>
-<ETRS89LAEA> +title=ETRS89 Lambert Azimutal Equal Area +proj=laea +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=52.000000000 +lon_0=10.000000000 +x_0=4321000.000 +y_0=3210000.000 +units=m +no_defs <>
-<ETRS89LCC> +title=ETRS89 Lambert Conformal Conic +proj=lcc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=52.000000000 +lon_0=9.999999995 +lat_1=35.000000000 +lat_2=65.000000000 +x_0=4000000.000 +y_0=2800000.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 +wktext +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 <>
-<GEOPORTALASP> +title=Geoportail - Amsterdam et Saint-Paul +proj=eqc +nadgrids=null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=0.000000000 +lon_0=0.000000000 +lat_ts=-38.000000000 +x_0=0.000 +y_0=0.000 +units=m +no_defs <>
-<GEOPORTALCRZ> +title=Geoportail - Crozet +proj=eqc +nadgrids=null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +wktext +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 +wktext +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 +wktext +towgs84=0.0000,0.0000,0.0000 +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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.499999999 +lon_0=166.000000000 +lat_1=-20.666666667 +lat_2=-22.333333333 +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=144.8990,-186.7700,100.9230 +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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 +wktext +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 +nadgrids=@null +wktext +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 +wktext +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 +wktext +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +a=6378137.0000 +rf=298.2572221010000 +lat_0=-21.499999999 +lon_0=166.000000000 +lat_1=-20.666666667 +lat_2=-22.333333333 +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 +nadgrids=@null +wktext +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 <>
-<STPL69UTM43S> +title=Saint-Paul 1969 +proj=tmerc +towgs84=225.5710,-346.6080,-46.5670 +a=6378388.0000 +rf=297.0000000000000 +lat_0=0.000000000 +lon_0=75.000000000 +k_0=0.99960000 +x_0=500000.000 +y_0=10000000.000 +units=m +no_defs <>
-<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 <>
-<TERA50STEREO> +title=Terre Adelie 1950 +proj=stere +towgs84=324.9120,153.2820,172.0260 +a=6378388.0000 +rf=297.0000000000000 +lat_0=-90.000000000 +lon_0=140.000000000 +lat_ts=-67.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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +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 <>
-<UTM02W84> +title=World Geodetic System 1984 UTM fuseau 02 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM03SW84> +title=World Geodetic System 1984 UTM fuseau 03 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM03W84> +title=World Geodetic System 1984 UTM fuseau 03 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM04SW84> +title=World Geodetic System 1984 UTM fuseau 04 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM04W84> +title=World Geodetic System 1984 UTM fuseau 04 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM05SW84> +title=World Geodetic System 1984 UTM fuseau 05 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM05W84> +title=World Geodetic System 1984 UTM fuseau 05 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM06SW84> +title=World Geodetic System 1984 UTM fuseau 06 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM06W84> +title=World Geodetic System 1984 UTM fuseau 06 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM07SW84> +title=World Geodetic System 1984 UTM fuseau 07 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM07W84> +title=World Geodetic System 1984 UTM fuseau 07 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM08SW84> +title=World Geodetic System 1984 UTM fuseau 08 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +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=10000000.000 +units=m +no_defs <>
-<UTM20W84> +title=World Geodetic System 1984 UTM fuseau 20 +proj=tmerc +nadgrids=@null +wktext +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 <>
-<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 +nadgrids=@null +wktext +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 <>
-<UTM21W84> +title=World Geodetic System 1984 UTM fuseau 21 +proj=tmerc +nadgrids=@null +wktext +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 <>
-<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 +nadgrids=@null +wktext +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=10000000.000 +units=m +no_defs <>
-<UTM22W84> +title=World Geodetic System 1984 UTM fuseau 22 +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM23SW84> +title=World Geodetic System 1984 UTM fuseau 23 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM23W84> +title=World Geodetic System 1984 UTM fuseau 23 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM24SW84> +title=World Geodetic System 1984 UTM fuseau 24 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM26ETRS89> +title=Europe - de 30d a 24d Ouest +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM26SW84> +title=World Geodetic System 1984 UTM fuseau 26 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM27ETRS89> +title=Europe - de 24d a 18d Ouest +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM27SW84> +title=World Geodetic System 1984 UTM fuseau 27 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM28ETRS89> +title=Europe - de 18d a 12d Ouest +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM28SW84> +title=World Geodetic System 1984 UTM fuseau 28 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM29ETRS89> +title=Europe - de 12d a 6d Ouest +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM29SW84> +title=World Geodetic System 1984 UTM fuseau 29 Sud +proj=tmerc +nadgrids=@null +wktext +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=10000000.000 +units=m +no_defs <>
-<UTM29W84> +title=World Geodetic System 1984 UTM fuseau 29 +proj=tmerc +nadgrids=@null +wktext +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 <>
-<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 <>
-<UTM30ETRS89> +title=Europe - de -6d a 0d Ouest +proj=tmerc +nadgrids=@null +wktext +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 <>
-<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 +nadgrids=@null +wktext +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=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 +nadgrids=@null +wktext +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 <>
-<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 <>
-<UTM31ETRS89> +title=Europe - de 0d a 6d Est +proj=tmerc +nadgrids=@null +wktext +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 <>
-<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 +nadgrids=@null +wktext +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=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 +nadgrids=@null +wktext +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 <>
-<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 <>
-<UTM32ETRS89> +title=Europe - de 6d a 12d Est +proj=tmerc +nadgrids=@null +wktext +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 <>
-<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 +nadgrids=@null +wktext +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=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 +nadgrids=@null +wktext +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 <>
-<UTM33ETRS89> +title=Europe - de 12d a 18d Est +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM33SW84> +title=World Geodetic System 1984 UTM fuseau 33 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM34ETRS89> +title=Europe - de 18d a 24d Est +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM34SW84> +title=World Geodetic System 1984 UTM fuseau 34 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM35ETRS89> +title=Europe - de 24d a 30d Est +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM35SW84> +title=World Geodetic System 1984 UTM fuseau 35 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM36ETRS89> +title=Europe - de 30d a 36d Est +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM36SW84> +title=World Geodetic System 1984 UTM fuseau 36 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM37ETRS89> +title=Europe - de 36d a 42d Est +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM37SW84> +title=World Geodetic System 1984 UTM fuseau 37 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 <>
-<UTM38ETRS89> +title=Europe - de 42d a 48d Est +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM38SW84> +title=World Geodetic System 1984 UTM fuseau 38 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM38W84> +title=World Geodetic System 1984 UTM fuseau 38 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM39SW84> +title=World Geodetic System 1984 UTM fuseau 39 Sud +proj=tmerc +nadgrids=@null +wktext +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=10000000.000 +units=m +no_defs <>
-<UTM39W84> +title=World Geodetic System 1984 UTM fuseau 39 +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM40SW84> +title=World Geodetic System 1984 UTM fuseau 40 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM40W84> +title=World Geodetic System 1984 UTM fuseau 40 +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM41SW84> +title=World Geodetic System 1984 UTM fuseau 41 Sud +proj=tmerc +nadgrids=@null +wktext +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=10000000.000 +units=m +no_defs <>
-<UTM41W84> +title=World Geodetic System 1984 UTM fuseau 41 +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM42SW84> +title=World Geodetic System 1984 UTM fuseau 42 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +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 <>
-<UTM54W84> +title=World Geodetic System 1984 UTM fuseau 54 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM55SW84> +title=World Geodetic System 1984 UTM fuseau 55 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM55W84> +title=World Geodetic System 1984 UTM fuseau 55 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM56SW84> +title=World Geodetic System 1984 UTM fuseau 56 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM56W84> +title=World Geodetic System 1984 UTM fuseau 56 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM57SW84> +title=World Geodetic System 1984 UTM fuseau 57 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM57W84> +title=World Geodetic System 1984 UTM fuseau 57 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM58SW84> +title=World Geodetic System 1984 UTM fuseau 58 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM58W84> +title=World Geodetic System 1984 UTM fuseau 58 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM59SW84> +title=World Geodetic System 1984 UTM fuseau 59 Sud +proj=tmerc +nadgrids=@null +wktext +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 <>
-<UTM59W84> +title=World Geodetic System 1984 UTM fuseau 59 +proj=tmerc +nadgrids=@null +wktext +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=0.000 +units=m +no_defs <>
-<UTM60SW84> +title=World Geodetic System 1984 UTM fuseau 60 Sud +proj=tmerc +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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 +nadgrids=@null +wktext +towgs84=0.0000,0.0000,0.0000 +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/data/Makefile.am b/data/Makefile.am
index 74cc0992..d5c136ae 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -1,8 +1,7 @@
DATAPATH = $(top_srcdir)/data
-pkgdata_DATA = GL27 nad.lst proj_def.dat nad27 nad83 world epsg esri \
- esri.extra other.extra \
- CH IGNF \
+pkgdata_DATA = GL27 nad.lst proj_def.dat nad27 nad83 world other.extra \
+ CH \
ITRF2000 ITRF2008 ITRF2014 proj.db
SQL_ORDERED_LIST = sql/begin.sql \
@@ -35,9 +34,8 @@ SQL_ORDERED_LIST = sql/begin.sql \
sql/commit.sql
EXTRA_DIST = GL27 nad.lst proj_def.dat nad27 nad83 \
- world epsg esri \
- esri.extra other.extra \
- CH IGNF \
+ world other.extra \
+ CH \
ITRF2000 ITRF2008 ITRF2014 \
CMakeLists.txt tests/test_nodata.gtx null.lla \
generate_all_sql_in.cmake sql_filelist.cmake \
diff --git a/data/epsg b/data/epsg
deleted file mode 100644
index 1849ff50..00000000
--- a/data/epsg
+++ /dev/null
@@ -1,11731 +0,0 @@
-<metadata> +version=9.2.0 +origin=EPSG +lastupdate=2017-12-17
-# 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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +datum=GGRS87 +no_defs <>
-# ATS77
-<4122> +proj=longlat +a=6378135 +b=6356750.304921594 +no_defs <>
-# KKJ
-<4123> +proj=longlat +ellps=intl +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +no_defs <>
-# RT90
-<4124> +proj=longlat +ellps=bessel +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +towgs84=-80,-100,-228,0,0,0,0 +no_defs <>
-# Madzansua
-<4128> +proj=longlat +ellps=clrk66 +no_defs <>
-# Observatario
-<4129> +proj=longlat +ellps=clrk66 +towgs84=-132,-110,-335,0,0,0,0 +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 +towgs84=198,881,317,0,0,0,0 +no_defs <>
-# FD58
-<4132> +proj=longlat +ellps=clrk80 +towgs84=-241.54,-163.64,396.06,0,0,0,0 +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 +towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 +no_defs <>
-# Old Hawaiian
-<4135> +proj=longlat +ellps=clrk66 +towgs84=61,-285,-181,0,0,0,0 +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 1993
-<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 +towgs84=214,804,268,0,0,0,0 +no_defs <>
-# Kalianpur 1962
-<4145> +proj=longlat +a=6377301.243 +b=6356100.230165384 +towgs84=283,682,231,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=-117,-132,-164,0,0,0,0 +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 +towgs84=589,76,480,0,0,0,0 +no_defs <>
-# Mount Dillon
-<4157> +proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs <>
-# Naparima 1955
-<4158> +proj=longlat +ellps=intl +towgs84=-0.465,372.095,171.736,0,0,0,0 +no_defs <>
-# ELD79
-<4159> +proj=longlat +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-199,32,322,0,0,0,0 +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 +towgs84=26,-121,-78,0,0,0,0 +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 <>
-# EST97
-<4180> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Luxembourg 1930
-<4181> +proj=longlat +ellps=intl +towgs84=-189.6806,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.4598 +no_defs <>
-# Azores Occidental 1939
-<4182> +proj=longlat +ellps=intl +towgs84=-425,-169,81,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Albanian 1987
-<4191> +proj=longlat +ellps=krass +towgs84=-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703 +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 +towgs84=164,138,-189,0,0,0,0 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +no_defs <>
-# Adindan
-<4201> +proj=longlat +ellps=clrk80 +towgs84=-166,-15,204,0,0,0,0 +no_defs <>
-# AGD66
-<4202> +proj=longlat +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +no_defs <>
-# AGD84
-<4203> +proj=longlat +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +no_defs <>
-# Ain el Abd
-<4204> +proj=longlat +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +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 +towgs84=-304.046,-60.576,103.64,0,0,0,0 +no_defs <>
-# Aratu
-<4208> +proj=longlat +ellps=intl +towgs84=-151.99,287.04,-147.45,0,0,0,0 +no_defs <>
-# Arc 1950
-<4209> +proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs84=-143,-90,-294,0,0,0,0 +no_defs <>
-# Arc 1960
-<4210> +proj=longlat +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,0 +no_defs <>
-# Batavia
-<4211> +proj=longlat +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +no_defs <>
-# Belge 1950
-<4215> +proj=longlat +ellps=intl +no_defs <>
-# Bermuda 1957
-<4216> +proj=longlat +ellps=clrk66 +towgs84=-73,213,296,0,0,0,0 +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 +towgs84=-50.9,-347.6,-231,0,0,0,0 +no_defs <>
-# Campo Inchauspe
-<4221> +proj=longlat +ellps=intl +towgs84=-148,136,90,0,0,0,0 +no_defs <>
-# Cape
-<4222> +proj=longlat +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +no_defs <>
-# Carthage
-<4223> +proj=longlat +datum=carthage +no_defs <>
-# Chua
-<4224> +proj=longlat +ellps=intl +towgs84=-143.87,243.37,-33.52,0,0,0,0 +no_defs <>
-# Corrego Alegre 1970-72
-<4225> +proj=longlat +ellps=intl +towgs84=-205.57,168.77,-4.12,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 +towgs84=-190.421,8.532,238.69,0,0,0,0 +no_defs <>
-# Douala
-<4228> +proj=longlat +a=6378249.2 +b=6356515 +no_defs <>
-# Egypt 1907
-<4229> +proj=longlat +ellps=helmert +towgs84=-130,110,-13,0,0,0,0 +no_defs <>
-# ED50
-<4230> +proj=longlat +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +no_defs <>
-# ED87
-<4231> +proj=longlat +ellps=intl +towgs84=-83.11,-97.38,-117.22,0.005693,-0.044698,0.044285,0.1218 +no_defs <>
-# Fahud
-<4232> +proj=longlat +ellps=clrk80 +towgs84=-333.102,-11.02,230.69,0,0,0.554,0.219 +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 +towgs84=52.17,-71.82,-14.9,0,0,0,0 +no_defs <>
-# ID74
-<4238> +proj=longlat +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +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 +towgs84=210,814,289,0,0,0,0 +no_defs <>
-# Jamaica 1875
-<4241> +proj=longlat +a=6378249.144808011 +b=6356514.966204134 +no_defs <>
-# JAD69
-<4242> +proj=longlat +ellps=clrk66 +towgs84=70,207,389.5,0,0,0,0 +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 +towgs84=-288,175,-376,0,0,0,0 +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 +towgs84=-133,-77,-51,0,0,0,0 +no_defs <>
-# Hito XVIII 1963
-<4254> +proj=longlat +ellps=intl +towgs84=16,196,93,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Malongo 1987
-<4259> +proj=longlat +ellps=intl +towgs84=-254.1,-5.36,-100.29,0,0,0,0 +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 +towgs84=-92,-93,122,0,0,0,0 +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 +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +no_defs <>
-# M'poraloko
-<4266> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-74,-130,42,0,0,0,0 +no_defs <>
-# NAD27
-<4267> +proj=longlat +datum=NAD27 +no_defs <>
-# NAD27 Michigan
-<4268> +proj=longlat +a=6378450.047548896 +b=6356826.621488444 +no_defs <>
-# NAD83
-<4269> +proj=longlat +datum=NAD83 +no_defs <>
-# Nahrwan 1967
-<4270> +proj=longlat +ellps=clrk80 +towgs84=-249,-156,381,0,0,0,0 +no_defs <>
-# Naparima 1972
-<4271> +proj=longlat +ellps=intl +towgs84=-10,375,165,0,0,0,0 +no_defs <>
-# NZGD49
-<4272> +proj=longlat +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 +towgs84=-223.237,110.193,36.649,0,0,0,0 +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 +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.7224,94.7824,340.8944,-8.001,-4.42,-11.821,1 +no_defs <>
-# Pointe Noire
-<4282> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-148,51,-291,0,0,0,0 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +no_defs <>
-# Qatar 1974
-<4285> +proj=longlat +ellps=intl +towgs84=-128.16,-282.42,21.93,0,0,0,0 +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 +towgs84=565.2369,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812 +no_defs <>
-# SAD69
-<4291> +proj=longlat +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +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 +towgs84=616,97,-251,0,0,0,0 +no_defs <>
-# Segora
-<4294> +proj=longlat +ellps=bessel +towgs84=-403,684,41,0,0,0,0 +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 +towgs84=-679,669,-48,0,0,0,0 +no_defs <>
-# TM65
-<4299> +proj=longlat +datum=ire65 +no_defs <>
-# TM75
-<4300> +proj=longlat +ellps=mod_airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +no_defs <>
-# Tokyo
-<4301> +proj=longlat +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +no_defs <>
-# Trinidad 1903
-<4302> +proj=longlat +a=6378293.645208759 +b=6356617.987679838 +towgs84=-61.702,284.488,472.052,0,0,0,0 +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 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +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 +towgs84=-30,190,89,0,0,0,0 +no_defs <>
-# Zanderij
-<4311> +proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +no_defs <>
-# MGI
-<4312> +proj=longlat +datum=hermannskogel +no_defs <>
-# Belge 1972
-<4313> +proj=longlat +ellps=intl +towgs84=-106.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747 +no_defs <>
-# DHDN
-<4314> +proj=longlat +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 +towgs84=103.25,-100.4,-307.19,0,0,0,0 +no_defs <>
-# Dealul Piscului 1970
-<4317> +proj=longlat +ellps=krass +towgs84=28,-121,-77,0,0,0,0 +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 +towgs84=-20.8,11.3,2.4,0,0,0,0 +no_defs <>
-# WGS 72
-<4322> +proj=longlat +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +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 +datum=WGS84 +no_defs <>
-# RGSPM06
-<4463> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# RGM04
-<4470> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Cadastre 1997
-<4475> +proj=longlat +ellps=intl +towgs84=-381.788,-57.501,-256.673,0,0,0,0 +no_defs <>
-# Mexico ITRF92
-<4483> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# China Geodetic Coordinate System 2000
-<4490> +proj=longlat +ellps=GRS80 +no_defs <>
-# New Beijing
-<4555> +proj=longlat +ellps=krass +no_defs <>
-# RRAF 1991
-<4558> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Anguilla 1957
-<4600> +proj=longlat +ellps=clrk80 +no_defs <>
-# Antigua 1943
-<4601> +proj=longlat +ellps=clrk80 +towgs84=-255,-15,71,0,0,0,0 +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 +towgs84=9,183,236,0,0,0,0 +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.243649,-1.158827,-1.094246 +no_defs <>
-# JGD2000
-<4612> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Segara
-<4613> +proj=longlat +ellps=bessel +towgs84=-403,684,41,0,0,0,0 +no_defs <>
-# QND95
-<4614> +proj=longlat +ellps=intl +towgs84=-119.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065 +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 +towgs84=-289,-124,60,0,0,0,0 +no_defs <>
-# NAD83(CSRS)
-<4617> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# SAD69
-<4618> +proj=longlat +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +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 +towgs84=-467,-16,-300,0,0,0,0 +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=0,0,0,0,0,0,0 +no_defs <>
-# Martinique 1938
-<4625> +proj=longlat +ellps=intl +towgs84=186,482,151,0,0,0,0 +no_defs <>
-# Reunion 1947
-<4626> +proj=longlat +ellps=intl +towgs84=94,-948,-1262,0,0,0,0 +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 +towgs84=72.438,345.918,79.486,1.6045,0.8823,0.5565,1.3746 +no_defs <>
-# IGN72 Nuku Hiva
-<4630> +proj=longlat +ellps=intl +towgs84=84,274,65,0,0,0,0 +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 +towgs84=335.47,222.58,-230.94,0,0,0,0 +no_defs <>
-# IGN72 Grand Terre
-<4634> +proj=longlat +ellps=intl +towgs84=-13,-348,292,0,0,0,0 +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=11.363,424.148,373.13,0,0,0,0 +no_defs <>
-# MOP78
-<4639> +proj=longlat +ellps=intl +towgs84=253,-132,-127,0,0,0,0 +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 +towgs84=287.58,177.78,-135.41,0,0,0,0 +no_defs <>
-# ST84 Ile des Pins
-<4642> +proj=longlat +ellps=intl +towgs84=-13,-348,292,0,0,0,0 +no_defs <>
-# ST71 Belep
-<4643> +proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7002 +no_defs <>
-# NEA74 Noumea
-<4644> +proj=longlat +ellps=intl +towgs84=-10.18,-350.43,291.37,0,0,0,0 +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 +towgs84=-963,510,-359,0,0,0,0 +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,47,-83,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.6087,552.753,-540.873,6.6816266,-31.6114924,-19.84816,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 +towgs84=-11.64,-348.6,291.98,0,0,0,0 +no_defs <>
-# Porto Santo 1995
-<4663> +proj=longlat +ellps=intl +towgs84=-502.862,-247.438,312.724,0,0,0,0 +no_defs <>
-# Azores Oriental 1995
-<4664> +proj=longlat +ellps=intl +towgs84=-204.619,140.176,55.226,0,0,0,0 +no_defs <>
-# Azores Central 1995
-<4665> +proj=longlat +ellps=intl +towgs84=-106.226,166.366,-37.893,0,0,0,0 +no_defs <>
-# Lisbon 1890
-<4666> +proj=longlat +ellps=bessel +towgs84=508.088,-191.042,565.223,0,0,0,0 +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 +towgs84=283.7,735.9,261.1,0,0,0,0 +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 +towgs84=0.072,-0.507,-0.245,-0.0183,0.0003,-0.007,-0.0093 +no_defs <>
-# Fatu Iva 72
-<4688> +proj=longlat +ellps=intl +towgs84=347.103,1078.125,2623.922,-33.8875,70.6773,-9.3943,186.074 +no_defs <>
-# IGN63 Hiva Oa
-<4689> +proj=longlat +ellps=intl +towgs84=410.721,55.049,80.746,2.5779,2.3514,0.6664,17.3311 +no_defs <>
-# Tahiti 79
-<4690> +proj=longlat +ellps=intl +towgs84=221.525,152.948,176.768,-2.3847,-1.3896,-0.877,11.4741 +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 <>
-# Astro DOS 71
-<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=-77,-128,142,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 +towgs84=230,-199,-752,0,0,0,0 +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 +towgs84=0,0,4.5,0,0,0.554,0.2263 +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 <>
-# GCGD59
-<4723> +proj=longlat +ellps=clrk66 +towgs84=-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925 +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 <>
-# SIGD61
-<4726> +proj=longlat +ellps=clrk66 +towgs84=8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081 +no_defs <>
-# Midway 1961
-<4727> +proj=longlat +ellps=intl +towgs84=403,-81,277,0,0,0,0 +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 +towgs84=0,0,1.5,0,0,0.076,0 +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=70.995,-335.916,262.898,0,0,0,0 +no_defs <>
-# Nahrwan 1934
-<4744> +proj=longlat +ellps=clrk80 +towgs84=-242.2,-144.9,370.3,0,0,0,0 +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=98,390,-22,0,0,0,0 +no_defs <>
-# fk89
-<4753> +proj=longlat +ellps=intl +no_defs <>
-# LGD2006
-<4754> +proj=longlat +ellps=intl +towgs84=-208.4058,-109.8777,-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 +towgs84=-191.90441429,-39.30318279,-111.45032835,0.00928836,-0.01975479,0.00427372,0.252906278 +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 +towgs84=674.374,15.056,405.346,0,0,0,0 +pm=bern +no_defs <>
-# Bogota 1975 (Bogota)
-<4802> +proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0 +pm=bogota +no_defs <>
-# Lisbon (Lisbon)
-<4803> +proj=longlat +ellps=intl +towgs84=-304.046,-60.576,103.64,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +pm=ferro +no_defs <>
-# Monte Mario (Rome)
-<4806> +proj=longlat +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +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 +towgs84=-377,681,-50,0,0,0,0 +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 +towgs84=-263,6,431,0,0,0,0 +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 +towgs84=589,76,480,0,0,0,0 +pm=ferro +no_defs <>
-# Nord Sahara 1959 (Paris)
-<4819> +proj=longlat +ellps=clrk80 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +pm=paris +no_defs <>
-# Segara (Jakarta)
-<4820> +proj=longlat +ellps=bessel +towgs84=-403,684,41,0,0,0,0 +pm=jakarta +no_defs <>
-# Voirol 1879 (Paris)
-<4821> +proj=longlat +a=6378249.2 +b=6356515 +pm=paris +no_defs <>
-# Sao Tome
-<4823> +proj=longlat +ellps=intl +no_defs <>
-# Principe
-<4824> +proj=longlat +ellps=intl +no_defs <>
-# ATF (Paris)
-<4901> +proj=longlat +a=6376523 +b=6355862.933255573 +pm=2.337208333333333 +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 +towgs84=508.088,-191.042,565.223,0,0,0,0 +pm=lisbon +no_defs <>
-# PTRA08
-<5013> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Tokyo 1892
-<5132> +proj=longlat +ellps=bessel +no_defs <>
-# S-JTSK/05
-<5228> +proj=longlat +ellps=bessel +towgs84=572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378 +no_defs <>
-# S-JTSK/05 (Ferro)
-<5229> +proj=longlat +ellps=bessel +towgs84=572.213,85.334,461.94,4.9732,1.529,5.2484,3.5378 +pm=ferro +no_defs <>
-# SLD99
-<5233> +proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338 +no_defs <>
-# GDBD2009
-<5246> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# TUREF
-<5252> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# DRUKREF 03
-<5264> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# ISN2004
-<5324> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# POSGAR 2007
-<5340> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# MARGEN
-<5354> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# SIRGAS-Chile
-<5360> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# CR05
-<5365> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# MACARIO SOLIS
-<5371> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Peru96
-<5373> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# SIRGAS-ROU98
-<5381> +proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# SIRGAS_ES2007.8
-<5393> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Ocotepeque 1935
-<5451> +proj=longlat +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +no_defs <>
-# Sibun Gorge 1922
-<5464> +proj=longlat +a=6378293.645208759 +b=6356617.987679838 +no_defs <>
-# Panama-Colon 1911
-<5467> +proj=longlat +ellps=clrk66 +no_defs <>
-# RGAF09
-<5489> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Corrego Alegre 1961
-<5524> +proj=longlat +ellps=intl +no_defs <>
-# SAD69(96)
-<5527> +proj=longlat +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +no_defs <>
-# PNG94
-<5546> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# UCS-2000
-<5561> +proj=longlat +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +no_defs <>
-# FEH2010
-<5593> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# DB_REF
-<5681> +proj=longlat +ellps=bessel +no_defs <>
-# TGD2005
-<5886> +proj=longlat +ellps=GRS80 +no_defs <>
-# CIGD11
-<6135> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Nepal 1981
-<6207> +proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=293.17,726.18,245.36,0,0,0,0 +no_defs <>
-# CGRS93
-<6311> +proj=longlat +ellps=WGS84 +towgs84=8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926 +no_defs <>
-# NAD83(2011)
-<6318> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(PA11)
-<6322> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(MA11)
-<6325> +proj=longlat +ellps=GRS80 +no_defs <>
-# Mexico ITRF2008
-<6365> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# JGD2011
-<6668> +proj=longlat +ellps=GRS80 +no_defs <>
-# RDN2008
-<6706> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# NAD83(CORS96)
-<6783> +proj=longlat +ellps=GRS80 +no_defs <>
-# Aden 1925
-<6881> +proj=longlat +ellps=clrk80 +towgs84=-24,-203,268,0,0,0,0 +no_defs <>
-# Bekaa Valley 1920
-<6882> +proj=longlat +ellps=clrk80 +towgs84=-183,-15,273,0,0,0,0 +no_defs <>
-# Bioko
-<6883> +proj=longlat +ellps=intl +towgs84=-235,-110,393,0,0,0,0 +no_defs <>
-# South East Island 1943
-<6892> +proj=longlat +ellps=clrk80 +towgs84=-43.685,-179.785,-267.721,0,0,0,0 +no_defs <>
-# Gambia
-<6894> +proj=longlat +ellps=clrk80 +towgs84=-63,176,185,0,0,0,0 +no_defs <>
-# IGD05
-<6980> +proj=longlat +ellps=GRS80 +no_defs <>
-# IG05 Intermediate CRS
-<6983> +proj=longlat +ellps=GRS80 +no_defs <>
-# IGD05/12
-<6987> +proj=longlat +ellps=GRS80 +no_defs <>
-# IG05/12 Intermediate CRS
-<6990> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGSPM06 (lon-lat)
-<7035> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGR92 (lon-lat)
-<7037> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGM04 (lon-lat)
-<7039> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGFG95 (lon-lat)
-<7041> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGTAAF07
-<7073> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGF93 (lon-lat)
-<7084> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGAF09 (lon-lat)
-<7086> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGTAAF07 (lon-lat)
-<7088> +proj=longlat +ellps=GRS80 +no_defs <>
-# RGTAAF07 (lon-lat)
-<7133> +proj=longlat +ellps=GRS80 +no_defs <>
-# IGD05
-<7136> +proj=longlat +ellps=WGS84 +no_defs <>
-# IGD05/12
-<7139> +proj=longlat +ellps=WGS84 +no_defs <>
-# ONGD14
-<7373> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# GSK-2011
-<7683> +proj=longlat +a=6378136.5 +b=6356751.757955603 +no_defs <>
-# Kyrg-06
-<7686> +proj=longlat +ellps=GRS80 +no_defs <>
-# BGS2005
-<7798> +proj=longlat +ellps=GRS80 +no_defs <>
-# GDA2020
-<7844> +proj=longlat +ellps=GRS80 +no_defs <>
-# St. Helena Tritan
-<7881> +proj=longlat +ellps=WGS84 +towgs84=-0.077,0.079,0.086,0,0,0,0 +no_defs <>
-# SHGD2015
-<7886> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Gusterberg (Ferro)
-<8042> +proj=longlat +a=6376045 +b=6355477.112903226 +pm=ferro +no_defs <>
-# St. Stephen (Ferro)
-<8043> +proj=longlat +a=6376045 +b=6355477.112903226 +pm=ferro +no_defs <>
-# ISN2016
-<8086> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(CSRS96)
-<8232> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(CSRS)v2
-<8237> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(CSRS)v3
-<8240> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(CSRS)v4
-<8246> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(CSRS)v5
-<8249> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(CSRS)v6
-<8252> +proj=longlat +ellps=GRS80 +no_defs <>
-# NAD83(CSRS)v7
-<8255> +proj=longlat +ellps=GRS80 +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 +towgs84=-255,-15,71,0,0,0,0 +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 +towgs84=9,183,236,0,0,0,0 +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 (deprecated)
-<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 1993 / 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
-<2046> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo17
-<2047> +proj=tmerc +lat_0=0 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo19
-<2048> +proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo21
-<2049> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo23
-<2050> +proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo25
-<2051> +proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo27
-<2052> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo29
-<2053> +proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo31
-<2054> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Hartebeesthoek94 / Lo33
-<2055> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# 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 +gamma=0.5716611944444444 +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 +towgs84=-117,-132,-164,0,0,0,0 +units=m +no_defs <>
-# ED50(ED77) / UTM zone 39N
-<2059> +proj=utm +zone=39 +ellps=intl +towgs84=-117,-132,-164,0,0,0,0 +units=m +no_defs <>
-# ED50(ED77) / UTM zone 40N
-<2060> +proj=utm +zone=40 +ellps=intl +towgs84=-117,-132,-164,0,0,0,0 +units=m +no_defs <>
-# ED50(ED77) / UTM zone 41N
-<2061> +proj=utm +zone=41 +ellps=intl +towgs84=-117,-132,-164,0,0,0,0 +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 +towgs84=570.8,85.7,462.8,4.998,1.587,5.261,3.56 +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 +towgs84=-0.465,372.095,171.736,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +units=m +no_defs <>
-# ELD79 / UTM zone 32N
-<2077> +proj=utm +zone=32 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +units=m +no_defs <>
-# ELD79 / UTM zone 33N
-<2078> +proj=utm +zone=33 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +units=m +no_defs <>
-# ELD79 / UTM zone 34N
-<2079> +proj=utm +zone=34 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +units=m +no_defs <>
-# ELD79 / UTM zone 35N
-<2080> +proj=utm +zone=35 +ellps=intl +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +units=m +no_defs <>
-# Chos Malal 1914 / Argentina 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 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 2
-<2083> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=16,196,93,0,0,0,0 +units=m +no_defs <>
-# Hito XVIII 1963 / UTM zone 19S
-<2084> +proj=utm +zone=19 +south +ellps=intl +towgs84=16,196,93,0,0,0,0 +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 +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 +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 +towgs84=-115.8543,-99.0583,-152.4616,0,0,0,0 +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 +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 / 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 / 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 / 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 +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 +towgs84=-199,32,322,0,0,0,0 +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 +towgs84=-199,32,322,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 <>
-# 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 <>
-# 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 +towgs84=26,-121,-78,0,0,0,0 +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 +towgs84=26,-121,-78,0,0,0,0 +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 +towgs84=26,-121,-78,0,0,0,0 +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=-189.6806,18.3463,-42.7695,-0.33746,-3.09264,2.53861,0.4598 +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 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Azores Occidental 1939 / UTM zone 25N
-<2188> +proj=utm +zone=25 +ellps=intl +towgs84=-425,-169,81,0,0,0,0 +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 (deprecated)
-<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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703 +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 +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 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=164,138,-189,0,0,0,0 +units=m +no_defs <>
-# Qornoq 1927 / UTM zone 23N
-<2217> +proj=utm +zone=23 +ellps=intl +towgs84=164,138,-189,0,0,0,0 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=-377,681,-50,0,0,0,0 +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 +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 +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 +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 +towgs84=-61.702,284.488,472.052,0,0,0,0 +to_meter=0.3047972654 +no_defs <>
-# Campo Inchauspe / UTM zone 19S
-<2315> +proj=utm +zone=19 +south +ellps=intl +towgs84=-148,136,90,0,0,0,0 +units=m +no_defs <>
-# Campo Inchauspe / UTM zone 20S
-<2316> +proj=utm +zone=20 +south +ellps=intl +towgs84=-148,136,90,0,0,0,0 +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 +towgs84=-288,175,-376,0,0,0,0 +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 +towgs84=-143,-236,7,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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.243649,-1.158827,-1.094246 +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 +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +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 +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +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 +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +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 +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +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 +towgs84=24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01 +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 +towgs84=24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01 +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 +towgs84=24.9,-126.4,-93.2,-0.063,-0.247,-0.041,1.01 +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 +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=-44.183,-0.58,-38.489,2.3867,2.7072,-3.5196,-8.2703 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +units=m +no_defs <>
-# Tete / UTM zone 36S
-<2736> +proj=utm +zone=36 +south +ellps=clrk66 +towgs84=-80,-100,-228,0,0,0,0 +units=m +no_defs <>
-# Tete / UTM zone 37S
-<2737> +proj=utm +zone=37 +south +ellps=clrk66 +towgs84=-80,-100,-228,0,0,0,0 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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.4248,-303.65872,-11.00061,1.164298,0.174458,1.096259,3.657065 +units=m +no_defs <>
-# Segara / UTM zone 50S
-<2933> +proj=utm +zone=50 +south +ellps=bessel +towgs84=-403,684,41,0,0,0,0 +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 +towgs84=-403,684,41,0,0,0,0 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=-289,-124,60,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / SCoPQ zone 2 (deprecated)
-<2944> +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(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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS) / UTM zone 12N
-<2956> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS) / UTM zone 17N
-<2958> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS) / UTM zone 19N
-<2960> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS) / UTM zone 21N
-<2962> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=-467,-16,-300,0,0,0,0 +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=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Martinique 1938 / UTM zone 20N
-<2973> +proj=utm +zone=20 +ellps=intl +towgs84=186,482,151,0,0,0,0 +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 +towgs84=72.438,345.918,79.486,1.6045,0.8823,0.5565,1.3746 +units=m +no_defs <>
-# IGN72 Nuku Hiva / UTM zone 7S
-<2978> +proj=utm +zone=7 +south +ellps=intl +towgs84=84,274,65,0,0,0,0 +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 +towgs84=335.47,222.58,-230.94,0,0,0,0 +units=m +no_defs <>
-# IGN72 Grand Terre / UTM zone 58S (deprecated)
-<2982> +proj=utm +zone=58 +south +ellps=intl +towgs84=-13,-348,292,0,0,0,0 +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=11.363,424.148,373.13,0,0,0,0 +units=m +no_defs <>
-# MOP78 / UTM zone 1S
-<2988> +proj=utm +zone=1 +south +ellps=intl +towgs84=253,-132,-127,0,0,0,0 +units=m +no_defs <>
-# RRAF 1991 / UTM zone 20N (deprecated)
-<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 +towgs84=94,-948,-1262,0,0,0,0 +units=m +no_defs <>
-# NAD83 / Oregon LCC (m)
-<2991> +proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / Oregon GIC 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 +datum=NAD83 +units=ft +no_defs <>
-# NAD83(HARN) / Oregon LCC (m)
-<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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / Oregon GIC 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 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <>
-# IGN53 Mare / UTM zone 58S
-<2995> +proj=utm +zone=58 +south +ellps=intl +towgs84=287.58,177.78,-135.41,0,0,0,0 +units=m +no_defs <>
-# ST84 Ile des Pins / UTM zone 58S
-<2996> +proj=utm +zone=58 +south +ellps=intl +towgs84=-13,-348,292,0,0,0,0 +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.7002 +units=m +no_defs <>
-# NEA74 Noumea / UTM zone 58S
-<2998> +proj=utm +zone=58 +south +ellps=intl +towgs84=-10.18,-350.43,291.37,0,0,0,0 +units=m +no_defs <>
-# Grand Comoros / UTM zone 38S
-<2999> +proj=utm +zone=38 +south +ellps=intl +towgs84=-963,510,-359,0,0,0,0 +units=m +no_defs <>
-# Segara / NEIEZ
-<3000> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-403,684,41,0,0,0,0 +units=m +no_defs <>
-# Batavia / NEIEZ
-<3001> +proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +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 +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +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 +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +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 +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 +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +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 +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 +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 +datum=WGS84 +units=m +no_defs <>
-# ETRS89 / LCC Europe
-<3034> +proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / LAEA Europe
-<3035> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +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 / TM26 (deprecated)
-<3038> +proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / TM27 (deprecated)
-<3039> +proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 28N (N-E)
-<3040> +proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 29N (N-E)
-<3041> +proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 30N (N-E)
-<3042> +proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 31N (N-E)
-<3043> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 32N (N-E)
-<3044> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 33N (N-E)
-<3045> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 34N (N-E)
-<3046> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 35N (N-E)
-<3047> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 36N (N-E)
-<3048> +proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 37N (N-E)
-<3049> +proj=utm +zone=37 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / TM38 (deprecated)
-<3050> +proj=utm +zone=38 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / TM39 (deprecated)
-<3051> +proj=utm +zone=39 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +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,47,-83,0,0,0,0 +units=m +no_defs <>
-# Hjorsey 1955 / UTM zone 27N
-<3055> +proj=utm +zone=27 +ellps=intl +towgs84=-73,47,-83,0,0,0,0 +units=m +no_defs <>
-# Hjorsey 1955 / UTM zone 28N
-<3056> +proj=utm +zone=28 +ellps=intl +towgs84=-73,47,-83,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.6087,552.753,-540.873,6.6816266,-31.6114924,-19.84816,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 +towgs84=-11.64,-348.6,291.98,0,0,0,0 +units=m +no_defs <>
-# Porto Santo 1995 / UTM zone 28N
-<3061> +proj=utm +zone=28 +ellps=intl +towgs84=-502.862,-247.438,312.724,0,0,0,0 +units=m +no_defs <>
-# Azores Oriental 1995 / UTM zone 26N
-<3062> +proj=utm +zone=26 +ellps=intl +towgs84=-204.619,140.176,55.226,0,0,0,0 +units=m +no_defs <>
-# Azores Central 1995 / UTM zone 26N
-<3063> +proj=utm +zone=26 +ellps=intl +towgs84=-106.226,166.366,-37.893,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / TM35FIN(E,N)
-<3067> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DHDN / Soldner Berlin
-<3068> +proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +no_uoff +gamma=337.25556 +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 +no_uoff +gamma=337.25556 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# Tokyo / UTM zone 51N
-<3092> +proj=utm +zone=51 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +units=m +no_defs <>
-# Tokyo / UTM zone 52N
-<3093> +proj=utm +zone=52 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +units=m +no_defs <>
-# Tokyo / UTM zone 53N
-<3094> +proj=utm +zone=53 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +units=m +no_defs <>
-# Tokyo / UTM zone 54N
-<3095> +proj=utm +zone=54 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +units=m +no_defs <>
-# Tokyo / UTM zone 55N
-<3096> +proj=utm +zone=55 +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=283.7,735.9,261.1,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# GDA94 / Vicgrid
-<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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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=98,390,-22,0,0,0,0 +units=link +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 +towgs84=0,0,4.5,0,0,0.554,0.2263 +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 (deprecated)
-<3146> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Pulkovo 1942 / 3-degree Gauss-Kruger CM 18E (deprecated)
-<3147> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Indian 1960 / UTM zone 48N
-<3148> +proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=198,881,317,0,0,0,0 +units=m +no_defs <>
-# Indian 1960 / UTM zone 49N
-<3149> +proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +towgs84=198,881,317,0,0,0,0 +units=m +no_defs <>
-# Pulkovo 1995 / 3-degree Gauss-Kruger zone 6 (deprecated)
-<3150> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22 +units=m +no_defs <>
-# Pulkovo 1995 / 3-degree Gauss-Kruger CM 18E (deprecated)
-<3151> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=24.47,-130.89,-81.56,0,0,0.13,-0.22 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / UTM zone 7N
-<3154> +proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / UTM zone 8N
-<3155> +proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / UTM zone 9N
-<3156> +proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / UTM zone 10N
-<3157> +proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / UTM zone 14N
-<3158> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / UTM zone 15N
-<3159> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / UTM zone 16N
-<3160> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=-10.18,-350.43,291.37,0,0,0,0 +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 +towgs84=-10.18,-350.43,291.37,0,0,0,0 +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 +no_uoff +gamma=323.1301023611111 +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 +no_uoff +gamma=323.1301023611111 +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 +towgs84=287.58,177.78,-135.41,0,0,0,0 +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 +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 +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 +towgs84=198,881,317,0,0,0,0 +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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-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.4058,-109.8777,-2.5764,0,0,0,0 +units=m +no_defs <>
-# LGD2006 / UTM zone 32N
-<3199> +proj=utm +zone=32 +ellps=intl +towgs84=-208.4058,-109.8777,-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 +towgs84=-241.54,-163.64,396.06,0,0,0,0 +units=m +no_defs <>
-# LGD2006 / UTM zone 33N
-<3201> +proj=utm +zone=33 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,0,0,0 +units=m +no_defs <>
-# LGD2006 / UTM zone 34N
-<3202> +proj=utm +zone=34 +ellps=intl +towgs84=-208.4058,-109.8777,-2.5764,0,0,0,0 +units=m +no_defs <>
-# LGD2006 / UTM zone 35N
-<3203> +proj=utm +zone=35 +ellps=intl +towgs84=-208.4058,-109.8777,-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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=0.072,-0.507,-0.245,-0.0183,0.0003,-0.007,-0.0093 +units=m +no_defs <>
-# RGPF / UTM zone 6S
-<3297> +proj=utm +zone=6 +south +ellps=GRS80 +towgs84=0.072,-0.507,-0.245,-0.0183,0.0003,-0.007,-0.0093 +units=m +no_defs <>
-# RGPF / UTM zone 7S
-<3298> +proj=utm +zone=7 +south +ellps=GRS80 +towgs84=0.072,-0.507,-0.245,-0.0183,0.0003,-0.007,-0.0093 +units=m +no_defs <>
-# RGPF / UTM zone 8S
-<3299> +proj=utm +zone=8 +south +ellps=GRS80 +towgs84=0.072,-0.507,-0.245,-0.0183,0.0003,-0.007,-0.0093 +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 +towgs84=410.721,55.049,80.746,2.5779,2.3514,0.6664,17.3311 +units=m +no_defs <>
-# Fatu Iva 72 / UTM zone 7S
-<3303> +proj=utm +zone=7 +south +ellps=intl +towgs84=347.103,1078.125,2623.922,-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 +towgs84=221.525,152.948,176.768,-2.3847,-1.3896,-0.877,11.4741 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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=0,0,0,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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / PDC Mercator (deprecated)
-<3349> +proj=merc +lon_0=-150 +k=1 +x_0=0 +y_0=0 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 (deprecated)
-<3356> +proj=utm +zone=17 +ellps=clrk66 +towgs84=-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925 +units=m +no_defs <>
-# Little Cayman 1961 / UTM zone 17N (deprecated)
-<3357> +proj=utm +zone=17 +ellps=clrk66 +towgs84=8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 60N
-<3371> +proj=utm +zone=60 +datum=NAD27 +units=m +no_defs <>
-# NAD83 / UTM zone 59N
-<3372> +proj=utm +zone=59 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 60N
-<3373> +proj=utm +zone=60 +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 +no_uoff +gamma=323.1301023611111 +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 +no_uoff +gamma=53.13010236111111 +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 / Pahang Grid
-<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 +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +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 +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +units=m +no_defs <>
-# Pulkovo 1942 / Caspian Sea Mercator
-<3388> +proj=merc +lon_0=51 +lat_ts=42 +x_0=0 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +units=m +no_defs <>
-# Karbala 1979 / UTM zone 37N
-<3391> +proj=utm +zone=37 +ellps=clrk80 +towgs84=70.995,-335.916,262.898,0,0,0,0 +units=m +no_defs <>
-# Karbala 1979 / UTM zone 38N
-<3392> +proj=utm +zone=38 +ellps=clrk80 +towgs84=70.995,-335.916,262.898,0,0,0,0 +units=m +no_defs <>
-# Karbala 1979 / UTM zone 39N
-<3393> +proj=utm +zone=39 +ellps=clrk80 +towgs84=70.995,-335.916,262.898,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 +towgs84=-242.2,-144.9,370.3,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / World Mercator
-<3395> +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# VN-2000 / UTM zone 48N
-<3405> +proj=utm +zone=48 +ellps=WGS84 +towgs84=-191.90441429,-39.30318279,-111.45032835,0.00928836,-0.01975479,0.00427372,0.252906278 +units=m +no_defs <>
-# VN-2000 / UTM zone 49N
-<3406> +proj=utm +zone=49 +ellps=WGS84 +towgs84=-191.90441429,-39.30318279,-111.45032835,0.00928836,-0.01975479,0.00427372,0.252906278 +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 <>
-# NSIDC EASE-Grid North
-<3408> +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 South
-<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 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83 / Iowa North (ftUS)
-<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 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / Iowa South (ftUS)
-<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 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / Kansas North (ftUS)
-<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 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / Kansas South (ftUS)
-<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 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / Nevada East (ftUS)
-<3421> +proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / Nevada Central (ftUS)
-<3422> +proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / Nevada West (ftUS)
-<3423> +proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / New Jersey (ftUS)
-<3424> +proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83(HARN) / Iowa North (ftUS)
-<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 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / Iowa South (ftUS)
-<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 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / Kansas North (ftUS)
-<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 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / Kansas South (ftUS)
-<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 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / Nevada East (ftUS)
-<3429> +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(HARN) / Nevada Central (ftUS)
-<3430> +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(HARN) / Nevada West (ftUS)
-<3431> +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(HARN) / New Jersey (ftUS)
-<3432> +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 / 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 +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 +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 +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 +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 +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 +datum=NAD83 +units=us-ft +no_defs <>
-# PSD93 / UTM zone 39N
-<3439> +proj=utm +zone=39 +ellps=clrk80 +towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 +units=m +no_defs <>
-# PSD93 / UTM zone 40N
-<3440> +proj=utm +zone=40 +ellps=clrk80 +towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / South Dakota North (ftUS) (deprecated)
-<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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,4.5,0,0,0.554,0.2263 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +no_uoff +gamma=323.1301023611111 +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 (ftUS)
-<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 (ftUS)
-<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 (ftUS)
-<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 (ftUS)
-<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 +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 +towgs84=61,-285,-181,0,0,0,0 +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 +towgs84=61,-285,-181,0,0,0,0 +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 +towgs84=61,-285,-181,0,0,0,0 +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 +towgs84=61,-285,-181,0,0,0,0 +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 +towgs84=61,-285,-181,0,0,0,0 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +no_uoff +gamma=337.25556 +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 (ftUS)
-<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 (ftUS)
-<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 (ftUS)
-<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 (ftUS)
-<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 LCC (m)
-<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 GIC 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 +towgs84=94,-948,-1262,0,0,0,0 +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 +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 +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 +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 +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 +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 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83(HARN) / UTM zone 10N
-<3740> +proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 11N
-<3741> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 12N
-<3742> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 13N
-<3743> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 14N
-<3744> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 15N
-<3745> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 16N
-<3746> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 17N
-<3747> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 18N
-<3748> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 19N
-<3749> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 4N
-<3750> +proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / UTM zone 5N
-<3751> +proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / Mercator 41 (deprecated)
-<3752> +proj=merc +lon_0=100 +lat_ts=-41 +x_0=0 +y_0=0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(CSRS) / UTM zone 22N
-<3761> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=-73,213,296,0,0,0,0 +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 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 1950 / 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 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=26,-121,-78,0,0,0,0 +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 +towgs84=26,-121,-78,0,0,0,0 +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 +towgs84=26,-121,-78,0,0,0,0 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +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 +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7 (deprecated)
-<3842> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8 (deprecated)
-<3843> +proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +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 +towgs84=2.329,-147.042,-92.08,0.309,-0.325,-0.497,5.69 +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 <>
-# ETRS89 / GK19FIN
-<3873> +proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=19500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK20FIN
-<3874> +proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=20500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK21FIN
-<3875> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=21500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK22FIN
-<3876> +proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=22500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK23FIN
-<3877> +proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=23500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK24FIN
-<3878> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=24500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK25FIN
-<3879> +proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=25500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK26FIN
-<3880> +proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=26500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK27FIN
-<3881> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=27500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK28FIN
-<3882> +proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=28500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK29FIN
-<3883> +proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=29500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK30FIN
-<3884> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=30500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / GK31FIN
-<3885> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=31500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 (deprecated)
-<3973> +proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / NSIDC EASE-Grid South (deprecated)
-<3974> +proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / NSIDC EASE-Grid Global (deprecated)
-<3975> +proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Katanga 1955 / Katanga Lambert (deprecated)
-<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 +lat_ts=-41 +x_0=0 +y_0=0 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / TMzn35N
-<4037> +proj=utm +zone=35 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / TMzn36N
-<4038> +proj=utm +zone=36 +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 +towgs84=-143.87,243.37,-33.52,0,0,0,0 +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
-<4087> +proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# World Equidistant Cylindrical (Sphere)
-<4088> +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 <>
-# ETRS89 / DKTM1
-<4093> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.99998 +x_0=200000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / DKTM2
-<4094> +proj=tmerc +lat_0=0 +lon_0=10 +k=0.99998 +x_0=400000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / DKTM3
-<4095> +proj=tmerc +lat_0=0 +lon_0=11.75 +k=0.99998 +x_0=600000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / DKTM4
-<4096> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=800000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83 / BLM 59N (ftUS)
-<4217> +proj=tmerc +lat_0=0 +lon_0=171 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# Kertau 1968 / Johor Grid
-<4390> +proj=cass +lat_0=2.042583333333333 +lon_0=103.5627583333333 +x_0=0 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Sembilan and Melaka Grid
-<4391> +proj=cass +lat_0=2.712283333333334 +lon_0=101.9411666666667 +x_0=-242.005 +y_0=-948.547 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Pahang Grid
-<4392> +proj=cass +lat_0=3.710972222222222 +lon_0=102.4361777777778 +x_0=0 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Selangor Grid
-<4393> +proj=cass +lat_0=3.680344444444444 +lon_0=101.5082444444444 +x_0=-21759.438 +y_0=55960.906 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Terengganu Grid
-<4394> +proj=cass +lat_0=4.946141666666667 +lon_0=102.8952083333333 +x_0=0 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Pinang Grid
-<4395> +proj=cass +lat_0=5.421325 +lon_0=100.3458694444444 +x_0=0 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Kedah and Perlis Grid
-<4396> +proj=cass +lat_0=5.965147222222223 +lon_0=100.6375944444444 +x_0=0 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Perak Revised Grid
-<4397> +proj=cass +lat_0=4.859380555555555 +lon_0=100.8167666666667 +x_0=0 +y_0=133453.669 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# Kertau 1968 / Kelantan Grid
-<4398> +proj=cass +lat_0=5.893922222222222 +lon_0=102.1772916666667 +x_0=0 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m +no_defs <>
-# NAD27 / BLM 59N (ftUS)
-<4399> +proj=tmerc +lat_0=0 +lon_0=171 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 60N (ftUS)
-<4400> +proj=tmerc +lat_0=0 +lon_0=177 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 1N (ftUS)
-<4401> +proj=tmerc +lat_0=0 +lon_0=-177 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 2N (ftUS)
-<4402> +proj=tmerc +lat_0=0 +lon_0=-171 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 3N (ftUS)
-<4403> +proj=tmerc +lat_0=0 +lon_0=-165 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 4N (ftUS)
-<4404> +proj=tmerc +lat_0=0 +lon_0=-159 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 5N (ftUS)
-<4405> +proj=tmerc +lat_0=0 +lon_0=-153 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 6N (ftUS)
-<4406> +proj=tmerc +lat_0=0 +lon_0=-147 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 7N (ftUS)
-<4407> +proj=tmerc +lat_0=0 +lon_0=-141 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 8N (ftUS)
-<4408> +proj=tmerc +lat_0=0 +lon_0=-135 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 9N (ftUS)
-<4409> +proj=tmerc +lat_0=0 +lon_0=-129 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 10N (ftUS)
-<4410> +proj=tmerc +lat_0=0 +lon_0=-123 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 11N (ftUS)
-<4411> +proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 12N (ftUS)
-<4412> +proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 13N (ftUS)
-<4413> +proj=tmerc +lat_0=0 +lon_0=-105 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD83(HARN) / Guam Map Grid
-<4414> +proj=tmerc +lat_0=13.5 +lon_0=144.75 +k=1 +x_0=100000 +y_0=200000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Katanga 1955 / Katanga Lambert
-<4415> +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 <>
-# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 7
-<4417> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# NAD27 / BLM 18N (ftUS)
-<4418> +proj=tmerc +lat_0=0 +lon_0=-75 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / BLM 19N (ftUS)
-<4419> +proj=tmerc +lat_0=0 +lon_0=-69 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD83 / BLM 60N (ftUS)
-<4420> +proj=tmerc +lat_0=0 +lon_0=177 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 1N (ftUS)
-<4421> +proj=tmerc +lat_0=0 +lon_0=-177 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 2N (ftUS)
-<4422> +proj=tmerc +lat_0=0 +lon_0=-171 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 3N (ftUS)
-<4423> +proj=tmerc +lat_0=0 +lon_0=-165 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 4N (ftUS)
-<4424> +proj=tmerc +lat_0=0 +lon_0=-159 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 5N (ftUS)
-<4425> +proj=tmerc +lat_0=0 +lon_0=-153 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 6N (ftUS)
-<4426> +proj=tmerc +lat_0=0 +lon_0=-147 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 7N (ftUS)
-<4427> +proj=tmerc +lat_0=0 +lon_0=-141 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 8N (ftUS)
-<4428> +proj=tmerc +lat_0=0 +lon_0=-135 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 9N (ftUS)
-<4429> +proj=tmerc +lat_0=0 +lon_0=-129 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 10N (ftUS)
-<4430> +proj=tmerc +lat_0=0 +lon_0=-123 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 11N (ftUS)
-<4431> +proj=tmerc +lat_0=0 +lon_0=-117 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 12N (ftUS)
-<4432> +proj=tmerc +lat_0=0 +lon_0=-111 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 13N (ftUS)
-<4433> +proj=tmerc +lat_0=0 +lon_0=-105 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 8
-<4434> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# NAD83(NSRS2007) / Puerto Rico and Virgin Is.
-<4437> +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 <>
-# NAD83 / BLM 18N (ftUS)
-<4438> +proj=tmerc +lat_0=0 +lon_0=-75 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / BLM 19N (ftUS)
-<4439> +proj=tmerc +lat_0=0 +lon_0=-69 +k=0.9996 +x_0=500000.001016002 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD27 / Pennsylvania South
-<4455> +proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / New York Long Island
-<4456> +proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.5 +lon_0=-74 +x_0=609601.2192024384 +y_0=30480.06096012192 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD83 / South Dakota North (ftUS)
-<4457> +proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# WGS 84 / Australian Centre for Remote Sensing Lambert
-<4462> +proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=-27 +lon_0=132 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# RGSPM06 / UTM zone 21N
-<4467> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RGM04 / UTM zone 38S
-<4471> +proj=utm +zone=38 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Cadastre 1997 / UTM zone 38S (deprecated)
-<4474> +proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF92 / UTM zone 11N
-<4484> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF92 / UTM zone 12N
-<4485> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF92 / UTM zone 13N
-<4486> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF92 / UTM zone 14N
-<4487> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF92 / UTM zone 15N
-<4488> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF92 / UTM zone 16N
-<4489> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 13
-<4491> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 14
-<4492> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 15
-<4493> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 16
-<4494> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 17
-<4495> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 18
-<4496> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 19
-<4497> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 20
-<4498> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 21
-<4499> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 22
-<4500> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger zone 23
-<4501> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 75E
-<4502> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 81E
-<4503> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 87E
-<4504> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 93E
-<4505> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 99E
-<4506> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 105E
-<4507> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 111E
-<4508> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 117E
-<4509> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 123E
-<4510> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 129E
-<4511> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / Gauss-Kruger CM 135E
-<4512> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 25
-<4513> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 26
-<4514> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 27
-<4515> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 28
-<4516> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 29
-<4517> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 30
-<4518> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 31
-<4519> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 32
-<4520> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 33
-<4521> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 34
-<4522> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 35
-<4523> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 36
-<4524> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 37
-<4525> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 38
-<4526> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 39
-<4527> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 40
-<4528> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 41
-<4529> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 42
-<4530> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 43
-<4531> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 44
-<4532> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger zone 45
-<4533> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 75E
-<4534> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 78E
-<4535> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 81E
-<4536> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 84E
-<4537> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 87E
-<4538> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 90E
-<4539> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 93E
-<4540> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 96E
-<4541> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 99E
-<4542> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 102E
-<4543> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 105E
-<4544> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 108E
-<4545> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 111E
-<4546> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 114E
-<4547> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 117E
-<4548> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 120E
-<4549> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 123E
-<4550> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 126E
-<4551> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 129E
-<4552> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 132E
-<4553> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# CGCS2000 / 3-degree Gauss-Kruger CM 135E
-<4554> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# RRAF 1991 / UTM zone 20N
-<4559> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 13
-<4568> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 14
-<4569> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 15
-<4570> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 16
-<4571> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 17
-<4572> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 18
-<4573> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 19
-<4574> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 20
-<4575> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 21
-<4576> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 22
-<4577> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger zone 23
-<4578> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 75E
-<4579> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 81E
-<4580> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 87E
-<4581> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 93E
-<4582> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 99E
-<4583> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 105E
-<4584> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 111E
-<4585> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 117E
-<4586> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 123E
-<4587> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 129E
-<4588> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / Gauss-Kruger CM 135E
-<4589> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# ETRS89 / UTM zone 32N (zE-N)
-<4647> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=32500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 25
-<4652> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 26
-<4653> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 27
-<4654> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 28
-<4655> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 29
-<4656> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 30
-<4766> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 31
-<4767> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 32
-<4768> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 33
-<4769> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 34
-<4770> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 35
-<4771> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 36
-<4772> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 37
-<4773> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 38
-<4774> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 39
-<4775> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 40
-<4776> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 41
-<4777> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 42
-<4778> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 43
-<4779> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 44
-<4780> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger zone 45
-<4781> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 75E
-<4782> +proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 78E
-<4783> +proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 81E
-<4784> +proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 84E
-<4785> +proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 87E
-<4786> +proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 90E
-<4787> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 93E
-<4788> +proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 96E
-<4789> +proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 99E
-<4790> +proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 102E
-<4791> +proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 105E
-<4792> +proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 108E
-<4793> +proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 111E
-<4794> +proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 114E
-<4795> +proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 117E
-<4796> +proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 120E
-<4797> +proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 123E
-<4798> +proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 126E
-<4799> +proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 129E
-<4800> +proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 132E
-<4812> +proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# New Beijing / 3-degree Gauss-Kruger CM 135E
-<4822> +proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m +no_defs <>
-# WGS 84 / Cape Verde National
-<4826> +proj=lcc +lat_1=15 +lat_2=16.66666666666667 +lat_0=15.83333333333333 +lon_0=-24 +x_0=161587.83 +y_0=128511.202 +datum=WGS84 +units=m +no_defs <>
-# ETRS89 / LCC Germany (N-E)
-<4839> +proj=lcc +lat_1=48.66666666666666 +lat_2=53.66666666666666 +lat_0=51 +lon_0=10.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 5 (deprecated)
-<4855> +proj=tmerc +lat_0=0 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 6 (deprecated)
-<4856> +proj=tmerc +lat_0=0 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 7 (deprecated)
-<4857> +proj=tmerc +lat_0=0 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 8 (deprecated)
-<4858> +proj=tmerc +lat_0=0 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 9 (deprecated)
-<4859> +proj=tmerc +lat_0=0 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 10 (deprecated)
-<4860> +proj=tmerc +lat_0=0 +lon_0=10.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 11 (deprecated)
-<4861> +proj=tmerc +lat_0=0 +lon_0=11.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 12 (deprecated)
-<4862> +proj=tmerc +lat_0=0 +lon_0=12.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 13 (deprecated)
-<4863> +proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 14 (deprecated)
-<4864> +proj=tmerc +lat_0=0 +lon_0=14.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 15 (deprecated)
-<4865> +proj=tmerc +lat_0=0 +lon_0=15.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 16 (deprecated)
-<4866> +proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 17 (deprecated)
-<4867> +proj=tmerc +lat_0=0 +lon_0=17.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 18 (deprecated)
-<4868> +proj=tmerc +lat_0=0 +lon_0=18.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 19 (deprecated)
-<4869> +proj=tmerc +lat_0=0 +lon_0=19.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 20 (deprecated)
-<4870> +proj=tmerc +lat_0=0 +lon_0=20.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 21 (deprecated)
-<4871> +proj=tmerc +lat_0=0 +lon_0=21.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 22 (deprecated)
-<4872> +proj=tmerc +lat_0=0 +lon_0=22.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 23 (deprecated)
-<4873> +proj=tmerc +lat_0=0 +lon_0=23.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 24 (deprecated)
-<4874> +proj=tmerc +lat_0=0 +lon_0=24.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 25 (deprecated)
-<4875> +proj=tmerc +lat_0=0 +lon_0=25.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 26 (deprecated)
-<4876> +proj=tmerc +lat_0=0 +lon_0=26.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 27 (deprecated)
-<4877> +proj=tmerc +lat_0=0 +lon_0=27.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 28 (deprecated)
-<4878> +proj=tmerc +lat_0=0 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 29 (deprecated)
-<4879> +proj=tmerc +lat_0=0 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 30 (deprecated)
-<4880> +proj=tmerc +lat_0=0 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# PTRA08 / UTM zone 25N
-<5014> +proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# PTRA08 / UTM zone 26N
-<5015> +proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# PTRA08 / UTM zone 28N
-<5016> +proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Lisbon 1890 / Portugal Bonne New
-# Unable to translate coordinate system EPSG:5017 into PROJ.4 format.
-#
-# Lisbon / Portuguese Grid New
-<5018> +proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=0 +y_0=0 +ellps=intl +towgs84=-304.046,-60.576,103.64,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / UPS North (E,N)
-<5041> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UPS South (E,N)
-<5042> +proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs <>
-# ETRS89 / TM35FIN(N,E)
-<5048> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD27 / Conus Albers
-<5069> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD27 +units=m +no_defs <>
-# NAD83 / Conus Albers
-<5070> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs <>
-# NAD83(HARN) / Conus Albers
-<5071> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(NSRS2007) / Conus Albers
-<5072> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 5
-<5105> +proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 6
-<5106> +proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 7
-<5107> +proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 8
-<5108> +proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 9
-<5109> +proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 10
-<5110> +proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 11
-<5111> +proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 12
-<5112> +proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 13
-<5113> +proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 14
-<5114> +proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 15
-<5115> +proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 16
-<5116> +proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 17
-<5117> +proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 18
-<5118> +proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 19
-<5119> +proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 20
-<5120> +proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 21
-<5121> +proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 22
-<5122> +proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 23
-<5123> +proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 24
-<5124> +proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 25
-<5125> +proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 26
-<5126> +proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 27
-<5127> +proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 28
-<5128> +proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 29
-<5129> +proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / NTM zone 30
-<5130> +proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korean 1985 / East Sea Belt
-<5167> +proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Korean 1985 / Central Belt Jeju
-<5168> +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=550000 +ellps=bessel +units=m +no_defs <>
-# Tokyo 1892 / Korea West Belt
-<5169> +proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Tokyo 1892 / Korea Central Belt
-<5170> +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Tokyo 1892 / Korea East Belt
-<5171> +proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Tokyo 1892 / Korea East Sea Belt
-<5172> +proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Korean 1985 / Modified West Belt
-<5173> +proj=tmerc +lat_0=38 +lon_0=125.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Korean 1985 / Modified Central Belt
-<5174> +proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Korean 1985 / Modified Central Belt Jeju
-<5175> +proj=tmerc +lat_0=38 +lon_0=127.0028902777778 +k=1 +x_0=200000 +y_0=550000 +ellps=bessel +units=m +no_defs <>
-# Korean 1985 / Modified East Belt
-<5176> +proj=tmerc +lat_0=38 +lon_0=129.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Korean 1985 / Modified East Sea Belt
-<5177> +proj=tmerc +lat_0=38 +lon_0=131.0028902777778 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m +no_defs <>
-# Korean 1985 / Unified CS
-<5178> +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=bessel +units=m +no_defs <>
-# Korea 2000 / Unified CS
-<5179> +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / West Belt
-<5180> +proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / Central Belt
-<5181> +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / Central Belt Jeju
-<5182> +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=550000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / East Belt
-<5183> +proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / East Sea Belt
-<5184> +proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / West Belt 2010
-<5185> +proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / Central Belt 2010
-<5186> +proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / East Belt 2010
-<5187> +proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Korea 2000 / East Sea Belt 2010
-<5188> +proj=tmerc +lat_0=38 +lon_0=131 +k=1 +x_0=200000 +y_0=600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# S-JTSK (Ferro) / Krovak East North
-<5221> +proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +towgs84=589,76,480,0,0,0,0 +pm=ferro +units=m +no_defs <>
-# WGS 84 / Gabon TM
-<5223> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=500000 +datum=WGS84 +units=m +no_defs <>
-# S-JTSK/05 (Ferro) / Modified Krovak
-# Unable to translate coordinate system EPSG:5224 into PROJ.4 format.
-#
-# S-JTSK/05 (Ferro) / Modified Krovak East North
-# Unable to translate coordinate system EPSG:5225 into PROJ.4 format.
-#
-# Kandawala / Sri Lanka Grid
-<5234> +proj=tmerc +lat_0=7.000480277777778 +lon_0=80.77171111111112 +k=0.9999238418 +x_0=200000 +y_0=200000 +a=6377276.345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0 +units=m +no_defs <>
-# SLD99 / Sri Lanka Grid 1999
-<5235> +proj=tmerc +lat_0=7.000471527777778 +lon_0=80.77171308333334 +k=0.9999238418 +x_0=500000 +y_0=500000 +a=6377276.345 +b=6356075.41314024 +towgs84=-0.293,766.95,87.713,0.195704,1.695068,3.473016,-0.039338 +units=m +no_defs <>
-# ETRS89 / LCC Germany (E-N)
-<5243> +proj=lcc +lat_1=48.66666666666666 +lat_2=53.66666666666666 +lat_0=51 +lon_0=10.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDBD2009 / Brunei BRSO
-<5247> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +no_uoff +gamma=53.13010236111111 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / TM27
-<5253> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / TM30
-<5254> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / TM33
-<5255> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / TM36
-<5256> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / TM39
-<5257> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / TM42
-<5258> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / TM45
-<5259> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Bhutan National Grid
-<5266> +proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / 3-degree Gauss-Kruger zone 9
-<5269> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / 3-degree Gauss-Kruger zone 10
-<5270> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / 3-degree Gauss-Kruger zone 11
-<5271> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / 3-degree Gauss-Kruger zone 12
-<5272> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / 3-degree Gauss-Kruger zone 13
-<5273> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / 3-degree Gauss-Kruger zone 14
-<5274> +proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / 3-degree Gauss-Kruger zone 15
-<5275> +proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Bumthang TM
-<5292> +proj=tmerc +lat_0=0 +lon_0=90.73333333333333 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Chhukha TM
-<5293> +proj=tmerc +lat_0=0 +lon_0=89.55 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Dagana TM
-<5294> +proj=tmerc +lat_0=0 +lon_0=89.84999999999999 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Gasa TM
-<5295> +proj=tmerc +lat_0=0 +lon_0=90.03333333333333 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Ha TM
-<5296> +proj=tmerc +lat_0=0 +lon_0=90.15000000000001 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Lhuentse TM
-<5297> +proj=tmerc +lat_0=0 +lon_0=91.13333333333334 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Mongar TM
-<5298> +proj=tmerc +lat_0=0 +lon_0=91.23333333333333 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Paro TM
-<5299> +proj=tmerc +lat_0=0 +lon_0=89.34999999999999 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Pemagatshel TM
-<5300> +proj=tmerc +lat_0=0 +lon_0=91.34999999999999 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Punakha TM
-<5301> +proj=tmerc +lat_0=0 +lon_0=89.84999999999999 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Samdrup Jongkhar TM
-<5302> +proj=tmerc +lat_0=0 +lon_0=91.56666666666666 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Samtse TM
-<5303> +proj=tmerc +lat_0=0 +lon_0=89.06666666666666 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Sarpang TM
-<5304> +proj=tmerc +lat_0=0 +lon_0=90.26666666666667 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Thimphu TM
-<5305> +proj=tmerc +lat_0=0 +lon_0=89.55 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Trashigang TM
-<5306> +proj=tmerc +lat_0=0 +lon_0=91.75 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Trongsa TM
-<5307> +proj=tmerc +lat_0=0 +lon_0=90.5 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Tsirang TM
-<5308> +proj=tmerc +lat_0=0 +lon_0=90.16666666666667 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Wangdue Phodrang TM
-<5309> +proj=tmerc +lat_0=0 +lon_0=90.11666666666666 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Yangtse TM
-<5310> +proj=tmerc +lat_0=0 +lon_0=91.56666666666666 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# DRUKREF 03 / Zhemgang TM
-<5311> +proj=tmerc +lat_0=0 +lon_0=90.86666666666666 +k=1 +x_0=250000 +y_0=-2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / Faroe TM
-<5316> +proj=tmerc +lat_0=0 +lon_0=-7 +k=0.999997 +x_0=200000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83 / Teranet Ontario Lambert
-<5320> +proj=lcc +lat_1=44.5 +lat_2=54.5 +lat_0=0 +lon_0=-84 +x_0=1000000 +y_0=0 +datum=NAD83 +units=m +no_defs <>
-# NAD83(CSRS) / Teranet Ontario Lambert
-<5321> +proj=lcc +lat_1=44.5 +lat_2=54.5 +lat_0=0 +lon_0=-84 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ISN2004 / Lambert 2004
-<5325> +proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19 +x_0=1700000 +y_0=300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Segara (Jakarta) / NEIEZ
-<5329> +proj=merc +lon_0=3.192280555555556 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-403,684,41,0,0,0,0 +pm=jakarta +units=m +no_defs <>
-# Batavia (Jakarta) / NEIEZ
-<5330> +proj=merc +lon_0=3.192280555555556 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +pm=jakarta +units=m +no_defs <>
-# Makassar (Jakarta) / NEIEZ
-<5331> +proj=merc +lon_0=3.192280555555556 +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 <>
-# Aratu / UTM zone 25S
-<5337> +proj=utm +zone=25 +south +ellps=intl +towgs84=-151.99,287.04,-147.45,0,0,0,0 +units=m +no_defs <>
-# POSGAR 2007 / Argentina 1
-<5343> +proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# POSGAR 2007 / Argentina 2
-<5344> +proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# POSGAR 2007 / Argentina 3
-<5345> +proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# POSGAR 2007 / Argentina 4
-<5346> +proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# POSGAR 2007 / Argentina 5
-<5347> +proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# POSGAR 2007 / Argentina 6
-<5348> +proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# POSGAR 2007 / Argentina 7
-<5349> +proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# MARGEN / UTM zone 20S
-<5355> +proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# MARGEN / UTM zone 19S
-<5356> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# MARGEN / UTM zone 21S
-<5357> +proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SIRGAS-Chile / UTM zone 19S
-<5361> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SIRGAS-Chile / UTM zone 18S
-<5362> +proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# CR05 / CRTM05
-<5367> +proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=500000 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SIRGAS-ROU98 / UTM zone 21S
-<5382> +proj=utm +zone=21 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SIRGAS-ROU98 / UTM zone 22S
-<5383> +proj=utm +zone=22 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Peru96 / UTM zone 18S
-<5387> +proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Peru96 / UTM zone 17S (deprecated)
-<5388> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Peru96 / UTM zone 19S
-<5389> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SIRGAS 2000 / UTM zone 26S
-<5396> +proj=utm +zone=26 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Ocotepeque 1935 / Costa Rica Norte
-<5456> +proj=lcc +lat_1=10.46666666666667 +lat_0=10.46666666666667 +lon_0=-84.33333333333333 +k_0=0.99995696 +x_0=500000 +y_0=271820.522 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs <>
-# Ocotepeque 1935 / Costa Rica Sur
-<5457> +proj=lcc +lat_1=9 +lat_0=9 +lon_0=-83.66666666666667 +k_0=0.99995696 +x_0=500000 +y_0=327987.436 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs <>
-# Ocotepeque 1935 / Guatemala Norte (deprecated)
-<5458> +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 +datum=NAD27 +units=m +no_defs <>
-# Ocotepeque 1935 / Guatemala Sur
-<5459> +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 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs <>
-# Ocotepeque 1935 / El Salvador Lambert
-<5460> +proj=lcc +lat_1=13.78333333333333 +lat_0=13.78333333333333 +lon_0=-89 +k_0=0.99996704 +x_0=500000 +y_0=295809.184 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs <>
-# Ocotepeque 1935 / Nicaragua Norte
-<5461> +proj=lcc +lat_1=13.86666666666667 +lat_0=13.86666666666667 +lon_0=-85.5 +k_0=0.99990314 +x_0=500000 +y_0=359891.816 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs <>
-# Ocotepeque 1935 / Nicaragua Sur
-<5462> +proj=lcc +lat_1=11.73333333333333 +lat_0=11.73333333333333 +lon_0=-85.5 +k_0=0.9999222800000001 +x_0=500000 +y_0=288876.327 +ellps=clrk66 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 17N
-<5463> +proj=utm +zone=17 +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# Sibun Gorge 1922 / Colony Grid (deprecated)
-<5466> +proj=tmerc +lat_0=17.06124194444444 +lon_0=-88.6318575 +k=1 +x_0=66220.02833082761 +y_0=135779.5099885299 +a=6378293.645208759 +b=6356617.987679838 +units=m +no_defs <>
-# Panama-Colon 1911 / Panama Lambert
-<5469> +proj=lcc +lat_1=8.416666666666666 +lat_0=8.416666666666666 +lon_0=-80 +k_0=0.99989909 +x_0=500000 +y_0=294865.303 +ellps=clrk66 +units=m +no_defs <>
-# Panama-Colon 1911 / Panama Polyconic
-<5472> +proj=poly +lat_0=8.25 +lon_0=-81 +x_0=914391.7962 +y_0=999404.7217154861 +ellps=clrk66 +to_meter=0.9143917962 +no_defs <>
-# RSRGD2000 / MSLC2000
-<5479> +proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-78 +lon_0=163 +x_0=7000000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RSRGD2000 / BCLC2000
-<5480> +proj=lcc +lat_1=-73.66666666666667 +lat_2=-75.33333333333333 +lat_0=-74.5 +lon_0=165 +x_0=5000000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RSRGD2000 / PCLC2000
-<5481> +proj=lcc +lat_1=-70.66666666666667 +lat_2=-72.33333333333333 +lat_0=-71.5 +lon_0=166 +x_0=3000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RSRGD2000 / RSPS2000
-<5482> +proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=180 +k=0.994 +x_0=5000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RGAF09 / UTM zone 20N
-<5490> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# S-JTSK / Krovak
-<5513> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +towgs84=589,76,480,0,0,0,0 +units=m +no_defs <>
-# S-JTSK / Krovak East North
-<5514> +proj=krovak +lat_0=49.5 +lon_0=24.83333333333333 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +towgs84=589,76,480,0,0,0,0 +units=m +no_defs <>
-# S-JTSK/05 / Modified Krovak
-# Unable to translate coordinate system EPSG:5515 into PROJ.4 format.
-#
-# S-JTSK/05 / Modified Krovak East North
-# Unable to translate coordinate system EPSG:5516 into PROJ.4 format.
-#
-# CI1971 / Chatham Islands Map Grid
-<5518> +proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=350000 +y_0=650000 +ellps=intl +towgs84=175,-38,113,0,0,0,0 +units=m +no_defs <>
-# CI1979 / Chatham Islands Map Grid
-<5519> +proj=tmerc +lat_0=-44 +lon_0=-176.5 +k=1 +x_0=350000 +y_0=650000 +ellps=intl +towgs84=174.05,-25.49,112.57,0,0,0.554,0.2263 +units=m +no_defs <>
-# DHDN / 3-degree Gauss-Kruger zone 1
-<5520> +proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +datum=potsdam +units=m +no_defs <>
-# WGS 84 / Gabon TM 2011
-<5523> +proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=1500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# SAD69(96) / Brazil Polyconic
-<5530> +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 21S
-<5531> +proj=utm +zone=21 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 22S (deprecated)
-<5532> +proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 23S
-<5533> +proj=utm +zone=23 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 24S
-<5534> +proj=utm +zone=24 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 25S
-<5535> +proj=utm +zone=25 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# Corrego Alegre 1961 / UTM zone 21S
-<5536> +proj=utm +zone=21 +south +ellps=intl +units=m +no_defs <>
-# Corrego Alegre 1961 / UTM zone 22S
-<5537> +proj=utm +zone=22 +south +ellps=intl +units=m +no_defs <>
-# Corrego Alegre 1961 / UTM zone 23S
-<5538> +proj=utm +zone=23 +south +ellps=intl +units=m +no_defs <>
-# Corrego Alegre 1961 / UTM zone 24S
-<5539> +proj=utm +zone=24 +south +ellps=intl +units=m +no_defs <>
-# PNG94 / PNGMG94 zone 54
-<5550> +proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# PNG94 / PNGMG94 zone 55
-<5551> +proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# PNG94 / PNGMG94 zone 56
-<5552> +proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Ocotepeque 1935 / Guatemala Norte
-<5559> +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 +towgs84=205,96,-98,0,0,0,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger zone 4
-<5562> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger zone 5
-<5563> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger zone 6
-<5564> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger zone 7
-<5565> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger CM 21E
-<5566> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger CM 27E
-<5567> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger CM 33E
-<5568> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Gauss-Kruger CM 39E
-<5569> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger zone 7 (deprecated)
-<5570> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger zone 8 (deprecated)
-<5571> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger zone 9 (deprecated)
-<5572> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger zone 10 (deprecated)
-<5573> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger zone 11 (deprecated)
-<5574> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger zone 12 (deprecated)
-<5575> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger zone 13 (deprecated)
-<5576> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger CM 21E (deprecated)
-<5577> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger CM 24E (deprecated)
-<5578> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger CM 27E (deprecated)
-<5579> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger CM 30E (deprecated)
-<5580> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger CM 33E (deprecated)
-<5581> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger CM 36E (deprecated)
-<5582> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / 3-degree Gauss-Kruger CM 39E (deprecated)
-<5583> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# NAD27 / New Brunswick Stereographic (NAD27)
-<5588> +proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=304800 +y_0=304800 +datum=NAD27 +units=ft +no_defs <>
-# Sibun Gorge 1922 / Colony Grid
-<5589> +proj=tmerc +lat_0=17.06124194444444 +lon_0=-88.6318575 +k=1 +x_0=66220.02833082761 +y_0=135779.5099885299 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654 +no_defs <>
-# FEH2010 / Fehmarnbelt TM
-<5596> +proj=tmerc +lat_0=0 +lon_0=11.33333333333333 +k=1 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD27 / Michigan East
-<5623> +proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999942857 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / Michigan Old Central
-<5624> +proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / Michigan West
-<5625> +proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +datum=NAD27 +units=us-ft +no_defs <>
-# ED50 / TM 6 NE
-<5627> +proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# Moznet / UTM zone 38S
-<5629> +proj=utm +zone=38 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Pulkovo 1942(58) / Gauss-Kruger zone 2 (E-N)
-<5631> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs <>
-# PTRA08 / LCC Europe
-<5632> +proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# PTRA08 / LAEA Europe
-<5633> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# REGCAN95 / LCC Europe
-<5634> +proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# REGCAN95 / LAEA Europe
-<5635> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / LAEA Europe
-<5636> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TUREF / LCC Europe
-<5637> +proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ISN2004 / LAEA Europe
-<5638> +proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ISN2004 / LCC Europe
-<5639> +proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SIRGAS 2000 / Brazil Mercator
-<5641> +proj=merc +lon_0=-43 +lat_ts=-2 +x_0=5000000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ED50 / SPBA LCC
-<5643> +proj=lcc +lat_1=52.66666666666666 +lat_2=54.33333333333334 +lat_0=48 +lon_0=10 +x_0=815000 +y_0=0 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# RGR92 / UTM zone 39S
-<5644> +proj=utm +zone=39 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83 / Vermont (ftUS)
-<5646> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000.00001016 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# ETRS89 / UTM zone 31N (zE-N)
-<5649> +proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 +x_0=31500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 33N (zE-N)
-<5650> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=33500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 31N (N-zE)
-<5651> +proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 +x_0=31500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 32N (N-zE)
-<5652> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=32500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 33N (N-zE)
-<5653> +proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=33500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / Vermont (ftUS)
-<5654> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(NSRS2007) / Vermont (ftUS)
-<5655> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# Monte Mario / TM Emilia-Romagna
-<5659> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=500053 +y_0=-3999820 +ellps=intl +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +units=m +no_defs <>
-# Pulkovo 1942(58) / Gauss-Kruger zone 3 (E-N)
-<5663> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs <>
-# Pulkovo 1942(83) / Gauss-Kruger zone 2 (E-N)
-<5664> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# Pulkovo 1942(83) / Gauss-Kruger zone 3 (E-N)
-<5665> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# PD/83 / 3-degree Gauss-Kruger zone 3 (E-N)
-<5666> +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 (E-N)
-<5667> +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 (E-N)
-<5668> +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 (E-N)
-<5669> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs <>
-# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 3 (E-N)
-<5670> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs <>
-# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 4 (E-N)
-<5671> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs <>
-# Pulkovo 1942(58) / 3-degree Gauss-Kruger zone 5 (E-N)
-<5672> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m +no_defs <>
-# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 3 (E-N)
-<5673> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 4 (E-N)
-<5674> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# Pulkovo 1942(83) / 3-degree Gauss-Kruger zone 5 (E-N)
-<5675> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=26,-121,-78,0,0,0,0 +units=m +no_defs <>
-# DHDN / 3-degree Gauss-Kruger zone 2 (E-N)
-<5676> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +datum=potsdam +units=m +no_defs <>
-# DHDN / 3-degree Gauss-Kruger zone 3 (E-N)
-<5677> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +datum=potsdam +units=m +no_defs <>
-# DHDN / 3-degree Gauss-Kruger zone 4 (E-N)
-<5678> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +datum=potsdam +units=m +no_defs <>
-# DHDN / 3-degree Gauss-Kruger zone 5 (E-N)
-<5679> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +datum=potsdam +units=m +no_defs <>
-# DHDN / 3-degree Gauss-Kruger zone 1 (E-N)
-<5680> +proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +datum=potsdam +units=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 2 (E-N)
-<5682> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +units=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 3 (E-N)
-<5683> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 4 (E-N)
-<5684> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 5 (E-N)
-<5685> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +no_defs <>
-# NZGD2000 / UTM zone 1S
-<5700> +proj=utm +zone=1 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# 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.
-#
-# AGD66 / ACT Standard Grid
-<5825> +proj=tmerc +lat_0=-35.31773627777778 +lon_0=149.0092948305555 +k=1.000086 +x_0=200000 +y_0=600000 +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# Yemen NGN96 / UTM zone 37N
-<5836> +proj=utm +zone=37 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Yemen NGN96 / UTM zone 40N
-<5837> +proj=utm +zone=40 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Peru96 / UTM zone 17S
-<5839> +proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / TM 12 SE
-<5842> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=10000000 +datum=WGS84 +units=m +no_defs <>
-# RGRDC 2005 / Congo TM zone 30
-<5844> +proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 22S
-<5858> +proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 18S
-<5875> +proj=utm +zone=18 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 19S
-<5876> +proj=utm +zone=19 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# SAD69(96) / UTM zone 20S
-<5877> +proj=utm +zone=20 +south +ellps=aust_SA +towgs84=-67.35,3.88,-38.22,0,0,0,0 +units=m +no_defs <>
-# Cadastre 1997 / UTM zone 38S
-<5879> +proj=utm +zone=38 +south +ellps=intl +towgs84=-381.788,-57.501,-256.673,0,0,0,0 +units=m +no_defs <>
-# SIRGAS 2000 / Brazil Polyconic
-<5880> +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# TGD2005 / Tonga Map Grid
-<5887> +proj=tmerc +lat_0=0 +lon_0=-177 +k=0.9996 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m +no_defs <>
-# JAXA Snow Depth Polar Stereographic North
-<5890> +proj=stere +lat_0=90 +lat_ts=70 +lon_0=90 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone A1
-<5921> +proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone A2
-<5922> +proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone A3
-<5923> +proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone A4
-<5924> +proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone A5
-<5925> +proj=lcc +lat_1=85 +lat_2=77 +lat_0=81.31722600000001 +lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone B1
-<5926> +proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone B2
-<5927> +proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone B3
-<5928> +proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone B4
-<5929> +proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone B5
-<5930> +proj=lcc +lat_1=77 +lat_2=69 +lat_0=73.15574086111111 +lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone C1
-<5931> +proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +lon_0=-111 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone C2
-<5932> +proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +lon_0=-39 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone C3
-<5933> +proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +lon_0=33 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone C4
-<5934> +proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +lon_0=105 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic Regional zone C5
-<5935> +proj=lcc +lat_1=69 +lat_2=61 +lat_0=65.10127088888888 +lon_0=177 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Alaska Polar Stereographic
-<5936> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=-150 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Canada Polar Stereographic
-<5937> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=-100 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Greenland Polar Stereographic
-<5938> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=-33 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Norway Polar Stereographic
-<5939> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=18 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Russia Polar Stereographic
-<5940> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=105 +k=0.994 +x_0=2000000 +y_0=2000000 +datum=WGS84 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 1-25
-<6050> +proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.43711833333333 +lon_0=-30 +x_0=25500000 +y_0=1500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 2-18
-<6051> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=-52 +x_0=18500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 2-20
-<6052> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=-12 +x_0=20500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 3-29
-<6053> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=-69 +x_0=29500000 +y_0=3500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 3-31
-<6054> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=-39 +x_0=31500000 +y_0=3500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 3-33
-<6055> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=-10 +x_0=33500000 +y_0=3500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 4-20
-<6056> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=-64 +x_0=20500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 4-22
-<6057> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=-39 +x_0=22500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 4-24
-<6058> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=-14 +x_0=24500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 5-41
-<6059> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-62 +x_0=41500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 5-43
-<6060> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-42 +x_0=43500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 5-45
-<6061> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-22 +x_0=45500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 6-26
-<6062> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-56 +x_0=26500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 6-28
-<6063> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-38 +x_0=28500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 6-30
-<6064> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-20 +x_0=30500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 7-11
-<6065> +proj=lcc +lat_1=67 +lat_2=63.66666666666666 +lat_0=65.35103930555555 +lon_0=-51 +x_0=11500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 7-13
-<6066> +proj=lcc +lat_1=67 +lat_2=63.66666666666666 +lat_0=65.35103930555555 +lon_0=-34 +x_0=13500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 8-20
-<6067> +proj=lcc +lat_1=63.66666666666666 +lat_2=60.33333333333334 +lat_0=62.01530688888889 +lon_0=-52 +x_0=20500000 +y_0=8500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GR96 / EPSG Arctic zone 8-22
-<6068> +proj=lcc +lat_1=63.66666666666666 +lat_2=60.33333333333334 +lat_0=62.01530688888889 +lon_0=-37 +x_0=22500000 +y_0=8500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / EPSG Arctic zone 2-22
-<6069> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=16 +x_0=22500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / EPSG Arctic zone 3-11
-<6070> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=21 +x_0=11500000 +y_0=3500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / EPSG Arctic zone 4-26
-<6071> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=10 +x_0=26500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / EPSG Arctic zone 4-28
-<6072> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=34 +x_0=28500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / EPSG Arctic zone 5-11
-<6073> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=14 +x_0=11500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / EPSG Arctic zone 5-13
-<6074> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=34 +x_0=13500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 2-24
-<6075> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=53 +x_0=24500000 +y_0=2500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 2-26
-<6076> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=93 +x_0=26500000 +y_0=2500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 3-13
-<6077> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=52 +x_0=13500000 +y_0=3500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 3-15
-<6078> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=83 +x_0=15500000 +y_0=3500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 3-17
-<6079> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=114 +x_0=17500000 +y_0=3500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 3-19
-<6080> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=145 +x_0=19500000 +y_0=3500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 4-30
-<6081> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=58 +x_0=30500000 +y_0=4500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 4-32
-<6082> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=82 +x_0=32500000 +y_0=4500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 4-34
-<6083> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=106 +x_0=34500000 +y_0=4500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 4-36
-<6084> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=130 +x_0=36500000 +y_0=4500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 4-38
-<6085> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=154 +x_0=38500000 +y_0=4500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 4-40
-<6086> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=179 +x_0=40500000 +y_0=4500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 5-15
-<6087> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=54 +x_0=15500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 5-17
-<6088> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=74 +x_0=17500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 5-19
-<6089> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=95 +x_0=19500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 5-21
-<6090> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=116 +x_0=21500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 5-23
-<6091> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=137 +x_0=23500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 5-25
-<6092> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=158 +x_0=25500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 5-27
-<6093> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=179 +x_0=27500000 +y_0=5500000 +datum=WGS84 +units=m +no_defs <>
-# NAD83(NSRS2007) / EPSG Arctic zone 5-29
-<6094> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-163 +x_0=29500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(NSRS2007) / EPSG Arctic zone 5-31
-<6095> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-147 +x_0=31500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(NSRS2007) / EPSG Arctic zone 6-14
-<6096> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-165 +x_0=14500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(NSRS2007) / EPSG Arctic zone 6-16
-<6097> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-147 +x_0=16500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 1-23
-<6098> +proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.43711833333333 +lon_0=-90 +x_0=23500000 +y_0=1500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 2-14
-<6099> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=-115 +x_0=14500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 2-16
-<6100> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=-75 +x_0=16500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 3-25
-<6101> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=-129 +x_0=25500000 +y_0=3500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 3-27
-<6102> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=-99 +x_0=27500000 +y_0=3500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 3-29
-<6103> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=-69 +x_0=29500000 +y_0=3500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 4-14
-<6104> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=-129 +x_0=14500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 4-16
-<6105> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=-104 +x_0=16500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 4-18
-<6106> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=-79 +x_0=18500000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 5-33
-<6107> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-131 +x_0=33500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 5-35
-<6108> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-111 +x_0=35500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 5-37
-<6109> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-91 +x_0=37500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 5-39
-<6110> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-71 +x_0=39500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 6-18
-<6111> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-132 +x_0=18500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 6-20
-<6112> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-113 +x_0=20500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 6-22
-<6113> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-94 +x_0=22500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CSRS) / EPSG Arctic zone 6-24
-<6114> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-75 +x_0=24500000 +y_0=6500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 1-27
-<6115> +proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.43711833333333 +lon_0=30 +x_0=27500000 +y_0=1500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 1-29
-<6116> +proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.43711833333333 +lon_0=90 +x_0=29500000 +y_0=1500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 1-31
-<6117> +proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.43711833333333 +lon_0=150 +x_0=31500000 +y_0=1500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 1-21
-<6118> +proj=lcc +lat_1=87 +lat_2=83.66666666666667 +lat_0=85.43711833333333 +lon_0=-150 +x_0=21500000 +y_0=1500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 2-28
-<6119> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=133 +x_0=28500000 +y_0=2500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 2-10
-<6120> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=166 +x_0=10500000 +y_0=2500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 2-12
-<6121> +proj=lcc +lat_1=83.66666666666667 +lat_2=80.33333333333333 +lat_0=82.05842488888888 +lon_0=-154 +x_0=12500000 +y_0=2500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 3-21
-<6122> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=176 +x_0=21500000 +y_0=3500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 3-23
-<6123> +proj=lcc +lat_1=80.33333333333333 +lat_2=77 +lat_0=78.70733752777778 +lon_0=-153 +x_0=23500000 +y_0=3500000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / EPSG Arctic zone 4-12
-<6124> +proj=lcc +lat_1=77 +lat_2=73.66666666666667 +lat_0=75.36440330555556 +lon_0=-155 +x_0=12500000 +y_0=4500000 +datum=WGS84 +units=m +no_defs <>
-# ETRS89 / EPSG Arctic zone 5-47
-<6125> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-5 +x_0=47500000 +y_0=5500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Grand Cayman National Grid 1959
-<6128> +proj=utm +zone=17 +ellps=clrk66 +towgs84=-179.483,-69.379,-27.584,-7.862,8.163,6.042,-13.925 +units=ft +no_defs <>
-# Sister Islands National Grid 1961
-<6129> +proj=utm +zone=17 +ellps=clrk66 +towgs84=8.853,-52.644,180.304,-0.393,-2.323,2.96,-24.081 +units=ft +no_defs <>
-# Cayman Islands National Grid 2011 (deprecated)
-<6141> +proj=lcc +lat_1=19.33333333333333 +lat_2=19.7 +lat_0=19.33333333333333 +lon_0=80.56666666666666 +x_0=899160 +y_0=579120 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <>
-# NAD27 / Michigan North (deprecated)
-# Unable to translate coordinate system EPSG:6200 into PROJ.4 format.
-#
-# NAD27 / Michigan Central
-# Unable to translate coordinate system EPSG:6201 into PROJ.4 format.
-#
-# NAD27 / Michigan South
-# Unable to translate coordinate system EPSG:6202 into PROJ.4 format.
-#
-# Macedonia State Coordinate System
-<6204> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=500000 +y_0=0 +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +units=m +no_defs <>
-# SIRGAS 2000 / UTM zone 23N
-<6210> +proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# SIRGAS 2000 / UTM zone 24N
-<6211> +proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# MAGNA-SIRGAS / Arauca urban grid
-# Unable to translate coordinate system EPSG:6244 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Armenia urban grid
-# Unable to translate coordinate system EPSG:6245 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Barranquilla urban grid
-# Unable to translate coordinate system EPSG:6246 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Bogota urban grid
-# Unable to translate coordinate system EPSG:6247 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Bucaramanga urban grid
-# Unable to translate coordinate system EPSG:6248 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Cali urban grid
-# Unable to translate coordinate system EPSG:6249 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Cartagena urban grid
-# Unable to translate coordinate system EPSG:6250 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Cucuta urban grid
-# Unable to translate coordinate system EPSG:6251 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Florencia urban grid
-# Unable to translate coordinate system EPSG:6252 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Ibague urban grid
-# Unable to translate coordinate system EPSG:6253 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Inirida urban grid
-# Unable to translate coordinate system EPSG:6254 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Leticia urban grid
-# Unable to translate coordinate system EPSG:6255 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Manizales urban grid
-# Unable to translate coordinate system EPSG:6256 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Medellin urban grid
-# Unable to translate coordinate system EPSG:6257 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Mitu urban grid
-# Unable to translate coordinate system EPSG:6258 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Mocoa urban grid
-# Unable to translate coordinate system EPSG:6259 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Monteria urban grid
-# Unable to translate coordinate system EPSG:6260 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Neiva urban grid
-# Unable to translate coordinate system EPSG:6261 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Pasto urban grid
-# Unable to translate coordinate system EPSG:6262 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Pereira urban grid
-# Unable to translate coordinate system EPSG:6263 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Popayan urban grid
-# Unable to translate coordinate system EPSG:6264 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Puerto Carreno urban grid
-# Unable to translate coordinate system EPSG:6265 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Quibdo urban grid
-# Unable to translate coordinate system EPSG:6266 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Riohacha urban grid
-# Unable to translate coordinate system EPSG:6267 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / San Andres urban grid
-# Unable to translate coordinate system EPSG:6268 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / San Jose del Guaviare urban grid
-# Unable to translate coordinate system EPSG:6269 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Santa Marta urban grid
-# Unable to translate coordinate system EPSG:6270 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Sucre urban grid
-# Unable to translate coordinate system EPSG:6271 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Tunja urban grid
-# Unable to translate coordinate system EPSG:6272 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Valledupar urban grid
-# Unable to translate coordinate system EPSG:6273 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Villavicencio urban grid
-# Unable to translate coordinate system EPSG:6274 into PROJ.4 format.
-#
-# MAGNA-SIRGAS / Yopal urban grid
-# Unable to translate coordinate system EPSG:6275 into PROJ.4 format.
-#
-# NAD83(CORS96) / Puerto Rico and Virgin Is.
-<6307> +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 <>
-# CGRS93 / Cyprus Local Transverse Mercator
-<6312> +proj=tmerc +lat_0=0 +lon_0=33 +k=0.99995 +x_0=200000 +y_0=-3500000 +ellps=WGS84 +towgs84=8.846,-4.394,-1.122,-0.00237,-0.146528,0.130428,0.783926 +units=m +no_defs <>
-# Macedonia State Coordinate System zone 7
-<6316> +proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=682,-203,480,0,0,0,0 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 59N
-<6328> +proj=utm +zone=59 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 60N
-<6329> +proj=utm +zone=60 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 1N
-<6330> +proj=utm +zone=1 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 2N
-<6331> +proj=utm +zone=2 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 3N
-<6332> +proj=utm +zone=3 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 4N
-<6333> +proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 5N
-<6334> +proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 6N
-<6335> +proj=utm +zone=6 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 7N
-<6336> +proj=utm +zone=7 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 8N
-<6337> +proj=utm +zone=8 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 9N
-<6338> +proj=utm +zone=9 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 10N
-<6339> +proj=utm +zone=10 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 11N
-<6340> +proj=utm +zone=11 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 12N
-<6341> +proj=utm +zone=12 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 13N
-<6342> +proj=utm +zone=13 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 14N
-<6343> +proj=utm +zone=14 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 15N
-<6344> +proj=utm +zone=15 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 16N
-<6345> +proj=utm +zone=16 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 17N
-<6346> +proj=utm +zone=17 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 18N
-<6347> +proj=utm +zone=18 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / UTM zone 19N
-<6348> +proj=utm +zone=19 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Conus Albers
-<6350> +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / EPSG Arctic zone 5-29
-<6351> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-163 +x_0=29500000 +y_0=5500000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / EPSG Arctic zone 5-31
-<6352> +proj=lcc +lat_1=73.66666666666667 +lat_2=70.33333333333333 +lat_0=72.02500919444445 +lon_0=-147 +x_0=31500000 +y_0=5500000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / EPSG Arctic zone 6-14
-<6353> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-165 +x_0=14500000 +y_0=6500000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / EPSG Arctic zone 6-16
-<6354> +proj=lcc +lat_1=70.33333333333333 +lat_2=67 +lat_0=68.68747555555557 +lon_0=-147 +x_0=16500000 +y_0=6500000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alabama East
-<6355> +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(2011) / Alabama West
-<6356> +proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# Mexico ITRF92 / LCC
-<6362> +proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF2008 / UTM zone 11N
-<6366> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF2008 / UTM zone 12N
-<6367> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF2008 / UTM zone 13N
-<6368> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF2008 / UTM zone 14N
-<6369> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF2008 / UTM zone 15N
-<6370> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF2008 / UTM zone 16N
-<6371> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Mexico ITRF2008 / LCC
-<6372> +proj=lcc +lat_1=17.5 +lat_2=29.5 +lat_0=12 +lon_0=-102 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# UCS-2000 / Ukraine TM zone 7
-<6381> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=300000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Ukraine TM zone 8
-<6382> +proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=300000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Ukraine TM zone 9
-<6383> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=300000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Ukraine TM zone 10
-<6384> +proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=300000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Ukraine TM zone 11
-<6385> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=300000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Ukraine TM zone 12
-<6386> +proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=300000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# UCS-2000 / Ukraine TM zone 13
-<6387> +proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=300000 +y_0=0 +ellps=krass +towgs84=25,-141,-78.5,0,0.35,0.736,0 +units=m +no_defs <>
-# Cayman Islands National Grid 2011
-<6391> +proj=lcc +lat_1=19.33333333333333 +lat_2=19.7 +lat_0=19.33333333333333 +lon_0=-80.56666666666666 +x_0=899160 +y_0=579120 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=ft +no_defs <>
-# NAD83(2011) / Alaska Albers
-<6393> +proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 1
-<6394> +proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +no_uoff +gamma=323.1301023611111 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 2
-<6395> +proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 3
-<6396> +proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 4
-<6397> +proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 5
-<6398> +proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 6
-<6399> +proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 7
-<6400> +proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 8
-<6401> +proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 9
-<6402> +proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Alaska zone 10
-<6403> +proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Arizona Central
-<6404> +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(2011) / Arizona Central (ft)
-<6405> +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(2011) / Arizona East
-<6406> +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(2011) / Arizona East (ft)
-<6407> +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(2011) / Arizona West
-<6408> +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(2011) / Arizona West (ft)
-<6409> +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(2011) / Arkansas North
-<6410> +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(2011) / Arkansas North (ftUS)
-<6411> +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(2011) / Arkansas South
-<6412> +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(2011) / Arkansas South (ftUS)
-<6413> +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(2011) / California Albers
-<6414> +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 <>
-# NAD83(2011) / California zone 1
-<6415> +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(2011) / California zone 1 (ftUS)
-<6416> +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(2011) / California zone 2
-<6417> +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(2011) / California zone 2 (ftUS)
-<6418> +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(2011) / California zone 3
-<6419> +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(2011) / California zone 3 (ftUS)
-<6420> +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(2011) / California zone 4
-<6421> +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(2011) / California zone 4 (ftUS)
-<6422> +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(2011) / California zone 5
-<6423> +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(2011) / California zone 5 (ftUS)
-<6424> +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(2011) / California zone 6
-<6425> +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(2011) / California zone 6 (ftUS)
-<6426> +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(2011) / Colorado Central
-<6427> +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(2011) / Colorado Central (ftUS)
-<6428> +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(2011) / Colorado North
-<6429> +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(2011) / Colorado North (ftUS)
-<6430> +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(2011) / Colorado South
-<6431> +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(2011) / Colorado South (ftUS)
-<6432> +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(2011) / Connecticut
-<6433> +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(2011) / Connecticut (ftUS)
-<6434> +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(2011) / Delaware
-<6435> +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(2011) / Delaware (ftUS)
-<6436> +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(2011) / Florida East
-<6437> +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(2011) / Florida East (ftUS)
-<6438> +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(2011) / Florida GDL Albers
-<6439> +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(2011) / Florida North
-<6440> +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(2011) / Florida North (ftUS)
-<6441> +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(2011) / Florida West
-<6442> +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(2011) / Florida West (ftUS)
-<6443> +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(2011) / Georgia East
-<6444> +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(2011) / Georgia East (ftUS)
-<6445> +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(2011) / Georgia West
-<6446> +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(2011) / Georgia West (ftUS)
-<6447> +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(2011) / Idaho Central
-<6448> +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(2011) / Idaho Central (ftUS)
-<6449> +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(2011) / Idaho East
-<6450> +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(2011) / Idaho East (ftUS)
-<6451> +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(2011) / Idaho West
-<6452> +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(2011) / Idaho West (ftUS)
-<6453> +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(2011) / Illinois East
-<6454> +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(2011) / Illinois East (ftUS)
-<6455> +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(2011) / Illinois West
-<6456> +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(2011) / Illinois West (ftUS)
-<6457> +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(2011) / Indiana East
-<6458> +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(2011) / Indiana East (ftUS)
-<6459> +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(2011) / Indiana West
-<6460> +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(2011) / Indiana West (ftUS)
-<6461> +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 <>
-# NAD83(2011) / Iowa North
-<6462> +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(2011) / Iowa North (ftUS)
-<6463> +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(2011) / Iowa South
-<6464> +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(2011) / Iowa South (ftUS)
-<6465> +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(2011) / Kansas North
-<6466> +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(2011) / Kansas North (ftUS)
-<6467> +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(2011) / Kansas South
-<6468> +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(2011) / Kansas South (ftUS)
-<6469> +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(2011) / Kentucky North
-<6470> +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(2011) / Kentucky North (ftUS)
-<6471> +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(2011) / Kentucky Single Zone
-<6472> +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(2011) / Kentucky Single Zone (ftUS)
-<6473> +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 <>
-# NAD83(2011) / Kentucky South
-<6474> +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(2011) / Kentucky South (ftUS)
-<6475> +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(2011) / Louisiana North
-<6476> +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(2011) / Louisiana North (ftUS)
-<6477> +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(2011) / Louisiana South
-<6478> +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(2011) / Louisiana South (ftUS)
-<6479> +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(2011) / Maine CS2000 Central
-<6480> +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(2011) / Maine CS2000 East
-<6481> +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(2011) / Maine CS2000 West
-<6482> +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(2011) / Maine East
-<6483> +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(2011) / Maine East (ftUS)
-<6484> +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(2011) / Maine West
-<6485> +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(2011) / Maine West (ftUS)
-<6486> +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(2011) / Maryland
-<6487> +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(2011) / Maryland (ftUS)
-<6488> +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(2011) / Massachusetts Island
-<6489> +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(2011) / Massachusetts Island (ftUS)
-<6490> +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(2011) / Massachusetts Mainland
-<6491> +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(2011) / Massachusetts Mainland (ftUS)
-<6492> +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(2011) / Michigan Central
-<6493> +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(2011) / Michigan Central (ft)
-<6494> +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(2011) / Michigan North
-<6495> +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(2011) / Michigan North (ft)
-<6496> +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(2011) / Michigan Oblique Mercator
-<6497> +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +no_uoff +gamma=337.25556 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Michigan South
-<6498> +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(2011) / Michigan South (ft)
-<6499> +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(2011) / Minnesota Central
-<6500> +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(2011) / Minnesota Central (ftUS)
-<6501> +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(2011) / Minnesota North
-<6502> +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(2011) / Minnesota North (ftUS)
-<6503> +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(2011) / Minnesota South
-<6504> +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(2011) / Minnesota South (ftUS)
-<6505> +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(2011) / Mississippi East
-<6506> +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(2011) / Mississippi East (ftUS)
-<6507> +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(2011) / Mississippi TM
-<6508> +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(2011) / Mississippi West
-<6509> +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(2011) / Mississippi West (ftUS)
-<6510> +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(2011) / Missouri Central
-<6511> +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(2011) / Missouri East
-<6512> +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(2011) / Missouri West
-<6513> +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(2011) / Montana
-<6514> +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(2011) / Montana (ft)
-<6515> +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(2011) / Nebraska
-<6516> +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(2011) / Nebraska (ftUS) (deprecated)
-<6517> +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(2011) / Nevada Central
-<6518> +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(2011) / Nevada Central (ftUS)
-<6519> +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(2011) / Nevada East
-<6520> +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(2011) / Nevada East (ftUS)
-<6521> +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(2011) / Nevada West
-<6522> +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(2011) / Nevada West (ftUS)
-<6523> +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(2011) / New Hampshire
-<6524> +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(2011) / New Hampshire (ftUS)
-<6525> +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(2011) / New Jersey
-<6526> +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(2011) / New Jersey (ftUS)
-<6527> +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(2011) / New Mexico Central
-<6528> +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(2011) / New Mexico Central (ftUS)
-<6529> +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(2011) / New Mexico East
-<6530> +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(2011) / New Mexico East (ftUS)
-<6531> +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(2011) / New Mexico West
-<6532> +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(2011) / New Mexico West (ftUS)
-<6533> +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(2011) / New York Central
-<6534> +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(2011) / New York Central (ftUS)
-<6535> +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(2011) / New York East
-<6536> +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(2011) / New York East (ftUS)
-<6537> +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(2011) / New York Long Island
-<6538> +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(2011) / New York Long Island (ftUS)
-<6539> +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(2011) / New York West
-<6540> +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(2011) / New York West (ftUS)
-<6541> +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(2011) / North Carolina
-<6542> +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(2011) / North Carolina (ftUS)
-<6543> +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 <>
-# NAD83(2011) / North Dakota North
-<6544> +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(2011) / North Dakota North (ft)
-<6545> +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(2011) / North Dakota South
-<6546> +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(2011) / North Dakota South (ft)
-<6547> +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(2011) / Ohio North
-<6548> +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(2011) / Ohio North (ftUS)
-<6549> +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(2011) / Ohio South
-<6550> +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(2011) / Ohio South (ftUS)
-<6551> +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(2011) / Oklahoma North
-<6552> +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(2011) / Oklahoma North (ftUS)
-<6553> +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(2011) / Oklahoma South
-<6554> +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(2011) / Oklahoma South (ftUS)
-<6555> +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(2011) / Oregon LCC (m)
-<6556> +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(2011) / Oregon GIC Lambert (ft)
-<6557> +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 <>
-# NAD83(2011) / Oregon North
-<6558> +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(2011) / Oregon North (ft)
-<6559> +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(2011) / Oregon South
-<6560> +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(2011) / Oregon South (ft)
-<6561> +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(2011) / Pennsylvania North
-<6562> +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(2011) / Pennsylvania North (ftUS)
-<6563> +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(2011) / Pennsylvania South
-<6564> +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(2011) / Pennsylvania South (ftUS)
-<6565> +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 <>
-# NAD83(2011) / Puerto Rico and Virgin Is.
-<6566> +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(2011) / Rhode Island
-<6567> +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(2011) / Rhode Island (ftUS)
-<6568> +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 <>
-# NAD83(2011) / South Carolina
-<6569> +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(2011) / South Carolina (ft)
-<6570> +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(2011) / South Dakota North
-<6571> +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(2011) / South Dakota North (ftUS)
-<6572> +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(2011) / South Dakota South
-<6573> +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(2011) / South Dakota South (ftUS)
-<6574> +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 <>
-# NAD83(2011) / Tennessee
-<6575> +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(2011) / Tennessee (ftUS)
-<6576> +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(2011) / Texas Central
-<6577> +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(2011) / Texas Central (ftUS)
-<6578> +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(2011) / Texas Centric Albers Equal Area
-<6579> +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(2011) / Texas Centric Lambert Conformal
-<6580> +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(2011) / Texas North
-<6581> +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(2011) / Texas North (ftUS)
-<6582> +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(2011) / Texas North Central
-<6583> +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(2011) / Texas North Central (ftUS)
-<6584> +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(2011) / Texas South
-<6585> +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(2011) / Texas South (ftUS)
-<6586> +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(2011) / Texas South Central
-<6587> +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(2011) / Texas South Central (ftUS)
-<6588> +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(2011) / Vermont
-<6589> +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(2011) / Vermont (ftUS)
-<6590> +proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / Virginia Lambert
-<6591> +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(2011) / Virginia North
-<6592> +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(2011) / Virginia North (ftUS)
-<6593> +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(2011) / Virginia South
-<6594> +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(2011) / Virginia South (ftUS)
-<6595> +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(2011) / Washington North
-<6596> +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(2011) / Washington North (ftUS)
-<6597> +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(2011) / Washington South
-<6598> +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(2011) / Washington South (ftUS)
-<6599> +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(2011) / West Virginia North
-<6600> +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(2011) / West Virginia North (ftUS)
-<6601> +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(2011) / West Virginia South
-<6602> +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(2011) / West Virginia South (ftUS)
-<6603> +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(2011) / Wisconsin Central (deprecated)
-<6604> +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(2011) / Wisconsin Central (ftUS)
-<6605> +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(2011) / Wisconsin North
-<6606> +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(2011) / Wisconsin North (ftUS)
-<6607> +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(2011) / Wisconsin South
-<6608> +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(2011) / Wisconsin South (ftUS)
-<6609> +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 <>
-# NAD83(2011) / Wisconsin Transverse Mercator
-<6610> +proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Wyoming East
-<6611> +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(2011) / Wyoming East (ftUS)
-<6612> +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(2011) / Wyoming East Central
-<6613> +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(2011) / Wyoming East Central (ftUS)
-<6614> +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(2011) / Wyoming West
-<6615> +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(2011) / Wyoming West (ftUS)
-<6616> +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(2011) / Wyoming West Central
-<6617> +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(2011) / Wyoming West Central (ftUS)
-<6618> +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(2011) / Utah Central
-<6619> +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(2011) / Utah North
-<6620> +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(2011) / Utah South
-<6621> +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(CSRS) / Quebec Lambert
-<6622> +proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83 / Quebec Albers
-<6623> +proj=aea +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs <>
-# NAD83(CSRS) / Quebec Albers
-<6624> +proj=aea +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(2011) / Utah Central (ftUS)
-<6625> +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(2011) / Utah North (ftUS)
-<6626> +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(2011) / Utah South (ftUS)
-<6627> +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 <>
-# NAD83(PA11) / Hawaii zone 1
-<6628> +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(PA11) / Hawaii zone 2
-<6629> +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(PA11) / Hawaii zone 3
-<6630> +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(PA11) / Hawaii zone 4
-<6631> +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(PA11) / Hawaii zone 5
-<6632> +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(PA11) / Hawaii zone 3 (ftUS)
-<6633> +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(PA11) / UTM zone 4N
-<6634> +proj=utm +zone=4 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(PA11) / UTM zone 5N
-<6635> +proj=utm +zone=5 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(PA11) / UTM zone 2S
-<6636> +proj=utm +zone=2 +south +ellps=GRS80 +units=m +no_defs <>
-# NAD83(MA11) / Guam Map Grid
-<6637> +proj=tmerc +lat_0=13.5 +lon_0=144.75 +k=1 +x_0=100000 +y_0=200000 +ellps=GRS80 +units=m +no_defs <>
-# Karbala 1979 / Iraq National Grid
-<6646> +proj=tmerc +lat_0=29.02626833333333 +lon_0=46.5 +k=0.9994 +x_0=800000 +y_0=0 +ellps=clrk80 +towgs84=70.995,-335.916,262.898,0,0,0,0 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS I
-<6669> +proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS II
-<6670> +proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS III
-<6671> +proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS IV
-<6672> +proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS V
-<6673> +proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS VI
-<6674> +proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS VII
-<6675> +proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS VIII
-<6676> +proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS IX
-<6677> +proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS X
-<6678> +proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XI
-<6679> +proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XII
-<6680> +proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XIII
-<6681> +proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XIV
-<6682> +proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XV
-<6683> +proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XVI
-<6684> +proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XVII
-<6685> +proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XVIII
-<6686> +proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / Japan Plane Rectangular CS XIX
-<6687> +proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / UTM zone 51N
-<6688> +proj=utm +zone=51 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / UTM zone 52N
-<6689> +proj=utm +zone=52 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / UTM zone 53N
-<6690> +proj=utm +zone=53 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / UTM zone 54N
-<6691> +proj=utm +zone=54 +ellps=GRS80 +units=m +no_defs <>
-# JGD2011 / UTM zone 55N
-<6692> +proj=utm +zone=55 +ellps=GRS80 +units=m +no_defs <>
-# WGS 84 / TM 60 SW
-<6703> +proj=tmerc +lat_0=0 +lon_0=-60 +k=0.9996 +x_0=500000 +y_0=10000000 +datum=WGS84 +units=m +no_defs <>
-# RDN2008 / UTM zone 32N (N-E)
-<6707> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / UTM zone 33N (N-E)
-<6708> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / UTM zone 34N (N-E)
-<6709> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / CIG92
-<6720> +proj=tmerc +lat_0=0 +lon_0=105.625 +k=1.000024 +x_0=50000 +y_0=1300000 +datum=WGS84 +units=m +no_defs <>
-# GDA94 / CIG94
-<6721> +proj=tmerc +lat_0=0 +lon_0=105.625 +k=1.00002514 +x_0=50000 +y_0=1300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# WGS 84 / CKIG92
-<6722> +proj=tmerc +lat_0=0 +lon_0=96.875 +k=1 +x_0=50000 +y_0=1400000 +datum=WGS84 +units=m +no_defs <>
-# GDA94 / CKIG94
-<6723> +proj=tmerc +lat_0=0 +lon_0=96.875 +k=0.99999387 +x_0=50000 +y_0=1500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA94 / MGA zone 41 (deprecated)
-<6732> +proj=utm +zone=41 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA94 / MGA zone 42 (deprecated)
-<6733> +proj=utm +zone=42 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA94 / MGA zone 43 (deprecated)
-<6734> +proj=utm +zone=43 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA94 / MGA zone 44 (deprecated)
-<6735> +proj=utm +zone=44 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA94 / MGA zone 46
-<6736> +proj=utm +zone=46 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA94 / MGA zone 47
-<6737> +proj=utm +zone=47 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA94 / MGA zone 59
-<6738> +proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Baker zone (m)
-<6784> +proj=tmerc +lat_0=44.5 +lon_0=-117.8333333333333 +k=1.00016 +x_0=40000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Baker zone (ft)
-<6785> +proj=tmerc +lat_0=44.5 +lon_0=-117.8333333333333 +k=1.00016 +x_0=39999.99999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Baker zone (m)
-<6786> +proj=tmerc +lat_0=44.5 +lon_0=-117.8333333333333 +k=1.00016 +x_0=40000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Baker zone (ft)
-<6787> +proj=tmerc +lat_0=44.5 +lon_0=-117.8333333333333 +k=1.00016 +x_0=39999.99999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Bend-Klamath Falls zone (m)
-<6788> +proj=tmerc +lat_0=41.75 +lon_0=-121.75 +k=1.0002 +x_0=80000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Bend-Klamath Falls zone (ft)
-<6789> +proj=tmerc +lat_0=41.75 +lon_0=-121.75 +k=1.0002 +x_0=79999.99999968 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Bend-Klamath Falls zone (m)
-<6790> +proj=tmerc +lat_0=41.75 +lon_0=-121.75 +k=1.0002 +x_0=80000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Bend-Klamath Falls zone (ft)
-<6791> +proj=tmerc +lat_0=41.75 +lon_0=-121.75 +k=1.0002 +x_0=79999.99999968 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Bend-Redmond-Prineville zone (m)
-<6792> +proj=lcc +lat_1=44.66666666666666 +lat_0=44.66666666666666 +lon_0=-121.25 +k_0=1.00012 +x_0=80000 +y_0=130000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Bend-Redmond-Prineville zone (ft)
-<6793> +proj=lcc +lat_1=44.66666666666666 +lat_0=44.66666666666666 +lon_0=-121.25 +k_0=1.00012 +x_0=79999.99999968 +y_0=130000.00001472 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Bend-Redmond-Prineville zone (m)
-<6794> +proj=lcc +lat_1=44.66666666666666 +lat_0=44.66666666666666 +lon_0=-121.25 +k_0=1.00012 +x_0=80000 +y_0=130000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Bend-Redmond-Prineville zone (ft)
-<6795> +proj=lcc +lat_1=44.66666666666666 +lat_0=44.66666666666666 +lon_0=-121.25 +k_0=1.00012 +x_0=79999.99999968 +y_0=130000.00001472 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Bend-Burns zone (m)
-<6796> +proj=lcc +lat_1=43.66666666666666 +lat_0=43.66666666666666 +lon_0=-119.75 +k_0=1.0002 +x_0=120000 +y_0=60000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Bend-Burns zone (ft)
-<6797> +proj=lcc +lat_1=43.66666666666666 +lat_0=43.66666666666666 +lon_0=-119.75 +k_0=1.0002 +x_0=119999.99999952 +y_0=59999.99999976 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Bend-Burns zone (m)
-<6798> +proj=lcc +lat_1=43.66666666666666 +lat_0=43.66666666666666 +lon_0=-119.75 +k_0=1.0002 +x_0=120000 +y_0=60000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Bend-Burns zone (ft)
-<6799> +proj=lcc +lat_1=43.66666666666666 +lat_0=43.66666666666666 +lon_0=-119.75 +k_0=1.0002 +x_0=119999.99999952 +y_0=59999.99999976 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Canyonville-Grants Pass zone (m)
-<6800> +proj=tmerc +lat_0=42.5 +lon_0=-123.3333333333333 +k=1.00007 +x_0=40000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Canyonville-Grants Pass zone (ft)
-<6801> +proj=tmerc +lat_0=42.5 +lon_0=-123.3333333333333 +k=1.00007 +x_0=39999.99999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Canyonville-Grants Pass zone (m)
-<6802> +proj=tmerc +lat_0=42.5 +lon_0=-123.3333333333333 +k=1.00007 +x_0=40000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Canyonville-Grants Pass zone (ft)
-<6803> +proj=tmerc +lat_0=42.5 +lon_0=-123.3333333333333 +k=1.00007 +x_0=39999.99999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Columbia River East zone (m)
-<6804> +proj=lcc +lat_1=45.66666666666666 +lat_0=45.66666666666666 +lon_0=-120.5 +k_0=1.000008 +x_0=150000 +y_0=30000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Columbia River East zone (ft)
-<6805> +proj=lcc +lat_1=45.66666666666666 +lat_0=45.66666666666666 +lon_0=-120.5 +k_0=1.000008 +x_0=150000.00001464 +y_0=30000.00001512 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Columbia River East zone (m)
-<6806> +proj=lcc +lat_1=45.66666666666666 +lat_0=45.66666666666666 +lon_0=-120.5 +k_0=1.000008 +x_0=150000 +y_0=30000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Columbia River East zone (ft)
-<6807> +proj=lcc +lat_1=45.66666666666666 +lat_0=45.66666666666666 +lon_0=-120.5 +k_0=1.000008 +x_0=150000.00001464 +y_0=30000.00001512 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Columbia River West zone (m)
-<6808> +proj=omerc +lat_0=45.91666666666666 +lonc=-123 +alpha=295 +k=1 +x_0=7000000 +y_0=-3000000 +no_uoff +gamma=295 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Columbia River West zone (ft)
-<6809> +proj=omerc +lat_0=45.91666666666666 +lonc=-123 +alpha=295 +k=1 +x_0=7000000.00000248 +y_0=-2999999.999988 +no_uoff +gamma=295 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Columbia River West zone (m)
-<6810> +proj=omerc +lat_0=45.91666666666666 +lonc=-123 +alpha=295 +k=1 +x_0=7000000 +y_0=-3000000 +no_uoff +gamma=295 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Columbia River West zone (ft)
-<6811> +proj=omerc +lat_0=45.91666666666666 +lonc=-123 +alpha=295 +k=1 +x_0=7000000.00000248 +y_0=-2999999.999988 +no_uoff +gamma=295 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Cottage Grove-Canyonville zone (m)
-<6812> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-123.3333333333333 +k=1.000023 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Cottage Grove-Canyonville zone (ft)
-<6813> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-123.3333333333333 +k=1.000023 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Cottage Grove-Canyonville zone (m)
-<6814> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-123.3333333333333 +k=1.000023 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Cottage Grove-Canyonville zone (ft)
-<6815> +proj=tmerc +lat_0=42.83333333333334 +lon_0=-123.3333333333333 +k=1.000023 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Dufur-Madras zone (m)
-<6816> +proj=tmerc +lat_0=44.5 +lon_0=-121 +k=1.00011 +x_0=80000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Dufur-Madras zone (ft)
-<6817> +proj=tmerc +lat_0=44.5 +lon_0=-121 +k=1.00011 +x_0=79999.99999968 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Dufur-Madras zone (m)
-<6818> +proj=tmerc +lat_0=44.5 +lon_0=-121 +k=1.00011 +x_0=80000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Dufur-Madras zone (ft)
-<6819> +proj=tmerc +lat_0=44.5 +lon_0=-121 +k=1.00011 +x_0=79999.99999968 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Eugene zone (m)
-<6820> +proj=tmerc +lat_0=43.75 +lon_0=-123.1666666666667 +k=1.000015 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Eugene zone (ft)
-<6821> +proj=tmerc +lat_0=43.75 +lon_0=-123.1666666666667 +k=1.000015 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Eugene zone (m)
-<6822> +proj=tmerc +lat_0=43.75 +lon_0=-123.1666666666667 +k=1.000015 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Eugene zone (ft)
-<6823> +proj=tmerc +lat_0=43.75 +lon_0=-123.1666666666667 +k=1.000015 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Grants Pass-Ashland zone (m)
-<6824> +proj=tmerc +lat_0=41.75 +lon_0=-123.3333333333333 +k=1.000043 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Grants Pass-Ashland zone (ft)
-<6825> +proj=tmerc +lat_0=41.75 +lon_0=-123.3333333333333 +k=1.000043 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Grants Pass-Ashland zone (m)
-<6826> +proj=tmerc +lat_0=41.75 +lon_0=-123.3333333333333 +k=1.000043 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Grants Pass-Ashland zone (ft)
-<6827> +proj=tmerc +lat_0=41.75 +lon_0=-123.3333333333333 +k=1.000043 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Gresham-Warm Springs zone (m)
-<6828> +proj=tmerc +lat_0=45 +lon_0=-122.3333333333333 +k=1.00005 +x_0=10000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Gresham-Warm Springs zone (ft)
-<6829> +proj=tmerc +lat_0=45 +lon_0=-122.3333333333333 +k=1.00005 +x_0=10000.0000152 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Gresham-Warm Springs zone (m)
-<6830> +proj=tmerc +lat_0=45 +lon_0=-122.3333333333333 +k=1.00005 +x_0=10000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Gresham-Warm Springs zone (ft)
-<6831> +proj=tmerc +lat_0=45 +lon_0=-122.3333333333333 +k=1.00005 +x_0=10000.0000152 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon La Grande zone (m)
-<6832> +proj=tmerc +lat_0=45 +lon_0=-118 +k=1.00013 +x_0=40000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon La Grande zone (ft)
-<6833> +proj=tmerc +lat_0=45 +lon_0=-118 +k=1.00013 +x_0=39999.99999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon La Grande zone (m)
-<6834> +proj=tmerc +lat_0=45 +lon_0=-118 +k=1.00013 +x_0=40000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon La Grande zone (ft)
-<6835> +proj=tmerc +lat_0=45 +lon_0=-118 +k=1.00013 +x_0=39999.99999984 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Ontario zone (m)
-<6836> +proj=tmerc +lat_0=43.25 +lon_0=-117 +k=1.0001 +x_0=80000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Ontario zone (ft)
-<6837> +proj=tmerc +lat_0=43.25 +lon_0=-117 +k=1.0001 +x_0=79999.99999968 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Ontario zone (m)
-<6838> +proj=tmerc +lat_0=43.25 +lon_0=-117 +k=1.0001 +x_0=80000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Ontario zone (ft)
-<6839> +proj=tmerc +lat_0=43.25 +lon_0=-117 +k=1.0001 +x_0=79999.99999968 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Coast zone (m)
-<6840> +proj=omerc +lat_0=44.75 +lonc=-124.05 +alpha=5 +k=1 +x_0=-300000 +y_0=-4600000 +no_uoff +gamma=5 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Coast zone (ft)
-<6841> +proj=omerc +lat_0=44.75 +lonc=-124.05 +alpha=5 +k=1 +x_0=-299999.9999988 +y_0=-4600000.00001208 +no_uoff +gamma=5 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Coast zone (m)
-<6842> +proj=omerc +lat_0=44.75 +lonc=-124.05 +alpha=5 +k=1 +x_0=-300000 +y_0=-4600000 +no_uoff +gamma=5 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Coast zone (ft)
-<6843> +proj=omerc +lat_0=44.75 +lonc=-124.05 +alpha=5 +k=1 +x_0=-299999.9999988 +y_0=-4600000.00001208 +no_uoff +gamma=5 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Pendleton zone (m)
-<6844> +proj=tmerc +lat_0=45.25 +lon_0=-119.1666666666667 +k=1.000045 +x_0=60000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Pendleton zone (ft)
-<6845> +proj=tmerc +lat_0=45.25 +lon_0=-119.1666666666667 +k=1.000045 +x_0=59999.99999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Pendleton zone (m)
-<6846> +proj=tmerc +lat_0=45.25 +lon_0=-119.1666666666667 +k=1.000045 +x_0=60000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Pendleton zone (ft)
-<6847> +proj=tmerc +lat_0=45.25 +lon_0=-119.1666666666667 +k=1.000045 +x_0=59999.99999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Pendleton-La Grande zone (m)
-<6848> +proj=tmerc +lat_0=45.08333333333334 +lon_0=-118.3333333333333 +k=1.000175 +x_0=30000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Pendleton-La Grande zone (ft)
-<6849> +proj=tmerc +lat_0=45.08333333333334 +lon_0=-118.3333333333333 +k=1.000175 +x_0=30000.00001512 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Pendleton-La Grande zone (m)
-<6850> +proj=tmerc +lat_0=45.08333333333334 +lon_0=-118.3333333333333 +k=1.000175 +x_0=30000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Pendleton-La Grande zone (ft)
-<6851> +proj=tmerc +lat_0=45.08333333333334 +lon_0=-118.3333333333333 +k=1.000175 +x_0=30000.00001512 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Portland zone (m)
-<6852> +proj=lcc +lat_1=45.5 +lat_0=45.5 +lon_0=-122.75 +k_0=1.000002 +x_0=100000 +y_0=50000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Portland zone (ft)
-<6853> +proj=lcc +lat_1=45.5 +lat_0=45.5 +lon_0=-122.75 +k_0=1.000002 +x_0=99999.99999960001 +y_0=50000.00001504 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Portland zone (m)
-<6854> +proj=lcc +lat_1=45.5 +lat_0=45.5 +lon_0=-122.75 +k_0=1.000002 +x_0=100000 +y_0=50000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Portland zone (ft)
-<6855> +proj=lcc +lat_1=45.5 +lat_0=45.5 +lon_0=-122.75 +k_0=1.000002 +x_0=99999.99999960001 +y_0=50000.00001504 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Salem zone (m)
-<6856> +proj=tmerc +lat_0=44.33333333333334 +lon_0=-123.0833333333333 +k=1.00001 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Salem zone (ft)
-<6857> +proj=tmerc +lat_0=44.33333333333334 +lon_0=-123.0833333333333 +k=1.00001 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Salem zone (m)
-<6858> +proj=tmerc +lat_0=44.33333333333334 +lon_0=-123.0833333333333 +k=1.00001 +x_0=50000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Salem zone (ft)
-<6859> +proj=tmerc +lat_0=44.33333333333334 +lon_0=-123.0833333333333 +k=1.00001 +x_0=50000.00001504 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon Santiam Pass zone (m)
-<6860> +proj=tmerc +lat_0=44.08333333333334 +lon_0=-122.5 +k=1.000155 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96) / Oregon Santiam Pass zone (ft)
-<6861> +proj=tmerc +lat_0=44.08333333333334 +lon_0=-122.5 +k=1.000155 +x_0=0 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Santiam Pass zone (m)
-<6862> +proj=tmerc +lat_0=44.08333333333334 +lon_0=-122.5 +k=1.000155 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Santiam Pass zone (ft)
-<6863> +proj=tmerc +lat_0=44.08333333333334 +lon_0=-122.5 +k=1.000155 +x_0=0 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CORS96) / Oregon LCC (m)
-<6867> +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(CORS96) / Oregon GIC Lambert (ft)
-<6868> +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 <>
-# ETRS89 / Albania TM 2010
-<6870> +proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / Italy zone (N-E)
-<6875> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9985000000000001 +x_0=7000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / Zone 12 (N-E)
-<6876> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=3000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(2011) / Wisconsin Central
-<6879> +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(2011) / Nebraska (ftUS)
-<6880> +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(CORS96) / Oregon North
-<6884> +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(CORS96) / Oregon North (ft)
-<6885> +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(CORS96) / Oregon South
-<6886> +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(CORS96) / Oregon South (ft)
-<6887> +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 <>
-# South East Island 1943 / UTM zone 40N
-<6915> +proj=utm +zone=40 +ellps=clrk80 +towgs84=-43.685,-179.785,-267.721,0,0,0,0 +units=m +no_defs <>
-# NAD83 / Kansas LCC
-<6922> +proj=lcc +lat_1=39.5 +lat_2=37.5 +lat_0=36 +lon_0=-98.25 +x_0=400000 +y_0=0 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / Kansas LCC (ftUS)
-<6923> +proj=lcc +lat_1=39.5 +lat_2=37.5 +lat_0=36 +lon_0=-98.25 +x_0=399999.99998984 +y_0=0 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83(2011) / Kansas LCC
-<6924> +proj=lcc +lat_1=39.5 +lat_2=37.5 +lat_0=36 +lon_0=-98.25 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Kansas LCC (ftUS)
-<6925> +proj=lcc +lat_1=39.5 +lat_2=37.5 +lat_0=36 +lon_0=-98.25 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <>
-# WGS 84 / NSIDC EASE-Grid 2.0 North
-<6931> +proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / NSIDC EASE-Grid 2.0 South
-<6932> +proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / NSIDC EASE-Grid 2.0 Global
-<6933> +proj=cea +lon_0=0 +lat_ts=30 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# VN-2000 / TM-3 zone 481
-<6956> +proj=tmerc +lat_0=0 +lon_0=102 +k=0.9999 +x_0=0 +y_0=500000 +ellps=WGS84 +towgs84=-191.90441429,-39.30318279,-111.45032835,0.00928836,-0.01975479,0.00427372,0.252906278 +units=m +no_defs <>
-# VN-2000 / TM-3 zone 482
-<6957> +proj=tmerc +lat_0=0 +lon_0=105 +k=0.9999 +x_0=0 +y_0=500000 +ellps=WGS84 +towgs84=-191.90441429,-39.30318279,-111.45032835,0.00928836,-0.01975479,0.00427372,0.252906278 +units=m +no_defs <>
-# VN-2000 / TM-3 zone 491
-<6958> +proj=tmerc +lat_0=0 +lon_0=108 +k=0.9999 +x_0=0 +y_0=500000 +ellps=WGS84 +towgs84=-191.90441429,-39.30318279,-111.45032835,0.00928836,-0.01975479,0.00427372,0.252906278 +units=m +no_defs <>
-# VN-2000 / TM-3 Da Nang zone
-<6959> +proj=tmerc +lat_0=0 +lon_0=107.75 +k=0.9999 +x_0=0 +y_0=500000 +ellps=WGS84 +towgs84=-191.90441429,-39.30318279,-111.45032835,0.00928836,-0.01975479,0.00427372,0.252906278 +units=m +no_defs <>
-# ETRS89 / Albania LCC 2010
-<6962> +proj=lcc +lat_1=39 +lat_2=43 +lat_0=41 +lon_0=20 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD27 / Michigan North
-# Unable to translate coordinate system EPSG:6966 into PROJ.4 format.
-#
-# Israeli Grid 05
-<6984> +proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +units=m +no_defs <>
-# Israeli Grid 05/12
-<6991> +proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / San Francisco CS13 (deprecated)
-<6996> +proj=tmerc +lat_0=37.75 +lon_0=-122.45 +k=1.000007 +x_0=48000 +y_0=24000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / San Francisco CS13 (ftUS) (deprecated)
-<6997> +proj=tmerc +lat_0=37.75 +lon_0=-122.45 +k=1.000007 +x_0=48000 +y_0=24000 +ellps=GRS80 +units=us-ft +no_defs <>
-# Nahrwan 1934 / UTM zone 37N
-<7005> +proj=utm +zone=37 +ellps=clrk80 +towgs84=-242.2,-144.9,370.3,0,0,0,0 +units=m +no_defs <>
-# Nahrwan 1934 / UTM zone 38N
-<7006> +proj=utm +zone=38 +ellps=clrk80 +towgs84=-242.2,-144.9,370.3,0,0,0,0 +units=m +no_defs <>
-# Nahrwan 1934 / UTM zone 39N
-<7007> +proj=utm +zone=39 +ellps=clrk80 +towgs84=-242.2,-144.9,370.3,0,0,0,0 +units=m +no_defs <>
-# NAD83(2011) / IaRCS zone 1
-<7057> +proj=lcc +lat_1=43.2 +lat_0=43.2 +lon_0=-95.25 +k_0=1.000052 +x_0=3505207.010414021 +y_0=2926085.852171705 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 2
-<7058> +proj=lcc +lat_1=43.16666666666666 +lat_0=43.16666666666666 +lon_0=-92.75 +k_0=1.000043 +x_0=3810007.62001524 +y_0=2987045.974091948 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 3
-<7059> +proj=tmerc +lat_0=40.25 +lon_0=-91.2 +k=1.000035 +x_0=4114808.229616459 +y_0=2529845.05969012 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 4
-<7060> +proj=lcc +lat_1=42.53333333333333 +lat_0=42.53333333333333 +lon_0=-94.83333333333333 +k_0=1.000045 +x_0=4419608.839217679 +y_0=2621285.242570485 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 5
-<7061> +proj=lcc +lat_1=42.65 +lat_0=42.65 +lon_0=-92.25 +k_0=1.000032 +x_0=4724409.448818898 +y_0=2712725.425450851 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 6
-<7062> +proj=tmerc +lat_0=40.25 +lon_0=-95.73333333333333 +k=1.000039 +x_0=5029210.058420117 +y_0=2011684.023368047 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 7
-<7063> +proj=tmerc +lat_0=40.25 +lon_0=-94.63333333333334 +k=1.000045 +x_0=5334010.668021336 +y_0=2072644.145288291 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 8
-<7064> +proj=tmerc +lat_0=40.25 +lon_0=-93.71666666666667 +k=1.000033 +x_0=5638811.277622555 +y_0=2133604.267208535 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 9
-<7065> +proj=tmerc +lat_0=40.25 +lon_0=-92.81666666666666 +k=1.000027 +x_0=5943611.887223775 +y_0=2194564.389128779 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 10
-<7066> +proj=lcc +lat_1=41.83333333333334 +lat_0=41.83333333333334 +lon_0=-91.66666666666667 +k_0=1.00002 +x_0=6248412.496824994 +y_0=2438404.876809754 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 11
-<7067> +proj=tmerc +lat_0=40.25 +lon_0=-90.53333333333333 +k=1.000027 +x_0=6553213.106426213 +y_0=2316484.632969266 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 12
-<7068> +proj=lcc +lat_1=40.91666666666666 +lat_0=40.91666666666666 +lon_0=-93.75 +k_0=1.000037 +x_0=6858013.716027432 +y_0=1889763.779527559 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 13
-<7069> +proj=tmerc +lat_0=40.25 +lon_0=-91.91666666666667 +k=1.00002 +x_0=7162814.325628651 +y_0=1950723.901447803 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / IaRCS zone 14
-<7070> +proj=tmerc +lat_0=40.25 +lon_0=-91.25 +k=1.000018 +x_0=7467614.93522987 +y_0=1889763.779527559 +ellps=GRS80 +units=us-ft +no_defs <>
-# RGTAAF07 / UTM zone 37S
-<7074> +proj=utm +zone=37 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / UTM zone 38S
-<7075> +proj=utm +zone=38 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / UTM zone 39S
-<7076> +proj=utm +zone=39 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / UTM zone 40S
-<7077> +proj=utm +zone=40 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / UTM zone 41S
-<7078> +proj=utm +zone=41 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / UTM zone 42S
-<7079> +proj=utm +zone=42 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / UTM zone 43S
-<7080> +proj=utm +zone=43 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / UTM zone 44S
-<7081> +proj=utm +zone=44 +south +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07 / Terre Adelie Polar Stereographic
-# Unable to translate coordinate system EPSG:7082 into PROJ.4 format.
-#
-# NAD83(2011) / RMTCRS St Mary (m)
-<7109> +proj=tmerc +lat_0=48.5 +lon_0=-112.5 +k=1.00016 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Blackfeet (m)
-<7110> +proj=tmerc +lat_0=48 +lon_0=-112.5 +k=1.00019 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Milk River (m)
-<7111> +proj=lcc +lat_1=48.5 +lat_0=48.5 +lon_0=-111 +k_0=1.000145 +x_0=150000 +y_0=200000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Fort Belknap (m)
-<7112> +proj=lcc +lat_1=48.5 +lat_0=48.5 +lon_0=-108.5 +k_0=1.00012 +x_0=200000 +y_0=150000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Fort Peck Assiniboine (m)
-<7113> +proj=lcc +lat_1=48.33333333333334 +lat_0=48.33333333333334 +lon_0=-105.5 +k_0=1.00012 +x_0=200000 +y_0=100000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Fort Peck Sioux (m)
-<7114> +proj=lcc +lat_1=48.33333333333334 +lat_0=48.33333333333334 +lon_0=-105.5 +k_0=1.00009 +x_0=100000 +y_0=50000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Crow (m)
-<7115> +proj=tmerc +lat_0=44.75 +lon_0=-107.75 +k=1.000148 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Bobcat (m)
-<7116> +proj=lcc +lat_1=46.25 +lat_0=46.25 +lon_0=-111.25 +k_0=1.000185 +x_0=100000 +y_0=100000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Billings (m)
-<7117> +proj=lcc +lat_1=45.78333333333333 +lat_0=45.78333333333333 +lon_0=-108.4166666666667 +k_0=1.0001515 +x_0=200000 +y_0=50000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS Wind River (m)
-<7118> +proj=tmerc +lat_0=42.66666666666666 +lon_0=-108.3333333333333 +k=1.00024 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / RMTCRS St Mary (ft)
-<7119> +proj=tmerc +lat_0=48.5 +lon_0=-112.5 +k=1.00016 +x_0=150000.00001464 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Blackfeet (ft)
-<7120> +proj=tmerc +lat_0=48 +lon_0=-112.5 +k=1.00019 +x_0=99999.99999960001 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Milk River (ft)
-<7121> +proj=lcc +lat_1=48.5 +lat_0=48.5 +lon_0=-111 +k_0=1.000145 +x_0=150000.00001464 +y_0=199999.9999992 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Fort Belknap (ft)
-<7122> +proj=lcc +lat_1=48.5 +lat_0=48.5 +lon_0=-108.5 +k_0=1.00012 +x_0=199999.9999992 +y_0=150000.00001464 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Fort Peck Assiniboine (ft)
-<7123> +proj=lcc +lat_1=48.33333333333334 +lat_0=48.33333333333334 +lon_0=-105.5 +k_0=1.00012 +x_0=199999.9999992 +y_0=99999.99999960001 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Fort Peck Sioux (ft)
-<7124> +proj=lcc +lat_1=48.33333333333334 +lat_0=48.33333333333334 +lon_0=-105.5 +k_0=1.00009 +x_0=99999.99999960001 +y_0=49999.99971024 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Crow (ft)
-<7125> +proj=tmerc +lat_0=44.75 +lon_0=-107.75 +k=1.000148 +x_0=199999.9999992 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Bobcat (ft)
-<7126> +proj=lcc +lat_1=46.25 +lat_0=46.25 +lon_0=-111.25 +k_0=1.000185 +x_0=99999.99999960001 +y_0=99999.99999960001 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Billings (ft)
-<7127> +proj=lcc +lat_1=45.78333333333333 +lat_0=45.78333333333333 +lon_0=-108.4166666666667 +k_0=1.0001515 +x_0=199999.9999992 +y_0=50000.00001504 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / RMTCRS Wind River (ftUS)
-<7128> +proj=tmerc +lat_0=42.66666666666666 +lon_0=-108.3333333333333 +k=1.00024 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / San Francisco CS13
-<7131> +proj=tmerc +lat_0=37.75 +lon_0=-122.45 +k=1.000007 +x_0=48000 +y_0=24000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / San Francisco CS13 (ftUS)
-<7132> +proj=tmerc +lat_0=37.75 +lon_0=-122.45 +k=1.000007 +x_0=48000 +y_0=24000 +ellps=GRS80 +units=us-ft +no_defs <>
-# Palestine 1923 / Palestine Grid modified
-<7142> +proj=tmerc +lat_0=31.73409694444445 +lon_0=35.21208055555556 +k=1 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.7224,94.7824,340.8944,-8.001,-4.42,-11.821,1 +units=m +no_defs <>
-# NAD83(2011) / InGCS Adams (m)
-<7257> +proj=tmerc +lat_0=40.55 +lon_0=-84.95 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Adams (ftUS)
-<7258> +proj=tmerc +lat_0=40.55 +lon_0=-84.95 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Allen (m)
-<7259> +proj=tmerc +lat_0=40.9 +lon_0=-85.05 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Allen (ftUS)
-<7260> +proj=tmerc +lat_0=40.9 +lon_0=-85.05 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Bartholomew (m)
-<7261> +proj=tmerc +lat_0=39 +lon_0=-85.84999999999999 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Bartholomew (ftUS)
-<7262> +proj=tmerc +lat_0=39 +lon_0=-85.84999999999999 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Benton (m)
-<7263> +proj=tmerc +lat_0=40.45 +lon_0=-87.3 +k=1.000029 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Benton (ftUS)
-<7264> +proj=tmerc +lat_0=40.45 +lon_0=-87.3 +k=1.000029 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Blackford-Delaware (m)
-<7265> +proj=tmerc +lat_0=40.05 +lon_0=-85.40000000000001 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Blackford-Delaware (ftUS)
-<7266> +proj=tmerc +lat_0=40.05 +lon_0=-85.40000000000001 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Boone-Hendricks (m)
-<7267> +proj=tmerc +lat_0=39.6 +lon_0=-86.5 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Boone-Hendricks (ftUS)
-<7268> +proj=tmerc +lat_0=39.6 +lon_0=-86.5 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Brown (m)
-<7269> +proj=tmerc +lat_0=39 +lon_0=-86.3 +k=1.00003 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Brown (ftUS)
-<7270> +proj=tmerc +lat_0=39 +lon_0=-86.3 +k=1.00003 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Carroll (m)
-<7271> +proj=tmerc +lat_0=40.4 +lon_0=-86.65000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Carroll (ftUS)
-<7272> +proj=tmerc +lat_0=40.4 +lon_0=-86.65000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Cass (m)
-<7273> +proj=tmerc +lat_0=40.55 +lon_0=-86.40000000000001 +k=1.000028 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Cass (ftUS)
-<7274> +proj=tmerc +lat_0=40.55 +lon_0=-86.40000000000001 +k=1.000028 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Clark-Floyd-Scott (m)
-<7275> +proj=tmerc +lat_0=38.15 +lon_0=-85.59999999999999 +k=1.000021 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Clark-Floyd-Scott (ftUS)
-<7276> +proj=tmerc +lat_0=38.15 +lon_0=-85.59999999999999 +k=1.000021 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Clay (m)
-<7277> +proj=tmerc +lat_0=39.15 +lon_0=-87.15000000000001 +k=1.000024 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Clay (ftUS)
-<7278> +proj=tmerc +lat_0=39.15 +lon_0=-87.15000000000001 +k=1.000024 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Clinton (m)
-<7279> +proj=tmerc +lat_0=40.15 +lon_0=-86.59999999999999 +k=1.000032 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Clinton (ftUS)
-<7280> +proj=tmerc +lat_0=40.15 +lon_0=-86.59999999999999 +k=1.000032 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Crawford-Lawrence-Orange (m)
-<7281> +proj=tmerc +lat_0=38.1 +lon_0=-86.5 +k=1.000025 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Crawford-Lawrence-Orange (ftUS)
-<7282> +proj=tmerc +lat_0=38.1 +lon_0=-86.5 +k=1.000025 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Daviess-Greene (m)
-<7283> +proj=tmerc +lat_0=38.45 +lon_0=-87.09999999999999 +k=1.000018 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Daviess-Greene (ftUS)
-<7284> +proj=tmerc +lat_0=38.45 +lon_0=-87.09999999999999 +k=1.000018 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Dearborn-Ohio-Switzerland (m)
-<7285> +proj=tmerc +lat_0=38.65 +lon_0=-84.90000000000001 +k=1.000029 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Dearborn-Ohio-Switzerland (ftUS)
-<7286> +proj=tmerc +lat_0=38.65 +lon_0=-84.90000000000001 +k=1.000029 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Decatur-Rush (m)
-<7287> +proj=tmerc +lat_0=39.1 +lon_0=-85.65000000000001 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Decatur-Rush (ftUS)
-<7288> +proj=tmerc +lat_0=39.1 +lon_0=-85.65000000000001 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS DeKalb (m)
-<7289> +proj=tmerc +lat_0=41.25 +lon_0=-84.95 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS DeKalb (ftUS)
-<7290> +proj=tmerc +lat_0=41.25 +lon_0=-84.95 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Dubois-Martin (m)
-<7291> +proj=tmerc +lat_0=38.2 +lon_0=-86.95 +k=1.00002 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Dubois-Martin (ftUS)
-<7292> +proj=tmerc +lat_0=38.2 +lon_0=-86.95 +k=1.00002 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Elkhart-Kosciusko-Wabash (m)
-<7293> +proj=tmerc +lat_0=40.65 +lon_0=-85.84999999999999 +k=1.000033 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Elkhart-Kosciusko-Wabash (ftUS)
-<7294> +proj=tmerc +lat_0=40.65 +lon_0=-85.84999999999999 +k=1.000033 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Fayette-Franklin-Union (m)
-<7295> +proj=tmerc +lat_0=39.25 +lon_0=-85.05 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Fayette-Franklin-Union (ftUS)
-<7296> +proj=tmerc +lat_0=39.25 +lon_0=-85.05 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Fountain-Warren (m)
-<7297> +proj=tmerc +lat_0=39.95 +lon_0=-87.3 +k=1.000025 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Fountain-Warren (ftUS)
-<7298> +proj=tmerc +lat_0=39.95 +lon_0=-87.3 +k=1.000025 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Fulton-Marshall-St. Joseph (m)
-<7299> +proj=tmerc +lat_0=40.9 +lon_0=-86.3 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Fulton-Marshall-St. Joseph (ftUS)
-<7300> +proj=tmerc +lat_0=40.9 +lon_0=-86.3 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Gibson (m)
-<7301> +proj=tmerc +lat_0=38.15 +lon_0=-87.65000000000001 +k=1.000013 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Gibson (ftUS)
-<7302> +proj=tmerc +lat_0=38.15 +lon_0=-87.65000000000001 +k=1.000013 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Grant (m)
-<7303> +proj=tmerc +lat_0=40.35 +lon_0=-85.7 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Grant (ftUS)
-<7304> +proj=tmerc +lat_0=40.35 +lon_0=-85.7 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Hamilton-Tipton (m)
-<7305> +proj=tmerc +lat_0=39.9 +lon_0=-86 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Hamilton-Tipton (ftUS)
-<7306> +proj=tmerc +lat_0=39.9 +lon_0=-86 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Hancock-Madison (m)
-<7307> +proj=tmerc +lat_0=39.65 +lon_0=-85.8 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Hancock-Madison (ftUS)
-<7308> +proj=tmerc +lat_0=39.65 +lon_0=-85.8 +k=1.000036 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Harrison-Washington (m)
-<7309> +proj=tmerc +lat_0=37.95 +lon_0=-86.15000000000001 +k=1.000027 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Harrison-Washington (ftUS)
-<7310> +proj=tmerc +lat_0=37.95 +lon_0=-86.15000000000001 +k=1.000027 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Henry (m)
-<7311> +proj=tmerc +lat_0=39.75 +lon_0=-85.45 +k=1.000043 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Henry (ftUS)
-<7312> +proj=tmerc +lat_0=39.75 +lon_0=-85.45 +k=1.000043 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Howard-Miami (m)
-<7313> +proj=tmerc +lat_0=40.35 +lon_0=-86.15000000000001 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Howard-Miami (ftUS)
-<7314> +proj=tmerc +lat_0=40.35 +lon_0=-86.15000000000001 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Huntington-Whitley (m)
-<7315> +proj=tmerc +lat_0=40.65 +lon_0=-85.5 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Huntington-Whitley (ftUS)
-<7316> +proj=tmerc +lat_0=40.65 +lon_0=-85.5 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Jackson (m)
-<7317> +proj=tmerc +lat_0=38.7 +lon_0=-85.95 +k=1.000022 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Jackson (ftUS)
-<7318> +proj=tmerc +lat_0=38.7 +lon_0=-85.95 +k=1.000022 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Jasper-Porter (m)
-<7319> +proj=tmerc +lat_0=40.7 +lon_0=-87.09999999999999 +k=1.000027 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Jasper-Porter (ftUS)
-<7320> +proj=tmerc +lat_0=40.7 +lon_0=-87.09999999999999 +k=1.000027 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Jay (m)
-<7321> +proj=tmerc +lat_0=40.3 +lon_0=-85 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Jay (ftUS)
-<7322> +proj=tmerc +lat_0=40.3 +lon_0=-85 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Jefferson (m)
-<7323> +proj=tmerc +lat_0=38.55 +lon_0=-85.34999999999999 +k=1.000028 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Jefferson (ftUS)
-<7324> +proj=tmerc +lat_0=38.55 +lon_0=-85.34999999999999 +k=1.000028 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Jennings (m)
-<7325> +proj=tmerc +lat_0=38.8 +lon_0=-85.8 +k=1.000025 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Jennings (ftUS)
-<7326> +proj=tmerc +lat_0=38.8 +lon_0=-85.8 +k=1.000025 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Johnson-Marion (m)
-<7327> +proj=tmerc +lat_0=39.3 +lon_0=-86.15000000000001 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Johnson-Marion (ftUS)
-<7328> +proj=tmerc +lat_0=39.3 +lon_0=-86.15000000000001 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Knox (m)
-<7329> +proj=tmerc +lat_0=38.4 +lon_0=-87.45 +k=1.000015 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Knox (ftUS)
-<7330> +proj=tmerc +lat_0=38.4 +lon_0=-87.45 +k=1.000015 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS LaGrange-Noble (m)
-<7331> +proj=tmerc +lat_0=41.25 +lon_0=-85.45 +k=1.000037 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS LaGrange-Noble (ftUS)
-<7332> +proj=tmerc +lat_0=41.25 +lon_0=-85.45 +k=1.000037 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Lake-Newton (m)
-<7333> +proj=tmerc +lat_0=40.7 +lon_0=-87.40000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Lake-Newton (ftUS)
-<7334> +proj=tmerc +lat_0=40.7 +lon_0=-87.40000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS LaPorte-Pulaski-Starke (m)
-<7335> +proj=tmerc +lat_0=40.9 +lon_0=-86.75 +k=1.000027 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS LaPorte-Pulaski-Starke (ftUS)
-<7336> +proj=tmerc +lat_0=40.9 +lon_0=-86.75 +k=1.000027 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Monroe-Morgan (m)
-<7337> +proj=tmerc +lat_0=38.95 +lon_0=-86.5 +k=1.000028 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Monroe-Morgan (ftUS)
-<7338> +proj=tmerc +lat_0=38.95 +lon_0=-86.5 +k=1.000028 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Montgomery-Putnam (m)
-<7339> +proj=tmerc +lat_0=39.45 +lon_0=-86.95 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Montgomery-Putnam (ftUS)
-<7340> +proj=tmerc +lat_0=39.45 +lon_0=-86.95 +k=1.000031 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Owen (m)
-<7341> +proj=tmerc +lat_0=39.15 +lon_0=-86.90000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Owen (ftUS)
-<7342> +proj=tmerc +lat_0=39.15 +lon_0=-86.90000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Parke-Vermillion (m)
-<7343> +proj=tmerc +lat_0=39.6 +lon_0=-87.34999999999999 +k=1.000022 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Parke-Vermillion (ftUS)
-<7344> +proj=tmerc +lat_0=39.6 +lon_0=-87.34999999999999 +k=1.000022 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Perry (m)
-<7345> +proj=tmerc +lat_0=37.8 +lon_0=-86.7 +k=1.00002 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Perry (ftUS)
-<7346> +proj=tmerc +lat_0=37.8 +lon_0=-86.7 +k=1.00002 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Pike-Warrick (m)
-<7347> +proj=tmerc +lat_0=37.85 +lon_0=-87.3 +k=1.000015 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Pike-Warrick (ftUS)
-<7348> +proj=tmerc +lat_0=37.85 +lon_0=-87.3 +k=1.000015 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Posey (m)
-<7349> +proj=tmerc +lat_0=37.75 +lon_0=-87.95 +k=1.000013 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Posey (ftUS)
-<7350> +proj=tmerc +lat_0=37.75 +lon_0=-87.95 +k=1.000013 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Randolph-Wayne (m)
-<7351> +proj=tmerc +lat_0=39.7 +lon_0=-85.05 +k=1.000044 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Randolph-Wayne (ftUS)
-<7352> +proj=tmerc +lat_0=39.7 +lon_0=-85.05 +k=1.000044 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Ripley (m)
-<7353> +proj=tmerc +lat_0=38.9 +lon_0=-85.3 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Ripley (ftUS)
-<7354> +proj=tmerc +lat_0=38.9 +lon_0=-85.3 +k=1.000038 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Shelby (m)
-<7355> +proj=tmerc +lat_0=39.3 +lon_0=-85.90000000000001 +k=1.00003 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Shelby (ftUS)
-<7356> +proj=tmerc +lat_0=39.3 +lon_0=-85.90000000000001 +k=1.00003 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Spencer (m)
-<7357> +proj=tmerc +lat_0=37.75 +lon_0=-87.05 +k=1.000014 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Spencer (ftUS)
-<7358> +proj=tmerc +lat_0=37.75 +lon_0=-87.05 +k=1.000014 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Steuben (m)
-<7359> +proj=tmerc +lat_0=41.5 +lon_0=-85 +k=1.000041 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Steuben (ftUS)
-<7360> +proj=tmerc +lat_0=41.5 +lon_0=-85 +k=1.000041 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Sullivan (m)
-<7361> +proj=tmerc +lat_0=38.9 +lon_0=-87.5 +k=1.000017 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Sullivan (ftUS)
-<7362> +proj=tmerc +lat_0=38.9 +lon_0=-87.5 +k=1.000017 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Tippecanoe-White (m)
-<7363> +proj=tmerc +lat_0=40.2 +lon_0=-86.90000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Tippecanoe-White (ftUS)
-<7364> +proj=tmerc +lat_0=40.2 +lon_0=-86.90000000000001 +k=1.000026 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Vanderburgh (m)
-<7365> +proj=tmerc +lat_0=37.8 +lon_0=-87.55 +k=1.000015 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Vanderburgh (ftUS)
-<7366> +proj=tmerc +lat_0=37.8 +lon_0=-87.55 +k=1.000015 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Vigo (m)
-<7367> +proj=tmerc +lat_0=39.25 +lon_0=-87.45 +k=1.00002 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Vigo (ftUS)
-<7368> +proj=tmerc +lat_0=39.25 +lon_0=-87.45 +k=1.00002 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / InGCS Wells (m)
-<7369> +proj=tmerc +lat_0=40.55 +lon_0=-85.25 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / InGCS Wells (ftUS)
-<7370> +proj=tmerc +lat_0=40.55 +lon_0=-85.25 +k=1.000034 +x_0=240000 +y_0=36000 +ellps=GRS80 +units=us-ft +no_defs <>
-# ONGD14 / UTM zone 39N
-<7374> +proj=utm +zone=39 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ONGD14 / UTM zone 40N
-<7375> +proj=utm +zone=40 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ONGD14 / UTM zone 41N
-<7376> +proj=utm +zone=41 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Adams and Juneau (m)
-<7528> +proj=tmerc +lat_0=43.36666666666667 +lon_0=-90 +k=1.0000365285 +x_0=147218.6942 +y_0=0.0037 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Ashland (m)
-<7529> +proj=tmerc +lat_0=45.70611111111111 +lon_0=-90.62222222222222 +k=1.0000495683 +x_0=172821.9461 +y_0=0.0017 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Barron (m)
-<7530> +proj=tmerc +lat_0=45.13333333333333 +lon_0=-91.84999999999999 +k=1.0000486665 +x_0=93150 +y_0=0.0029 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Bayfield (m)
-<7531> +proj=lcc +lat_1=46.66964837722222 +lat_0=46.66964837722222 +lon_0=-91.15277777777779 +k_0=1.0000331195 +x_0=228600.4575 +y_0=148551.4837 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Brown (m)
-<7532> +proj=tmerc +lat_0=43 +lon_0=-88 +k=1.00002 +x_0=31600 +y_0=4600 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Buffalo (m)
-<7533> +proj=tmerc +lat_0=43.48138888888889 +lon_0=-91.79722222222222 +k=1.0000382778 +x_0=175260.3502 +y_0=0.0048 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Burnett (m)
-<7534> +proj=lcc +lat_1=45.89871486583333 +lat_0=45.89871486583333 +lon_0=-92.45777777777778 +k_0=1.0000383841 +x_0=64008.1276 +y_0=59445.9043 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Calumet, Fond du Lac, Outagamie and Winnebago (m)
-<7535> +proj=tmerc +lat_0=42.71944444444445 +lon_0=-88.5 +k=1.0000286569 +x_0=244754.8893 +y_0=0.0049 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Chippewa (m)
-<7536> +proj=lcc +lat_1=44.97785689861112 +lat_0=44.97785689861112 +lon_0=-91.29444444444444 +k_0=1.0000391127 +x_0=60045.72 +y_0=44091.4346 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Clark (m)
-<7537> +proj=tmerc +lat_0=43.6 +lon_0=-90.70833333333334 +k=1.0000463003 +x_0=199949.1989 +y_0=0.0086 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Columbia (m)
-<7538> +proj=lcc +lat_1=43.46254664583333 +lat_0=43.46254664583333 +lon_0=-89.39444444444445 +k_0=1.00003498 +x_0=169164.3381 +y_0=111569.6134 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Crawford (m)
-<7539> +proj=lcc +lat_1=43.200055605 +lat_0=43.200055605 +lon_0=-90.9388888888889 +k_0=1.0000349151 +x_0=113690.6274 +y_0=53703.1201 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Dane (m)
-<7540> +proj=lcc +lat_1=43.0695160375 +lat_0=43.0695160375 +lon_0=-89.42222222222223 +k_0=1.0000384786 +x_0=247193.2944 +y_0=146591.9896 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Dodge and Jefferson (m)
-<7541> +proj=tmerc +lat_0=41.47222222222222 +lon_0=-88.77500000000001 +k=1.0000346418 +x_0=263347.7263 +y_0=0.0076 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Door (m)
-<7542> +proj=tmerc +lat_0=44.4 +lon_0=-87.27222222222223 +k=1.0000187521 +x_0=158801.1176 +y_0=0.0023 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Douglas (m)
-<7543> +proj=tmerc +lat_0=45.88333333333333 +lon_0=-91.91666666666667 +k=1.0000385418 +x_0=59131.3183 +y_0=0.0041 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Dunn (m)
-<7544> +proj=tmerc +lat_0=44.40833333333333 +lon_0=-91.89444444444445 +k=1.0000410324 +x_0=51816.104 +y_0=0.003 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Eau Claire (m)
-<7545> +proj=lcc +lat_1=44.87228112638889 +lat_0=44.87228112638889 +lon_0=-91.28888888888889 +k_0=1.000035079 +x_0=120091.4402 +y_0=91687.92389999999 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Florence (m)
-<7546> +proj=tmerc +lat_0=45.43888888888888 +lon_0=-88.14166666666668 +k=1.0000552095 +x_0=133502.6683 +y_0=0.0063 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Forest (m)
-<7547> +proj=tmerc +lat_0=44.00555555555555 +lon_0=-88.63333333333334 +k=1.0000673004 +x_0=275844.5533 +y_0=0.0157 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Grant (m)
-<7548> +proj=tmerc +lat_0=41.41111111111111 +lon_0=-90.8 +k=1.0000349452 +x_0=242316.4841 +y_0=0.01 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Green and Lafayette (m)
-<7549> +proj=lcc +lat_1=42.63756227694444 +lat_0=42.63756227694444 +lon_0=-89.83888888888889 +k_0=1.0000390487 +x_0=170078.7403 +y_0=45830.2947 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Green Lake and Marquette (m)
-<7550> +proj=lcc +lat_1=43.80700011777778 +lat_0=43.80700011777778 +lon_0=-89.24166666666667 +k_0=1.0000344057 +x_0=150876.3018 +y_0=79170.7795 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Iowa (m)
-<7551> +proj=tmerc +lat_0=42.53888888888888 +lon_0=-90.16111111111111 +k=1.0000394961 +x_0=113081.0261 +y_0=0.0045 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Iron (m)
-<7552> +proj=tmerc +lat_0=45.43333333333333 +lon_0=-90.25555555555556 +k=1.0000677153 +x_0=220980.4419 +y_0=0.008500000000000001 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Jackson (m)
-<7553> +proj=tmerc +lat_0=44.25333512777778 +lon_0=-90.84429651944444 +k=1.0000353 +x_0=27000 +y_0=25000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Kenosha, Milwaukee, Ozaukee and Racine (m)
-<7554> +proj=tmerc +lat_0=42.21666666666667 +lon_0=-87.89444444444445 +k=1.0000260649 +x_0=185928.3728 +y_0=0.0009 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Kewaunee, Manitowoc and Sheboygan (m)
-<7555> +proj=tmerc +lat_0=43.26666666666667 +lon_0=-87.55 +k=1.0000233704 +x_0=79857.7614 +y_0=0.0012 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS La Crosse (m)
-<7556> +proj=tmerc +lat_0=43.45111111111111 +lon_0=-91.31666666666666 +k=1.0000319985 +x_0=130454.6598 +y_0=0.0033 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Langlade (m)
-<7557> +proj=lcc +lat_1=45.15423710527778 +lat_0=45.15423710527778 +lon_0=-89.03333333333333 +k_0=1.0000627024 +x_0=198425.197 +y_0=105279.7829 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Lincoln (m)
-<7558> +proj=tmerc +lat_0=44.84444444444445 +lon_0=-89.73333333333333 +k=1.0000599003 +x_0=116129.0323 +y_0=0.0058 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Marathon (m)
-<7559> +proj=lcc +lat_1=44.90090442361111 +lat_0=44.90090442361111 +lon_0=-89.77 +k_0=1.000053289 +x_0=74676.1493 +y_0=55049.2669 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Marinette (m)
-<7560> +proj=tmerc +lat_0=44.69166666666666 +lon_0=-87.71111111111111 +k=1.0000234982 +x_0=238658.8794 +y_0=0.0032 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Menominee (m)
-<7561> +proj=tmerc +lat_0=44.71666666666667 +lon_0=-88.41666666666667 +k=1.0000362499 +x_0=105461.0121 +y_0=0.0029 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Monroe (m)
-<7562> +proj=lcc +lat_1=44.00007392861111 +lat_0=44.00007392861111 +lon_0=-90.64166666666668 +k_0=1.0000434122 +x_0=204521.209 +y_0=121923.9861 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Oconto (m)
-<7563> +proj=tmerc +lat_0=44.39722222222222 +lon_0=-87.90833333333335 +k=1.0000236869 +x_0=182880.3676 +y_0=0.0033 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Oneida (m)
-<7564> +proj=lcc +lat_1=45.70422377027778 +lat_0=45.70422377027778 +lon_0=-89.54444444444444 +k_0=1.0000686968 +x_0=70104.1401 +y_0=57588.0346 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Pepin and Pierce (m)
-<7565> +proj=lcc +lat_1=44.63614887194444 +lat_0=44.63614887194444 +lon_0=-92.22777777777777 +k_0=1.0000362977 +x_0=167640.3354 +y_0=86033.0876 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Polk (m)
-<7566> +proj=tmerc +lat_0=44.66111111111111 +lon_0=-92.63333333333334 +k=1.0000433849 +x_0=141732.2823 +y_0=0.0059 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Portage (m)
-<7567> +proj=lcc +lat_1=44.41682397527777 +lat_0=44.41682397527777 +lon_0=-89.5 +k_0=1.000039936 +x_0=56388.1128 +y_0=50022.1874 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Price (m)
-<7568> +proj=tmerc +lat_0=44.55555555555555 +lon_0=-90.48888888888889 +k=1.0000649554 +x_0=227990.8546 +y_0=0.0109 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Richland (m)
-<7569> +proj=lcc +lat_1=43.3223129275 +lat_0=43.3223129275 +lon_0=-90.43055555555556 +k_0=1.0000375653 +x_0=202387.6048 +y_0=134255.4253 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Rock (m)
-<7570> +proj=tmerc +lat_0=41.94444444444444 +lon_0=-89.07222222222222 +k=1.0000337311 +x_0=146304.2926 +y_0=0.0068 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Rusk (m)
-<7571> +proj=tmerc +lat_0=43.91944444444444 +lon_0=-91.06666666666666 +k=1.0000495976 +x_0=250546.1013 +y_0=0.0234 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Sauk (m)
-<7572> +proj=tmerc +lat_0=42.81944444444445 +lon_0=-89.90000000000001 +k=1.0000373868 +x_0=185623.5716 +y_0=0.0051 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Sawyer (m)
-<7573> +proj=lcc +lat_1=45.90009913138888 +lat_0=45.90009913138888 +lon_0=-91.11666666666666 +k_0=1.0000573461 +x_0=216713.2336 +y_0=120734.1631 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Shawano (m)
-<7574> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-88.60555555555555 +k=1.000032144 +x_0=262433.3253 +y_0=0.009599999999999999 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS St. Croix (m)
-<7575> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-92.63333333333334 +k=1.0000381803 +x_0=165506.7302 +y_0=0.0103 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Taylor (m)
-<7576> +proj=lcc +lat_1=45.17782208583333 +lat_0=45.17782208583333 +lon_0=-90.48333333333333 +k_0=1.0000597566 +x_0=187147.5744 +y_0=107746.7522 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Trempealeau (m)
-<7577> +proj=tmerc +lat_0=43.16111111111111 +lon_0=-91.36666666666666 +k=1.0000361538 +x_0=256946.9138 +y_0=0.0041 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Vernon (m)
-<7578> +proj=lcc +lat_1=43.57503293972223 +lat_0=43.57503293972223 +lon_0=-90.78333333333333 +k_0=1.0000408158 +x_0=222504.4451 +y_0=47532.0602 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Vilas (m)
-<7579> +proj=lcc +lat_1=46.07784409055556 +lat_0=46.07784409055556 +lon_0=-89.48888888888889 +k_0=1.0000730142 +x_0=134417.0689 +y_0=50337.1092 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Walworth (m)
-<7580> +proj=lcc +lat_1=42.66946209694444 +lat_0=42.66946209694444 +lon_0=-88.54166666666667 +k_0=1.0000367192 +x_0=232562.8651 +y_0=111088.2224 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Washburn (m)
-<7581> +proj=lcc +lat_1=45.96121983333334 +lat_0=45.96121983333334 +lon_0=-91.78333333333333 +k_0=1.0000475376 +x_0=234086.8682 +y_0=188358.6058 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Washington (m)
-<7582> +proj=tmerc +lat_0=42.91805555555555 +lon_0=-88.06388888888888 +k=1.00003738 +x_0=120091.4415 +y_0=0.003 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Waukesha (m)
-<7583> +proj=tmerc +lat_0=42.56944444444445 +lon_0=-88.22499999999999 +k=1.0000346179 +x_0=208788.418 +y_0=0.0034 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Waupaca (m)
-<7584> +proj=tmerc +lat_0=43.42027777777778 +lon_0=-88.81666666666666 +k=1.0000333645 +x_0=185013.9709 +y_0=0.007 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Waushara (m)
-<7585> +proj=lcc +lat_1=44.11394404583334 +lat_0=44.11394404583334 +lon_0=-89.24166666666667 +k_0=1.0000392096 +x_0=120091.4402 +y_0=45069.7587 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Wood (m)
-<7586> +proj=lcc +lat_1=44.36259546944444 +lat_0=44.36259546944444 +lon_0=-90 +k_0=1.0000421209 +x_0=208483.6173 +y_0=134589.754 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / WISCRS Adams and Juneau (ftUS)
-<7587> +proj=tmerc +lat_0=43.36666666666667 +lon_0=-90 +k=1.0000365285 +x_0=147218.6941325883 +y_0=0.00365760731521463 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Ashland (ftUS)
-<7588> +proj=tmerc +lat_0=45.70611111111111 +lon_0=-90.62222222222222 +k=1.0000495683 +x_0=172821.945948692 +y_0=0.001828803657607315 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Barron (ftUS)
-<7589> +proj=tmerc +lat_0=45.13333333333333 +lon_0=-91.84999999999999 +k=1.0000486665 +x_0=93150 +y_0=0.003048006096012192 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Bayfield (ftUS)
-<7590> +proj=lcc +lat_1=46.66964837722222 +lat_0=46.66964837722222 +lon_0=-91.15277777777779 +k_0=1.0000331195 +x_0=228600.4575057151 +y_0=148551.4835661671 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Brown (ftUS)
-<7591> +proj=tmerc +lat_0=43 +lon_0=-88 +k=1.00002 +x_0=31599.99989839979 +y_0=4599.999898399797 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Buffalo (ftUS)
-<7592> +proj=tmerc +lat_0=43.48138888888889 +lon_0=-91.79722222222222 +k=1.0000382778 +x_0=175260.3502159004 +y_0=0.004876809753619507 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Burnett (ftUS)
-<7593> +proj=lcc +lat_1=45.89871486583333 +lat_0=45.89871486583333 +lon_0=-92.45777777777778 +k_0=1.0000383841 +x_0=64008.12771145543 +y_0=59445.90419100838 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Calumet, Fond du Lac, Outagamie and Winnebago (ftUS)
-<7594> +proj=tmerc +lat_0=42.71944444444445 +lon_0=-88.5 +k=1.0000286569 +x_0=244754.8892049784 +y_0=0.004876809753619507 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Chippewa (ftUS)
-<7595> +proj=lcc +lat_1=44.97785689861112 +lat_0=44.97785689861112 +lon_0=-91.29444444444444 +k_0=1.0000391127 +x_0=60045.72009144018 +y_0=44091.43449326898 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Clark (ftUS)
-<7596> +proj=tmerc +lat_0=43.6 +lon_0=-90.70833333333334 +k=1.0000463003 +x_0=199949.198983998 +y_0=0.008534417068834137 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Columbia (ftUS)
-<7597> +proj=lcc +lat_1=43.46254664583333 +lat_0=43.46254664583333 +lon_0=-89.39444444444445 +k_0=1.00003498 +x_0=169164.338023876 +y_0=111569.613512827 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Crawford (ftUS)
-<7598> +proj=lcc +lat_1=43.200055605 +lat_0=43.200055605 +lon_0=-90.9388888888889 +k_0=1.0000349151 +x_0=113690.6273812548 +y_0=53703.12024384048 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Dane (ftUS)
-<7599> +proj=lcc +lat_1=43.0695160375 +lat_0=43.0695160375 +lon_0=-89.42222222222223 +k_0=1.0000384786 +x_0=247193.2943865888 +y_0=146591.9896367793 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Dodge and Jefferson (ftUS)
-<7600> +proj=tmerc +lat_0=41.47222222222222 +lon_0=-88.77500000000001 +k=1.0000346418 +x_0=263347.7263906528 +y_0=0.00762001524003048 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Door (ftUS)
-<7601> +proj=tmerc +lat_0=44.4 +lon_0=-87.27222222222223 +k=1.0000187521 +x_0=158801.1176022352 +y_0=0.002438404876809754 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Douglas (ftUS)
-<7602> +proj=tmerc +lat_0=45.88333333333333 +lon_0=-91.91666666666667 +k=1.0000385418 +x_0=59131.31826263652 +y_0=0.003962407924815849 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Dunn (ftUS)
-<7603> +proj=tmerc +lat_0=44.40833333333333 +lon_0=-91.89444444444445 +k=1.0000410324 +x_0=51816.10393700787 +y_0=0.003048006096012192 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Eau Claire (ftUS)
-<7604> +proj=lcc +lat_1=44.87228112638889 +lat_0=44.87228112638889 +lon_0=-91.28888888888889 +k_0=1.000035079 +x_0=120091.4401828804 +y_0=91687.92390144781 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Florence (ftUS)
-<7605> +proj=tmerc +lat_0=45.43888888888888 +lon_0=-88.14166666666668 +k=1.0000552095 +x_0=133502.6682245364 +y_0=0.006400812801625603 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Forest (ftUS)
-<7606> +proj=tmerc +lat_0=44.00555555555555 +lon_0=-88.63333333333334 +k=1.0000673004 +x_0=275844.5532131065 +y_0=0.0158496316992634 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Grant (ftUS)
-<7607> +proj=tmerc +lat_0=41.41111111111111 +lon_0=-90.8 +k=1.0000349452 +x_0=242316.484023368 +y_0=0.01005842011684023 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Green and Lafayette (ftUS)
-<7608> +proj=lcc +lat_1=42.63756227694444 +lat_0=42.63756227694444 +lon_0=-89.83888888888889 +k_0=1.0000390487 +x_0=170078.7401574803 +y_0=45830.29484378968 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Green Lake and Marquette (ftUS)
-<7609> +proj=lcc +lat_1=43.80700011777778 +lat_0=43.80700011777778 +lon_0=-89.24166666666667 +k_0=1.0000344057 +x_0=150876.3017526035 +y_0=79170.77937515875 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Iowa (ftUS)
-<7610> +proj=tmerc +lat_0=42.53888888888888 +lon_0=-90.16111111111111 +k=1.0000394961 +x_0=113081.0261620523 +y_0=0.004572009144018288 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Iron (ftUS)
-<7611> +proj=tmerc +lat_0=45.43333333333333 +lon_0=-90.25555555555556 +k=1.0000677153 +x_0=220980.4419608839 +y_0=0.008534417068834137 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Jackson (ftUS)
-<7612> +proj=tmerc +lat_0=44.25333512777778 +lon_0=-90.84429651944444 +k=1.0000353 +x_0=27000 +y_0=24999.99989839979 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Kenosha, Milwaukee, Ozaukee and Racine (ftUS)
-<7613> +proj=tmerc +lat_0=42.21666666666667 +lon_0=-87.89444444444445 +k=1.0000260649 +x_0=185928.3727711455 +y_0=0.0009144018288036576 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Kewaunee, Manitowoc and Sheboygan (ftUS)
-<7614> +proj=tmerc +lat_0=43.26666666666667 +lon_0=-87.55 +k=1.0000233704 +x_0=79857.76154432308 +y_0=0.001219202438404877 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS La Crosse (ftUS)
-<7615> +proj=tmerc +lat_0=43.45111111111111 +lon_0=-91.31666666666666 +k=1.0000319985 +x_0=130454.6596901194 +y_0=0.003352806705613411 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Langlade (ftUS)
-<7616> +proj=lcc +lat_1=45.15423710527778 +lat_0=45.15423710527778 +lon_0=-89.03333333333333 +k_0=1.0000627024 +x_0=198425.1968503937 +y_0=105279.7828803657 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Lincoln (ftUS)
-<7617> +proj=tmerc +lat_0=44.84444444444445 +lon_0=-89.73333333333333 +k=1.0000599003 +x_0=116129.0322580645 +y_0=0.005791211582423164 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Marathon (ftUS)
-<7618> +proj=lcc +lat_1=44.90090442361111 +lat_0=44.90090442361111 +lon_0=-89.77 +k_0=1.000053289 +x_0=74676.1493522987 +y_0=55049.26695453391 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Marinette (ftUS)
-<7619> +proj=tmerc +lat_0=44.69166666666666 +lon_0=-87.71111111111111 +k=1.0000234982 +x_0=238658.8794513589 +y_0=0.003048006096012192 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Menominee (ftUS)
-<7620> +proj=tmerc +lat_0=44.71666666666667 +lon_0=-88.41666666666667 +k=1.0000362499 +x_0=105461.0121412243 +y_0=0.003048006096012192 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Monroe (ftUS)
-<7621> +proj=lcc +lat_1=44.00007392861111 +lat_0=44.00007392861111 +lon_0=-90.64166666666668 +k_0=1.0000434122 +x_0=204521.2090424181 +y_0=121923.9861823724 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Oconto (ftUS)
-<7622> +proj=tmerc +lat_0=44.39722222222222 +lon_0=-87.90833333333335 +k=1.0000236869 +x_0=182880.3675895352 +y_0=0.003352806705613411 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Oneida (ftUS)
-<7623> +proj=lcc +lat_1=45.70422377027778 +lat_0=45.70422377027778 +lon_0=-89.54444444444444 +k_0=1.0000686968 +x_0=70104.14020828041 +y_0=57588.03474726949 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Pepin and Pierce (ftUS)
-<7624> +proj=lcc +lat_1=44.63614887194444 +lat_0=44.63614887194444 +lon_0=-92.22777777777777 +k_0=1.0000362977 +x_0=167640.3352806706 +y_0=86033.08773177546 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Polk (ftUS)
-<7625> +proj=tmerc +lat_0=44.66111111111111 +lon_0=-92.63333333333334 +k=1.0000433849 +x_0=141732.2822453645 +y_0=0.005791211582423164 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Portage (ftUS)
-<7626> +proj=lcc +lat_1=44.41682397527777 +lat_0=44.41682397527777 +lon_0=-89.5 +k_0=1.000039936 +x_0=56388.11277622555 +y_0=50022.1874523749 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Price (ftUS)
-<7627> +proj=tmerc +lat_0=44.55555555555555 +lon_0=-90.48888888888889 +k=1.0000649554 +x_0=227990.8544577089 +y_0=0.01097282194564389 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Richland (ftUS)
-<7628> +proj=lcc +lat_1=43.3223129275 +lat_0=43.3223129275 +lon_0=-90.43055555555556 +k_0=1.0000375653 +x_0=202387.6047752095 +y_0=134255.4254508509 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Rock (ftUS)
-<7629> +proj=tmerc +lat_0=41.94444444444444 +lon_0=-89.07222222222222 +k=1.0000337311 +x_0=146304.2926085852 +y_0=0.006705613411226822 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Rusk (ftUS)
-<7630> +proj=tmerc +lat_0=43.91944444444444 +lon_0=-91.06666666666666 +k=1.0000495976 +x_0=250546.1013970028 +y_0=0.02346964693929388 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Sauk (ftUS)
-<7631> +proj=tmerc +lat_0=42.81944444444445 +lon_0=-89.90000000000001 +k=1.0000373868 +x_0=185623.5715519431 +y_0=0.005181610363220727 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Sawyer (ftUS)
-<7632> +proj=lcc +lat_1=45.90009913138888 +lat_0=45.90009913138888 +lon_0=-91.11666666666666 +k_0=1.0000573461 +x_0=216713.2337312675 +y_0=120734.1631699263 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Shawano (ftUS)
-<7633> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-88.60555555555555 +k=1.000032144 +x_0=262433.3251714504 +y_0=0.009448818897637795 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS St. Croix (ftUS)
-<7634> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-92.63333333333334 +k=1.0000381803 +x_0=165506.7300990602 +y_0=0.01036322072644145 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Taylor (ftUS)
-<7635> +proj=lcc +lat_1=45.17782208583333 +lat_0=45.17782208583333 +lon_0=-90.48333333333333 +k_0=1.0000597566 +x_0=187147.5742951486 +y_0=107746.7521463043 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Trempealeau (ftUS)
-<7636> +proj=tmerc +lat_0=43.16111111111111 +lon_0=-91.36666666666666 +k=1.0000361538 +x_0=256946.9138938278 +y_0=0.003962407924815849 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Vernon (ftUS)
-<7637> +proj=lcc +lat_1=43.57503293972223 +lat_0=43.57503293972223 +lon_0=-90.78333333333333 +k_0=1.0000408158 +x_0=222504.44500889 +y_0=47532.0603505207 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Vilas (ftUS)
-<7638> +proj=lcc +lat_1=46.07784409055556 +lat_0=46.07784409055556 +lon_0=-89.48888888888889 +k_0=1.0000730142 +x_0=134417.0688341377 +y_0=50337.10927101854 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Walworth (ftUS)
-<7639> +proj=lcc +lat_1=42.66946209694444 +lat_0=42.66946209694444 +lon_0=-88.54166666666667 +k_0=1.0000367192 +x_0=232562.8651257302 +y_0=111088.2224028448 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Washburn (ftUS)
-<7640> +proj=lcc +lat_1=45.96121983333334 +lat_0=45.96121983333334 +lon_0=-91.78333333333333 +k_0=1.0000475376 +x_0=234086.8681737363 +y_0=188358.6059436119 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Washington (ftUS)
-<7641> +proj=tmerc +lat_0=42.91805555555555 +lon_0=-88.06388888888888 +k=1.00003738 +x_0=120091.4414020828 +y_0=0.003048006096012192 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Waukesha (ftUS)
-<7642> +proj=tmerc +lat_0=42.56944444444445 +lon_0=-88.22499999999999 +k=1.0000346179 +x_0=208788.4178816358 +y_0=0.003352806705613411 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Waupaca (ftUS)
-<7643> +proj=tmerc +lat_0=43.42027777777778 +lon_0=-88.81666666666666 +k=1.0000333645 +x_0=185013.9709423419 +y_0=0.007010414020828041 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Waushara (ftUS)
-<7644> +proj=lcc +lat_1=44.11394404583334 +lat_0=44.11394404583334 +lon_0=-89.24166666666667 +k_0=1.0000392096 +x_0=120091.4401828804 +y_0=45069.7588011176 +ellps=GRS80 +units=us-ft +no_defs <>
-# NAD83(2011) / WISCRS Wood (ftUS)
-<7645> +proj=lcc +lat_1=44.36259546944444 +lat_0=44.36259546944444 +lon_0=-90 +k_0=1.0000421209 +x_0=208483.6172720346 +y_0=134589.7539243078 +ellps=GRS80 +units=us-ft +no_defs <>
-# Kyrg-06 / zone 1
-<7692> +proj=tmerc +lat_0=0 +lon_0=68.51666666666667 +k=1 +x_0=1300000 +y_0=14743.5 +ellps=GRS80 +units=m +no_defs <>
-# Kyrg-06 / zone 2
-<7693> +proj=tmerc +lat_0=0 +lon_0=71.51666666666667 +k=1 +x_0=2300000 +y_0=14743.5 +ellps=GRS80 +units=m +no_defs <>
-# Kyrg-06 / zone 3
-<7694> +proj=tmerc +lat_0=0 +lon_0=74.51666666666667 +k=1 +x_0=3300000 +y_0=14743.5 +ellps=GRS80 +units=m +no_defs <>
-# Kyrg-06 / zone 4
-<7695> +proj=tmerc +lat_0=0 +lon_0=77.51666666666667 +k=1 +x_0=4300000 +y_0=14743.5 +ellps=GRS80 +units=m +no_defs <>
-# Kyrg-06 / zone 5
-<7696> +proj=tmerc +lat_0=0 +lon_0=80.51666666666667 +k=1 +x_0=5300000 +y_0=14743.5 +ellps=GRS80 +units=m +no_defs <>
-# WGS 84 / India NSF LCC
-<7755> +proj=lcc +lat_1=12.472955 +lat_2=35.17280444444444 +lat_0=24 +lon_0=80 +x_0=4000000 +y_0=4000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Andhra Pradesh
-<7756> +proj=lcc +lat_1=13.75 +lat_2=18.75 +lat_0=16.25543298 +lon_0=80.875 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Arunachal Pradesh
-<7757> +proj=lcc +lat_1=27 +lat_2=29 +lat_0=28.00157897 +lon_0=94.5 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Assam
-<7758> +proj=lcc +lat_1=24.66666666666667 +lat_2=27.33333333333333 +lat_0=26.00257703 +lon_0=92.75 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Bihar
-<7759> +proj=lcc +lat_1=24.625 +lat_2=27.125 +lat_0=25.87725247 +lon_0=85.875 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Delhi
-<7760> +proj=lcc +lat_1=28.375 +lat_2=28.875 +lat_0=28.62510126 +lon_0=77 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Gujarat
-<7761> +proj=lcc +lat_1=20.79166666666667 +lat_2=23.95833333333333 +lat_0=22.37807121 +lon_0=71.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Haryana
-<7762> +proj=lcc +lat_1=28.08333333333333 +lat_2=30.41666666666667 +lat_0=29.25226266 +lon_0=76 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Himachal Pradesh
-<7763> +proj=lcc +lat_1=30.75 +lat_2=32.75 +lat_0=31.75183497 +lon_0=77.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Jammu and Kashmir
-<7764> +proj=lcc +lat_1=33.08333333333334 +lat_2=36.41666666666666 +lat_0=34.75570874 +lon_0=76.5 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Jharkhand
-<7765> +proj=lcc +lat_1=22.54166666666667 +lat_2=24.70833333333333 +lat_0=23.62652682 +lon_0=85.625 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Madhya Pradesh
-<7766> +proj=lcc +lat_1=22 +lat_2=26 +lat_0=24.00529821 +lon_0=78.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Maharashtra
-<7767> +proj=lcc +lat_1=16.625 +lat_2=21.125 +lat_0=18.88015774 +lon_0=76.75 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Manipur
-<7768> +proj=lcc +lat_1=24.08333333333333 +lat_2=25.41666666666667 +lat_0=24.75060911 +lon_0=94 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Meghalaya
-<7769> +proj=lcc +lat_1=25.20833333333333 +lat_2=26.04166666666667 +lat_0=25.62524747 +lon_0=91.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Nagaland
-<7770> +proj=lcc +lat_1=25.375 +lat_2=26.875 +lat_0=26.12581974 +lon_0=94.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / India Northeast
-<7771> +proj=lcc +lat_1=23.04166666666667 +lat_2=28.20833333333333 +lat_0=25.63452135 +lon_0=93.5 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Orissa
-<7772> +proj=lcc +lat_1=18.58333333333333 +lat_2=21.91666666666667 +lat_0=20.25305174 +lon_0=84.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Punjab
-<7773> +proj=lcc +lat_1=30 +lat_2=32 +lat_0=31.00178226 +lon_0=75.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Rajasthan
-<7774> +proj=lcc +lat_1=24.29166666666667 +lat_2=29.45833333333333 +lat_0=26.88505546 +lon_0=73.875 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Uttar Pradesh
-<7775> +proj=lcc +lat_1=24.875 +lat_2=29.375 +lat_0=27.13270823 +lon_0=80.875 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Uttaranchal
-<7776> +proj=lcc +lat_1=29 +lat_2=31 +lat_0=30.0017132 +lon_0=79.375 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Andaman and Nicobar
-<7777> +proj=tmerc +lat_0=10.25 +lon_0=93.25 +k=0.9999428 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Chhattisgarh
-<7778> +proj=tmerc +lat_0=21 +lon_0=82.25 +k=0.9998332 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Goa
-<7779> +proj=tmerc +lat_0=15.375 +lon_0=74 +k=0.9999913 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Karnataka
-<7780> +proj=tmerc +lat_0=15.125 +lon_0=76.375 +k=0.9998011999999999 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Kerala
-<7781> +proj=tmerc +lat_0=10.5 +lon_0=76 +k=0.9999177 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Lakshadweep
-<7782> +proj=tmerc +lat_0=10 +lon_0=73.125 +k=0.9999536 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Mizoram
-<7783> +proj=tmerc +lat_0=23.125 +lon_0=92.75 +k=0.9999821 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Sikkim
-<7784> +proj=tmerc +lat_0=27.625 +lon_0=88.5 +k=0.9999926 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Tamil Nadu
-<7785> +proj=tmerc +lat_0=10.875 +lon_0=78.375 +k=0.9997942 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / Tripura
-<7786> +proj=tmerc +lat_0=23.75 +lon_0=91.75 +k=0.9999822 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / West Bengal
-<7787> +proj=tmerc +lat_0=24.375 +lon_0=87.875 +k=0.9998584 +x_0=1000000 +y_0=1000000 +datum=WGS84 +units=m +no_defs <>
-# RDN2008 / UTM zone 32N
-<7791> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / UTM zone 33N
-<7792> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / UTM zone 34N
-<7793> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / Italy zone (E-N)
-<7794> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.9985000000000001 +x_0=7000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# RDN2008 / Zone 12 (E-N)
-<7795> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=3000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# BGS2005 / UTM zone 34N (N-E)
-<7799> +proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs <>
-# BGS2005 / UTM zone 35N (N-E)
-<7800> +proj=utm +zone=35 +ellps=GRS80 +units=m +no_defs <>
-# BGS2005 / CCS2005
-<7801> +proj=lcc +lat_1=42 +lat_2=43.33333333333334 +lat_0=42.66787568333333 +lon_0=25.5 +x_0=500000 +y_0=4725824.3591 +ellps=GRS80 +units=m +no_defs <>
-# BGS2005 / UTM zone 34N
-<7803> +proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs <>
-# BGS2005 / UTM zone 35N
-<7804> +proj=utm +zone=34 +ellps=GRS80 +units=m +no_defs <>
-# BGS2005 / UTM zone 36N
-<7805> +proj=utm +zone=36 +ellps=GRS80 +units=m +no_defs <>
-# Pulkovo 1942 / CS63 zone X1
-<7825> +proj=tmerc +lat_0=0.08333333333333333 +lon_0=23.5 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Pulkovo 1942 / CS63 zone X2
-<7826> +proj=tmerc +lat_0=0.08333333333333333 +lon_0=26.5 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Pulkovo 1942 / CS63 zone X3
-<7827> +proj=tmerc +lat_0=0.08333333333333333 +lon_0=29.5 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Pulkovo 1942 / CS63 zone X4
-<7828> +proj=tmerc +lat_0=0.08333333333333333 +lon_0=32.5 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Pulkovo 1942 / CS63 zone X5
-<7829> +proj=tmerc +lat_0=0.08333333333333333 +lon_0=35.5 +k=1 +x_0=5300000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Pulkovo 1942 / CS63 zone X6
-<7830> +proj=tmerc +lat_0=0.08333333333333333 +lon_0=38.5 +k=1 +x_0=6300000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# Pulkovo 1942 / CS63 zone X7
-<7831> +proj=tmerc +lat_0=0.08333333333333333 +lon_0=41.5 +k=1 +x_0=7300000 +y_0=0 +ellps=krass +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +units=m +no_defs <>
-# GDA2020 / GA LCC
-<7845> +proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 46
-<7846> +proj=utm +zone=46 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 47
-<7847> +proj=utm +zone=47 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 48
-<7848> +proj=utm +zone=48 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 49
-<7849> +proj=utm +zone=49 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 50
-<7850> +proj=utm +zone=50 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 51
-<7851> +proj=utm +zone=51 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 52
-<7852> +proj=utm +zone=52 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 53
-<7853> +proj=utm +zone=53 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 54
-<7854> +proj=utm +zone=54 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 55
-<7855> +proj=utm +zone=55 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 56
-<7856> +proj=utm +zone=56 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 57
-<7857> +proj=utm +zone=57 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 58
-<7858> +proj=utm +zone=58 +south +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MGA zone 59
-<7859> +proj=utm +zone=59 +south +ellps=GRS80 +units=m +no_defs <>
-# Astro DOS 71 / SHLG71
-<7877> +proj=tmerc +lat_0=-15.96666666666667 +lon_0=-5.716666666666667 +k=1 +x_0=300000 +y_0=2000000 +ellps=intl +towgs84=-320,550,-494,0,0,0,0 +units=m +no_defs <>
-# Astro DOS 71 / UTM zone 30S
-<7878> +proj=utm +zone=30 +south +ellps=intl +towgs84=-320,550,-494,0,0,0,0 +units=m +no_defs <>
-# St. Helena Tritan / SHLG(Tritan)
-<7882> +proj=tmerc +lat_0=-15.96666666666667 +lon_0=-5.716666666666667 +k=1 +x_0=299483.737 +y_0=2000527.879 +ellps=WGS84 +towgs84=-0.077,0.079,0.086,0,0,0,0 +units=m +no_defs <>
-# St. Helena Tritan / UTM zone 30S
-<7883> +proj=utm +zone=30 +south +ellps=WGS84 +towgs84=-0.077,0.079,0.086,0,0,0,0 +units=m +no_defs <>
-# SHMG2015
-<7887> +proj=utm +zone=30 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# GDA2020 / Vicgrid
-<7899> +proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=2500000 +ellps=GRS80 +units=m +no_defs <>
-# NAD27 / MTM zone 10
-<7991> +proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +datum=NAD27 +units=m +no_defs <>
-# Malongo 1987 / UTM zone 33S
-<7992> +proj=utm +zone=33 +south +ellps=intl +towgs84=-254.1,-5.36,-100.29,0,0,0,0 +units=m +no_defs <>
-# GDA2020 / ALB2020
-<8013> +proj=tmerc +lat_0=0 +lon_0=117.8833333333333 +k=1.0000044 +x_0=50000 +y_0=4100000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / BIO2020
-<8014> +proj=tmerc +lat_0=0 +lon_0=115.25 +k=1.0000022 +x_0=60000 +y_0=2700000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / BRO2020
-<8015> +proj=tmerc +lat_0=0 +lon_0=122.3333333333333 +k=1.00000298 +x_0=50000 +y_0=2300000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / BCG2020
-<8016> +proj=tmerc +lat_0=0 +lon_0=115.4333333333333 +k=0.99999592 +x_0=50000 +y_0=4000000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / CARN2020
-<8017> +proj=tmerc +lat_0=0 +lon_0=113.6666666666667 +k=0.99999796 +x_0=50000 +y_0=3050000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / CIG2020
-<8018> +proj=tmerc +lat_0=0 +lon_0=105.625 +k=1.00002514 +x_0=50000 +y_0=1400000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / CKIG2020
-<8019> +proj=tmerc +lat_0=0 +lon_0=96.875 +k=0.99999387 +x_0=50000 +y_0=1600000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / COL2020
-<8020> +proj=tmerc +lat_0=0 +lon_0=115.9333333333333 +k=1.000019 +x_0=40000 +y_0=4100000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / ESP2020
-<8021> +proj=tmerc +lat_0=0 +lon_0=121.8833333333333 +k=1.0000055 +x_0=50000 +y_0=4050000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / EXM2020
-<8022> +proj=tmerc +lat_0=0 +lon_0=114.0666666666667 +k=1.00000236 +x_0=50000 +y_0=2750000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / GCG2020
-<8023> +proj=tmerc +lat_0=0 +lon_0=114.5833333333333 +k=1.00000628 +x_0=50000 +y_0=3450000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / GOLD2020
-<8024> +proj=tmerc +lat_0=0 +lon_0=121.5 +k=1.00004949 +x_0=60000 +y_0=3800000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / JCG2020
-<8025> +proj=tmerc +lat_0=0 +lon_0=114.9833333333333 +k=1.00000314 +x_0=50000 +y_0=3650000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / KALB2020
-<8026> +proj=tmerc +lat_0=0 +lon_0=114.3152777777778 +k=1.000014 +x_0=55000 +y_0=3700000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / KAR2020
-<8027> +proj=tmerc +lat_0=0 +lon_0=116.9333333333333 +k=0.9999989 +x_0=50000 +y_0=2550000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / KUN2020
-<8028> +proj=tmerc +lat_0=0 +lon_0=128.75 +k=1.0000165 +x_0=50000 +y_0=2100000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / LCG2020
-<8029> +proj=tmerc +lat_0=0 +lon_0=115.3666666666667 +k=1.00000157 +x_0=50000 +y_0=3750000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / MRCG2020
-<8030> +proj=tmerc +lat_0=0 +lon_0=115.1666666666667 +k=1.0000055 +x_0=50000 +y_0=4050000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / PCG2020
-<8031> +proj=tmerc +lat_0=0 +lon_0=115.8166666666667 +k=0.9999990600000001 +x_0=50000 +y_0=3900000 +ellps=GRS80 +units=m +no_defs <>
-# GDA2020 / PHG2020
-<8032> +proj=tmerc +lat_0=0 +lon_0=118.6 +k=1.00000135 +x_0=50000 +y_0=2500000 +ellps=GRS80 +units=m +no_defs <>
-# WGS 84 / TM Zone 20N (ftUS)
-<8035> +proj=utm +zone=20 +datum=WGS84 +units=us-ft +no_defs <>
-# WGS 84 / TM Zone 21N (ftUS)
-<8036> +proj=utm +zone=21 +datum=WGS84 +units=us-ft +no_defs <>
-# Gusterberg Grid (Ferro)
-<8044> +proj=cass +lat_0=48.03846388888888 +lon_0=31.80418055555556 +x_0=0 +y_0=0 +a=6376045 +b=6355477.112903226 +pm=ferro +units=m +no_defs <>
-# St. Stephen Grid (Ferro)
-<8045> +proj=cass +lat_0=48.20876111111112 +lon_0=34.04092222222222 +x_0=0 +y_0=0 +a=6376045 +b=6355477.112903226 +pm=ferro +units=m +no_defs <>
-# GDA2020 / NSW Lambert
-<8058> +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 +units=m +no_defs <>
-# GDA2020 / SA Lambert
-<8059> +proj=lcc +lat_1=-28 +lat_2=-36 +lat_0=-32 +lon_0=135 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / PCCS zone 1 (ft)
-<8065> +proj=omerc +lat_0=32.25 +lonc=-111.4 +alpha=45 +k=1.00011 +x_0=48768 +y_0=243840 +gamma=45 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / PCCS zone 2 (ft)
-<8066> +proj=tmerc +lat_0=31.25 +lon_0=-112.1666666666667 +k=1.00009 +x_0=548640 +y_0=304800 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / PCCS zone 3 (ft)
-<8067> +proj=tmerc +lat_0=31.5 +lon_0=-113.1666666666667 +k=1.000055 +x_0=182880 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / PCCS zone 4 (ft)
-<8068> +proj=lcc +lat_1=30.5 +lat_0=30.5 +lon_0=-110.75 +k_0=0.9998 +x_0=9144 +y_0=-188976 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(CSRS)v6 / MTM Nova Scotia zone 4
-<8082> +proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=24500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS)v6 / MTM Nova Scotia zone 5
-<8083> +proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=25500000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# ISN2016 / Lambert 2016
-<8088> +proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19 +x_0=2700000 +y_0=300000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Florence (m)
-<8090> +proj=tmerc +lat_0=45.43888888888888 +lon_0=-88.14166666666668 +k=1.0000552095 +x_0=133502.6683 +y_0=0.0063 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Florence (ftUS)
-<8091> +proj=tmerc +lat_0=45.43888888888888 +lon_0=-88.14166666666668 +k=1.0000552095 +x_0=133502.6682245364 +y_0=0.006400812801625603 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Eau Claire (m)
-<8092> +proj=lcc +lat_1=44.87228112638889 +lat_0=44.87228112638889 +lon_0=-91.28888888888889 +k_0=1.000035079 +x_0=120091.4402 +y_0=91687.92389999999 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Eau Claire (ftUS)
-<8093> +proj=lcc +lat_1=44.87228112638889 +lat_0=44.87228112638889 +lon_0=-91.28888888888889 +k_0=1.000035079 +x_0=120091.4401828804 +y_0=91687.92390144781 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Wood (m)
-<8095> +proj=lcc +lat_1=44.36259546944444 +lat_0=44.36259546944444 +lon_0=-90 +k_0=1.0000421209 +x_0=208483.6173 +y_0=134589.754 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Wood (ftUS)
-<8096> +proj=lcc +lat_1=44.36259546944444 +lat_0=44.36259546944444 +lon_0=-90 +k_0=1.0000421209 +x_0=208483.6172720346 +y_0=134589.7539243078 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Waushara (m)
-<8097> +proj=lcc +lat_1=44.11394404583334 +lat_0=44.11394404583334 +lon_0=-89.24166666666667 +k_0=1.0000392096 +x_0=120091.4402 +y_0=45069.7587 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Waushara (ftUS)
-<8098> +proj=lcc +lat_1=44.11394404583334 +lat_0=44.11394404583334 +lon_0=-89.24166666666667 +k_0=1.0000392096 +x_0=120091.4401828804 +y_0=45069.7588011176 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Waupaca (m)
-<8099> +proj=tmerc +lat_0=43.42027777777778 +lon_0=-88.81666666666666 +k=1.0000333645 +x_0=185013.9709 +y_0=0.007 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Waupaca (ftUS)
-<8100> +proj=tmerc +lat_0=43.42027777777778 +lon_0=-88.81666666666666 +k=1.0000333645 +x_0=185013.9709423419 +y_0=0.007010414020828041 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Waukesha (m)
-<8101> +proj=tmerc +lat_0=42.56944444444445 +lon_0=-88.22499999999999 +k=1.0000346179 +x_0=208788.418 +y_0=0.0034 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Waukesha (ftUS)
-<8102> +proj=tmerc +lat_0=42.56944444444445 +lon_0=-88.22499999999999 +k=1.0000346179 +x_0=208788.4178816358 +y_0=0.003352806705613411 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Washington (m)
-<8103> +proj=tmerc +lat_0=42.91805555555555 +lon_0=-88.06388888888888 +k=1.00003738 +x_0=120091.4415 +y_0=0.003 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Washington (ftUS)
-<8104> +proj=tmerc +lat_0=42.91805555555555 +lon_0=-88.06388888888888 +k=1.00003738 +x_0=120091.4414020828 +y_0=0.003048006096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Washburn (m)
-<8105> +proj=lcc +lat_1=45.96121983333334 +lat_0=45.96121983333334 +lon_0=-91.78333333333333 +k_0=1.0000475376 +x_0=234086.8682 +y_0=188358.6058 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Washburn (ftUS)
-<8106> +proj=lcc +lat_1=45.96121983333334 +lat_0=45.96121983333334 +lon_0=-91.78333333333333 +k_0=1.0000475376 +x_0=234086.8681737363 +y_0=188358.6059436119 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Walworth (m)
-<8107> +proj=lcc +lat_1=42.66946209694444 +lat_0=42.66946209694444 +lon_0=-88.54166666666667 +k_0=1.0000367192 +x_0=232562.8651 +y_0=111088.2224 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Walworth (ftUS)
-<8108> +proj=lcc +lat_1=42.66946209694444 +lat_0=42.66946209694444 +lon_0=-88.54166666666667 +k_0=1.0000367192 +x_0=232562.8651257302 +y_0=111088.2224028448 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Vilas (m)
-<8109> +proj=lcc +lat_1=46.07784409055556 +lat_0=46.07784409055556 +lon_0=-89.48888888888889 +k_0=1.0000730142 +x_0=134417.0689 +y_0=50337.1092 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Vilas (ftUS)
-<8110> +proj=lcc +lat_1=46.07784409055556 +lat_0=46.07784409055556 +lon_0=-89.48888888888889 +k_0=1.0000730142 +x_0=134417.0688341377 +y_0=50337.10927101854 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Vernon (m)
-<8111> +proj=lcc +lat_1=43.57503293972223 +lat_0=43.57503293972223 +lon_0=-90.78333333333333 +k_0=1.0000408158 +x_0=222504.4451 +y_0=47532.0602 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Vernon (ftUS)
-<8112> +proj=lcc +lat_1=43.57503293972223 +lat_0=43.57503293972223 +lon_0=-90.78333333333333 +k_0=1.0000408158 +x_0=222504.44500889 +y_0=47532.0603505207 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Trempealeau (m)
-<8113> +proj=tmerc +lat_0=43.16111111111111 +lon_0=-91.36666666666666 +k=1.0000361538 +x_0=256946.9138 +y_0=0.0041 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Trempealeau (ftUS)
-<8114> +proj=tmerc +lat_0=43.16111111111111 +lon_0=-91.36666666666666 +k=1.0000361538 +x_0=256946.9138938278 +y_0=0.003962407924815849 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Taylor (m)
-<8115> +proj=lcc +lat_1=45.17782208583333 +lat_0=45.17782208583333 +lon_0=-90.48333333333333 +k_0=1.0000597566 +x_0=187147.5744 +y_0=107746.7522 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Taylor (ftUS)
-<8116> +proj=lcc +lat_1=45.17782208583333 +lat_0=45.17782208583333 +lon_0=-90.48333333333333 +k_0=1.0000597566 +x_0=187147.5742951486 +y_0=107746.7521463043 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS St. Croix (m)
-<8117> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-92.63333333333334 +k=1.0000381803 +x_0=165506.7302 +y_0=0.0103 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS St. Croix (ftUS)
-<8118> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-92.63333333333334 +k=1.0000381803 +x_0=165506.7300990602 +y_0=0.01036322072644145 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Shawano (m)
-<8119> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-88.60555555555555 +k=1.000032144 +x_0=262433.3253 +y_0=0.009599999999999999 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Shawano (ftUS)
-<8120> +proj=tmerc +lat_0=44.03611111111111 +lon_0=-88.60555555555555 +k=1.000032144 +x_0=262433.3251714504 +y_0=0.009448818897637795 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Sawyer (m)
-<8121> +proj=lcc +lat_1=45.90009913138888 +lat_0=45.90009913138888 +lon_0=-91.11666666666666 +k_0=1.0000573461 +x_0=216713.2336 +y_0=120734.1631 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Sawyer (ftUS)
-<8122> +proj=lcc +lat_1=45.90009913138888 +lat_0=45.90009913138888 +lon_0=-91.11666666666666 +k_0=1.0000573461 +x_0=216713.2337312675 +y_0=120734.1631699263 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Sauk (m)
-<8123> +proj=tmerc +lat_0=42.81944444444445 +lon_0=-89.90000000000001 +k=1.0000373868 +x_0=185623.5716 +y_0=0.0051 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Sauk (ftUS)
-<8124> +proj=tmerc +lat_0=42.81944444444445 +lon_0=-89.90000000000001 +k=1.0000373868 +x_0=185623.5715519431 +y_0=0.005181610363220727 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Rusk (m)
-<8125> +proj=tmerc +lat_0=43.91944444444444 +lon_0=-91.06666666666666 +k=1.0000495976 +x_0=250546.1013 +y_0=0.0234 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Rusk (ftUS)
-<8126> +proj=tmerc +lat_0=43.91944444444444 +lon_0=-91.06666666666666 +k=1.0000495976 +x_0=250546.1013970028 +y_0=0.02346964693929388 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Rock (m)
-<8127> +proj=tmerc +lat_0=41.94444444444444 +lon_0=-89.07222222222222 +k=1.0000337311 +x_0=146304.2926 +y_0=0.0068 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Rock (ftUS)
-<8128> +proj=tmerc +lat_0=41.94444444444444 +lon_0=-89.07222222222222 +k=1.0000337311 +x_0=146304.2926085852 +y_0=0.006705613411226822 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Richland (m)
-<8129> +proj=lcc +lat_1=43.3223129275 +lat_0=43.3223129275 +lon_0=-90.43055555555556 +k_0=1.0000375653 +x_0=202387.6048 +y_0=134255.4253 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Richland (ftUS)
-<8130> +proj=lcc +lat_1=43.3223129275 +lat_0=43.3223129275 +lon_0=-90.43055555555556 +k_0=1.0000375653 +x_0=202387.6047752095 +y_0=134255.4254508509 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Price (m)
-<8131> +proj=tmerc +lat_0=44.55555555555555 +lon_0=-90.48888888888889 +k=1.0000649554 +x_0=227990.8546 +y_0=0.0109 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Price (ftUS)
-<8132> +proj=tmerc +lat_0=44.55555555555555 +lon_0=-90.48888888888889 +k=1.0000649554 +x_0=227990.8544577089 +y_0=0.01097282194564389 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Portage (m)
-<8133> +proj=lcc +lat_1=44.41682397527777 +lat_0=44.41682397527777 +lon_0=-89.5 +k_0=1.000039936 +x_0=56388.1128 +y_0=50022.1874 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Portage (ftUS)
-<8134> +proj=lcc +lat_1=44.41682397527777 +lat_0=44.41682397527777 +lon_0=-89.5 +k_0=1.000039936 +x_0=56388.11277622555 +y_0=50022.1874523749 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Polk (m)
-<8135> +proj=tmerc +lat_0=44.66111111111111 +lon_0=-92.63333333333334 +k=1.0000433849 +x_0=141732.2823 +y_0=0.0059 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Polk (ftUS)
-<8136> +proj=tmerc +lat_0=44.66111111111111 +lon_0=-92.63333333333334 +k=1.0000433849 +x_0=141732.2822453645 +y_0=0.005791211582423164 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Pepin and Pierce (m)
-<8137> +proj=lcc +lat_1=44.63614887194444 +lat_0=44.63614887194444 +lon_0=-92.22777777777777 +k_0=1.0000362977 +x_0=167640.3354 +y_0=86033.0876 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Pepin and Pierce (ftUS)
-<8138> +proj=lcc +lat_1=44.63614887194444 +lat_0=44.63614887194444 +lon_0=-92.22777777777777 +k_0=1.0000362977 +x_0=167640.3352806706 +y_0=86033.08773177546 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Oneida (m)
-<8139> +proj=lcc +lat_1=45.70422377027778 +lat_0=45.70422377027778 +lon_0=-89.54444444444444 +k_0=1.0000686968 +x_0=70104.1401 +y_0=57588.0346 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Oneida (ftUS)
-<8140> +proj=lcc +lat_1=45.70422377027778 +lat_0=45.70422377027778 +lon_0=-89.54444444444444 +k_0=1.0000686968 +x_0=70104.14020828041 +y_0=57588.03474726949 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Oconto (m)
-<8141> +proj=tmerc +lat_0=44.39722222222222 +lon_0=-87.90833333333335 +k=1.0000236869 +x_0=182880.3676 +y_0=0.0033 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Oconto (ftUS)
-<8142> +proj=tmerc +lat_0=44.39722222222222 +lon_0=-87.90833333333335 +k=1.0000236869 +x_0=182880.3675895352 +y_0=0.003352806705613411 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Monroe (m)
-<8143> +proj=lcc +lat_1=44.00007392861111 +lat_0=44.00007392861111 +lon_0=-90.64166666666668 +k_0=1.0000434122 +x_0=204521.209 +y_0=121923.9861 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Monroe (ftUS)
-<8144> +proj=lcc +lat_1=44.00007392861111 +lat_0=44.00007392861111 +lon_0=-90.64166666666668 +k_0=1.0000434122 +x_0=204521.2090424181 +y_0=121923.9861823724 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Menominee (m)
-<8145> +proj=tmerc +lat_0=44.71666666666667 +lon_0=-88.41666666666667 +k=1.0000362499 +x_0=105461.0121 +y_0=0.0029 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Menominee (ftUS)
-<8146> +proj=tmerc +lat_0=44.71666666666667 +lon_0=-88.41666666666667 +k=1.0000362499 +x_0=105461.0121412243 +y_0=0.003048006096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Marinette (m)
-<8147> +proj=tmerc +lat_0=44.69166666666666 +lon_0=-87.71111111111111 +k=1.0000234982 +x_0=238658.8794 +y_0=0.0032 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Marinette (ftUS)
-<8148> +proj=tmerc +lat_0=44.69166666666666 +lon_0=-87.71111111111111 +k=1.0000234982 +x_0=238658.8794513589 +y_0=0.003048006096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Marathon (m)
-<8149> +proj=lcc +lat_1=44.90090442361111 +lat_0=44.90090442361111 +lon_0=-89.77 +k_0=1.000053289 +x_0=74676.1493 +y_0=55049.2669 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Marathon (ftUS)
-<8150> +proj=lcc +lat_1=44.90090442361111 +lat_0=44.90090442361111 +lon_0=-89.77 +k_0=1.000053289 +x_0=74676.1493522987 +y_0=55049.26695453391 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Lincoln (m)
-<8151> +proj=tmerc +lat_0=44.84444444444445 +lon_0=-89.73333333333333 +k=1.0000599003 +x_0=116129.0323 +y_0=0.0058 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Lincoln (ftUS)
-<8152> +proj=tmerc +lat_0=44.84444444444445 +lon_0=-89.73333333333333 +k=1.0000599003 +x_0=116129.0322580645 +y_0=0.005791211582423164 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Langlade (m)
-<8153> +proj=lcc +lat_1=45.15423710527778 +lat_0=45.15423710527778 +lon_0=-89.03333333333333 +k_0=1.0000627024 +x_0=198425.197 +y_0=105279.7829 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Langlade (ftUS)
-<8154> +proj=lcc +lat_1=45.15423710527778 +lat_0=45.15423710527778 +lon_0=-89.03333333333333 +k_0=1.0000627024 +x_0=198425.1968503937 +y_0=105279.7828803657 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS La Crosse (m)
-<8155> +proj=tmerc +lat_0=43.45111111111111 +lon_0=-91.31666666666666 +k=1.0000319985 +x_0=130454.6598 +y_0=0.0033 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS La Crosse (ftUS)
-<8156> +proj=tmerc +lat_0=43.45111111111111 +lon_0=-91.31666666666666 +k=1.0000319985 +x_0=130454.6596901194 +y_0=0.003352806705613411 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Kewaunee, Manitowoc and Sheboygan (m)
-<8157> +proj=tmerc +lat_0=43.26666666666667 +lon_0=-87.55 +k=1.0000233704 +x_0=79857.7614 +y_0=0.0012 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Kewaunee, Manitowoc and Sheboygan (ftUS)
-<8158> +proj=tmerc +lat_0=43.26666666666667 +lon_0=-87.55 +k=1.0000233704 +x_0=79857.76154432308 +y_0=0.001219202438404877 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Kenosha, Milwaukee, Ozaukee and Racine (m)
-<8159> +proj=tmerc +lat_0=42.21666666666667 +lon_0=-87.89444444444445 +k=1.0000260649 +x_0=185928.3728 +y_0=0.0009 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Kenosha, Milwaukee, Ozaukee and Racine (ftUS)
-<8160> +proj=tmerc +lat_0=42.21666666666667 +lon_0=-87.89444444444445 +k=1.0000260649 +x_0=185928.3727711455 +y_0=0.0009144018288036576 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Jackson (m)
-<8161> +proj=tmerc +lat_0=44.25333512777778 +lon_0=-90.84429651944444 +k=1.0000353 +x_0=27000 +y_0=25000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Jackson (ftUS)
-<8162> +proj=tmerc +lat_0=44.25333512777778 +lon_0=-90.84429651944444 +k=1.0000353 +x_0=27000 +y_0=24999.99989839979 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Iron (m)
-<8163> +proj=tmerc +lat_0=45.43333333333333 +lon_0=-90.25555555555556 +k=1.0000677153 +x_0=220980.4419 +y_0=0.008500000000000001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Iron (ftUS)
-<8164> +proj=tmerc +lat_0=45.43333333333333 +lon_0=-90.25555555555556 +k=1.0000677153 +x_0=220980.4419608839 +y_0=0.008534417068834137 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Iowa (m)
-<8165> +proj=tmerc +lat_0=42.53888888888888 +lon_0=-90.16111111111111 +k=1.0000394961 +x_0=113081.0261 +y_0=0.0045 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Iowa (ftUS)
-<8166> +proj=tmerc +lat_0=42.53888888888888 +lon_0=-90.16111111111111 +k=1.0000394961 +x_0=113081.0261620523 +y_0=0.004572009144018288 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Green Lake and Marquette (m)
-<8167> +proj=lcc +lat_1=43.80700011777778 +lat_0=43.80700011777778 +lon_0=-89.24166666666667 +k_0=1.0000344057 +x_0=150876.3018 +y_0=79170.7795 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Green Lake and Marquette (ftUS)
-<8168> +proj=lcc +lat_1=43.80700011777778 +lat_0=43.80700011777778 +lon_0=-89.24166666666667 +k_0=1.0000344057 +x_0=150876.3017526035 +y_0=79170.77937515875 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Green and Lafayette (m)
-<8169> +proj=lcc +lat_1=42.63756227694444 +lat_0=42.63756227694444 +lon_0=-89.83888888888889 +k_0=1.0000390487 +x_0=170078.7403 +y_0=45830.2947 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Green and Lafayette (ftUS)
-<8170> +proj=lcc +lat_1=42.63756227694444 +lat_0=42.63756227694444 +lon_0=-89.83888888888889 +k_0=1.0000390487 +x_0=170078.7401574803 +y_0=45830.29484378968 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Grant (m)
-<8171> +proj=tmerc +lat_0=41.41111111111111 +lon_0=-90.8 +k=1.0000349452 +x_0=242316.4841 +y_0=0.01 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Grant (ftUS)
-<8172> +proj=tmerc +lat_0=41.41111111111111 +lon_0=-90.8 +k=1.0000349452 +x_0=242316.484023368 +y_0=0.01005842011684023 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Forest (m)
-<8173> +proj=tmerc +lat_0=44.00555555555555 +lon_0=-88.63333333333334 +k=1.0000673004 +x_0=275844.5533 +y_0=0.0157 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Forest (ftUS)
-<8177> +proj=tmerc +lat_0=44.00555555555555 +lon_0=-88.63333333333334 +k=1.0000673004 +x_0=275844.5532131065 +y_0=0.0158496316992634 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Dunn (m)
-<8179> +proj=tmerc +lat_0=44.40833333333333 +lon_0=-91.89444444444445 +k=1.0000410324 +x_0=51816.104 +y_0=0.003 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Dunn (ftUS)
-<8180> +proj=tmerc +lat_0=44.40833333333333 +lon_0=-91.89444444444445 +k=1.0000410324 +x_0=51816.10393700787 +y_0=0.003048006096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Douglas (m)
-<8181> +proj=tmerc +lat_0=45.88333333333333 +lon_0=-91.91666666666667 +k=1.0000385418 +x_0=59131.3183 +y_0=0.0041 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Douglas (ftUS)
-<8182> +proj=tmerc +lat_0=45.88333333333333 +lon_0=-91.91666666666667 +k=1.0000385418 +x_0=59131.31826263652 +y_0=0.003962407924815849 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Door (m)
-<8184> +proj=tmerc +lat_0=44.4 +lon_0=-87.27222222222223 +k=1.0000187521 +x_0=158801.1176 +y_0=0.0023 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Door (ftUS)
-<8185> +proj=tmerc +lat_0=44.4 +lon_0=-87.27222222222223 +k=1.0000187521 +x_0=158801.1176022352 +y_0=0.002438404876809754 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Dodge and Jefferson (m)
-<8187> +proj=tmerc +lat_0=41.47222222222222 +lon_0=-88.77500000000001 +k=1.0000346418 +x_0=263347.7263 +y_0=0.0076 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Dodge and Jefferson (ftUS)
-<8189> +proj=tmerc +lat_0=41.47222222222222 +lon_0=-88.77500000000001 +k=1.0000346418 +x_0=263347.7263906528 +y_0=0.00762001524003048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Dane (m)
-<8191> +proj=lcc +lat_1=43.0695160375 +lat_0=43.0695160375 +lon_0=-89.42222222222223 +k_0=1.0000384786 +x_0=247193.2944 +y_0=146591.9896 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Dane (ftUS)
-<8193> +proj=lcc +lat_1=43.0695160375 +lat_0=43.0695160375 +lon_0=-89.42222222222223 +k_0=1.0000384786 +x_0=247193.2943865888 +y_0=146591.9896367793 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Crawford (m)
-<8196> +proj=lcc +lat_1=43.200055605 +lat_0=43.200055605 +lon_0=-90.9388888888889 +k_0=1.0000349151 +x_0=113690.6274 +y_0=53703.1201 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Crawford (ftUS)
-<8197> +proj=lcc +lat_1=43.200055605 +lat_0=43.200055605 +lon_0=-90.9388888888889 +k_0=1.0000349151 +x_0=113690.6273812548 +y_0=53703.12024384048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Columbia (m)
-<8198> +proj=lcc +lat_1=43.46254664583333 +lat_0=43.46254664583333 +lon_0=-89.39444444444445 +k_0=1.00003498 +x_0=169164.3381 +y_0=111569.6134 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Columbia (ftUS)
-<8200> +proj=lcc +lat_1=43.46254664583333 +lat_0=43.46254664583333 +lon_0=-89.39444444444445 +k_0=1.00003498 +x_0=169164.338023876 +y_0=111569.613512827 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Clark (m)
-<8201> +proj=tmerc +lat_0=43.6 +lon_0=-90.70833333333334 +k=1.0000463003 +x_0=199949.1989 +y_0=0.0086 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Clark (ftUS)
-<8202> +proj=tmerc +lat_0=43.6 +lon_0=-90.70833333333334 +k=1.0000463003 +x_0=199949.198983998 +y_0=0.008534417068834137 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Chippewa (m)
-<8203> +proj=lcc +lat_1=44.97785689861112 +lat_0=44.97785689861112 +lon_0=-91.29444444444444 +k_0=1.0000391127 +x_0=60045.72 +y_0=44091.4346 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Chippewa (ftUS)
-<8204> +proj=lcc +lat_1=44.97785689861112 +lat_0=44.97785689861112 +lon_0=-91.29444444444444 +k_0=1.0000391127 +x_0=60045.72009144018 +y_0=44091.43449326898 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Calumet, Fond du Lac, Outagamie and Winnebago (m)
-<8205> +proj=tmerc +lat_0=42.71944444444445 +lon_0=-88.5 +k=1.0000286569 +x_0=244754.8893 +y_0=0.0049 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Calumet, Fond du Lac, Outagamie and Winnebago (ftUS)
-<8206> +proj=tmerc +lat_0=42.71944444444445 +lon_0=-88.5 +k=1.0000286569 +x_0=244754.8892049784 +y_0=0.004876809753619507 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Burnett (m)
-<8207> +proj=lcc +lat_1=45.89871486583333 +lat_0=45.89871486583333 +lon_0=-92.45777777777778 +k_0=1.0000383841 +x_0=64008.1276 +y_0=59445.9043 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Burnett (ftUS)
-<8208> +proj=lcc +lat_1=45.89871486583333 +lat_0=45.89871486583333 +lon_0=-92.45777777777778 +k_0=1.0000383841 +x_0=64008.12771145543 +y_0=59445.90419100838 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Buffalo (m)
-<8209> +proj=tmerc +lat_0=43.48138888888889 +lon_0=-91.79722222222222 +k=1.0000382778 +x_0=175260.3502 +y_0=0.0048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Buffalo (ftUS)
-<8210> +proj=tmerc +lat_0=43.48138888888889 +lon_0=-91.79722222222222 +k=1.0000382778 +x_0=175260.3502159004 +y_0=0.004876809753619507 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Brown (m)
-<8212> +proj=tmerc +lat_0=43 +lon_0=-88 +k=1.00002 +x_0=31600 +y_0=4600 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Brown (ftUS)
-<8213> +proj=tmerc +lat_0=43 +lon_0=-88 +k=1.00002 +x_0=31599.99989839979 +y_0=4599.999898399797 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Bayfield (m)
-<8214> +proj=lcc +lat_1=46.66964837722222 +lat_0=46.66964837722222 +lon_0=-91.15277777777779 +k_0=1.0000331195 +x_0=228600.4575 +y_0=148551.4837 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Bayfield (ftUS)
-<8216> +proj=lcc +lat_1=46.66964837722222 +lat_0=46.66964837722222 +lon_0=-91.15277777777779 +k_0=1.0000331195 +x_0=228600.4575057151 +y_0=148551.4835661671 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Barron (m)
-<8218> +proj=tmerc +lat_0=45.13333333333333 +lon_0=-91.84999999999999 +k=1.0000486665 +x_0=93150 +y_0=0.0029 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Barron (ftUS)
-<8220> +proj=tmerc +lat_0=45.13333333333333 +lon_0=-91.84999999999999 +k=1.0000486665 +x_0=93150 +y_0=0.003048006096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Ashland (m)
-<8222> +proj=tmerc +lat_0=45.70611111111111 +lon_0=-90.62222222222222 +k=1.0000495683 +x_0=172821.9461 +y_0=0.0017 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Ashland (ftUS)
-<8224> +proj=tmerc +lat_0=45.70611111111111 +lon_0=-90.62222222222222 +k=1.0000495683 +x_0=172821.945948692 +y_0=0.001828803657607315 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(HARN) / WISCRS Adams and Juneau (m)
-<8225> +proj=tmerc +lat_0=43.36666666666667 +lon_0=-90 +k=1.0000365285 +x_0=147218.6942 +y_0=0.0037 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83(HARN) / WISCRS Adams and Juneau (ftUS)
-<8226> +proj=tmerc +lat_0=43.36666666666667 +lon_0=-90 +k=1.0000365285 +x_0=147218.6941325883 +y_0=0.00365760731521463 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=us-ft +no_defs <>
-# NAD83(2011) / Oregon Burns-Harper zone (m)
-<8311> +proj=tmerc +lat_0=43.5 +lon_0=-117.6666666666667 +k=1.00014 +x_0=90000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Burns-Harper zone (ft)
-<8312> +proj=tmerc +lat_0=43.5 +lon_0=-117.6666666666667 +k=1.00014 +x_0=90000.00001488 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Canyon City-Burns zone (m)
-<8313> +proj=tmerc +lat_0=43.5 +lon_0=-119 +k=1.00022 +x_0=20000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Canyon City-Burns zone (ft)
-<8314> +proj=tmerc +lat_0=43.5 +lon_0=-119 +k=1.00022 +x_0=19999.99999992 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Coast Range North zone (m)
-<8315> +proj=lcc +lat_1=45.58333333333334 +lat_0=45.58333333333334 +lon_0=-123.4166666666667 +k_0=1.000045 +x_0=30000 +y_0=20000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Coast Range North zone (ft)
-<8316> +proj=lcc +lat_1=45.58333333333334 +lat_0=45.58333333333334 +lon_0=-123.4166666666667 +k_0=1.000045 +x_0=30000.00001512 +y_0=19999.99999992 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Dayville-Prairie City zone (m)
-<8317> +proj=tmerc +lat_0=44.25 +lon_0=-119.6333333333333 +k=1.00012 +x_0=20000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Dayville-Prairie City zone (ft)
-<8318> +proj=tmerc +lat_0=44.25 +lon_0=-119.6333333333333 +k=1.00012 +x_0=19999.99999992 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Denio-Burns zone (m)
-<8319> +proj=tmerc +lat_0=41.75 +lon_0=-118.4166666666667 +k=1.00019 +x_0=80000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Denio-Burns zone (ft)
-<8320> +proj=tmerc +lat_0=41.75 +lon_0=-118.4166666666667 +k=1.00019 +x_0=79999.99999968 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Halfway zone (m)
-<8321> +proj=lcc +lat_1=45.25 +lat_0=45.25 +lon_0=-117.25 +k_0=1.000085 +x_0=40000 +y_0=70000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Halfway zone (ft)
-<8322> +proj=lcc +lat_1=45.25 +lat_0=45.25 +lon_0=-117.25 +k_0=1.000085 +x_0=39999.99999984 +y_0=70000.00001495999 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Medford-Diamond Lake zone (m)
-<8323> +proj=lcc +lat_1=42 +lat_0=42 +lon_0=-122.25 +k_0=1.00004 +x_0=60000 +y_0=-60000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Medford-Diamond Lake zone (ft)
-<8324> +proj=lcc +lat_1=42 +lat_0=42 +lon_0=-122.25 +k_0=1.00004 +x_0=59999.99999976 +y_0=-59999.99999976 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Mitchell zone (m)
-<8325> +proj=lcc +lat_1=47 +lat_0=47 +lon_0=-120.25 +k_0=0.99927 +x_0=30000 +y_0=290000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Mitchell zone (ft)
-<8326> +proj=lcc +lat_1=47 +lat_0=47 +lon_0=-120.25 +k_0=0.99927 +x_0=30000.00001512 +y_0=290000.00001408 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon North Central zone (m)
-<8327> +proj=lcc +lat_1=46.16666666666666 +lat_0=46.16666666666666 +lon_0=-120.5 +k_0=1 +x_0=100000 +y_0=140000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon North Central zone (ft)
-<8328> +proj=lcc +lat_1=46.16666666666666 +lat_0=46.16666666666666 +lon_0=-120.5 +k_0=1 +x_0=99999.99999960001 +y_0=139999.99999944 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Ochoco Summit zone (m)
-<8329> +proj=lcc +lat_1=43.5 +lat_0=43.5 +lon_0=-120.5 +k_0=1.00006 +x_0=40000 +y_0=-80000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Ochoco Summit zone (ft)
-<8330> +proj=lcc +lat_1=43.5 +lat_0=43.5 +lon_0=-120.5 +k_0=1.00006 +x_0=39999.99999984 +y_0=-79999.99999968 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Owyhee zone (m)
-<8331> +proj=tmerc +lat_0=41.75 +lon_0=-117.5833333333333 +k=1.00018 +x_0=70000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Owyhee zone (ft)
-<8332> +proj=tmerc +lat_0=41.75 +lon_0=-117.5833333333333 +k=1.00018 +x_0=70000.00001495999 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Pilot Rock-Ukiah zone (m)
-<8333> +proj=lcc +lat_1=46.16666666666666 +lat_0=46.16666666666666 +lon_0=-119 +k_0=1.000025 +x_0=50000 +y_0=130000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Pilot Rock-Ukiah zone (ft)
-<8334> +proj=lcc +lat_1=46.16666666666666 +lat_0=46.16666666666666 +lon_0=-119 +k_0=1.000025 +x_0=50000.00001504 +y_0=130000.00001472 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Prairie City-Brogan zone (m)
-<8335> +proj=lcc +lat_1=44 +lat_0=44 +lon_0=-118 +k_0=1.00017 +x_0=60000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Prairie City-Brogan zone (ft)
-<8336> +proj=lcc +lat_1=44 +lat_0=44 +lon_0=-118 +k_0=1.00017 +x_0=59999.99999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Riley-Lakeview zone (m)
-<8337> +proj=tmerc +lat_0=41.75 +lon_0=-120.3333333333333 +k=1.000215 +x_0=70000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Riley-Lakeview zone (ft)
-<8338> +proj=tmerc +lat_0=41.75 +lon_0=-120.3333333333333 +k=1.000215 +x_0=70000.00001495999 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Siskiyou Pass zone (m)
-<8339> +proj=lcc +lat_1=42.5 +lat_0=42.5 +lon_0=-122.5833333333333 +k_0=1.00015 +x_0=10000 +y_0=60000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Siskiyou Pass zone (ft)
-<8340> +proj=lcc +lat_1=42.5 +lat_0=42.5 +lon_0=-122.5833333333333 +k_0=1.00015 +x_0=10000.0000152 +y_0=59999.99999976 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Ukiah-Fox zone (m)
-<8341> +proj=lcc +lat_1=45.25 +lat_0=45.25 +lon_0=-119 +k_0=1.00014 +x_0=30000 +y_0=90000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Ukiah-Fox zone (ft)
-<8342> +proj=lcc +lat_1=45.25 +lat_0=45.25 +lon_0=-119 +k_0=1.00014 +x_0=30000.00001512 +y_0=90000.00001488 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Wallowa zone (m)
-<8343> +proj=tmerc +lat_0=45.25 +lon_0=-117.5 +k=1.000195 +x_0=60000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Wallowa zone (ft)
-<8344> +proj=tmerc +lat_0=45.25 +lon_0=-117.5 +k=1.000195 +x_0=59999.99999976 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Warner Highway zone (m)
-<8345> +proj=lcc +lat_1=42.5 +lat_0=42.5 +lon_0=-120 +k_0=1.000245 +x_0=40000 +y_0=60000 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Warner Highway zone (ft)
-<8346> +proj=lcc +lat_1=42.5 +lat_0=42.5 +lon_0=-120 +k_0=1.000245 +x_0=39999.99999984 +y_0=59999.99999976 +ellps=GRS80 +units=ft +no_defs <>
-# NAD83(2011) / Oregon Willamette Pass zone (m)
-<8347> +proj=tmerc +lat_0=43 +lon_0=-122 +k=1.000223 +x_0=20000 +y_0=0 +ellps=GRS80 +units=m +no_defs <>
-# NAD83(2011) / Oregon Willamette Pass zone (ft)
-<8348> +proj=tmerc +lat_0=43 +lon_0=-122 +k=1.000223 +x_0=19999.99999992 +y_0=0 +ellps=GRS80 +units=ft +no_defs <>
-# 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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +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.47,-130.89,-81.56,0,0,0.13,-0.22 +units=m +no_defs <>
-# Adindan / UTM zone 35N
-<20135> +proj=utm +zone=35 +ellps=clrk80 +towgs84=-166,-15,204,0,0,0,0 +units=m +no_defs <>
-# Adindan / UTM zone 36N
-<20136> +proj=utm +zone=36 +ellps=clrk80 +towgs84=-166,-15,204,0,0,0,0 +units=m +no_defs <>
-# Adindan / UTM zone 37N
-<20137> +proj=utm +zone=37 +ellps=clrk80 +towgs84=-166,-15,204,0,0,0,0 +units=m +no_defs <>
-# Adindan / UTM zone 38N
-<20138> +proj=utm +zone=38 +ellps=clrk80 +towgs84=-166,-15,204,0,0,0,0 +units=m +no_defs <>
-# AGD66 / AMG zone 48 (deprecated)
-<20248> +proj=utm +zone=48 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 49
-<20249> +proj=utm +zone=49 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 50
-<20250> +proj=utm +zone=50 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 51
-<20251> +proj=utm +zone=51 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 52
-<20252> +proj=utm +zone=52 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 53
-<20253> +proj=utm +zone=53 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 54
-<20254> +proj=utm +zone=54 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 55
-<20255> +proj=utm +zone=55 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 56
-<20256> +proj=utm +zone=56 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 57
-<20257> +proj=utm +zone=57 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD66 / AMG zone 58
-<20258> +proj=utm +zone=58 +south +ellps=aust_SA +towgs84=-117.808,-51.536,137.784,0.303,0.446,0.234,-0.29 +units=m +no_defs <>
-# AGD84 / AMG zone 48 (deprecated)
-<20348> +proj=utm +zone=48 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 49
-<20349> +proj=utm +zone=49 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 50
-<20350> +proj=utm +zone=50 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 51
-<20351> +proj=utm +zone=51 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 52
-<20352> +proj=utm +zone=52 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 53
-<20353> +proj=utm +zone=53 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 54
-<20354> +proj=utm +zone=54 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 55
-<20355> +proj=utm +zone=55 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 56
-<20356> +proj=utm +zone=56 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 57 (deprecated)
-<20357> +proj=utm +zone=57 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# AGD84 / AMG zone 58 (deprecated)
-<20358> +proj=utm +zone=58 +south +ellps=aust_SA +towgs84=-134,-48,149,0,0,0,0 +units=m +no_defs <>
-# Ain el Abd / UTM zone 36N
-<20436> +proj=utm +zone=36 +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +units=m +no_defs <>
-# Ain el Abd / UTM zone 37N
-<20437> +proj=utm +zone=37 +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +units=m +no_defs <>
-# Ain el Abd / UTM zone 38N
-<20438> +proj=utm +zone=38 +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +units=m +no_defs <>
-# Ain el Abd / UTM zone 39N
-<20439> +proj=utm +zone=39 +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +units=m +no_defs <>
-# Ain el Abd / UTM zone 40N
-<20440> +proj=utm +zone=40 +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +units=m +no_defs <>
-# Ain el Abd / Bahrain Grid
-<20499> +proj=utm +zone=39 +ellps=intl +towgs84=-143,-236,7,0,0,0,0 +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 +towgs84=-304.046,-60.576,103.64,0,0,0,0 +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 +towgs84=-304.046,-60.576,103.64,0,0,0,0 +pm=lisbon +units=m +no_defs <>
-# Aratu / UTM zone 22S
-<20822> +proj=utm +zone=22 +south +ellps=intl +towgs84=-151.99,287.04,-147.45,0,0,0,0 +units=m +no_defs <>
-# Aratu / UTM zone 23S
-<20823> +proj=utm +zone=23 +south +ellps=intl +towgs84=-151.99,287.04,-147.45,0,0,0,0 +units=m +no_defs <>
-# Aratu / UTM zone 24S
-<20824> +proj=utm +zone=24 +south +ellps=intl +towgs84=-151.99,287.04,-147.45,0,0,0,0 +units=m +no_defs <>
-# Arc 1950 / UTM zone 34S
-<20934> +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs <>
-# Arc 1950 / UTM zone 35S
-<20935> +proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs <>
-# Arc 1950 / UTM zone 36S
-<20936> +proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-143,-90,-294,0,0,0,0 +units=m +no_defs <>
-# Arc 1960 / UTM zone 35S
-<21035> +proj=utm +zone=35 +south +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,0 +units=m +no_defs <>
-# Arc 1960 / UTM zone 36S
-<21036> +proj=utm +zone=36 +south +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,0 +units=m +no_defs <>
-# Arc 1960 / UTM zone 37S
-<21037> +proj=utm +zone=37 +south +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,0 +units=m +no_defs <>
-# Arc 1960 / UTM zone 35N
-<21095> +proj=utm +zone=35 +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,0 +units=m +no_defs <>
-# Arc 1960 / UTM zone 36N
-<21096> +proj=utm +zone=36 +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,0 +units=m +no_defs <>
-# Arc 1960 / UTM zone 37N
-<21097> +proj=utm +zone=37 +ellps=clrk80 +towgs84=-160,-6,-302,0,0,0,0 +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 +towgs84=-377,681,-50,0,0,0,0 +pm=jakarta +units=m +no_defs <>
-# Batavia / UTM zone 48S
-<21148> +proj=utm +zone=48 +south +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +units=m +no_defs <>
-# Batavia / UTM zone 49S
-<21149> +proj=utm +zone=49 +south +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +units=m +no_defs <>
-# Batavia / UTM zone 50S
-<21150> +proj=utm +zone=50 +south +ellps=bessel +towgs84=-377,681,-50,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=15.8,-154.4,-82.3,0,0,0,0 +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 +towgs84=674.374,15.056,405.346,0,0,0,0 +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 +towgs84=-50.9,-347.6,-231,0,0,0,0 +units=m +no_defs <>
-# Camacupa / UTM zone 33S
-<22033> +proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-50.9,-347.6,-231,0,0,0,0 +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 +towgs84=-50.9,-347.6,-231,0,0,0,0 +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 +towgs84=-50.9,-347.6,-231,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=-148,136,90,0,0,0,0 +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 +towgs84=-148,136,90,0,0,0,0 +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 +towgs84=-148,136,90,0,0,0,0 +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 +towgs84=-148,136,90,0,0,0,0 +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 +towgs84=-148,136,90,0,0,0,0 +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 +towgs84=-148,136,90,0,0,0,0 +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 +towgs84=-148,136,90,0,0,0,0 +units=m +no_defs <>
-# Cape / UTM zone 34S
-<22234> +proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / UTM zone 35S
-<22235> +proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / UTM zone 36S (deprecated)
-<22236> +proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo15
-<22275> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo17
-<22277> +proj=tmerc +lat_0=0 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo19
-<22279> +proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo21
-<22281> +proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo23
-<22283> +proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo25
-<22285> +proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo27
-<22287> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo29
-<22289> +proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo31
-<22291> +proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# Cape / Lo33
-<22293> +proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=0 +y_0=0 +axis=wsu +a=6378249.145 +b=6356514.966398753 +towgs84=-136,-108,-292,0,0,0,0 +units=m +no_defs <>
-# 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 +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 +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 +datum=carthage +units=m +no_defs <>
-# Corrego Alegre 1970-72 / UTM zone 21S
-<22521> +proj=utm +zone=21 +south +ellps=intl +towgs84=-205.57,168.77,-4.12,0,0,0,0 +units=m +no_defs <>
-# Corrego Alegre 1970-72 / UTM zone 22S
-<22522> +proj=utm +zone=22 +south +ellps=intl +towgs84=-205.57,168.77,-4.12,0,0,0,0 +units=m +no_defs <>
-# Corrego Alegre 1970-72 / UTM zone 23S
-<22523> +proj=utm +zone=23 +south +ellps=intl +towgs84=-205.57,168.77,-4.12,0,0,0,0 +units=m +no_defs <>
-# Corrego Alegre 1970-72 / UTM zone 24S
-<22524> +proj=utm +zone=24 +south +ellps=intl +towgs84=-205.57,168.77,-4.12,0,0,0,0 +units=m +no_defs <>
-# Corrego Alegre 1970-72 / UTM zone 25S
-<22525> +proj=utm +zone=25 +south +ellps=intl +towgs84=-205.57,168.77,-4.12,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 +towgs84=-190.421,8.532,238.69,0,0,0,0 +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 +towgs84=-190.421,8.532,238.69,0,0,0,0 +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 +towgs84=-190.421,8.532,238.69,0,0,0,0 +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 +towgs84=-130,110,-13,0,0,0,0 +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 +towgs84=-130,110,-13,0,0,0,0 +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 +towgs84=-130,110,-13,0,0,0,0 +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 +towgs84=-130,110,-13,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 28N
-<23028> +proj=utm +zone=28 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 29N
-<23029> +proj=utm +zone=29 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 30N
-<23030> +proj=utm +zone=30 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 31N
-<23031> +proj=utm +zone=31 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 32N
-<23032> +proj=utm +zone=32 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 33N
-<23033> +proj=utm +zone=33 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 34N
-<23034> +proj=utm +zone=34 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 35N
-<23035> +proj=utm +zone=35 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 36N
-<23036> +proj=utm +zone=36 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 37N
-<23037> +proj=utm +zone=37 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# ED50 / UTM zone 38N
-<23038> +proj=utm +zone=38 +ellps=intl +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +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 +towgs84=-87,-98,-121,0,0,0,0 +units=m +no_defs <>
-# Fahud / UTM zone 39N
-<23239> +proj=utm +zone=39 +ellps=clrk80 +towgs84=-333.102,-11.02,230.69,0,0,0.554,0.219 +units=m +no_defs <>
-# Fahud / UTM zone 40N
-<23240> +proj=utm +zone=40 +ellps=clrk80 +towgs84=-333.102,-11.02,230.69,0,0,0.554,0.219 +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 +towgs84=52.17,-71.82,-14.9,0,0,0,0 +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 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 47N
-<23847> +proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 48N
-<23848> +proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 49N
-<23849> +proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 50N
-<23850> +proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 51N
-<23851> +proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 52N
-<23852> +proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 53N (deprecated)
-<23853> +proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +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 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 47S
-<23887> +proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 48S
-<23888> +proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 49S
-<23889> +proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 50S
-<23890> +proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 51S
-<23891> +proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 52S
-<23892> +proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 53S
-<23893> +proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +units=m +no_defs <>
-# ID74 / UTM zone 54S
-<23894> +proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554 +towgs84=-24,-15,5,0,0,0,0 +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 +towgs84=210,814,289,0,0,0,0 +units=m +no_defs <>
-# Indian 1975 / UTM zone 48N
-<24048> +proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=210,814,289,0,0,0,0 +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 +towgs84=70,207,389.5,0,0,0,0 +units=m +no_defs <>
-# Kalianpur 1937 / UTM zone 45N
-<24305> +proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +towgs84=214,804,268,0,0,0,0 +units=m +no_defs <>
-# Kalianpur 1937 / UTM zone 46N
-<24306> +proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +towgs84=214,804,268,0,0,0,0 +units=m +no_defs <>
-# Kalianpur 1962 / UTM zone 41N
-<24311> +proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs <>
-# Kalianpur 1962 / UTM zone 42N
-<24312> +proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +towgs84=283,682,231,0,0,0,0 +units=m +no_defs <>
-# Kalianpur 1962 / UTM zone 43N
-<24313> +proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +towgs84=283,682,231,0,0,0,0 +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 IIIa
-<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 IVa
-<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 +towgs84=214,804,268,0,0,0,0 +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 +towgs84=283,682,231,0,0,0,0 +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 +towgs84=283,682,231,0,0,0,0 +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 IIIa
-<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 IVa
-<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 +no_uoff +gamma=323.1301023611111 +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 +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 18N
-<24818> +proj=utm +zone=18 +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 19N
-<24819> +proj=utm +zone=19 +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 20N
-<24820> +proj=utm +zone=20 +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 21N
-<24821> +proj=utm +zone=21 +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 17S
-<24877> +proj=utm +zone=17 +south +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 18S
-<24878> +proj=utm +zone=18 +south +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 19S
-<24879> +proj=utm +zone=19 +south +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 20S
-<24880> +proj=utm +zone=20 +south +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 21S
-<24881> +proj=utm +zone=21 +south +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +units=m +no_defs <>
-# PSAD56 / UTM zone 22S
-<24882> +proj=utm +zone=22 +south +ellps=intl +towgs84=-288,175,-376,0,0,0,0 +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 +towgs84=-288,175,-376,0,0,0,0 +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 +towgs84=-288,175,-376,0,0,0,0 +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 +towgs84=-288,175,-376,0,0,0,0 +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 +towgs84=-133,-77,-51,0,0,0,0 +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 +towgs84=-133,-77,-51,0,0,0,0 +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 +towgs84=-133,-77,-51,0,0,0,0 +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 +towgs84=-133,-77,-51,0,0,0,0 +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 +towgs84=-133,-77,-51,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 29N
-<25829> +proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 30N
-<25830> +proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 31N
-<25831> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 32N
-<25832> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 33N
-<25833> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 34N
-<25834> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 35N
-<25835> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 36N
-<25836> +proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 37N
-<25837> +proj=utm +zone=37 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# ETRS89 / UTM zone 38N (deprecated)
-<25838> +proj=utm +zone=38 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# Malongo 1987 / UTM zone 32S
-<25932> +proj=utm +zone=32 +south +ellps=intl +towgs84=-254.1,-5.36,-100.29,0,0,0,0 +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 +towgs84=-92,-93,122,0,0,0,0 +units=m +no_defs <>
-# Minna / UTM zone 32N
-<26332> +proj=utm +zone=32 +ellps=clrk80 +towgs84=-92,-93,122,0,0,0,0 +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 +towgs84=-92,-93,122,0,0,0,0 +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 +towgs84=-92,-93,122,0,0,0,0 +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 +towgs84=-92,-93,122,0,0,0,0 +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 +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +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 +towgs84=-104.1,-49.1,-9.9,0.971,-2.917,0.714,-11.68 +pm=rome +units=m +no_defs <>
-# M'poraloko / UTM zone 32N
-<26632> +proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-74,-130,42,0,0,0,0 +units=m +no_defs <>
-# M'poraloko / UTM zone 32S
-<26692> +proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +towgs84=-74,-130,42,0,0,0,0 +units=m +no_defs <>
-# NAD27 / UTM zone 1N
-<26701> +proj=utm +zone=1 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 2N
-<26702> +proj=utm +zone=2 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 3N
-<26703> +proj=utm +zone=3 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 4N
-<26704> +proj=utm +zone=4 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 5N
-<26705> +proj=utm +zone=5 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 6N
-<26706> +proj=utm +zone=6 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 7N
-<26707> +proj=utm +zone=7 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 8N
-<26708> +proj=utm +zone=8 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 9N
-<26709> +proj=utm +zone=9 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 10N
-<26710> +proj=utm +zone=10 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 11N
-<26711> +proj=utm +zone=11 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 12N
-<26712> +proj=utm +zone=12 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 13N
-<26713> +proj=utm +zone=13 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 14N
-<26714> +proj=utm +zone=14 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 15N
-<26715> +proj=utm +zone=15 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 16N
-<26716> +proj=utm +zone=16 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 17N
-<26717> +proj=utm +zone=17 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 18N
-<26718> +proj=utm +zone=18 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 19N
-<26719> +proj=utm +zone=19 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 20N
-<26720> +proj=utm +zone=20 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 21N
-<26721> +proj=utm +zone=21 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / UTM zone 22N
-<26722> +proj=utm +zone=22 +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 +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 +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 +no_uoff +gamma=323.1301023611111 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD Michigan / Michigan East (deprecated)
-<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 (deprecated)
-<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 (deprecated)
-<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 (deprecated)
-<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 (deprecated)
-<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 (deprecated)
-<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 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +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 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs <>
-# NAD83 / UTM zone 1N
-<26901> +proj=utm +zone=1 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 2N
-<26902> +proj=utm +zone=2 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 3N
-<26903> +proj=utm +zone=3 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 4N
-<26904> +proj=utm +zone=4 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 5N
-<26905> +proj=utm +zone=5 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 6N
-<26906> +proj=utm +zone=6 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 7N
-<26907> +proj=utm +zone=7 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 8N
-<26908> +proj=utm +zone=8 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 9N
-<26909> +proj=utm +zone=9 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 10N
-<26910> +proj=utm +zone=10 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 11N
-<26911> +proj=utm +zone=11 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 12N
-<26912> +proj=utm +zone=12 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 13N
-<26913> +proj=utm +zone=13 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 14N
-<26914> +proj=utm +zone=14 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 15N
-<26915> +proj=utm +zone=15 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 16N
-<26916> +proj=utm +zone=16 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 17N
-<26917> +proj=utm +zone=17 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 18N
-<26918> +proj=utm +zone=18 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 19N
-<26919> +proj=utm +zone=19 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 20N
-<26920> +proj=utm +zone=20 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 21N
-<26921> +proj=utm +zone=21 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 22N
-<26922> +proj=utm +zone=22 +datum=NAD83 +units=m +no_defs <>
-# NAD83 / UTM zone 23N
-<26923> +proj=utm +zone=23 +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 +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 +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 +no_uoff +gamma=323.1301023611111 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=NAD83 +units=m +no_defs <>
-# Nahrwan 1967 / UTM zone 37N (deprecated)
-<27037> +proj=utm +zone=37 +ellps=clrk80 +towgs84=-249,-156,381,0,0,0,0 +units=m +no_defs <>
-# Nahrwan 1967 / UTM zone 38N (deprecated)
-<27038> +proj=utm +zone=38 +ellps=clrk80 +towgs84=-249,-156,381,0,0,0,0 +units=m +no_defs <>
-# Nahrwan 1967 / UTM zone 39N
-<27039> +proj=utm +zone=39 +ellps=clrk80 +towgs84=-249,-156,381,0,0,0,0 +units=m +no_defs <>
-# Nahrwan 1967 / UTM zone 40N
-<27040> +proj=utm +zone=40 +ellps=clrk80 +towgs84=-249,-156,381,0,0,0,0 +units=m +no_defs <>
-# Naparima 1972 / UTM zone 20N
-<27120> +proj=utm +zone=20 +ellps=intl +towgs84=-10,375,165,0,0,0,0 +units=m +no_defs <>
-# NZGD49 / New Zealand Map Grid
-<27200> +proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=nzgd49 +units=m +no_defs <>
-# NZGD49 / UTM zone 58S
-<27258> +proj=utm +zone=58 +south +datum=nzgd49 +units=m +no_defs <>
-# NZGD49 / UTM zone 59S
-<27259> +proj=utm +zone=59 +south +datum=nzgd49 +units=m +no_defs <>
-# NZGD49 / UTM zone 60S
-<27260> +proj=utm +zone=60 +south +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 +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 +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 +towgs84=-223.237,110.193,36.649,0,0,0,0 +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 +towgs84=-223.237,110.193,36.649,0,0,0,0 +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 +towgs84=-223.237,110.193,36.649,0,0,0,0 +units=m +no_defs <>
-# ATF (Paris) / Nord de Guerre
-<27500> +proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=5.399999999999999 +k_0=0.99950908 +x_0=500000 +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=2.337208333333333 +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 +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.7224,94.7824,340.8944,-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.7224,94.7824,340.8944,-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.7224,94.7824,340.8944,-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 +towgs84=-148,51,-291,0,0,0,0 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=23.92,-141.27,-80.9,0,0.35,0.82,-0.12 +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 +towgs84=-128.16,-282.42,21.93,0,0,0,0 +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 +towgs84=565.2369,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812 +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 +towgs84=565.2369,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812 +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 +towgs84=-57,1,-41,0,0,0,0 +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 +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 18N (deprecated)
-<29118> +proj=utm +zone=18 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 19N (deprecated)
-<29119> +proj=utm +zone=19 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 20N (deprecated)
-<29120> +proj=utm +zone=20 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 21N (deprecated)
-<29121> +proj=utm +zone=21 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 22N (deprecated)
-<29122> +proj=utm +zone=22 +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 18N
-<29168> +proj=utm +zone=18 +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 19N
-<29169> +proj=utm +zone=19 +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 20N
-<29170> +proj=utm +zone=20 +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 21N
-<29171> +proj=utm +zone=21 +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 22N
-<29172> +proj=utm +zone=22 +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 17S (deprecated)
-<29177> +proj=utm +zone=17 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 18S (deprecated)
-<29178> +proj=utm +zone=18 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 19S (deprecated)
-<29179> +proj=utm +zone=19 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 20S (deprecated)
-<29180> +proj=utm +zone=20 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 21S (deprecated)
-<29181> +proj=utm +zone=21 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 22S (deprecated)
-<29182> +proj=utm +zone=22 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 23S (deprecated)
-<29183> +proj=utm +zone=23 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 24S (deprecated)
-<29184> +proj=utm +zone=24 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 25S (deprecated)
-<29185> +proj=utm +zone=25 +south +ellps=GRS67 +towgs84=-57,1,-41,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 17S
-<29187> +proj=utm +zone=17 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 18S
-<29188> +proj=utm +zone=18 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 19S
-<29189> +proj=utm +zone=19 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 20S
-<29190> +proj=utm +zone=20 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 21S
-<29191> +proj=utm +zone=21 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 22S
-<29192> +proj=utm +zone=22 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 23S
-<29193> +proj=utm +zone=23 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 24S
-<29194> +proj=utm +zone=24 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +units=m +no_defs <>
-# SAD69 / UTM zone 25S
-<29195> +proj=utm +zone=25 +south +ellps=aust_SA +towgs84=-66.87,4.37,-38.52,0,0,0,0 +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 +towgs84=616,97,-251,0,0,0,0 +units=m +no_defs <>
-# Schwarzeck / Lo22/11
-<29371> +proj=tmerc +lat_0=-22 +lon_0=11 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# Schwarzeck / Lo22/13
-<29373> +proj=tmerc +lat_0=-22 +lon_0=13 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# Schwarzeck / Lo22/15
-<29375> +proj=tmerc +lat_0=-22 +lon_0=15 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# Schwarzeck / Lo22/17
-<29377> +proj=tmerc +lat_0=-22 +lon_0=17 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# Schwarzeck / Lo22/19
-<29379> +proj=tmerc +lat_0=-22 +lon_0=19 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# Schwarzeck / Lo22/21
-<29381> +proj=tmerc +lat_0=-22 +lon_0=21 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# Schwarzeck / Lo22/23
-<29383> +proj=tmerc +lat_0=-22 +lon_0=23 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# Schwarzeck / Lo22/25
-<29385> +proj=tmerc +lat_0=-22 +lon_0=25 +k=1 +x_0=0 +y_0=0 +axis=wsu +ellps=bess_nam +towgs84=616,97,-251,0,0,0,0 +to_meter=1.0000135965 +no_defs <>
-# 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 +gamma=18.9 +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 +gamma=18.9 +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 +towgs84=-679,669,-48,0,0,0,0 +units=m +no_defs <>
-# Timbalai 1948 / UTM zone 50N
-<29850> +proj=utm +zone=50 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +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 +gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +to_meter=20.11676512155263 +no_defs <>
-# Timbalai 1948 / RSO Borneo (ftSe)
-<29872> +proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +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 +gamma=53.13010236111111 +ellps=evrstSS +towgs84=-679,669,-48,0,0,0,0 +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 +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 +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 +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-146.414,507.337,680.507,0,0,0,0 +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 +towgs84=-61.702,284.488,472.052,0,0,0,0 +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 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_defs <>
-# Nord Sahara 1959 / UTM zone 30N
-<30730> +proj=utm +zone=30 +ellps=clrk80 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_defs <>
-# Nord Sahara 1959 / UTM zone 31N
-<30731> +proj=utm +zone=31 +ellps=clrk80 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_defs <>
-# Nord Sahara 1959 / UTM zone 32N
-<30732> +proj=utm +zone=32 +ellps=clrk80 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_defs <>
-# Nord Sahara 1959 / Nord Algerie
-<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 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +units=m +no_defs <>
-# Nord Sahara 1959 / Sud Algerie
-<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 +towgs84=-209.3622,-87.8162,404.6198,0.0046,3.4784,0.5805,-1.4547 +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 +towgs84=-30,190,89,0,0,0,0 +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 +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +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 +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +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 +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +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 +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 +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 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +towgs84=682,-203,480,0,0,0,0 +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 +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 +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 +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 +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.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747 +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.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +towgs84=103.25,-100.4,-307.19,0,0,0,0 +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 +towgs84=28,-121,-77,0,0,0,0 +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 +towgs84=-20.8,11.3,2.4,0,0,0,0 +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 +towgs84=-20.8,11.3,2.4,0,0,0,0 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / New York Long Island (deprecated)
-<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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / Pennsylvania South (deprecated)
-<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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=NAD27 +units=us-ft +no_defs <>
-# NAD27 / Guatemala Norte (deprecated)
-<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 +datum=NAD27 +units=m +no_defs <>
-# NAD27 / Guatemala Sur (deprecated)
-<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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=NAD83 +units=us-ft +no_defs <>
-# NAD83 / SCoPQ zone 2 (deprecated)
-<32180> +proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +datum=NAD83 +units=m +no_defs <>
-# WGS 72 / UTM zone 1N
-<32201> +proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 2N
-<32202> +proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 3N
-<32203> +proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 4N
-<32204> +proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 5N
-<32205> +proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 6N
-<32206> +proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 7N
-<32207> +proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 8N
-<32208> +proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 9N
-<32209> +proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 10N
-<32210> +proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 11N
-<32211> +proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 12N
-<32212> +proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 13N
-<32213> +proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 14N
-<32214> +proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 15N
-<32215> +proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 16N
-<32216> +proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 17N
-<32217> +proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 18N
-<32218> +proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 19N
-<32219> +proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 20N
-<32220> +proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 21N
-<32221> +proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 22N
-<32222> +proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 23N
-<32223> +proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 24N
-<32224> +proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 25N
-<32225> +proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 26N
-<32226> +proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 27N
-<32227> +proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 28N
-<32228> +proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 29N
-<32229> +proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 30N
-<32230> +proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 31N
-<32231> +proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 32N
-<32232> +proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 33N
-<32233> +proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 34N
-<32234> +proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 35N
-<32235> +proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 36N
-<32236> +proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 37N
-<32237> +proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 38N
-<32238> +proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 39N
-<32239> +proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 40N
-<32240> +proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 41N
-<32241> +proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 42N
-<32242> +proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 43N
-<32243> +proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 44N
-<32244> +proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 45N
-<32245> +proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 46N
-<32246> +proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 47N
-<32247> +proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 48N
-<32248> +proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 49N
-<32249> +proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 50N
-<32250> +proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 51N
-<32251> +proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 52N
-<32252> +proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 53N
-<32253> +proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 54N
-<32254> +proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 55N
-<32255> +proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 56N
-<32256> +proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 57N
-<32257> +proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 58N
-<32258> +proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 59N
-<32259> +proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 60N
-<32260> +proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 1S
-<32301> +proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 2S
-<32302> +proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 3S
-<32303> +proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 4S
-<32304> +proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 5S
-<32305> +proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 6S
-<32306> +proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 7S
-<32307> +proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 8S
-<32308> +proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 9S
-<32309> +proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 10S
-<32310> +proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 11S
-<32311> +proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 12S
-<32312> +proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 13S
-<32313> +proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 14S
-<32314> +proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 15S
-<32315> +proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 16S
-<32316> +proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 17S
-<32317> +proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 18S
-<32318> +proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 19S
-<32319> +proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 20S
-<32320> +proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 21S
-<32321> +proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 22S
-<32322> +proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 23S
-<32323> +proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 24S
-<32324> +proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 25S
-<32325> +proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 26S
-<32326> +proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 27S
-<32327> +proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 28S
-<32328> +proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 29S
-<32329> +proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 30S
-<32330> +proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 31S
-<32331> +proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 32S
-<32332> +proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 33S
-<32333> +proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 34S
-<32334> +proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 35S
-<32335> +proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 36S
-<32336> +proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 37S
-<32337> +proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 38S
-<32338> +proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 39S
-<32339> +proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 40S
-<32340> +proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 41S
-<32341> +proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 42S
-<32342> +proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 43S
-<32343> +proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 44S
-<32344> +proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 45S
-<32345> +proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 46S
-<32346> +proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 47S
-<32347> +proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 48S
-<32348> +proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 49S
-<32349> +proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 50S
-<32350> +proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 51S
-<32351> +proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 52S
-<32352> +proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 53S
-<32353> +proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 54S
-<32354> +proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 55S
-<32355> +proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 56S
-<32356> +proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 57S
-<32357> +proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 58S
-<32358> +proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 59S
-<32359> +proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +units=m +no_defs <>
-# WGS 72 / UTM zone 60S
-<32360> +proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,4.5,0,0,0.554,0.2263 +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 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 2N
-<32602> +proj=utm +zone=2 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 3N
-<32603> +proj=utm +zone=3 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 4N
-<32604> +proj=utm +zone=4 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 5N
-<32605> +proj=utm +zone=5 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 6N
-<32606> +proj=utm +zone=6 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 7N
-<32607> +proj=utm +zone=7 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 8N
-<32608> +proj=utm +zone=8 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 9N
-<32609> +proj=utm +zone=9 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 10N
-<32610> +proj=utm +zone=10 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 11N
-<32611> +proj=utm +zone=11 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 12N
-<32612> +proj=utm +zone=12 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 13N
-<32613> +proj=utm +zone=13 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 14N
-<32614> +proj=utm +zone=14 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 15N
-<32615> +proj=utm +zone=15 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 16N
-<32616> +proj=utm +zone=16 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 17N
-<32617> +proj=utm +zone=17 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 18N
-<32618> +proj=utm +zone=18 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 19N
-<32619> +proj=utm +zone=19 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 20N
-<32620> +proj=utm +zone=20 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 21N
-<32621> +proj=utm +zone=21 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 22N
-<32622> +proj=utm +zone=22 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 23N
-<32623> +proj=utm +zone=23 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 24N
-<32624> +proj=utm +zone=24 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 25N
-<32625> +proj=utm +zone=25 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 26N
-<32626> +proj=utm +zone=26 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 27N
-<32627> +proj=utm +zone=27 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 28N
-<32628> +proj=utm +zone=28 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 29N
-<32629> +proj=utm +zone=29 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 30N
-<32630> +proj=utm +zone=30 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 31N
-<32631> +proj=utm +zone=31 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 32N
-<32632> +proj=utm +zone=32 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 33N
-<32633> +proj=utm +zone=33 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 34N
-<32634> +proj=utm +zone=34 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 35N
-<32635> +proj=utm +zone=35 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 36N
-<32636> +proj=utm +zone=36 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 37N
-<32637> +proj=utm +zone=37 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 38N
-<32638> +proj=utm +zone=38 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 39N
-<32639> +proj=utm +zone=39 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 40N
-<32640> +proj=utm +zone=40 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 41N
-<32641> +proj=utm +zone=41 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 42N
-<32642> +proj=utm +zone=42 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 43N
-<32643> +proj=utm +zone=43 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 44N
-<32644> +proj=utm +zone=44 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 45N
-<32645> +proj=utm +zone=45 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 46N
-<32646> +proj=utm +zone=46 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 47N
-<32647> +proj=utm +zone=47 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 48N
-<32648> +proj=utm +zone=48 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 49N
-<32649> +proj=utm +zone=49 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 50N
-<32650> +proj=utm +zone=50 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 51N
-<32651> +proj=utm +zone=51 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 52N
-<32652> +proj=utm +zone=52 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 53N
-<32653> +proj=utm +zone=53 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 54N
-<32654> +proj=utm +zone=54 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 55N
-<32655> +proj=utm +zone=55 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 56N
-<32656> +proj=utm +zone=56 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 57N
-<32657> +proj=utm +zone=57 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 58N
-<32658> +proj=utm +zone=58 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 59N
-<32659> +proj=utm +zone=59 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 60N
-<32660> +proj=utm +zone=60 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UPS North (N,E)
-<32661> +proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +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 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / World Equidistant Cylindrical (deprecated)
-<32663> +proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / BLM 14N (ftUS)
-<32664> +proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +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 +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 +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 +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 +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 2S
-<32702> +proj=utm +zone=2 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 3S
-<32703> +proj=utm +zone=3 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 4S
-<32704> +proj=utm +zone=4 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 5S
-<32705> +proj=utm +zone=5 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 6S
-<32706> +proj=utm +zone=6 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 7S
-<32707> +proj=utm +zone=7 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 8S
-<32708> +proj=utm +zone=8 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 9S
-<32709> +proj=utm +zone=9 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 10S
-<32710> +proj=utm +zone=10 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 11S
-<32711> +proj=utm +zone=11 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 12S
-<32712> +proj=utm +zone=12 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 13S
-<32713> +proj=utm +zone=13 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 14S
-<32714> +proj=utm +zone=14 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 15S
-<32715> +proj=utm +zone=15 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 16S
-<32716> +proj=utm +zone=16 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 17S
-<32717> +proj=utm +zone=17 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 18S
-<32718> +proj=utm +zone=18 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 19S
-<32719> +proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 20S
-<32720> +proj=utm +zone=20 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 21S
-<32721> +proj=utm +zone=21 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 22S
-<32722> +proj=utm +zone=22 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 23S
-<32723> +proj=utm +zone=23 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 24S
-<32724> +proj=utm +zone=24 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 25S
-<32725> +proj=utm +zone=25 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 26S
-<32726> +proj=utm +zone=26 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 27S
-<32727> +proj=utm +zone=27 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 28S
-<32728> +proj=utm +zone=28 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 29S
-<32729> +proj=utm +zone=29 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 30S
-<32730> +proj=utm +zone=30 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 31S
-<32731> +proj=utm +zone=31 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 32S
-<32732> +proj=utm +zone=32 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 33S
-<32733> +proj=utm +zone=33 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 34S
-<32734> +proj=utm +zone=34 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 35S
-<32735> +proj=utm +zone=35 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 36S
-<32736> +proj=utm +zone=36 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 37S
-<32737> +proj=utm +zone=37 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 38S
-<32738> +proj=utm +zone=38 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 39S
-<32739> +proj=utm +zone=39 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 40S
-<32740> +proj=utm +zone=40 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 41S
-<32741> +proj=utm +zone=41 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 42S
-<32742> +proj=utm +zone=42 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 43S
-<32743> +proj=utm +zone=43 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 44S
-<32744> +proj=utm +zone=44 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 45S
-<32745> +proj=utm +zone=45 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 46S
-<32746> +proj=utm +zone=46 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 47S
-<32747> +proj=utm +zone=47 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 48S
-<32748> +proj=utm +zone=48 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 49S
-<32749> +proj=utm +zone=49 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 50S
-<32750> +proj=utm +zone=50 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 51S
-<32751> +proj=utm +zone=51 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 52S
-<32752> +proj=utm +zone=52 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 53S
-<32753> +proj=utm +zone=53 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 54S
-<32754> +proj=utm +zone=54 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 55S
-<32755> +proj=utm +zone=55 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 56S
-<32756> +proj=utm +zone=56 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 57S
-<32757> +proj=utm +zone=57 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 58S
-<32758> +proj=utm +zone=58 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 59S
-<32759> +proj=utm +zone=59 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UTM zone 60S
-<32760> +proj=utm +zone=60 +south +datum=WGS84 +units=m +no_defs <>
-# WGS 84 / UPS South (N,E)
-<32761> +proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +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 +datum=WGS84 +units=m +no_defs <>
-# TWD97
-<3822> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IGRS
-<3887> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# MOLDREF99
-<4000> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGRDC 2005
-<4039> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# SREF98
-<4073> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# REGCAN95
-<4079> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# WGS 84 (geocentric)
-<4328> +proj=geocent +datum=WGS84 +units=m +no_defs <>
-# ITRF88 (geocentric)
-<4330> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF89 (geocentric)
-<4331> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF90 (geocentric)
-<4332> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF91 (geocentric)
-<4333> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF92 (geocentric)
-<4334> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF93 (geocentric)
-<4335> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF94 (geocentric)
-<4336> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF96 (geocentric)
-<4337> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF97 (geocentric)
-<4338> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Australian Antarctic (geocentric)
-<4340> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# EST97 (geocentric)
-<4342> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# CHTRF95 (geocentric)
-<4344> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRS89 (geocentric)
-<4346> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# GDA94 (geocentric)
-<4348> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Hartebeesthoek94 (geocentric)
-<4350> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# IRENET95 (geocentric)
-<4352> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# JGD2000 (geocentric)
-<4354> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# LKS94 (ETRS89) (geocentric)
-<4356> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Moznet (geocentric)
-<4358> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# NAD83(CSRS) (geocentric)
-<4360> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(HARN) (geocentric)
-<4362> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NZGD2000 (geocentric)
-<4364> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# POSGAR 98 (geocentric)
-<4366> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# REGVEN (geocentric)
-<4368> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGF93 (geocentric)
-<4370> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGFG95 (geocentric)
-<4372> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGR92 (geocentric)
-<4374> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# SIRGAS (geocentric)
-<4376> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# SWEREF99 (geocentric)
-<4378> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Yemen NGN96 (geocentric)
-<4380> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# RGNC 1991 (geocentric)
-<4382> +proj=geocent +ellps=intl +units=m +no_defs <>
-# RRAF 1991 (geocentric)
-<4384> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# ITRF2000 (geocentric)
-<4385> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ISN93 (geocentric)
-<4387> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# LKS92 (geocentric)
-<4389> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGSPM06
-<4465> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGM04
-<4468> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Cadastre 1997
-<4473> +proj=geocent +ellps=intl +units=m +no_defs <>
-# China Geodetic Coordinate System 2000
-<4479> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Mexico ITRF92
-<4481> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RRAF 1991
-<4556> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Slovenia 1996
-<4882> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RSRGD2000
-<4884> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# BDA2000
-<4886> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# HTRS96
-<4888> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# WGS 66
-<4890> +proj=geocent +ellps=WGS66 +units=m +no_defs <>
-# NAD83(NSRS2007)
-<4892> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# JAD2001
-<4894> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# ITRF2005
-<4896> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# DGN95
-<4897> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# LGD2006
-<4899> +proj=geocent +ellps=intl +units=m +no_defs <>
-# RGNC91-93
-<4906> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# GR96
-<4908> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF88
-<4910> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF89
-<4911> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF90
-<4912> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF91
-<4913> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF92
-<4914> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF93
-<4915> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF94
-<4916> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF96
-<4917> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF97
-<4918> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF2000
-<4919> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# GDM2000
-<4920> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# PZ-90
-<4922> +proj=geocent +a=6378136 +b=6356751.361745712 +units=m +no_defs <>
-# Mauritania 1999
-<4924> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Korea 2000
-<4926> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# POSGAR 94
-<4928> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# Australian Antarctic
-<4930> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# CHTRF95
-<4932> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# EST97
-<4934> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRS89
-<4936> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# GDA94
-<4938> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Hartebeesthoek94
-<4940> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# IRENET95
-<4942> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ISN93
-<4944> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# JGD2000
-<4946> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# LKS92
-<4948> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# LKS94
-<4950> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Moznet
-<4952> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# NAD83(CSRS)
-<4954> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(HARN)
-<4956> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NZGD2000
-<4958> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# POSGAR 98
-<4960> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# REGVEN
-<4962> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGF93
-<4964> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGFG95
-<4966> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGNC 1991
-<4968> +proj=geocent +ellps=intl +units=m +no_defs <>
-# RGR92
-<4970> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RRAF 1991
-<4972> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# SIRGAS 1995
-<4974> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# SWEREF99
-<4976> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# WGS 84
-<4978> +proj=geocent +datum=WGS84 +units=m +no_defs <>
-# Yemen NGN96
-<4980> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# IGM95
-<4982> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# WGS 72
-<4984> +proj=geocent +ellps=WGS72 +units=m +no_defs <>
-# WGS 72BE
-<4986> +proj=geocent +ellps=WGS72 +units=m +no_defs <>
-# SIRGAS 2000
-<4988> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Lao 1993
-<4990> +proj=geocent +ellps=krass +units=m +no_defs <>
-# Lao 1997
-<4992> +proj=geocent +ellps=krass +units=m +no_defs <>
-# PRS92
-<4994> +proj=geocent +ellps=clrk66 +units=m +no_defs <>
-# MAGNA-SIRGAS
-<4996> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGPF
-<4998> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# PTRA08
-<5011> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# GDBD2009
-<5244> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# TUREF
-<5250> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# DRUKREF 03
-<5262> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ISN2004
-<5322> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF2008
-<5332> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# POSGAR 2007
-<5341> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# MARGEN
-<5352> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# SIRGAS-Chile
-<5358> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# CR05
-<5363> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# MACARIO SOLIS
-<5368> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Peru96
-<5369> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# SIRGAS-ROU98
-<5379> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# SIRGAS_ES2007.8
-<5391> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGAF09
-<5487> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# PNG94
-<5544> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# UCS-2000
-<5558> +proj=geocent +ellps=krass +units=m +no_defs <>
-# FEH2010
-<5591> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# DB_REF
-<5828> +proj=geocent +ellps=bessel +units=m +no_defs <>
-# TGD2005
-<5884> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# CIGD11
-<6133> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# CGRS93
-<6309> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# NAD83(2011)
-<6317> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(PA11)
-<6320> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(MA11)
-<6323> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# Mexico ITRF2008
-<6363> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# JGD2011
-<6666> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RDN2008
-<6704> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CORS96)
-<6781> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IGS08
-<6934> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IGD05
-<6978> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IG05 Intermediate CRS
-<6981> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IGD05/12
-<6985> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IG05/12 Intermediate CRS
-<6988> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# RGTAAF07
-<7071> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IGD05
-<7134> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# IGD05/12
-<7137> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# ONGD14
-<7371> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# WGS 84 (G730)
-<7656> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# WGS 84 (G873)
-<7658> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# WGS 84 (G1150)
-<7660> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# WGS 84 (G1674)
-<7662> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# WGS 84 (G1762)
-<7664> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# PZ-90.02
-<7677> +proj=geocent +a=6378136 +b=6356751.361745712 +units=m +no_defs <>
-# PZ-90.11
-<7679> +proj=geocent +a=6378136 +b=6356751.361745712 +units=m +no_defs <>
-# GSK-2011
-<7681> +proj=geocent +a=6378136.5 +b=6356751.757955603 +units=m +no_defs <>
-# Kyrg-06
-<7684> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ITRF2014
-<7789> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# BGS2005
-<7796> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# WGS 84 (Transit)
-<7815> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# GDA2020
-<7842> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# St. Helena Tritan
-<7879> +proj=geocent +ellps=WGS84 +units=m +no_defs <>
-# SHGD2015
-<7884> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF89
-<7914> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF90
-<7916> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF91
-<7918> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF92
-<7920> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF93
-<7922> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF94
-<7924> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF96
-<7926> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF97
-<7928> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ETRF2000
-<7930> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# ISN2016
-<8084> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# IGS14
-<8227> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS96)
-<8230> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS)v2
-<8233> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS)v3
-<8238> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS)v4
-<8242> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS)v5
-<8247> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS)v6
-<8250> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# NAD83(CSRS)v7
-<8253> +proj=geocent +ellps=GRS80 +units=m +no_defs <>
-# KKJ / Finland Uniform Coordinate System + N60 height
-<3901> +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +units=m +vunits=m +no_defs <>
-# ETRS89 / TM35FIN(N,E) + N60 height
-<3902> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / TM35FIN(N,E) + N2000 height
-<3903> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / DKTM1 + DVR90 height
-<4097> +proj=tmerc +lat_0=0 +lon_0=9 +k=0.99998 +x_0=200000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / DKTM2 + DVR90 height
-<4098> +proj=tmerc +lat_0=0 +lon_0=10 +k=0.99998 +x_0=400000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / DKTM3 + DVR90 height
-<4099> +proj=tmerc +lat_0=0 +lon_0=11.75 +k=0.99998 +x_0=600000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / DKTM4 + DVR90 height
-<4100> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=800000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / Faroe TM + FVR09 height
-<5318> +proj=tmerc +lat_0=0 +lon_0=-7 +k=0.999997 +x_0=200000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83 + NAVD88 height
-<5498> +proj=longlat +datum=NAD83 +geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx +vunits=m +no_defs <>
-# NAD83(HARN) + NAVD88 height
-<5499> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx +vunits=m +no_defs <>
-# NAD83(NSRS2007) + NAVD88 height
-<5500> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx +vunits=m +no_defs <>
-# ETRS89 / UTM zone 31N + DHHN92 height
-<5554> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 32N + DHHN92 height
-<5555> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 33N + DHHN92 height
-<5556> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# FEH2010 / Fehmarnbelt TM + FCSVR10 height
-<5598> +proj=tmerc +lat_0=0 +lon_0=11.33333333333333 +k=1 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# SWEREF99 + RH2000 height
-<5628> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# RGF93 / Lambert-93 + NGF-IGN69 height
-<5698> +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 +vunits=m +no_defs <>
-# RGF93 / Lambert-93 + NGF-IGN78 height
-<5699> +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 +vunits=m +no_defs <>
-# NTF (Paris) / Lambert zone I + NGF-IGN69 height
-<5707> +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 +vunits=m +no_defs <>
-# NTF (Paris) / Lambert zone IV + NGF-IGN78 height
-<5708> +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 +vunits=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 2 (E-N) + DHHN92 height
-<5832> +proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +units=m +vunits=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 3 (E-N) + DHHN92 height
-<5833> +proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m +vunits=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 4 (E-N) + DHHN92 height
-<5834> +proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m +vunits=m +no_defs <>
-# DB_REF / 3-degree Gauss-Kruger zone 5 (E-N) + DHHN92 height
-<5835> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m +vunits=m +no_defs <>
-# SWEREF99 TM + RH2000 height
-<5845> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# SWEREF99 12 00 + RH2000 height
-<5846> +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 +vunits=m +no_defs <>
-# SWEREF99 13 30 + RH2000 height
-<5847> +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 +vunits=m +no_defs <>
-# SWEREF99 15 00 + RH2000 height
-<5848> +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 +vunits=m +no_defs <>
-# SWEREF99 16 30 + RH2000 height
-<5849> +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 +vunits=m +no_defs <>
-# SWEREF99 18 00 + RH2000 height
-<5850> +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 +vunits=m +no_defs <>
-# SWEREF99 14 15 + RH2000 height
-<5851> +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 +vunits=m +no_defs <>
-# SWEREF99 15 45 + RH2000 height
-<5852> +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 +vunits=m +no_defs <>
-# SWEREF99 17 15 + RH2000 height
-<5853> +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 +vunits=m +no_defs <>
-# SWEREF99 18 45 + RH2000 height
-<5854> +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 +vunits=m +no_defs <>
-# SWEREF99 20 15 + RH2000 height
-<5855> +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 +vunits=m +no_defs <>
-# SWEREF99 21 45 + RH2000 height
-<5856> +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 +vunits=m +no_defs <>
-# SWEREF99 23 15 + RH2000 height
-<5857> +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 +vunits=m +no_defs <>
-# ETRS89 + NN2000 height
-<5942> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# ETRS89 / NTM zone 5 + NN2000 height
-<5945> +proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 6 + NN2000 height
-<5946> +proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 7 + NN2000 height
-<5947> +proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 8 + NN2000 height
-<5948> +proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 9 + NN2000 height
-<5949> +proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 10 + NN2000 height
-<5950> +proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 11 + NN2000 height
-<5951> +proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 12 + NN2000 height
-<5952> +proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 13 + NN2000 height
-<5953> +proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 14 + NN2000 height
-<5954> +proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 15 + NN2000 height
-<5955> +proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 16 + NN2000 height
-<5956> +proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 17 + NN2000 height
-<5957> +proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 18 + NN2000 height
-<5958> +proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 19 + NN2000 height
-<5959> +proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 20 + NN2000 height
-<5960> +proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 21 + NN2000 height
-<5961> +proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 22 + NN2000 height
-<5962> +proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 23 + NN2000 height
-<5963> +proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 24 + NN2000 height
-<5964> +proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 25 + NN2000 height
-<5965> +proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 26 + NN2000 height
-<5966> +proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 27 + NN2000 height
-<5967> +proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 28 + NN2000 height
-<5968> +proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 29 + NN2000 height
-<5969> +proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 30 + NN2000 height
-<5970> +proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 31 + NN2000 height
-<5971> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 32 + NN2000 height
-<5972> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 33 + NN2000 height
-<5973> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 34 + NN2000 height
-<5974> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 35 + NN2000 height
-<5975> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 36 + NN2000 height
-<5976> +proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 + NN54 height
-<6144> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# ETRS89 / NTM zone 5 + NN54 height
-<6145> +proj=tmerc +lat_0=58 +lon_0=5.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 6 + NN54 height
-<6146> +proj=tmerc +lat_0=58 +lon_0=6.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 7 + NN54 height
-<6147> +proj=tmerc +lat_0=58 +lon_0=7.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 8 + NN54 height
-<6148> +proj=tmerc +lat_0=58 +lon_0=8.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 9 + NN54 height
-<6149> +proj=tmerc +lat_0=58 +lon_0=9.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 10 + NN54 height
-<6150> +proj=tmerc +lat_0=58 +lon_0=10.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 11 + NN54 height
-<6151> +proj=tmerc +lat_0=58 +lon_0=11.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 12 + NN54 height
-<6152> +proj=tmerc +lat_0=58 +lon_0=12.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 13 + NN54 height
-<6153> +proj=tmerc +lat_0=58 +lon_0=13.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 14 + NN54 height
-<6154> +proj=tmerc +lat_0=58 +lon_0=14.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 15 + NN54 height
-<6155> +proj=tmerc +lat_0=58 +lon_0=15.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 16 + NN54 height
-<6156> +proj=tmerc +lat_0=58 +lon_0=16.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 17 + NN54 height
-<6157> +proj=tmerc +lat_0=58 +lon_0=17.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 18 + NN54 height
-<6158> +proj=tmerc +lat_0=58 +lon_0=18.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 19 + NN54 height
-<6159> +proj=tmerc +lat_0=58 +lon_0=19.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 20 + NN54 height
-<6160> +proj=tmerc +lat_0=58 +lon_0=20.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 21 + NN54 height
-<6161> +proj=tmerc +lat_0=58 +lon_0=21.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 22 + NN54 height
-<6162> +proj=tmerc +lat_0=58 +lon_0=22.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 23 + NN54 height
-<6163> +proj=tmerc +lat_0=58 +lon_0=23.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 24 + NN54 height
-<6164> +proj=tmerc +lat_0=58 +lon_0=24.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 25 + NN54 height
-<6165> +proj=tmerc +lat_0=58 +lon_0=25.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 26 + NN54 height
-<6166> +proj=tmerc +lat_0=58 +lon_0=26.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 27 + NN54 height
-<6167> +proj=tmerc +lat_0=58 +lon_0=27.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 28 + NN54 height
-<6168> +proj=tmerc +lat_0=58 +lon_0=28.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 29 + NN54 height
-<6169> +proj=tmerc +lat_0=58 +lon_0=29.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / NTM zone 30 + NN54 height
-<6170> +proj=tmerc +lat_0=58 +lon_0=30.5 +k=1 +x_0=100000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 31 + NN54 height
-<6171> +proj=utm +zone=31 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 32 + NN54 height
-<6172> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 33 + NN54 height
-<6173> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 34 + NN54 height
-<6174> +proj=utm +zone=34 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 35 + NN54 height
-<6175> +proj=utm +zone=35 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 36 + NN54 height
-<6176> +proj=utm +zone=36 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# Belge 1972 / Belgian Lambert 72 + Ostend height
-<6190> +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.8686,52.2978,-103.7239,0.3366,-0.457,1.8422,-1.2747 +units=m +vunits=m +no_defs <>
-# NAD83(2011) + NAVD88 height
-<6349> +proj=longlat +ellps=GRS80 +geoidgrids=g2012a_conus.gtx,g2012a_alaska.gtx,g2012a_guam.gtx,g2012a_hawaii.gtx,g2012a_puertorico.gtx,g2012a_samoa.gtx +vunits=m +no_defs <>
-# NAD83(CSRS) + CGVD2013 height
-<6649> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 7N + CGVD2013 height
-<6650> +proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 8N + CGVD2013 height
-<6651> +proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 9N + CGVD2013 height
-<6652> +proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 10N + CGVD2013 height
-<6653> +proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 11N + CGVD2013 height
-<6654> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 12N + CGVD2013 height
-<6655> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 13N + CGVD2013 height
-<6656> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 14N + CGVD2013 height
-<6657> +proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 15N + CGVD2013 height
-<6658> +proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 16N + CGVD2013 height
-<6659> +proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 17N + CGVD2013 height
-<6660> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 18N + CGVD2013 height
-<6661> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 19N + CGVD2013 height
-<6662> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 20N + CGVD2013 height
-<6663> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 21N + CGVD2013 height
-<6664> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NAD83(CSRS) / UTM zone 22N + CGVD2013 height
-<6665> +proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# JGD2000 + JGD2000 (vertical) height
-<6696> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# JGD2011 + JGD2011 (vertical) height
-<6697> +proj=longlat +ellps=GRS80 +vunits=m +no_defs <>
-# Tokyo + JSLD72 height
-<6700> +proj=longlat +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +vunits=m +no_defs <>
-# WGS 84 / Pseudo-Mercator + EGM2008 geoid height
-<6871> +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +geoidgrids=egm08_25.gtx +vunits=m +no_defs <>
-# WGS 84 / World Mercator + EGM2008 height
-<6893> +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +geoidgrids=egm08_25.gtx +vunits=m +no_defs <>
-# SVY21 + SHD height
-<6917> +proj=longlat +ellps=WGS84 +vunits=m +no_defs <>
-# SVY21 / Singapore TM + SHD height
-<6927> +proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m +vunits=m +no_defs <>
-# NTF (Paris) + NGF IGN69 height
-<7400> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +vunits=m +no_defs <>
-# NTF (Paris) / France II + NGF Lallemand
-<7401> +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 +vunits=m +no_defs <>
-# NTF (Paris) / France II + NGF IGN69
-<7402> +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 +vunits=m +no_defs <>
-# NTF (Paris) / France III + NGF IGN69
-<7403> +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 +vunits=m +no_defs <>
-# RT90 + RH70 height
-<7404> +proj=longlat +ellps=bessel +towgs84=414.1,41.3,603.1,-0.855,2.141,-7.023,0 +vunits=m +no_defs <>
-# OSGB 1936 / British National Grid + ODN height
-<7405> +proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +datum=OSGB36 +units=m +vunits=m +no_defs <>
-# NAD27 + NGVD29 height
-<7406> +proj=longlat +datum=NAD27 +vunits=us-ft +no_defs <>
-# NAD27 / Texas North + NGVD29 height
-<7407> +proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +datum=NAD27 +units=us-ft +vunits=us-ft +no_defs <>
-# RD/NAP
-<7408> +proj=longlat +ellps=bessel +towgs84=565.2369,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812 +vunits=m +no_defs <>
-# ETRS89 + EVRF2000 height
-<7409> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# PSHD93
-<7410> +proj=longlat +ellps=clrk80 +towgs84=-180.624,-225.516,173.919,-0.81,-1.898,8.336,16.71006 +vunits=m +no_defs <>
-# NTF (Paris) / Lambert zone II + NGF Lallemand height
-<7411> +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 +vunits=m +no_defs <>
-# NTF (Paris) / Lambert zone II + NGF IGN69
-<7412> +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 +vunits=m +no_defs <>
-# NTF (Paris) / Lambert zone III + NGF IGN69
-<7413> +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 +vunits=m +no_defs <>
-# Tokyo + JSLD69 height
-<7414> +proj=longlat +ellps=bessel +towgs84=-146.414,507.337,680.507,0,0,0,0 +vunits=m +no_defs <>
-# Amersfoort / RD New + NAP height
-<7415> +proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.2369,50.0087,465.658,-0.406857,0.350733,-1.87035,4.0812 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 32N + DVR90 height
-<7416> +proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / UTM zone 33N + DVR90 height
-<7417> +proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / Kp2000 Jutland + DVR90 height
-<7418> +proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / Kp2000 Zealand + DVR90 height
-<7419> +proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# ETRS89 / Kp2000 Bornholm + DVR90 height
-<7420> +proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# NTF (Paris) / Lambert zone II + NGF-IGN69 height
-<7421> +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 +vunits=m +no_defs <>
-# NTF (Paris) / Lambert zone III + NGF-IGN69 height
-<7422> +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 +vunits=m +no_defs <>
-# ETRS89 + EVRF2007 height
-<7423> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# Astro DOS 71 / UTM zone 30S + Jamestown 1971 height
-<7954> +proj=utm +zone=30 +south +ellps=intl +towgs84=-320,550,-494,0,0,0,0 +units=m +vunits=m +no_defs <>
-# St. Helena Tritan / UTM zone 30S + Tritan 2011 height
-<7955> +proj=utm +zone=30 +south +ellps=WGS84 +towgs84=-0.077,0.079,0.086,0,0,0,0 +units=m +vunits=m +no_defs <>
-# SHMG2015 + SHVD2015 height
-<7956> +proj=utm +zone=30 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +vunits=m +no_defs <>
-# GR96 + GVR2000 height
-<8349> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
-# GR96 + GVR2016 height
-<8350> +proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +vunits=m +no_defs <>
diff --git a/data/esri b/data/esri
deleted file mode 100644
index 36e35be2..00000000
--- a/data/esri
+++ /dev/null
@@ -1,5938 +0,0 @@
-<metadata> +origin=Esri +lastupdate=2017-02-26
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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
-<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 <>
-# NAD83(CSRS98) / UTM zone 19N
-<2037> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# 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 <>
-# 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.000000 +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.000000 +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
-# 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 <>
-# 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=-3.687938888888889 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669562 +pm=madrid +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.000000 +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.000000 +x_0=2500000 +y_0=0 +ellps=intl +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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
-<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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.000000 +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.000000 +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.000000 +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.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +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 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.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 <>
-# 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 <>
-# 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
-<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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# NAD83(CSRS98) / UTM zone 21N
-<2148> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS98) / UTM zone 17N
-<2150> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS98) / UTM zone 12N
-<2152> +proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# 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
-<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 <>
-# 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 <>
-# 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 <>
-# 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.000000 +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.000000 +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.999300 +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 +units=m +no_defs <>
-# Azores Oriental 1940 / UTM zone 26N
-<2190> +proj=utm +zone=26 +ellps=intl +units=m +no_defs <>
-# Madeira 1936 / UTM zone 28N
-<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
-<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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 +to_meter=0.3048006096012192 +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.000000 +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.000000 +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.000000 +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.000000 +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.000000 +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.000000 +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.000000 +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.999600 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.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 <>
-# 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.000000 +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.000000 +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.000000 +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.000000 +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.000000 +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.000000 +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.000000 +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.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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.000000 +x_0=500000 +y_0=0 +ellps=krass +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# Porto Santo / UTM zone 28N
-<2942> +proj=utm +zone=28 +ellps=intl +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.999900 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# NAD83(CSRS) / UTM zone 11N
-<2955> +proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS) / UTM zone 13N
-<2957> +proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS) / UTM zone 18N
-<2959> +proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# NAD83(CSRS) / UTM zone 20N
-<2961> +proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# 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 <>
-# Indian 1960 / UTM zone 48N
-<3148> +proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +units=m +no_defs <>
-# Indian 1960 / UTM zone 49N
-<3149> +proj=utm +zone=49 +a=6377276.345 +b=6356075.413140239 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# Puerto Rico / UTM zone 20N
-<3920> +proj=utm +zone=20 +ellps=clrk66 +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 +to_meter=0.3048006096012192 +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 <>
-# 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 +a=6377340.189 +b=6356034.447938534 +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.63683822 +b=6356617.979337744 +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.413140239 +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 <>
-# 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.142669562 +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 +ellps=clrk80 +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.357204817 +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.230165385 +no_defs <>
-# Unknown datum based upon the Everest 1830 (1975 Definition) ellipsoid
-<4045> +proj=longlat +a=6377299.151 +b=6356098.145120132 +no_defs <>
-# Unspecified based upon the GRS 1980 Authalic Sphere
-<4047> +proj=longlat +a=6370997 +b=6370997 +no_defs <>
-# Greek
-<4120> +proj=longlat +ellps=bessel +no_defs <>
-# GGRS87
-<4121> +proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +no_defs <>
-# ATS77
-<4122> +proj=longlat +a=6378135 +b=6356750.304921594 +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 <>
-# 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 +towgs84=0,0,0,0,0,0,0 +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.413140239 +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 <>
-# PDO Survey Datum 1993
-<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 +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 +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.413140239 +no_defs <>
-# Kalianpur 1962
-<4145> +proj=longlat +a=6377301.243 +b=6356100.230165385 +towgs84=283,682,231,0,0,0,0 +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 +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 +towgs84=0,0,0,0,0,0,0 +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.63683822 +b=6356617.979337744 +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 +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 +towgs84=-199,32,322,0,0,0,0 +no_defs <>
-# American Samoa 1962
-<4169> +proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +no_defs <>
-# SIRGAS
-<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 +no_defs <>
-# Pulkovo 1942(83)
-<4178> +proj=longlat +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +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 <>
-# 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 +no_defs <>
-# Azores Oriental 1940
-<4184> +proj=longlat +ellps=intl +no_defs <>
-# Madeira 1936
-<4185> +proj=longlat +ellps=intl +no_defs <>
-# OSNI 1952
-<4188> +proj=longlat +ellps=airy +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 +towgs84=0,0,0,0,0,0,0 +no_defs <>
-# Albanian 1987
-<4191> +proj=longlat +ellps=krass +no_defs <>
-# Douala 1948
-<4192> +proj=longlat +ellps=intl +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 +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 +no_defs <>
-# Beduaram
-<4213> +proj=longlat +a=6378249.2 +b=6356515 +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 +towgs84=-73,213,296,0,0,0,0 +no_defs <>
-# Bogota 1975
-<4218> +proj=longlat +ellps=intl +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 +no_defs <>
-# Chua
-<4224> +proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0 +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 +towgs84=-82.981,-99.719,-110.709,-0.5076,0.1503,0.3898,-0.3143 +no_defs <>
-# Fahud
-<4232> +proj=longlat +ellps=clrk80 +no_defs <>
-# Gandajika 1970
-<4233> +proj=longlat +ellps=intl +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
-<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.413140239 +towgs84=217,823,299,0,0,0,0 +no_defs <>
-# Indian 1975
-<4240> +proj=longlat +a=6377276.345 +b=6356075.413140239 +no_defs <>
-# Jamaica 1875
-<4241> +proj=longlat +ellps=clrk80 +no_defs <>
-# JAD69
-<4242> +proj=longlat +ellps=clrk66 +no_defs <>
-# Kalianpur 1880
-<4243> +proj=longlat +a=6377299.36559538 +b=6356098.357204817 +no_defs <>
-# Kandawala
-<4244> +proj=longlat +a=6377276.345 +b=6356075.413140239 +towgs84=-97,787,86,0,0,0,0 +no_defs <>
-# Kertau
-<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 +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 +towgs84=18.38,192.45,96.82,0.056,-0.142,-0.2,-0.0013 +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 +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 +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 +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 +a=6377340.189 +b=6356034.447938534 +no_defs <>
-# TM75
-<4300> +proj=longlat +a=6377340.189 +b=6356034.447938534 +no_defs <>
-# Tokyo
-<4301> +proj=longlat +ellps=bessel +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 <>
-# 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 +no_defs <>
-# Belge 1972
-<4313> +proj=longlat +ellps=intl +no_defs <>
-# DHDN
-<4314> +proj=longlat +ellps=bessel +no_defs <>
-# Conakry 1905
-<4315> +proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +no_defs <>
-# Dealul Piscului 1933
-<4316> +proj=longlat +ellps=intl +towgs84=103.25,-100.4,-307.19,0,0,0,0 +no_defs <>
-# Dealul Piscului 1970
-<4317> +proj=longlat +ellps=krass +no_defs <>
-# NGN
-<4318> +proj=longlat +ellps=WGS84 +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 +towgs84=-255,-15,71,0,0,0,0 +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 +towgs84=9,183,236,0,0,0,0 +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 +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 +towgs84=-404.78,685.68,45.47,0,0,0,0 +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 +no_defs <>
-# Selvagem Grande
-<4616> +proj=longlat +ellps=intl +no_defs <>
-# NAD83(CSRS)
-<4617> +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 <>
-# ATF (Paris)
-<4901> +proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris +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.142669562 +pm=madrid +no_defs <>
-# Lisbon 1890 (Lisbon)
-<4904> +proj=longlat +ellps=bessel +pm=lisbon +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 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 / 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=-8.131906111111112 +k=1.000000 +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=-8.131906111111112 +k=1.000000 +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
-<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 <>
-# 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.999500 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# Bogota 1975 / UTM zone 17N
-<21817> +proj=utm +zone=17 +ellps=intl +units=m +no_defs <>
-# Bogota 1975 / UTM zone 18N
-<21818> +proj=utm +zone=18 +ellps=intl +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.999600 +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.999600 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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=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 <>
-# Douala / UTM zone 32N
-<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.000000 +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.000000 +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.000000 +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.000000 +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.999600 +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.999600 +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
-<23433> +proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m +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 <>
-# 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
-<23853> +proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +units=m +no_defs <>
-# ID74 / UTM zone 46S
-<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.413140239 +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.413140239 +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.413140239 +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.413140239 +units=m +no_defs <>
-# Indian 1975 / UTM zone 48N
-<24048> +proj=utm +zone=48 +a=6377276.345 +b=6356075.413140239 +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.49575 +y_0=121918.906 +ellps=clrk80 +to_meter=0.304797265 +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.413140239 +units=m +no_defs <>
-# Kalianpur 1937 / UTM zone 46N
-<24306> +proj=utm +zone=46 +a=6377276.345 +b=6356075.413140239 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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.357204817 +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.357204817 +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.357204817 +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.357204817 +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.357204817 +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.413140239 +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.230165385 +towgs84=283,682,231,0,0,0,0 +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.230165385 +towgs84=283,682,231,0,0,0,0 +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.357204817 +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 / 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 / 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 / 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)
-<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 +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 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 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.999830 +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.999330 +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.999530 +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.999750 +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.999950 +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.999950 +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.999950 +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.999950 +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.999950 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m +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 <>
-# 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.999600 +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
-<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 <>
-# 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.999750 +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.999750 +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.999750 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 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.999960 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.999960 +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.999933 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999900 +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.999933 +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.999941 +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.999941 +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.999967 +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.999967 +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.999990 +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.999990 +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.000000 +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.999900 +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.999900 +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.999947 +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.999947 +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.999933 +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.999975 +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.999941 +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.999967 +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.999967 +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
-<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.999900 +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.999967 +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.999950 +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.999950 +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.999933 +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.999933 +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.999941 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +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 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# NZGD49 / UTM zone 58S
-<27258> +proj=utm +zone=58 +south +ellps=intl +units=m +no_defs <>
-# NZGD49 / UTM zone 59S
-<27259> +proj=utm +zone=59 +south +ellps=intl +units=m +no_defs <>
-# NZGD49 / UTM zone 60S
-<27260> +proj=utm +zone=60 +south +ellps=intl +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# Datum 73 / UTM zone 29N
-<27429> +proj=utm +zone=29 +ellps=intl +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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
-<28402> +proj=tmerc +lat_0=0 +lon_0=9 +k=1.000000 +x_0=2500000 +y_0=0 +ellps=krass +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# SAD69 / Brazil Polyconic
-<29100> +proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 18N
-<29118> +proj=utm +zone=18 +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 19N
-<29119> +proj=utm +zone=19 +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 20N
-<29120> +proj=utm +zone=20 +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 21N
-<29121> +proj=utm +zone=21 +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 22N
-<29122> +proj=utm +zone=22 +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 17S
-<29177> +proj=utm +zone=17 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 18S
-<29178> +proj=utm +zone=18 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 19S
-<29179> +proj=utm +zone=19 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 20S
-<29180> +proj=utm +zone=20 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 21S
-<29181> +proj=utm +zone=21 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 22S
-<29182> +proj=utm +zone=22 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 23S
-<29183> +proj=utm +zone=23 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 24S
-<29184> +proj=utm +zone=24 +south +ellps=GRS67 +units=m +no_defs <>
-# SAD69 / UTM zone 25S
-<29185> +proj=utm +zone=25 +south +ellps=GRS67 +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 <>
-# 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 <>
-# Sudan / UTM zone 36N
-<29636> +proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m +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 <>
-# 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 / 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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
-<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 <>
-# 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.999600 +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.999600 +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.999900 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 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 <>
-# 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 <>
-# NGN / UTM zone 38N
-<31838> +proj=utm +zone=38 +ellps=WGS84 +units=m +no_defs <>
-# NGN / UTM zone 39N
-<31839> +proj=utm +zone=39 +ellps=WGS84 +units=m +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 <>
-# SIRGAS / UTM zone 17N
-<31986> +proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# SIRGAS / UTM zone 19N
-<31988> +proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# SIRGAS / UTM zone 21N
-<31990> +proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# SIRGAS / UTM zone 17S
-<31992> +proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# SIRGAS / UTM zone 19S
-<31994> +proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# SIRGAS / UTM zone 21S
-<31996> +proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# SIRGAS / UTM zone 23S
-<31998> +proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +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 <>
-# SIRGAS / 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 +to_meter=0.3048006096012192 +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.999600 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192 +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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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.999900 +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.999900 +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.999900 +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.999967 +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.999900 +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.999909 +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.999900 +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.999917 +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.999900 +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.999938 +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.999938 +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.999994 +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.999964 +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.999938 +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.999938 +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.999938 +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.999938 +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 / 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 <>
-# 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 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 / 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.999600 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m +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/data/esri.extra b/data/esri.extra
deleted file mode 100644
index 611dd660..00000000
--- a/data/esri.extra
+++ /dev/null
@@ -1,948 +0,0 @@
-# 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/data/sql/esri.sql b/data/sql/esri.sql
index d3d44c97..c01aaac9 100644
--- a/data/sql/esri.sql
+++ b/data/sql/esri.sql
@@ -1,6 +1,7 @@
--- This file has been generated by scripts/build_db_from_esri.py. DO NOT EDIT !
INSERT INTO "metadata" VALUES('ESRI.VERSION', 'ArcMap 10.6.1 / ArcGISPro 2.2');
+INSERT INTO "metadata" VALUES('ESRI.DATE', '2018-09-19');
INSERT INTO alias_name VALUES('unit_of_measure','EPSG','1025','Millimeter','ESRI');
INSERT INTO alias_name VALUES('unit_of_measure','EPSG','1033','Centimeter','ESRI');
INSERT INTO alias_name VALUES('unit_of_measure','EPSG','9001','Meter','ESRI');
diff --git a/data/sql/metadata.sql b/data/sql/metadata.sql
index df5a651c..b69c0ca9 100644
--- a/data/sql/metadata.sql
+++ b/data/sql/metadata.sql
@@ -1,2 +1,2 @@
-INSERT INTO "metadata" VALUES('EPSG', 'v9.5.4');
-INSERT INTO "metadata" VALUES('IGNF', 'v1.0.0');
+INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v9.5.4');
+INSERT INTO "metadata" VALUES('EPSG.DATE', '2018-10-06');
diff --git a/include/proj/coordinateoperation.hpp b/include/proj/coordinateoperation.hpp
index 293ba480..4dd85e96 100644
--- a/include/proj/coordinateoperation.hpp
+++ b/include/proj/coordinateoperation.hpp
@@ -818,10 +818,6 @@ class PROJ_GCC_DLL Conversion : public SingleOperation {
PROJ_DLL ~Conversion() override;
//! @endcond
- //! @cond Doxygen_Suppress
- PROJ_INTERNAL ConversionNNPtr shallowClone() const;
- //! @endcond
-
PROJ_DLL CoordinateOperationNNPtr inverse() const override;
//! @cond Doxygen_Suppress
@@ -1287,6 +1283,12 @@ class PROJ_GCC_DLL Conversion : public SingleOperation {
PROJ_INTERNAL const char *getESRIMethodName() const;
PROJ_INTERNAL const char *getWKT1GDALMethodName() const;
+
+ PROJ_INTERNAL ConversionNNPtr shallowClone() const;
+
+ PROJ_INTERNAL ConversionNNPtr alterParametersLinearUnit(
+ const common::UnitOfMeasure &unit, bool convertToNewUnit) const;
+
//! @endcond
protected:
@@ -1490,6 +1492,8 @@ class PROJ_GCC_DLL Transformation : public SingleOperation {
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+ PROJ_INTERNAL TransformationNNPtr shallowClone() const;
+
//! @endcond
protected:
@@ -1499,6 +1503,7 @@ class PROJ_GCC_DLL Transformation : public SingleOperation {
const OperationMethodNNPtr &methodIn,
const std::vector<GeneralParameterValueNNPtr> &values,
const std::vector<metadata::PositionalAccuracyNNPtr> &accuracies);
+ PROJ_INTERNAL Transformation(const Transformation &other);
INLINED_MAKE_SHARED
PROJ_INTERNAL void _exportToPROJString(io::PROJStringFormatter *formatter)
@@ -1508,7 +1513,6 @@ class PROJ_GCC_DLL Transformation : public SingleOperation {
private:
PROJ_OPAQUE_PRIVATE_DATA
- Transformation(const Transformation &) = delete;
};
// ---------------------------------------------------------------------------
diff --git a/include/proj/coordinatesystem.hpp b/include/proj/coordinatesystem.hpp
index 89c2f99c..a301adab 100644
--- a/include/proj/coordinatesystem.hpp
+++ b/include/proj/coordinatesystem.hpp
@@ -208,6 +208,9 @@ class PROJ_GCC_DLL CoordinateSystemAxis final
PROJ_INTERNAL static CoordinateSystemAxisNNPtr
createLONG_EAST(const common::UnitOfMeasure &unit);
+ PROJ_INTERNAL CoordinateSystemAxisNNPtr
+ alterUnit(const common::UnitOfMeasure &newUnit) const;
+
//! @endcond
private:
@@ -372,6 +375,13 @@ class PROJ_GCC_DLL EllipsoidalCS final : public CoordinateSystem {
};
PROJ_INTERNAL AxisOrder axisOrder() const;
+
+ PROJ_INTERNAL EllipsoidalCSNNPtr
+ alterAngularUnit(const common::UnitOfMeasure &angularUnit) const;
+
+ PROJ_INTERNAL EllipsoidalCSNNPtr
+ alterLinearUnit(const common::UnitOfMeasure &linearUnit) const;
+
//! @endcond
protected:
@@ -416,6 +426,13 @@ class PROJ_GCC_DLL VerticalCS final : public CoordinateSystem {
PROJ_DLL static VerticalCSNNPtr
createGravityRelatedHeight(const common::UnitOfMeasure &unit);
+ PROJ_PRIVATE :
+ //! @cond Doxygen_Suppress
+ PROJ_INTERNAL VerticalCSNNPtr
+ alterUnit(const common::UnitOfMeasure &unit) const;
+
+ //! @endcond
+
protected:
PROJ_INTERNAL explicit VerticalCS(const CoordinateSystemAxisNNPtr &axisIn);
INLINED_MAKE_SHARED
@@ -460,11 +477,23 @@ class PROJ_GCC_DLL CartesianCS final : public CoordinateSystem {
const CoordinateSystemAxisNNPtr &axis1,
const CoordinateSystemAxisNNPtr &axis2,
const CoordinateSystemAxisNNPtr &axis3);
+
PROJ_DLL static CartesianCSNNPtr
createEastingNorthing(const common::UnitOfMeasure &unit);
+
+ PROJ_DLL static CartesianCSNNPtr
+ createNorthingEasting(const common::UnitOfMeasure &unit);
+
PROJ_DLL static CartesianCSNNPtr
createGeocentric(const common::UnitOfMeasure &unit);
+ PROJ_PRIVATE :
+ //! @cond Doxygen_Suppress
+ PROJ_INTERNAL CartesianCSNNPtr
+ alterUnit(const common::UnitOfMeasure &unit) const;
+
+ //! @endcond
+
protected:
PROJ_INTERNAL explicit CartesianCS(
const std::vector<CoordinateSystemAxisNNPtr> &axisIn);
diff --git a/include/proj/crs.hpp b/include/proj/crs.hpp
index 82b2bd49..bdb36cd4 100644
--- a/include/proj/crs.hpp
+++ b/include/proj/crs.hpp
@@ -108,6 +108,16 @@ class PROJ_GCC_DLL CRS : public common::ObjectUsage {
PROJ_FOR_TEST CRSNNPtr shallowClone() const;
+ PROJ_FOR_TEST CRSNNPtr alterName(const std::string &newName) const;
+
+ PROJ_INTERNAL const std::string &getExtensionProj4() const noexcept;
+
+ PROJ_FOR_TEST CRSNNPtr
+ alterGeodeticCRS(const GeodeticCRSNNPtr &newGeodCRS) const;
+
+ PROJ_FOR_TEST CRSNNPtr
+ alterCSLinearUnit(const common::UnitOfMeasure &unit) const;
+
//! @endcond
protected:
@@ -555,6 +565,9 @@ class PROJ_GCC_DLL ProjectedCRS final : public DerivedCRS,
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+ PROJ_FOR_TEST ProjectedCRSNNPtr alterParametersLinearUnit(
+ const common::UnitOfMeasure &unit, bool convertToNewUnit) const;
+
//! @endcond
protected:
diff --git a/include/proj/internal/internal.hpp b/include/proj/internal/internal.hpp
index 85dd5ac3..b16e12bc 100644
--- a/include/proj/internal/internal.hpp
+++ b/include/proj/internal/internal.hpp
@@ -104,7 +104,7 @@ PROJ_FOR_TEST std::string replaceAll(const std::string &str,
const std::string &before,
const std::string &after);
-size_t ci_find(const std::string &osStr, const char *needle) noexcept;
+PROJ_DLL size_t ci_find(const std::string &osStr, const char *needle) noexcept;
size_t ci_find(const std::string &osStr, const std::string &needle,
size_t startPos = 0) noexcept;
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index c649fa9f..ba7e9f53 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -134,6 +134,14 @@ using DatabaseContextNNPtr = util::nn<DatabaseContextPtr>;
// ---------------------------------------------------------------------------
+class WKTNode;
+/** Unique pointer of WKTNode. */
+using WKTNodePtr = std::unique_ptr<WKTNode>;
+/** Non-null unique pointer of WKTNode. */
+using WKTNodeNNPtr = util::nn<WKTNodePtr>;
+
+// ---------------------------------------------------------------------------
+
class WKTFormatter;
/** WKTFormatter unique pointer. */
using WKTFormatterPtr = std::unique_ptr<WKTFormatter>;
@@ -308,6 +316,8 @@ class PROJ_GCC_DLL WKTFormatter {
PROJ_INTERNAL const DatabaseContextPtr &databaseContext() const;
+ PROJ_INTERNAL void ingestWKTNode(const WKTNodeNNPtr &node);
+
//! @endcond
protected:
@@ -365,6 +375,7 @@ class PROJ_GCC_DLL PROJStringFormatter {
PROJ_DLL void stopInversion();
PROJ_INTERNAL bool isInverted() const;
PROJ_INTERNAL bool getUseETMercForTMerc(bool &settingSetOut) const;
+ PROJ_INTERNAL void setCoordinateOperationOptimizations(bool enable);
PROJ_DLL void
ingestPROJString(const std::string &str); // throw ParsingException
@@ -554,12 +565,6 @@ class PROJ_GCC_DLL IPROJStringExportable {
// ---------------------------------------------------------------------------
-class WKTNode;
-/** Unique pointer of WKTNode. */
-using WKTNodePtr = std::unique_ptr<WKTNode>;
-/** Non-null unique pointer of WKTNode. */
-using WKTNodeNNPtr = util::nn<WKTNodePtr>;
-
/** \brief Node in the tree-splitted WKT representation.
*/
class PROJ_GCC_DLL WKTNode {
@@ -597,7 +602,8 @@ class PROJ_GCC_DLL WKTNode {
PROJ_DLL util::BaseObjectNNPtr
createFromUserInput(const std::string &text,
- const DatabaseContextPtr &dbContext);
+ const DatabaseContextPtr &dbContext,
+ bool usePROJ4InitRules = false);
// ---------------------------------------------------------------------------
@@ -654,6 +660,8 @@ class PROJ_GCC_DLL PROJStringParser {
PROJ_DLL PROJStringParser &
attachDatabaseContext(const DatabaseContextPtr &dbContext);
+ PROJ_DLL PROJStringParser &setUsePROJ4InitRules(bool enable);
+
PROJ_DLL std::vector<std::string> warningList() const;
PROJ_DLL util::BaseObjectNNPtr createFromPROJString(
@@ -686,6 +694,8 @@ class PROJ_GCC_DLL DatabaseContext {
PROJ_DLL const std::string &getPath() const;
+ PROJ_DLL const char *getMetadata(const char *key) const;
+
PROJ_DLL std::set<std::string> getAuthorities() const;
PROJ_DLL std::vector<std::string> getDatabaseStructure() const;
@@ -718,6 +728,9 @@ class PROJ_GCC_DLL DatabaseContext {
PROJ_INTERNAL bool isKnownName(const std::string &name,
const std::string &tableName) const;
+ PROJ_INTERNAL std::string getTextDefinition(const std::string &tableName,
+ const std::string &authName,
+ const std::string &code) const;
//! @endcond
protected:
diff --git a/scripts/build_db_from_esri.py b/scripts/build_db_from_esri.py
index f642b473..bea48925 100755
--- a/scripts/build_db_from_esri.py
+++ b/scripts/build_db_from_esri.py
@@ -54,6 +54,9 @@ all_sql = []
version = 'ArcMap 10.6.1 / ArcGISPro 2.2'
all_sql.append(
"""INSERT INTO "metadata" VALUES('ESRI.VERSION', '%s');""" % (version))
+date = '2018-09-19'
+all_sql.append(
+ """INSERT INTO "metadata" VALUES('ESRI.DATE', '%s');""" % (date))
def escape_literal(x):
diff --git a/scripts/create_c_api_projections.py b/scripts/create_c_api_projections.py
index 5d10a16b..897212ee 100755
--- a/scripts/create_c_api_projections.py
+++ b/scripts/create_c_api_projections.py
@@ -56,6 +56,21 @@ cppfile.write("\n");
test_cppfile.write("/* BEGIN: Generated by scripts/create_c_api_projections.py*/\n")
+def snake_casify(s):
+ out = ''
+ lastWasLowerAlpha = False
+ for c in s:
+ if c.isupper():
+ if lastWasLowerAlpha:
+ out += '_'
+ out += c.lower()
+ lastWasLowerAlpha = False
+ else:
+ out += c
+ lastWasLowerAlpha = c.isalpha()
+ return out
+
+
for sectiondef in compounddef.iter('sectiondef'):
if sectiondef.attrib['kind'] == 'public-static-func':
for func in sectiondef.iter('memberdef'):
@@ -76,26 +91,35 @@ for sectiondef in compounddef.iter('sectiondef'):
paramname = param.find('declname').text
if paramname == 'properties':
continue
- params.append((type, paramname))
+ params.append((type, snake_casify(paramname)))
shortName = name[len('create'):]
+ c_shortName = snake_casify(shortName)
- decl = "proj_obj_create_projected_crs_"
- decl += shortName
+ decl = "proj_obj_create_conversion_"
+ decl += c_shortName
decl += "(\n"
- decl += " PJ_OBJ* geodetic_crs, const char* crs_name,\n"
+ decl += " PJ_CONTEXT *ctx,\n"
+ has_output_params = False
for param in params:
+ if has_output_params:
+ decl += ",\n"
+
if param[0] in ('int', 'bool'):
- decl += " int " + param[1] + ",\n"
+ decl += " int " + param[1]
else:
- decl += " double " + param[1] + ",\n"
+ decl += " double " + param[1]
+ has_output_params = True
+
if has_angle:
- decl += " const char* angUnitName, double angUnitConvFactor"
- if has_linear:
- decl += ","
- decl += "\n"
+ if has_output_params:
+ decl += ",\n"
+ decl += " const char* ang_unit_name, double ang_unit_conv_factor"
+ has_output_params = True
if has_linear:
- decl += " const char* linearUnitName, double linearUnitConvFactor"
+ if has_output_params:
+ decl += ",\n"
+ decl += " const char* linear_unit_name, double linear_unit_conv_factor"
decl += ")"
header.write("PJ_OBJ PROJ_DLL *" + decl + ";\n\n")
@@ -108,17 +132,17 @@ for sectiondef in compounddef.iter('sectiondef'):
cppfile.write(" *\n")
cppfile.write(" * See osgeo::proj::operation::Conversion::create" + shortName + "().\n")
cppfile.write(" *\n")
- cppfile.write(" * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).\n")
+ cppfile.write(" * Linear parameters are expressed in (linear_unit_name, linear_unit_conv_factor).\n")
if has_angle:
- cppfile.write(" * Angular parameters are expressed in (angUnitName, angUnitConvFactor).\n")
+ cppfile.write(" * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).\n")
cppfile.write(" */\n")
cppfile.write("PJ_OBJ* " + decl + "{\n");
- if not has_linear:
- cppfile.write(" const auto& linearUnit = UnitOfMeasure::METRE;\n")
- else:
- cppfile.write(" UnitOfMeasure linearUnit(createLinearUnit(linearUnitName, linearUnitConvFactor));\n")
+ cppfile.write(" SANITIZE_CTX(ctx);\n");
+ cppfile.write(" try {\n");
+ if has_linear:
+ cppfile.write(" UnitOfMeasure linearUnit(createLinearUnit(linear_unit_name, linear_unit_conv_factor));\n")
if has_angle:
- cppfile.write(" UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));\n")
+ cppfile.write(" UnitOfMeasure angUnit(createAngularUnit(ang_unit_name, ang_unit_conv_factor));\n")
cppfile.write(" auto conv = Conversion::create" + shortName + "(PropertyMap()")
for param in params:
if param[0] in 'int':
@@ -133,12 +157,16 @@ for sectiondef in compounddef.iter('sectiondef'):
cppfile.write(", Scale(" + param[1] + ")")
cppfile.write(");\n")
- cppfile.write(" return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv, linearUnit);\n")
+ cppfile.write(" return proj_obj_create_conversion(conv);\n")
+ cppfile.write(" } catch (const std::exception &e) {\n");
+ cppfile.write(" proj_log_error(ctx, __FUNCTION__, e.what());\n")
+ cppfile.write(" }\n")
+ cppfile.write(" return nullptr;\n")
cppfile.write("}\n")
test_cppfile.write("{\n")
- test_cppfile.write(" auto projCRS = proj_obj_create_projected_crs_" + shortName + "(\n")
- test_cppfile.write(" geogCRS, nullptr")
+ test_cppfile.write(" auto projCRS = proj_obj_create_conversion_" + c_shortName + "(\n")
+ test_cppfile.write(" m_ctxt")
for param in params:
test_cppfile.write(", 0")
if has_angle:
diff --git a/scripts/reformat_cpp.sh b/scripts/reformat_cpp.sh
index 51127529..b50fa1e1 100755
--- a/scripts/reformat_cpp.sh
+++ b/scripts/reformat_cpp.sh
@@ -15,7 +15,7 @@ esac
TOPDIR="$SCRIPT_DIR/.."
-for i in "$TOPDIR"/include/proj/*.hpp "$TOPDIR"/include/proj/internal/*.hpp "$TOPDIR"/src/*.cpp "$TOPDIR"/test/unit/test*.cpp; do
+for i in "$TOPDIR"/include/proj/*.hpp "$TOPDIR"/include/proj/internal/*.hpp "$TOPDIR"/src/*.cpp "$TOPDIR"/test/unit/*.cpp; do
if ! echo "$i" | grep -q "lru_cache.hpp"; then
"$SCRIPT_DIR"/reformat.sh "$i";
fi
diff --git a/src/Makefile.am b/src/Makefile.am
index 81524e82..99158f02 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -10,7 +10,7 @@ AM_CPPFLAGS = -DPROJ_LIB=\"$(pkgdatadir)\" \
-DMUTEX_@MUTEX_SETTING@ @JNI_INCLUDE@ -I$(top_srcdir)/include @SQLITE3_FLAGS@
AM_CXXFLAGS = @CXX_WFLAGS@ @FLTO_FLAG@ -DPROJ_COMPILATION
-include_HEADERS = proj.h proj_constants.h proj_api.h geodesic.h \
+include_HEADERS = proj.h proj_experimental.h proj_constants.h proj_api.h geodesic.h \
org_proj4_PJ.h proj_symbol_rename.h
EXTRA_DIST = bin_cct.cmake bin_gie.cmake bin_cs2cs.cmake \
@@ -19,7 +19,7 @@ EXTRA_DIST = bin_cct.cmake bin_gie.cmake bin_cs2cs.cmake \
proj_SOURCES = proj.c gen_cheb.c p_series.c
projinfo_SOURCES = projinfo.cpp
-cs2cs_SOURCES = cs2cs.c gen_cheb.c p_series.c
+cs2cs_SOURCES = cs2cs.cpp gen_cheb.c p_series.c
cct_SOURCES = cct.c proj_strtod.c proj_strtod.h optargpm.h
nad2bin_SOURCES = nad2bin.c
geod_SOURCES = geod.c geod_set.c geod_interface.c geod_interface.h
diff --git a/src/bin_cs2cs.cmake b/src/bin_cs2cs.cmake
index bdb16e1a..9c013dcc 100644
--- a/src/bin_cs2cs.cmake
+++ b/src/bin_cs2cs.cmake
@@ -1,4 +1,4 @@
-set(CS2CS_SRC cs2cs.c
+set(CS2CS_SRC cs2cs.cpp
gen_cheb.c
p_series.c)
diff --git a/src/c_api.cpp b/src/c_api.cpp
index fbba0f51..7a991765 100644
--- a/src/c_api.cpp
+++ b/src/c_api.cpp
@@ -39,6 +39,7 @@
#include "proj/common.hpp"
#include "proj/coordinateoperation.hpp"
+#include "proj/coordinatesystem.hpp"
#include "proj/crs.hpp"
#include "proj/datum.hpp"
#include "proj/io.hpp"
@@ -51,11 +52,13 @@
// clang-format off
#include "proj_internal.h"
#include "proj.h"
+#include "proj_experimental.h"
#include "projects.h"
// clang-format on
using namespace NS_PROJ::common;
using namespace NS_PROJ::crs;
+using namespace NS_PROJ::cs;
using namespace NS_PROJ::datum;
using namespace NS_PROJ::io;
using namespace NS_PROJ::internal;
@@ -90,19 +93,16 @@ static void PROJ_NO_INLINE proj_log_debug(PJ_CONTEXT *ctx, const char *function,
* Operation. Should be used by at most one thread at a time. */
struct PJ_OBJ {
//! @cond Doxygen_Suppress
- PJ_CONTEXT *ctx;
IdentifiedObjectNNPtr obj;
// cached results
- std::string lastWKT{};
- std::string lastPROJString{};
- bool gridsNeededAsked = false;
- std::vector<GridDescription> gridsNeeded{};
+ mutable std::string lastWKT{};
+ mutable std::string lastPROJString{};
+ mutable bool gridsNeededAsked = false;
+ mutable std::vector<GridDescription> gridsNeeded{};
- explicit PJ_OBJ(PJ_CONTEXT *ctxIn, const IdentifiedObjectNNPtr &objIn)
- : ctx(ctxIn), obj(objIn) {}
- static PJ_OBJ *create(PJ_CONTEXT *ctxIn,
- const IdentifiedObjectNNPtr &objIn);
+ explicit PJ_OBJ(const IdentifiedObjectNNPtr &objIn) : obj(objIn) {}
+ static PJ_OBJ *create(const IdentifiedObjectNNPtr &objIn);
PJ_OBJ(const PJ_OBJ &) = delete;
PJ_OBJ &operator=(const PJ_OBJ &) = delete;
@@ -110,8 +110,8 @@ struct PJ_OBJ {
};
//! @cond Doxygen_Suppress
-PJ_OBJ *PJ_OBJ::create(PJ_CONTEXT *ctxIn, const IdentifiedObjectNNPtr &objIn) {
- return new PJ_OBJ(ctxIn, objIn);
+PJ_OBJ *PJ_OBJ::create(const IdentifiedObjectNNPtr &objIn) {
+ return new PJ_OBJ(objIn);
}
//! @endcond
@@ -120,12 +120,10 @@ PJ_OBJ *PJ_OBJ::create(PJ_CONTEXT *ctxIn, const IdentifiedObjectNNPtr &objIn) {
/** \brief Opaque object representing a set of operation results. */
struct PJ_OBJ_LIST {
//! @cond Doxygen_Suppress
- PJ_CONTEXT *ctx;
std::vector<IdentifiedObjectNNPtr> objects;
- explicit PJ_OBJ_LIST(PJ_CONTEXT *ctxIn,
- std::vector<IdentifiedObjectNNPtr> &&objectsIn)
- : ctx(ctxIn), objects(std::move(objectsIn)) {}
+ explicit PJ_OBJ_LIST(std::vector<IdentifiedObjectNNPtr> &&objectsIn)
+ : objects(std::move(objectsIn)) {}
PJ_OBJ_LIST(const PJ_OBJ_LIST &) = delete;
PJ_OBJ_LIST &operator=(const PJ_OBJ_LIST &) = delete;
@@ -140,11 +138,11 @@ struct PJ_OBJ_LIST {
struct projCppContext {
DatabaseContextNNPtr databaseContext;
- explicit projCppContext(PJ_CONTEXT *ctxt, const char *dbPath = nullptr,
+ explicit projCppContext(PJ_CONTEXT *ctx, const char *dbPath = nullptr,
const char *const *auxDbPaths = nullptr)
: databaseContext(DatabaseContext::create(
dbPath ? dbPath : std::string(), toVector(auxDbPaths))) {
- databaseContext->attachPJContext(ctxt);
+ databaseContext->attachPJContext(ctx);
}
static std::vector<std::string> toVector(const char *const *auxDbPaths) {
@@ -250,6 +248,28 @@ const char *proj_context_get_database_path(PJ_CONTEXT *ctx) {
// ---------------------------------------------------------------------------
+/** \brief Return a metadata from the database.
+ *
+ * The returned pointer remains valid while ctx is valid, and until
+ * proj_context_get_database_metadata() is called.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param key Metadata key. Must not be NULL
+ * @return value, or nullptr
+ */
+const char *proj_context_get_database_metadata(PJ_CONTEXT *ctx,
+ const char *key) {
+ SANITIZE_CTX(ctx);
+ try {
+ return getDBcontext(ctx)->getMetadata(key);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
/** \brief Guess the "dialect" of the WKT string.
*
* @param ctx PROJ context, or NULL for default context
@@ -276,6 +296,43 @@ PJ_GUESSED_WKT_DIALECT proj_context_guess_wkt_dialect(PJ_CONTEXT *ctx,
// ---------------------------------------------------------------------------
+//! @cond Doxygen_Suppress
+static const char *getOptionValue(const char *option,
+ const char *keyWithEqual) noexcept {
+ if (ci_starts_with(option, keyWithEqual)) {
+ return option + strlen(keyWithEqual);
+ }
+ return nullptr;
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+/** \brief "Clone" an object.
+ *
+ * Technically this just increases the reference counter on the object, since
+ * PJ_OBJ objects are immutable.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param obj Object to clone. Must not be NULL.
+ * @return Object that must be unreferenced with proj_obj_unref(), or NULL in
+ * case of error.
+ */
+PJ_OBJ *proj_obj_clone(PJ_CONTEXT *ctx, const PJ_OBJ *obj) {
+ SANITIZE_CTX(ctx);
+ try {
+ return PJ_OBJ::create(obj->obj);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
/** \brief Instanciate an object from a WKT string, PROJ string or object code
* (like "EPSG:4326", "urn:ogc:def:crs:EPSG::4326",
* "urn:ogc:def:coordinateOperation:EPSG::1671").
@@ -287,7 +344,17 @@ PJ_GUESSED_WKT_DIALECT proj_context_guess_wkt_dialect(PJ_CONTEXT *ctx,
*
* @param ctx PROJ context, or NULL for default context
* @param text String (must not be NULL)
- * @param options should be set to NULL for now
+ * @param options null-terminated list of options, or NULL. Currently
+ * supported options are:
+ * <ul>
+ * <li>USE_PROJ4_INIT_RULES=YES/NO. Defaults to NO. When set to YES,
+ * init=epsg:XXXX syntax will be allowed and will be interpreted according to
+ * PROJ.4 and PROJ.5 rules, that is geodeticCRS will have longitude, latitude
+ * order and will expect/output coordinates in radians. ProjectedCRS will have
+ * easting, northing axis order (except the ones with Transverse Mercator South
+ * Orientated projection). In that mode, the epsg:XXXX syntax will be also
+ * interprated the same way.</li>
+ * </ul>
* @return Object that must be unreferenced with proj_obj_unref(), or NULL in
* case of error.
*/
@@ -298,10 +365,22 @@ PJ_OBJ *proj_obj_create_from_user_input(PJ_CONTEXT *ctx, const char *text,
(void)options;
auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
try {
+ bool usePROJ4InitRules = false;
+ for (auto iter = options; iter && iter[0]; ++iter) {
+ const char *value;
+ if ((value = getOptionValue(*iter, "USE_PROJ4_INIT_RULES="))) {
+ usePROJ4InitRules = ci_equal(value, "YES");
+ } else {
+ std::string msg("Unknown option :");
+ msg += *iter;
+ proj_log_error(ctx, __FUNCTION__, msg.c_str());
+ return nullptr;
+ }
+ }
auto identifiedObject = nn_dynamic_pointer_cast<IdentifiedObject>(
- createFromUserInput(text, dbContext));
+ createFromUserInput(text, dbContext, usePROJ4InitRules));
if (identifiedObject) {
- return PJ_OBJ::create(ctx, NN_NO_CHECK(identifiedObject));
+ return PJ_OBJ::create(NN_NO_CHECK(identifiedObject));
}
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
@@ -330,10 +409,15 @@ PJ_OBJ *proj_obj_create_from_wkt(PJ_CONTEXT *ctx, const char *wkt,
assert(wkt);
(void)options;
try {
+ WKTParser parser;
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
+ if (dbContext) {
+ parser.attachDatabaseContext(NN_NO_CHECK(dbContext));
+ }
auto identifiedObject = nn_dynamic_pointer_cast<IdentifiedObject>(
- WKTParser().createFromWKT(wkt));
+ parser.createFromWKT(wkt));
if (identifiedObject) {
- return PJ_OBJ::create(ctx, NN_NO_CHECK(identifiedObject));
+ return PJ_OBJ::create(NN_NO_CHECK(identifiedObject));
}
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
@@ -363,10 +447,15 @@ PJ_OBJ *proj_obj_create_from_proj_string(PJ_CONTEXT *ctx,
(void)options;
assert(proj_string);
try {
+ PROJStringParser parser;
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
+ if (dbContext) {
+ parser.attachDatabaseContext(NN_NO_CHECK(dbContext));
+ }
auto identifiedObject = nn_dynamic_pointer_cast<IdentifiedObject>(
- PROJStringParser().createFromPROJString(proj_string));
+ parser.createFromPROJString(proj_string));
if (identifiedObject) {
- return PJ_OBJ::create(ctx, NN_NO_CHECK(identifiedObject));
+ return PJ_OBJ::create(NN_NO_CHECK(identifiedObject));
}
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
@@ -423,7 +512,7 @@ PJ_OBJ *proj_obj_create_from_database(PJ_CONTEXT *ctx, const char *auth_name,
.as_nullable();
break;
}
- return PJ_OBJ::create(ctx, NN_NO_CHECK(obj));
+ return PJ_OBJ::create(NN_NO_CHECK(obj));
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
}
@@ -503,6 +592,10 @@ convertPJObjectTypeToObjectType(PJ_OBJ_TYPE type, bool &valid) {
cppType = AuthorityFactory::ObjectType::COMPOUND_CRS;
break;
+ case PJ_OBJ_TYPE_ENGINEERING_CRS:
+ valid = false;
+ break;
+
case PJ_OBJ_TYPE_TEMPORAL_CRS:
valid = false;
break;
@@ -586,7 +679,7 @@ PJ_OBJ_LIST *proj_obj_create_from_name(PJ_CONTEXT *ctx, const char *auth_name,
for (const auto &obj : res) {
objects.push_back(obj);
}
- return new PJ_OBJ_LIST(ctx, std::move(objects));
+ return new PJ_OBJ_LIST(std::move(objects));
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
}
@@ -600,7 +693,7 @@ PJ_OBJ_LIST *proj_obj_create_from_name(PJ_CONTEXT *ctx, const char *auth_name,
* @param obj Object (must not be NULL)
* @return its type.
*/
-PJ_OBJ_TYPE proj_obj_get_type(PJ_OBJ *obj) {
+PJ_OBJ_TYPE proj_obj_get_type(const PJ_OBJ *obj) {
assert(obj);
auto ptr = obj->obj.get();
if (dynamic_cast<Ellipsoid *>(ptr)) {
@@ -657,6 +750,9 @@ PJ_OBJ_TYPE proj_obj_get_type(PJ_OBJ *obj) {
if (dynamic_cast<TemporalCRS *>(ptr)) {
return PJ_OBJ_TYPE_TEMPORAL_CRS;
}
+ if (dynamic_cast<EngineeringCRS *>(ptr)) {
+ return PJ_OBJ_TYPE_ENGINEERING_CRS;
+ }
if (dynamic_cast<BoundCRS *>(ptr)) {
return PJ_OBJ_TYPE_BOUND_CRS;
}
@@ -687,7 +783,7 @@ PJ_OBJ_TYPE proj_obj_get_type(PJ_OBJ *obj) {
* @param obj Object (must not be NULL)
* @return TRUE if it is deprecated, FALSE otherwise
*/
-int proj_obj_is_deprecated(PJ_OBJ *obj) {
+int proj_obj_is_deprecated(const PJ_OBJ *obj) {
assert(obj);
return obj->obj->isDeprecated();
}
@@ -701,7 +797,7 @@ int proj_obj_is_deprecated(PJ_OBJ *obj) {
* @param criterion Comparison criterion
* @return TRUE if they are equivalent
*/
-int proj_obj_is_equivalent_to(PJ_OBJ *obj, PJ_OBJ *other,
+int proj_obj_is_equivalent_to(const PJ_OBJ *obj, const PJ_OBJ *other,
PJ_COMPARISON_CRITERION criterion) {
assert(obj);
assert(other);
@@ -738,7 +834,7 @@ int proj_obj_is_equivalent_to(PJ_OBJ *obj, PJ_OBJ *other,
*
* @param obj Object (must not be NULL)
*/
-int proj_obj_is_crs(PJ_OBJ *obj) {
+int proj_obj_is_crs(const PJ_OBJ *obj) {
assert(obj);
return dynamic_cast<CRS *>(obj->obj.get()) != nullptr;
}
@@ -752,7 +848,7 @@ int proj_obj_is_crs(PJ_OBJ *obj) {
* @param obj Object (must not be NULL)
* @return a string, or NULL in case of error or missing name.
*/
-const char *proj_obj_get_name(PJ_OBJ *obj) {
+const char *proj_obj_get_name(const PJ_OBJ *obj) {
assert(obj);
const auto &desc = obj->obj->name()->description();
if (!desc.has_value()) {
@@ -773,7 +869,7 @@ const char *proj_obj_get_name(PJ_OBJ *obj) {
* @param index Index of the identifier. 0 = first identifier
* @return a string, or NULL in case of error or missing name.
*/
-const char *proj_obj_get_id_auth_name(PJ_OBJ *obj, int index) {
+const char *proj_obj_get_id_auth_name(const PJ_OBJ *obj, int index) {
assert(obj);
const auto &ids = obj->obj->identifiers();
if (static_cast<size_t>(index) >= ids.size()) {
@@ -798,7 +894,7 @@ const char *proj_obj_get_id_auth_name(PJ_OBJ *obj, int index) {
* @param index Index of the identifier. 0 = first identifier
* @return a string, or NULL in case of error or missing name.
*/
-const char *proj_obj_get_id_code(PJ_OBJ *obj, int index) {
+const char *proj_obj_get_id_code(const PJ_OBJ *obj, int index) {
assert(obj);
const auto &ids = obj->obj->identifiers();
if (static_cast<size_t>(index) >= ids.size()) {
@@ -809,18 +905,6 @@ const char *proj_obj_get_id_code(PJ_OBJ *obj, int index) {
// ---------------------------------------------------------------------------
-//! @cond Doxygen_Suppress
-static const char *getOptionValue(const char *option,
- const char *keyWithEqual) noexcept {
- if (ci_starts_with(option, keyWithEqual)) {
- return option + strlen(keyWithEqual);
- }
- return nullptr;
-}
-//! @endcond
-
-// ---------------------------------------------------------------------------
-
/** \brief Get a WKT representation of an object.
*
* The returned string is valid while the input obj parameter is valid,
@@ -831,6 +915,7 @@ static const char *getOptionValue(const char *option,
* This function may return NULL if the object is not compatible with an
* export to the requested type.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Object (must not be NULL)
* @param type WKT version.
* @param options null-terminated list of options, or NULL. Currently
@@ -846,8 +931,9 @@ static const char *getOptionValue(const char *option,
* </ul>
* @return a string, or NULL in case of error.
*/
-const char *proj_obj_as_wkt(PJ_OBJ *obj, PJ_WKT_TYPE type,
- const char *const *options) {
+const char *proj_obj_as_wkt(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ PJ_WKT_TYPE type, const char *const *options) {
+ SANITIZE_CTX(ctx);
assert(obj);
// Make sure that the C and C++ enumerations match
@@ -885,7 +971,8 @@ const char *proj_obj_as_wkt(PJ_OBJ *obj, PJ_WKT_TYPE type,
const WKTFormatter::Convention convention =
static_cast<WKTFormatter::Convention>(type);
try {
- auto formatter = WKTFormatter::create(convention);
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
+ auto formatter = WKTFormatter::create(convention, dbContext);
for (auto iter = options; iter && iter[0]; ++iter) {
const char *value;
if ((value = getOptionValue(*iter, "MULTILINE="))) {
@@ -902,14 +989,14 @@ const char *proj_obj_as_wkt(PJ_OBJ *obj, PJ_WKT_TYPE type,
} else {
std::string msg("Unknown option :");
msg += *iter;
- proj_log_error(obj->ctx, __FUNCTION__, msg.c_str());
+ proj_log_error(ctx, __FUNCTION__, msg.c_str());
return nullptr;
}
}
obj->lastWKT = obj->obj->exportToWKT(formatter.get());
return obj->lastWKT.c_str();
} catch (const std::exception &e) {
- proj_log_error(obj->ctx, __FUNCTION__, e.what());
+ proj_log_error(ctx, __FUNCTION__, e.what());
return nullptr;
}
}
@@ -928,6 +1015,7 @@ const char *proj_obj_as_wkt(PJ_OBJ *obj, PJ_WKT_TYPE type,
* This function may return NULL if the object is not compatible with an
* export to the requested type.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Object (must not be NULL)
* @param type PROJ String version.
* @param options NULL-terminated list of strings with "KEY=VALUE" format. or
@@ -937,14 +1025,15 @@ const char *proj_obj_as_wkt(PJ_OBJ *obj, PJ_WKT_TYPE type,
* use of etmerc by utm conversions)
* @return a string, or NULL in case of error.
*/
-const char *proj_obj_as_proj_string(PJ_OBJ *obj, PJ_PROJ_STRING_TYPE type,
+const char *proj_obj_as_proj_string(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ PJ_PROJ_STRING_TYPE type,
const char *const *options) {
+ SANITIZE_CTX(ctx);
assert(obj);
auto exportable =
dynamic_cast<const IPROJStringExportable *>(obj->obj.get());
if (!exportable) {
- proj_log_error(obj->ctx, __FUNCTION__,
- "Object type not exportable to PROJ");
+ proj_log_error(ctx, __FUNCTION__, "Object type not exportable to PROJ");
return nullptr;
}
// Make sure that the C and C++ enumeration match
@@ -963,7 +1052,7 @@ const char *proj_obj_as_proj_string(PJ_OBJ *obj, PJ_PROJ_STRING_TYPE type,
}
const PROJStringFormatter::Convention convention =
static_cast<PROJStringFormatter::Convention>(type);
- auto dbContext = getDBcontextNoException(obj->ctx, __FUNCTION__);
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
try {
auto formatter = PROJStringFormatter::create(convention, dbContext);
if (options != nullptr && options[0] != nullptr) {
@@ -976,7 +1065,7 @@ const char *proj_obj_as_proj_string(PJ_OBJ *obj, PJ_PROJ_STRING_TYPE type,
obj->lastPROJString = exportable->exportToPROJString(formatter.get());
return obj->lastPROJString.c_str();
} catch (const std::exception &e) {
- proj_log_error(obj->ctx, __FUNCTION__, e.what());
+ proj_log_error(ctx, __FUNCTION__, e.what());
return nullptr;
}
}
@@ -985,29 +1074,34 @@ const char *proj_obj_as_proj_string(PJ_OBJ *obj, PJ_PROJ_STRING_TYPE type,
/** \brief Return the area of use of an object.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Object (must not be NULL)
- * @param p_west_lon Pointer to a double to receive the west longitude (in
- * degrees). Or NULL. If the returned value is -1000, the bounding box is
+ * @param out_west_lon_degree Pointer to a double to receive the west longitude
+ * (in degrees). Or NULL. If the returned value is -1000, the bounding box is
* unknown.
- * @param p_south_lat Pointer to a double to receive the south latitude (in
- * degrees). Or NULL. If the returned value is -1000, the bounding box is
+ * @param out_south_lat_degree Pointer to a double to receive the south latitude
+ * (in degrees). Or NULL. If the returned value is -1000, the bounding box is
* unknown.
- * @param p_east_lon Pointer to a double to receive the east longitude (in
- * degrees). Or NULL. If the returned value is -1000, the bounding box is
+ * @param out_east_lon_degree Pointer to a double to receive the east longitude
+ * (in degrees). Or NULL. If the returned value is -1000, the bounding box is
* unknown.
- * @param p_north_lat Pointer to a double to receive the north latitude (in
- * degrees). Or NULL. If the returned value is -1000, the bounding box is
+ * @param out_north_lat_degree Pointer to a double to receive the north latitude
+ * (in degrees). Or NULL. If the returned value is -1000, the bounding box is
* unknown.
- * @param p_area_name Pointer to a string to receive the name of the area of
+ * @param out_area_name Pointer to a string to receive the name of the area of
* use. Or NULL. *p_area_name is valid while obj is valid itself.
* @return TRUE in case of success, FALSE in case of error or if the area
* of use is unknown.
*/
-int proj_obj_get_area_of_use(PJ_OBJ *obj, double *p_west_lon,
- double *p_south_lat, double *p_east_lon,
- double *p_north_lat, const char **p_area_name) {
- if (p_area_name) {
- *p_area_name = nullptr;
+int proj_obj_get_area_of_use(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ double *out_west_lon_degree,
+ double *out_south_lat_degree,
+ double *out_east_lon_degree,
+ double *out_north_lat_degree,
+ const char **out_area_name) {
+ (void)ctx;
+ if (out_area_name) {
+ *out_area_name = nullptr;
}
auto objectUsage = dynamic_cast<const ObjectUsage *>(obj->obj.get());
if (!objectUsage) {
@@ -1022,8 +1116,8 @@ int proj_obj_get_area_of_use(PJ_OBJ *obj, double *p_west_lon,
return false;
}
const auto &desc = extent->description();
- if (desc.has_value() && p_area_name) {
- *p_area_name = desc->c_str();
+ if (desc.has_value() && out_area_name) {
+ *out_area_name = desc->c_str();
}
const auto &geogElements = extent->geographicElements();
@@ -1031,48 +1125,49 @@ int proj_obj_get_area_of_use(PJ_OBJ *obj, double *p_west_lon,
auto bbox =
dynamic_cast<const GeographicBoundingBox *>(geogElements[0].get());
if (bbox) {
- if (p_west_lon) {
- *p_west_lon = bbox->westBoundLongitude();
+ if (out_west_lon_degree) {
+ *out_west_lon_degree = bbox->westBoundLongitude();
}
- if (p_south_lat) {
- *p_south_lat = bbox->southBoundLatitude();
+ if (out_south_lat_degree) {
+ *out_south_lat_degree = bbox->southBoundLatitude();
}
- if (p_east_lon) {
- *p_east_lon = bbox->eastBoundLongitude();
+ if (out_east_lon_degree) {
+ *out_east_lon_degree = bbox->eastBoundLongitude();
}
- if (p_north_lat) {
- *p_north_lat = bbox->northBoundLatitude();
+ if (out_north_lat_degree) {
+ *out_north_lat_degree = bbox->northBoundLatitude();
}
return true;
}
}
- if (p_west_lon) {
- *p_west_lon = -1000;
+ if (out_west_lon_degree) {
+ *out_west_lon_degree = -1000;
}
- if (p_south_lat) {
- *p_south_lat = -1000;
+ if (out_south_lat_degree) {
+ *out_south_lat_degree = -1000;
}
- if (p_east_lon) {
- *p_east_lon = -1000;
+ if (out_east_lon_degree) {
+ *out_east_lon_degree = -1000;
}
- if (p_north_lat) {
- *p_north_lat = -1000;
+ if (out_north_lat_degree) {
+ *out_north_lat_degree = -1000;
}
return true;
}
// ---------------------------------------------------------------------------
-static const GeodeticCRS *extractGeodeticCRS(PJ_OBJ *crs, const char *fname) {
+static const GeodeticCRS *extractGeodeticCRS(PJ_CONTEXT *ctx, const PJ_OBJ *crs,
+ const char *fname) {
assert(crs);
auto l_crs = dynamic_cast<const CRS *>(crs->obj.get());
if (!l_crs) {
- proj_log_error(crs->ctx, fname, "Object is not a CRS");
+ proj_log_error(ctx, fname, "Object is not a CRS");
return nullptr;
}
auto geodCRS = l_crs->extractGeodeticCRSRaw();
if (!geodCRS) {
- proj_log_error(crs->ctx, fname, "CRS has no geodetic CRS");
+ proj_log_error(ctx, fname, "CRS has no geodetic CRS");
}
return geodCRS;
}
@@ -1085,18 +1180,19 @@ static const GeodeticCRS *extractGeodeticCRS(PJ_OBJ *crs, const char *fname) {
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param crs Objet of type CRS (must not be NULL)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error.
*/
-PJ_OBJ *proj_obj_crs_get_geodetic_crs(PJ_OBJ *crs) {
- auto geodCRS = extractGeodeticCRS(crs, __FUNCTION__);
+PJ_OBJ *proj_obj_crs_get_geodetic_crs(PJ_CONTEXT *ctx, const PJ_OBJ *crs) {
+ SANITIZE_CTX(ctx);
+ auto geodCRS = extractGeodeticCRS(ctx, crs, __FUNCTION__);
if (!geodCRS) {
return nullptr;
}
- return PJ_OBJ::create(crs->ctx,
- NN_NO_CHECK(nn_dynamic_pointer_cast<IdentifiedObject>(
- geodCRS->shared_from_this())));
+ return PJ_OBJ::create(NN_NO_CHECK(nn_dynamic_pointer_cast<IdentifiedObject>(
+ geodCRS->shared_from_this())));
}
// ---------------------------------------------------------------------------
@@ -1107,24 +1203,75 @@ PJ_OBJ *proj_obj_crs_get_geodetic_crs(PJ_OBJ *crs) {
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param crs Objet of type CRS (must not be NULL)
* @param index Index of the CRS component (typically 0 = horizontal, 1 =
* vertical)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error.
*/
-PJ_OBJ *proj_obj_crs_get_sub_crs(PJ_OBJ *crs, int index) {
+PJ_OBJ *proj_obj_crs_get_sub_crs(PJ_CONTEXT *ctx, const PJ_OBJ *crs,
+ int index) {
+ SANITIZE_CTX(ctx);
assert(crs);
auto l_crs = dynamic_cast<CompoundCRS *>(crs->obj.get());
if (!l_crs) {
- proj_log_error(crs->ctx, __FUNCTION__, "Object is not a CompoundCRS");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a CompoundCRS");
return nullptr;
}
const auto &components = l_crs->componentReferenceSystems();
if (static_cast<size_t>(index) >= components.size()) {
return nullptr;
}
- return PJ_OBJ::create(crs->ctx, components[index]);
+ return PJ_OBJ::create(components[index]);
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Returns a BoundCRS
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param base_crs Base CRS (must not be NULL)
+ * @param hub_crs Hub CRS (must not be NULL)
+ * @param transformation Transformation (must not be NULL)
+ * @return Object that must be unreferenced with proj_obj_unref(), or NULL
+ * in case of error.
+ */
+PJ_OBJ *proj_obj_crs_create_bound_crs(PJ_CONTEXT *ctx, const PJ_OBJ *base_crs,
+ const PJ_OBJ *hub_crs,
+ const PJ_OBJ *transformation) {
+ SANITIZE_CTX(ctx);
+ assert(base_crs);
+ assert(hub_crs);
+ assert(transformation);
+ auto l_base_crs = util::nn_dynamic_pointer_cast<CRS>(base_crs->obj);
+ if (!l_base_crs) {
+ proj_log_error(ctx, __FUNCTION__, "base_crs is not a CRS");
+ return nullptr;
+ }
+ auto l_hub_crs = util::nn_dynamic_pointer_cast<CRS>(hub_crs->obj);
+ if (!l_hub_crs) {
+ proj_log_error(ctx, __FUNCTION__, "hub_crs is not a CRS");
+ return nullptr;
+ }
+ auto l_transformation =
+ util::nn_dynamic_pointer_cast<Transformation>(transformation->obj);
+ if (!l_transformation) {
+ proj_log_error(ctx, __FUNCTION__, "transformation is not a CRS");
+ return nullptr;
+ }
+ try {
+ return PJ_OBJ::create(BoundCRS::create(NN_NO_CHECK(l_base_crs),
+ NN_NO_CHECK(l_hub_crs),
+ NN_NO_CHECK(l_transformation)));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
}
// ---------------------------------------------------------------------------
@@ -1139,20 +1286,28 @@ PJ_OBJ *proj_obj_crs_get_sub_crs(PJ_OBJ *crs, int index) {
* This is the same as method
* osgeo::proj::crs::CRS::createBoundCRSToWGS84IfPossible()
*
+ * @param ctx PROJ context, or NULL for default context
* @param crs Objet of type CRS (must not be NULL)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error.
*/
-PJ_OBJ *proj_obj_crs_create_bound_crs_to_WGS84(PJ_OBJ *crs) {
+PJ_OBJ *proj_obj_crs_create_bound_crs_to_WGS84(PJ_CONTEXT *ctx,
+ const PJ_OBJ *crs) {
+ SANITIZE_CTX(ctx);
assert(crs);
auto l_crs = dynamic_cast<const CRS *>(crs->obj.get());
if (!l_crs) {
- proj_log_error(crs->ctx, __FUNCTION__, "Object is not a CRS");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a CRS");
+ return nullptr;
+ }
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
+ try {
+ return PJ_OBJ::create(
+ l_crs->createBoundCRSToWGS84IfPossible(dbContext));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
return nullptr;
}
- auto dbContext = getDBcontextNoException(crs->ctx, __FUNCTION__);
- return PJ_OBJ::create(crs->ctx,
- l_crs->createBoundCRSToWGS84IfPossible(dbContext));
}
// ---------------------------------------------------------------------------
@@ -1163,24 +1318,26 @@ PJ_OBJ *proj_obj_crs_create_bound_crs_to_WGS84(PJ_OBJ *crs) {
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Objet of type CRS or GeodeticReferenceFrame (must not be NULL)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error.
*/
-PJ_OBJ *proj_obj_get_ellipsoid(PJ_OBJ *obj) {
+PJ_OBJ *proj_obj_get_ellipsoid(PJ_CONTEXT *ctx, const PJ_OBJ *obj) {
+ SANITIZE_CTX(ctx);
auto ptr = obj->obj.get();
if (dynamic_cast<const CRS *>(ptr)) {
- auto geodCRS = extractGeodeticCRS(obj, __FUNCTION__);
+ auto geodCRS = extractGeodeticCRS(ctx, obj, __FUNCTION__);
if (geodCRS) {
- return PJ_OBJ::create(obj->ctx, geodCRS->ellipsoid());
+ return PJ_OBJ::create(geodCRS->ellipsoid());
}
} else {
auto datum = dynamic_cast<const GeodeticReferenceFrame *>(ptr);
if (datum) {
- return PJ_OBJ::create(obj->ctx, datum->ellipsoid());
+ return PJ_OBJ::create(datum->ellipsoid());
}
}
- proj_log_error(obj->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a CRS or GeodeticReferenceFrame");
return nullptr;
}
@@ -1193,25 +1350,27 @@ PJ_OBJ *proj_obj_get_ellipsoid(PJ_OBJ *obj) {
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param crs Objet of type CRS (must not be NULL)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error.
*/
-PJ_OBJ *proj_obj_crs_get_horizontal_datum(PJ_OBJ *crs) {
- auto geodCRS = extractGeodeticCRS(crs, __FUNCTION__);
+PJ_OBJ *proj_obj_crs_get_horizontal_datum(PJ_CONTEXT *ctx, const PJ_OBJ *crs) {
+ SANITIZE_CTX(ctx);
+ auto geodCRS = extractGeodeticCRS(ctx, crs, __FUNCTION__);
if (!geodCRS) {
return nullptr;
}
const auto &datum = geodCRS->datum();
if (datum) {
- return PJ_OBJ::create(crs->ctx, NN_NO_CHECK(datum));
+ return PJ_OBJ::create(NN_NO_CHECK(datum));
}
const auto &datumEnsemble = geodCRS->datumEnsemble();
if (datumEnsemble) {
- return PJ_OBJ::create(crs->ctx, NN_NO_CHECK(datumEnsemble));
+ return PJ_OBJ::create(NN_NO_CHECK(datumEnsemble));
}
- proj_log_error(crs->ctx, __FUNCTION__, "CRS has no datum");
+ proj_log_error(ctx, __FUNCTION__, "CRS has no datum");
return nullptr;
}
@@ -1219,42 +1378,48 @@ PJ_OBJ *proj_obj_crs_get_horizontal_datum(PJ_OBJ *crs) {
/** \brief Return ellipsoid parameters.
*
+ * @param ctx PROJ context, or NULL for default context
* @param ellipsoid Object of type Ellipsoid (must not be NULL)
- * @param pSemiMajorMetre Pointer to a value to store the semi-major axis in
+ * @param out_semi_major_metre Pointer to a value to store the semi-major axis
+ * in
* metre. or NULL
- * @param pSemiMinorMetre Pointer to a value to store the semi-minor axis in
+ * @param out_semi_minor_metre Pointer to a value to store the semi-minor axis
+ * in
* metre. or NULL
- * @param pIsSemiMinorComputed Pointer to a boolean value to indicate if the
+ * @param out_is_semi_minor_computed Pointer to a boolean value to indicate if
+ * the
* semi-minor value was computed. If FALSE, its value comes from the
* definition. or NULL
- * @param pInverseFlattening Pointer to a value to store the inverse
+ * @param out_inv_flattening Pointer to a value to store the inverse
* flattening. or NULL
* @return TRUE in case of success.
*/
-int proj_obj_ellipsoid_get_parameters(PJ_OBJ *ellipsoid,
- double *pSemiMajorMetre,
- double *pSemiMinorMetre,
- int *pIsSemiMinorComputed,
- double *pInverseFlattening) {
+int proj_obj_ellipsoid_get_parameters(PJ_CONTEXT *ctx, const PJ_OBJ *ellipsoid,
+ double *out_semi_major_metre,
+ double *out_semi_minor_metre,
+ int *out_is_semi_minor_computed,
+ double *out_inv_flattening) {
+ SANITIZE_CTX(ctx);
assert(ellipsoid);
auto l_ellipsoid = dynamic_cast<const Ellipsoid *>(ellipsoid->obj.get());
if (!l_ellipsoid) {
- proj_log_error(ellipsoid->ctx, __FUNCTION__,
- "Object is not a Ellipsoid");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a Ellipsoid");
return FALSE;
}
- if (pSemiMajorMetre) {
- *pSemiMajorMetre = l_ellipsoid->semiMajorAxis().getSIValue();
+ if (out_semi_major_metre) {
+ *out_semi_major_metre = l_ellipsoid->semiMajorAxis().getSIValue();
}
- if (pSemiMinorMetre) {
- *pSemiMinorMetre = l_ellipsoid->computeSemiMinorAxis().getSIValue();
+ if (out_semi_minor_metre) {
+ *out_semi_minor_metre =
+ l_ellipsoid->computeSemiMinorAxis().getSIValue();
}
- if (pIsSemiMinorComputed) {
- *pIsSemiMinorComputed = !(l_ellipsoid->semiMinorAxis().has_value());
+ if (out_is_semi_minor_computed) {
+ *out_is_semi_minor_computed =
+ !(l_ellipsoid->semiMinorAxis().has_value());
}
- if (pInverseFlattening) {
- *pInverseFlattening = l_ellipsoid->computedInverseFlattening();
+ if (out_inv_flattening) {
+ *out_inv_flattening = l_ellipsoid->computedInverseFlattening();
}
return TRUE;
}
@@ -1267,25 +1432,27 @@ int proj_obj_ellipsoid_get_parameters(PJ_OBJ *ellipsoid,
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Objet of type CRS or GeodeticReferenceFrame (must not be NULL)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error.
*/
-PJ_OBJ *proj_obj_get_prime_meridian(PJ_OBJ *obj) {
+PJ_OBJ *proj_obj_get_prime_meridian(PJ_CONTEXT *ctx, const PJ_OBJ *obj) {
+ SANITIZE_CTX(ctx);
auto ptr = obj->obj.get();
if (dynamic_cast<CRS *>(ptr)) {
- auto geodCRS = extractGeodeticCRS(obj, __FUNCTION__);
+ auto geodCRS = extractGeodeticCRS(ctx, obj, __FUNCTION__);
if (geodCRS) {
- return PJ_OBJ::create(obj->ctx, geodCRS->primeMeridian());
+ return PJ_OBJ::create(geodCRS->primeMeridian());
}
} else {
auto datum = dynamic_cast<const GeodeticReferenceFrame *>(ptr);
if (datum) {
- return PJ_OBJ::create(obj->ctx, datum->primeMeridian());
+ return PJ_OBJ::create(datum->primeMeridian());
}
}
- proj_log_error(obj->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a CRS or GeodeticReferenceFrame");
return nullptr;
}
@@ -1294,69 +1461,77 @@ PJ_OBJ *proj_obj_get_prime_meridian(PJ_OBJ *obj) {
/** \brief Return prime meridian parameters.
*
+ * @param ctx PROJ context, or NULL for default context
* @param prime_meridian Object of type PrimeMeridian (must not be NULL)
- * @param pLongitude Pointer to a value to store the longitude of the prime
+ * @param out_longitude Pointer to a value to store the longitude of the prime
* meridian, in its native unit. or NULL
- * @param pLongitudeUnitConvFactor Pointer to a value to store the conversion
+ * @param out_unit_conv_factor Pointer to a value to store the conversion
* factor of the prime meridian longitude unit to radian. or NULL
- * @param pLongitudeUnitName Pointer to a string value to store the unit name.
+ * @param out_unit_name Pointer to a string value to store the unit name.
* or NULL
* @return TRUE in case of success.
*/
-int proj_obj_prime_meridian_get_parameters(PJ_OBJ *prime_meridian,
- double *pLongitude,
- double *pLongitudeUnitConvFactor,
- const char **pLongitudeUnitName) {
+int proj_obj_prime_meridian_get_parameters(PJ_CONTEXT *ctx,
+ const PJ_OBJ *prime_meridian,
+ double *out_longitude,
+ double *out_unit_conv_factor,
+ const char **out_unit_name) {
+ SANITIZE_CTX(ctx);
assert(prime_meridian);
auto l_pm = dynamic_cast<const PrimeMeridian *>(prime_meridian->obj.get());
if (!l_pm) {
- proj_log_error(prime_meridian->ctx, __FUNCTION__,
- "Object is not a PrimeMeridian");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a PrimeMeridian");
return false;
}
const auto &longitude = l_pm->longitude();
- if (pLongitude) {
- *pLongitude = longitude.value();
+ if (out_longitude) {
+ *out_longitude = longitude.value();
}
const auto &unit = longitude.unit();
- if (pLongitudeUnitConvFactor) {
- *pLongitudeUnitConvFactor = unit.conversionToSI();
+ if (out_unit_conv_factor) {
+ *out_unit_conv_factor = unit.conversionToSI();
}
- if (pLongitudeUnitName) {
- *pLongitudeUnitName = unit.name().c_str();
+ if (out_unit_name) {
+ *out_unit_name = unit.name().c_str();
}
return true;
}
// ---------------------------------------------------------------------------
-/** \brief Return the base CRS of a BoundCRS or the source CRS of a
- * CoordinateOperation.
+/** \brief Return the base CRS of a BoundCRS or a DerivedCRS/ProjectedCRS, or
+ * the source CRS of a CoordinateOperation.
*
* The returned object must be unreferenced with proj_obj_unref() after
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Objet of type BoundCRS or CoordinateOperation (must not be NULL)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error, or missing source CRS.
*/
-PJ_OBJ *proj_obj_get_source_crs(PJ_OBJ *obj) {
+PJ_OBJ *proj_obj_get_source_crs(PJ_CONTEXT *ctx, const PJ_OBJ *obj) {
+ SANITIZE_CTX(ctx);
assert(obj);
auto ptr = obj->obj.get();
auto boundCRS = dynamic_cast<const BoundCRS *>(ptr);
if (boundCRS) {
- return PJ_OBJ::create(obj->ctx, boundCRS->baseCRS());
+ return PJ_OBJ::create(boundCRS->baseCRS());
+ }
+ auto derivedCRS = dynamic_cast<const DerivedCRS *>(ptr);
+ if (derivedCRS) {
+ return PJ_OBJ::create(derivedCRS->baseCRS());
}
auto co = dynamic_cast<const CoordinateOperation *>(ptr);
if (co) {
auto sourceCRS = co->sourceCRS();
if (sourceCRS) {
- return PJ_OBJ::create(obj->ctx, NN_NO_CHECK(sourceCRS));
+ return PJ_OBJ::create(NN_NO_CHECK(sourceCRS));
}
return nullptr;
}
- proj_log_error(obj->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a BoundCRS or a CoordinateOperation");
return nullptr;
}
@@ -1370,26 +1545,28 @@ PJ_OBJ *proj_obj_get_source_crs(PJ_OBJ *obj) {
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Objet of type BoundCRS or CoordinateOperation (must not be NULL)
* @return Object that must be unreferenced with proj_obj_unref(), or NULL
* in case of error, or missing target CRS.
*/
-PJ_OBJ *proj_obj_get_target_crs(PJ_OBJ *obj) {
+PJ_OBJ *proj_obj_get_target_crs(PJ_CONTEXT *ctx, const PJ_OBJ *obj) {
+ SANITIZE_CTX(ctx);
assert(obj);
auto ptr = obj->obj.get();
auto boundCRS = dynamic_cast<const BoundCRS *>(ptr);
if (boundCRS) {
- return PJ_OBJ::create(obj->ctx, boundCRS->hubCRS());
+ return PJ_OBJ::create(boundCRS->hubCRS());
}
auto co = dynamic_cast<const CoordinateOperation *>(ptr);
if (co) {
auto targetCRS = co->targetCRS();
if (targetCRS) {
- return PJ_OBJ::create(obj->ctx, NN_NO_CHECK(targetCRS));
+ return PJ_OBJ::create(NN_NO_CHECK(targetCRS));
}
return nullptr;
}
- proj_log_error(obj->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a BoundCRS or a CoordinateOperation");
return nullptr;
}
@@ -1415,36 +1592,40 @@ PJ_OBJ *proj_obj_get_target_crs(PJ_OBJ *obj) {
* This is implemented for GeodeticCRS, ProjectedCRS, VerticalCRS and
* CompoundCRS.
*
+ * @param ctx PROJ context, or NULL for default context
* @param obj Object of type CRS. Must not be NULL
* @param auth_name Authority name, or NULL for all authorities
* @param options Placeholder for future options. Should be set to NULL.
- * @param confidence Output parameter. Pointer to an array of integers that will
- * be allocated by the function and filled with the confidence values
+ * @param out_confidence Output parameter. Pointer to an array of integers that
+ * will be allocated by the function and filled with the confidence values
* (0-100). There are as many elements in this array as
* proj_obj_list_get_count()
* returns on the return value of this function. *confidence should be
* released with proj_free_int_list().
* @return a list of matching reference CRS, or nullptr in case of error.
*/
-PJ_OBJ_LIST *proj_obj_identify(PJ_OBJ *obj, const char *auth_name,
- const char *const *options, int **confidence) {
+PJ_OBJ_LIST *proj_obj_identify(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ const char *auth_name,
+ const char *const *options,
+ int **out_confidence) {
+ SANITIZE_CTX(ctx);
assert(obj);
(void)options;
- if (confidence) {
- *confidence = nullptr;
+ if (out_confidence) {
+ *out_confidence = nullptr;
}
auto ptr = obj->obj.get();
auto crs = dynamic_cast<const CRS *>(ptr);
if (!crs) {
- proj_log_error(obj->ctx, __FUNCTION__, "Object is not a CRS");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a CRS");
} else {
int *confidenceTemp = nullptr;
try {
- auto factory = AuthorityFactory::create(getDBcontext(obj->ctx),
+ auto factory = AuthorityFactory::create(getDBcontext(ctx),
auth_name ? auth_name : "");
auto res = crs->identify(factory);
std::vector<IdentifiedObjectNNPtr> objects;
- confidenceTemp = confidence ? new int[res.size()] : nullptr;
+ confidenceTemp = out_confidence ? new int[res.size()] : nullptr;
size_t i = 0;
for (const auto &pair : res) {
objects.push_back(pair.first);
@@ -1453,16 +1634,15 @@ PJ_OBJ_LIST *proj_obj_identify(PJ_OBJ *obj, const char *auth_name,
++i;
}
}
- auto ret = internal::make_unique<PJ_OBJ_LIST>(obj->ctx,
- std::move(objects));
- if (confidence) {
- *confidence = confidenceTemp;
+ auto ret = internal::make_unique<PJ_OBJ_LIST>(std::move(objects));
+ if (out_confidence) {
+ *out_confidence = confidenceTemp;
confidenceTemp = nullptr;
}
return ret.release();
} catch (const std::exception &e) {
delete[] confidenceTemp;
- proj_log_error(obj->ctx, __FUNCTION__, e.what());
+ proj_log_error(ctx, __FUNCTION__, e.what());
}
}
return nullptr;
@@ -1567,19 +1747,22 @@ void proj_free_string_list(PROJ_STRING_LIST list) {
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param crs Objet of type DerivedCRS or BoundCRSs (must not be NULL)
- * @param pMethodName Pointer to a string value to store the method
+ * @param out_method_name Pointer to a string value to store the method
* (projection) name. or NULL
- * @param pMethodAuthorityName Pointer to a string value to store the method
+ * @param out_method_auth_name Pointer to a string value to store the method
* authority name. or NULL
- * @param pMethodCode Pointer to a string value to store the method
+ * @param out_method_code Pointer to a string value to store the method
* code. or NULL
* @return Object of type SingleOperation that must be unreferenced with
* proj_obj_unref(), or NULL in case of error.
*/
-PJ_OBJ *proj_obj_crs_get_coordoperation(PJ_OBJ *crs, const char **pMethodName,
- const char **pMethodAuthorityName,
- const char **pMethodCode) {
+PJ_OBJ *proj_obj_crs_get_coordoperation(PJ_CONTEXT *ctx, const PJ_OBJ *crs,
+ const char **out_method_name,
+ const char **out_method_auth_name,
+ const char **out_method_code) {
+ SANITIZE_CTX(ctx);
assert(crs);
SingleOperationPtr co;
@@ -1591,7 +1774,7 @@ PJ_OBJ *proj_obj_crs_get_coordoperation(PJ_OBJ *crs, const char **pMethodName,
if (boundCRS) {
co = boundCRS->transformation().as_nullable();
} else {
- proj_log_error(crs->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a DerivedCRS or BoundCRS");
return nullptr;
}
@@ -1599,24 +1782,24 @@ PJ_OBJ *proj_obj_crs_get_coordoperation(PJ_OBJ *crs, const char **pMethodName,
const auto &method = co->method();
const auto &method_ids = method->identifiers();
- if (pMethodName) {
- *pMethodName = method->name()->description()->c_str();
+ if (out_method_name) {
+ *out_method_name = method->name()->description()->c_str();
}
- if (pMethodAuthorityName) {
+ if (out_method_auth_name) {
if (!method_ids.empty()) {
- *pMethodAuthorityName = method_ids[0]->codeSpace()->c_str();
+ *out_method_auth_name = method_ids[0]->codeSpace()->c_str();
} else {
- *pMethodAuthorityName = nullptr;
+ *out_method_auth_name = nullptr;
}
}
- if (pMethodCode) {
+ if (out_method_code) {
if (!method_ids.empty()) {
- *pMethodCode = method_ids[0]->code().c_str();
+ *out_method_code = method_ids[0]->code().c_str();
} else {
- *pMethodCode = nullptr;
+ *out_method_code = nullptr;
}
}
- return PJ_OBJ::create(crs->ctx, NN_NO_CHECK(co));
+ return PJ_OBJ::create(NN_NO_CHECK(co));
}
// ---------------------------------------------------------------------------
@@ -1630,8 +1813,9 @@ static PropertyMap createPropertyMapName(const char *name) {
// ---------------------------------------------------------------------------
static UnitOfMeasure createLinearUnit(const char *name, double convFactor) {
- return name == nullptr ? UnitOfMeasure::METRE
- : UnitOfMeasure(name, convFactor);
+ return name == nullptr
+ ? UnitOfMeasure::METRE
+ : UnitOfMeasure(name, convFactor, UnitOfMeasure::Type::LINEAR);
}
// ---------------------------------------------------------------------------
@@ -1641,75 +1825,117 @@ static UnitOfMeasure createAngularUnit(const char *name, double convFactor) {
? UnitOfMeasure::DEGREE
: ci_equal(name, "grad")
? UnitOfMeasure::GRAD
- : UnitOfMeasure(name, convFactor))
+ : UnitOfMeasure(name, convFactor,
+ UnitOfMeasure::Type::ANGULAR))
: UnitOfMeasure::DEGREE;
}
+
+// ---------------------------------------------------------------------------
+
+static GeodeticReferenceFrameNNPtr createGeodeticReferenceFrame(
+ PJ_CONTEXT *ctx, const char *datum_name, const char *ellps_name,
+ double semi_major_metre, double inv_flattening,
+ const char *prime_meridian_name, double prime_meridian_offset,
+ const char *angular_units, double angular_units_conv) {
+ const UnitOfMeasure angUnit(
+ createAngularUnit(angular_units, angular_units_conv));
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
+ auto body = Ellipsoid::guessBodyName(dbContext, semi_major_metre);
+ auto ellpsName = createPropertyMapName(ellps_name);
+ auto ellps = inv_flattening != 0.0
+ ? Ellipsoid::createFlattenedSphere(
+ ellpsName, Length(semi_major_metre),
+ Scale(inv_flattening), body)
+ : Ellipsoid::createSphere(ellpsName,
+ Length(semi_major_metre), body);
+ auto pm = PrimeMeridian::create(
+ PropertyMap().set(
+ common::IdentifiedObject::NAME_KEY,
+ prime_meridian_name
+ ? prime_meridian_name
+ : prime_meridian_offset == 0.0
+ ? (ellps->celestialBody() == Ellipsoid::EARTH
+ ? "Greenwich"
+ : "Reference meridian")
+ : "unnamed"),
+ Angle(prime_meridian_offset, angUnit));
+
+ std::string datumName(datum_name ? datum_name : "unnamed");
+ if (datumName == "WGS_1984") {
+ datumName = GeodeticReferenceFrame::EPSG_6326->nameStr();
+ } else if (datumName.find('_') != std::string::npos) {
+ // Likely coming from WKT1
+ if (dbContext) {
+ auto authFactory =
+ AuthorityFactory::create(NN_NO_CHECK(dbContext), std::string());
+ auto res = authFactory->createObjectsFromName(
+ datumName,
+ {AuthorityFactory::ObjectType::GEODETIC_REFERENCE_FRAME}, true,
+ 1);
+ if (!res.empty()) {
+ const auto &refDatum = res.front();
+ if (metadata::Identifier::isEquivalentName(
+ datumName.c_str(), refDatum->nameStr().c_str())) {
+ datumName = refDatum->nameStr();
+ }
+ }
+ }
+ }
+
+ return GeodeticReferenceFrame::create(
+ createPropertyMapName(datumName.c_str()), ellps,
+ util::optional<std::string>(), pm);
+}
+
//! @endcond
// ---------------------------------------------------------------------------
-/** \brief Create a GeographicCRS 2D from its definition.
+/** \brief Create a GeographicCRS.
*
* The returned object must be unreferenced with proj_obj_unref() after
* use.
* It should be used by at most one thread at a time.
*
* @param ctx PROJ context, or NULL for default context
- * @param geogName Name of the GeographicCRS. Or NULL
- * @param datumName Name of the GeodeticReferenceFrame. Or NULL
- * @param ellipsoidName Name of the Ellipsoid. Or NULL
- * @param semiMajorMetre Ellipsoid semi-major axis, in metres.
- * @param invFlattening Ellipsoid inverse flattening. Or 0 for a sphere.
- * @param primeMeridianName Name of the PrimeMeridian. Or NULL
- * @param primeMeridianOffset Offset of the prime meridian, expressed in the
+ * @param crs_name Name of the GeographicCRS. Or NULL
+ * @param datum_name Name of the GeodeticReferenceFrame. Or NULL
+ * @param ellps_name Name of the Ellipsoid. Or NULL
+ * @param semi_major_metre Ellipsoid semi-major axis, in metres.
+ * @param inv_flattening Ellipsoid inverse flattening. Or 0 for a sphere.
+ * @param prime_meridian_name Name of the PrimeMeridian. Or NULL
+ * @param prime_meridian_offset Offset of the prime meridian, expressed in the
* specified angular units.
- * @param angularUnits Name of the angular units. Or NULL for Degree
- * @param angularUnitsConv Conversion factor from the angular unit to radian. Or
- * 0 for Degree if angularUnits == NULL. Otherwise should be not NULL
- * @param latLongOrder TRUE for Latitude Longitude axis order.
+ * @param pm_angular_units Name of the angular units. Or NULL for Degree
+ * @param pm_angular_units_conv Conversion factor from the angular unit to
+ * radian.
+ * Or
+ * 0 for Degree if pm_angular_units == NULL. Otherwise should be not NULL
+ * @param ellipsoidal_cs Coordinate system. Must not be NULL.
*
* @return Object of type GeographicCRS that must be unreferenced with
* proj_obj_unref(), or NULL in case of error.
*/
PJ_OBJ *proj_obj_create_geographic_crs(
- PJ_CONTEXT *ctx, const char *geogName, const char *datumName,
- const char *ellipsoidName, double semiMajorMetre, double invFlattening,
- const char *primeMeridianName, double primeMeridianOffset,
- const char *angularUnits, double angularUnitsConv, int latLongOrder) {
+ PJ_CONTEXT *ctx, const char *crs_name, const char *datum_name,
+ const char *ellps_name, double semi_major_metre, double inv_flattening,
+ const char *prime_meridian_name, double prime_meridian_offset,
+ const char *pm_angular_units, double pm_angular_units_conv,
+ PJ_OBJ *ellipsoidal_cs) {
SANITIZE_CTX(ctx);
+ auto cs = util::nn_dynamic_pointer_cast<EllipsoidalCS>(ellipsoidal_cs->obj);
+ if (!cs) {
+ return nullptr;
+ }
try {
- const UnitOfMeasure angUnit(
- createAngularUnit(angularUnits, angularUnitsConv));
- auto dbContext = getDBcontext(ctx);
- auto body = Ellipsoid::guessBodyName(dbContext, semiMajorMetre);
- auto ellpsName = createPropertyMapName(ellipsoidName);
- auto ellps =
- invFlattening != 0.0
- ? Ellipsoid::createFlattenedSphere(ellpsName,
- Length(semiMajorMetre),
- Scale(invFlattening), body)
- : Ellipsoid::createSphere(ellpsName, Length(semiMajorMetre),
- body);
- auto pm = PrimeMeridian::create(
- PropertyMap().set(
- common::IdentifiedObject::NAME_KEY,
- primeMeridianName
- ? primeMeridianName
- : primeMeridianOffset == 0.0
- ? (ellps->celestialBody() == Ellipsoid::EARTH
- ? "Greenwich"
- : "Reference meridian")
- : "unnamed"),
- Angle(primeMeridianOffset, angUnit));
- auto datum = GeodeticReferenceFrame::create(
- createPropertyMapName(datumName), ellps,
- util::optional<std::string>(), pm);
- auto geogCRS = GeographicCRS::create(
- createPropertyMapName(geogName), datum,
- latLongOrder ? cs::EllipsoidalCS::createLatitudeLongitude(angUnit)
- : cs::EllipsoidalCS::createLongitudeLatitude(angUnit));
- return PJ_OBJ::create(ctx, geogCRS);
+ auto datum = createGeodeticReferenceFrame(
+ ctx, datum_name, ellps_name, semi_major_metre, inv_flattening,
+ prime_meridian_name, prime_meridian_offset, pm_angular_units,
+ pm_angular_units_conv);
+ auto geogCRS = GeographicCRS::create(createPropertyMapName(crs_name),
+ datum, NN_NO_CHECK(cs));
+ return PJ_OBJ::create(geogCRS);
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
}
@@ -1718,22 +1944,775 @@ PJ_OBJ *proj_obj_create_geographic_crs(
// ---------------------------------------------------------------------------
+/** \brief Create a GeographicCRS.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param crs_name Name of the GeographicCRS. Or NULL
+ * @param datum Datum. Must not be NULL.
+ * @param ellipsoidal_cs Coordinate system. Must not be NULL.
+ *
+ * @return Object of type GeographicCRS that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ *proj_obj_create_geographic_crs_from_datum(PJ_CONTEXT *ctx,
+ const char *crs_name,
+ PJ_OBJ *datum,
+ PJ_OBJ *ellipsoidal_cs) {
+
+ SANITIZE_CTX(ctx);
+ auto l_datum =
+ util::nn_dynamic_pointer_cast<GeodeticReferenceFrame>(datum->obj);
+ if (!l_datum) {
+ proj_log_error(ctx, __FUNCTION__,
+ "datum is not a GeodeticReferenceFrame");
+ return nullptr;
+ }
+ auto cs = util::nn_dynamic_pointer_cast<EllipsoidalCS>(ellipsoidal_cs->obj);
+ if (!cs) {
+ return nullptr;
+ }
+ try {
+ auto geogCRS =
+ GeographicCRS::create(createPropertyMapName(crs_name),
+ NN_NO_CHECK(l_datum), NN_NO_CHECK(cs));
+ return PJ_OBJ::create(geogCRS);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Create a GeodeticCRS of geocentric type.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param crs_name Name of the GeographicCRS. Or NULL
+ * @param datum_name Name of the GeodeticReferenceFrame. Or NULL
+ * @param ellps_name Name of the Ellipsoid. Or NULL
+ * @param semi_major_metre Ellipsoid semi-major axis, in metres.
+ * @param inv_flattening Ellipsoid inverse flattening. Or 0 for a sphere.
+ * @param prime_meridian_name Name of the PrimeMeridian. Or NULL
+ * @param prime_meridian_offset Offset of the prime meridian, expressed in the
+ * specified angular units.
+ * @param angular_units Name of the angular units. Or NULL for Degree
+ * @param angular_units_conv Conversion factor from the angular unit to radian.
+ * Or
+ * 0 for Degree if angular_units == NULL. Otherwise should be not NULL
+ * @param linear_units Name of the linear units. Or NULL for Metre
+ * @param linear_units_conv Conversion factor from the linear unit to metre. Or
+ * 0 for Metre if linear_units == NULL. Otherwise should be not NULL
+ *
+ * @return Object of type GeodeticCRS that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ *proj_obj_create_geocentric_crs(
+ PJ_CONTEXT *ctx, const char *crs_name, const char *datum_name,
+ const char *ellps_name, double semi_major_metre, double inv_flattening,
+ const char *prime_meridian_name, double prime_meridian_offset,
+ const char *angular_units, double angular_units_conv,
+ const char *linear_units, double linear_units_conv) {
+
+ SANITIZE_CTX(ctx);
+ try {
+ const UnitOfMeasure linearUnit(
+ createLinearUnit(linear_units, linear_units_conv));
+ auto datum = createGeodeticReferenceFrame(
+ ctx, datum_name, ellps_name, semi_major_metre, inv_flattening,
+ prime_meridian_name, prime_meridian_offset, angular_units,
+ angular_units_conv);
+
+ auto geodCRS =
+ GeodeticCRS::create(createPropertyMapName(crs_name), datum,
+ cs::CartesianCS::createGeocentric(linearUnit));
+ return PJ_OBJ::create(geodCRS);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Create a GeodeticCRS of geocentric type.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param crs_name Name of the GeographicCRS. Or NULL
+ * @param datum Datum. Must not be NULL.
+ * @param linear_units Name of the linear units. Or NULL for Metre
+ * @param linear_units_conv Conversion factor from the linear unit to metre. Or
+ * 0 for Metre if linear_units == NULL. Otherwise should be not NULL
+ *
+ * @return Object of type GeodeticCRS that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ *proj_obj_create_geocentric_crs_from_datum(PJ_CONTEXT *ctx,
+ const char *crs_name,
+ const PJ_OBJ *datum,
+ const char *linear_units,
+ double linear_units_conv) {
+ SANITIZE_CTX(ctx);
+ try {
+ const UnitOfMeasure linearUnit(
+ createLinearUnit(linear_units, linear_units_conv));
+ auto l_datum =
+ util::nn_dynamic_pointer_cast<GeodeticReferenceFrame>(datum->obj);
+ if (!l_datum) {
+ proj_log_error(ctx, __FUNCTION__,
+ "datum is not a GeodeticReferenceFrame");
+ return nullptr;
+ }
+ auto geodCRS = GeodeticCRS::create(
+ createPropertyMapName(crs_name), NN_NO_CHECK(l_datum),
+ cs::CartesianCS::createGeocentric(linearUnit));
+ return PJ_OBJ::create(geodCRS);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Return a copy of the object with its name changed
+ *
+ * Currently, only implemented on CRS objects.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param obj Object of type CRS. Must not be NULL
+ * @param name New name. Must not be NULL
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ PROJ_DLL *proj_obj_alter_name(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ const char *name) {
+ SANITIZE_CTX(ctx);
+ auto crs = dynamic_cast<const CRS *>(obj->obj.get());
+ if (!crs) {
+ return nullptr;
+ }
+ try {
+ return PJ_OBJ::create(crs->alterName(name));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Return a copy of the CRS with its geodetic CRS changed
+ *
+ * Currently, when obj is a GeodeticCRS, it returns a clone of new_geod_crs
+ * When obj is a ProjectedCRS, it replaces its base CRS with new_geod_crs.
+ * When obj is a CompoundCRS, it replaces the GeodeticCRS part of the horizontal
+ * CRS with new_geod_crs.
+ * In other cases, it returns a clone of obj.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param obj Object of type CRS. Must not be NULL
+ * @param new_geod_crs Object of type GeodeticCRS. Must not be NULL
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ *proj_obj_crs_alter_geodetic_crs(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ const PJ_OBJ *new_geod_crs) {
+ SANITIZE_CTX(ctx);
+ auto l_new_geod_crs =
+ util::nn_dynamic_pointer_cast<GeodeticCRS>(new_geod_crs->obj);
+ if (!l_new_geod_crs) {
+ proj_log_error(ctx, __FUNCTION__, "new_geod_crs is not a GeodeticCRS");
+ return nullptr;
+ }
+
+ auto crs = dynamic_cast<const CRS *>(obj->obj.get());
+ if (!crs) {
+ proj_log_error(ctx, __FUNCTION__, "obj is not a CRS");
+ return nullptr;
+ }
+
+ try {
+ return PJ_OBJ::create(
+ crs->alterGeodeticCRS(NN_NO_CHECK(l_new_geod_crs)));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Return a copy of the CRS with its angular units changed
+ *
+ * The CRS must be or contain a GeographicCRS.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param obj Object of type CRS. Must not be NULL
+ * @param angular_units Name of the angular units. Or NULL for Degree
+ * @param angular_units_conv Conversion factor from the angular unit to radian.
+ * Or
+ * 0 for Degree if angular_units == NULL. Otherwise should be not NULL
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ *proj_obj_crs_alter_cs_angular_unit(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ const char *angular_units,
+ double angular_units_conv) {
+
+ SANITIZE_CTX(ctx);
+ auto geodCRS = proj_obj_crs_get_geodetic_crs(ctx, obj);
+ if (!geodCRS) {
+ return nullptr;
+ }
+ auto geogCRS = dynamic_cast<const GeographicCRS *>(geodCRS->obj.get());
+ if (!geogCRS) {
+ proj_obj_unref(geodCRS);
+ return nullptr;
+ }
+
+ PJ_OBJ *geogCRSAltered = nullptr;
+ try {
+ const UnitOfMeasure angUnit(
+ createAngularUnit(angular_units, angular_units_conv));
+ geogCRSAltered = PJ_OBJ::create(GeographicCRS::create(
+ createPropertyMapName(proj_obj_get_name(geodCRS)), geogCRS->datum(),
+ geogCRS->datumEnsemble(),
+ geogCRS->coordinateSystem()->alterAngularUnit(angUnit)));
+ proj_obj_unref(geodCRS);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ proj_obj_unref(geodCRS);
+ return nullptr;
+ }
+
+ auto ret = proj_obj_crs_alter_geodetic_crs(ctx, obj, geogCRSAltered);
+ proj_obj_unref(geogCRSAltered);
+ return ret;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Return a copy of the CRS with the linear units of its coordinate
+ * system changed
+ *
+ * The CRS must be or contain a ProjectedCRS, VerticalCRS or a GeocentricCRS.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param obj Object of type CRS. Must not be NULL
+ * @param linear_units Name of the linear units. Or NULL for Metre
+ * @param linear_units_conv Conversion factor from the linear unit to metre. Or
+ * 0 for Metre if linear_units == NULL. Otherwise should be not NULL
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ *proj_obj_crs_alter_cs_linear_unit(PJ_CONTEXT *ctx, const PJ_OBJ *obj,
+ const char *linear_units,
+ double linear_units_conv) {
+ SANITIZE_CTX(ctx);
+ auto crs = dynamic_cast<const CRS *>(obj->obj.get());
+ if (!crs) {
+ return nullptr;
+ }
+
+ try {
+ const UnitOfMeasure linearUnit(
+ createLinearUnit(linear_units, linear_units_conv));
+ return PJ_OBJ::create(crs->alterCSLinearUnit(linearUnit));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Return a copy of the CRS with the lineaer units of the parameters
+ * of its conversion modified.
+ *
+ * The CRS must be or contain a ProjectedCRS, VerticalCRS or a GeocentricCRS.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param obj Object of type ProjectedCRS. Must not be NULL
+ * @param linear_units Name of the linear units. Or NULL for Metre
+ * @param linear_units_conv Conversion factor from the linear unit to metre. Or
+ * 0 for Metre if linear_units == NULL. Otherwise should be not NULL
+ * @param convert_to_new_unit TRUE if exisiting values should be converted from
+ * their current unit to the new unit. If FALSE, their value will be left
+ * unchanged and the unit overriden (so the resulting CRS will not be
+ * equivalent to the original one for reprojection purposes).
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ *proj_obj_crs_alter_parameters_linear_unit(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj,
+ const char *linear_units,
+ double linear_units_conv,
+ int convert_to_new_unit) {
+ SANITIZE_CTX(ctx);
+ auto crs = dynamic_cast<const ProjectedCRS *>(obj->obj.get());
+ if (!crs) {
+ return nullptr;
+ }
+
+ try {
+ const UnitOfMeasure linearUnit(
+ createLinearUnit(linear_units, linear_units_conv));
+ return PJ_OBJ::create(crs->alterParametersLinearUnit(
+ linearUnit, convert_to_new_unit == TRUE));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Instanciate a EngineeringCRS with just a name
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param crs_name CRS name. Or NULL.
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+PJ_OBJ PROJ_DLL *proj_obj_create_engineering_crs(PJ_CONTEXT *ctx,
+ const char *crs_name) {
+ SANITIZE_CTX(ctx);
+ try {
+ return PJ_OBJ::create(EngineeringCRS::create(
+ createPropertyMapName(crs_name),
+ EngineeringDatum::create(PropertyMap()),
+ CartesianCS::createEastingNorthing(UnitOfMeasure::METRE)));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Instanciate a Conversion
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param name Conversion name. Or NULL.
+ * @param auth_name Conversion authority name. Or NULL.
+ * @param code Conversion code. Or NULL.
+ * @param method_name Method name. Or NULL.
+ * @param method_auth_name Method authority name. Or NULL.
+ * @param method_code Method code. Or NULL.
+ * @param param_count Number of parameters (size of params argument)
+ * @param params Parameter descriptions (array of size param_count)
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+
+PJ_OBJ *proj_obj_create_conversion(PJ_CONTEXT *ctx, const char *name,
+ const char *auth_name, const char *code,
+ const char *method_name,
+ const char *method_auth_name,
+ const char *method_code, int param_count,
+ const PJ_PARAM_DESCRIPTION *params) {
+ SANITIZE_CTX(ctx);
+ try {
+ PropertyMap propConv;
+ propConv.set(common::IdentifiedObject::NAME_KEY,
+ name ? name : "unnamed");
+ if (auth_name && code) {
+ propConv.set(metadata::Identifier::CODESPACE_KEY, auth_name)
+ .set(metadata::Identifier::CODE_KEY, code);
+ }
+ PropertyMap propMethod;
+ propMethod.set(common::IdentifiedObject::NAME_KEY,
+ method_name ? method_name : "unnamed");
+ if (method_auth_name && method_code) {
+ propMethod
+ .set(metadata::Identifier::CODESPACE_KEY, method_auth_name)
+ .set(metadata::Identifier::CODE_KEY, method_code);
+ }
+ std::vector<OperationParameterNNPtr> parameters;
+ std::vector<ParameterValueNNPtr> values;
+ for (int i = 0; i < param_count; i++) {
+ PropertyMap propParam;
+ propParam.set(common::IdentifiedObject::NAME_KEY,
+ params[i].name ? params[i].name : "unnamed");
+ if (params[i].auth_name && params[i].code) {
+ propParam
+ .set(metadata::Identifier::CODESPACE_KEY,
+ params[i].auth_name)
+ .set(metadata::Identifier::CODE_KEY, params[i].code);
+ }
+ parameters.emplace_back(OperationParameter::create(propParam));
+ auto unit_type = UnitOfMeasure::Type::UNKNOWN;
+ switch (params[i].unit_type) {
+ case PJ_UT_ANGULAR:
+ unit_type = UnitOfMeasure::Type::ANGULAR;
+ break;
+ case PJ_UT_LINEAR:
+ unit_type = UnitOfMeasure::Type::LINEAR;
+ break;
+ case PJ_UT_SCALE:
+ unit_type = UnitOfMeasure::Type::SCALE;
+ break;
+ case PJ_UT_TIME:
+ unit_type = UnitOfMeasure::Type::TIME;
+ break;
+ case PJ_UT_PARAMETRIC:
+ unit_type = UnitOfMeasure::Type::PARAMETRIC;
+ break;
+ }
+
+ Measure measure(
+ params[i].value,
+ params[i].unit_type == PJ_UT_ANGULAR
+ ? createAngularUnit(params[i].unit_name,
+ params[i].unit_conv_factor)
+ : params[i].unit_type == PJ_UT_LINEAR
+ ? createLinearUnit(params[i].unit_name,
+ params[i].unit_conv_factor)
+ : UnitOfMeasure(
+ params[i].unit_name ? params[i].unit_name
+ : "unnamed",
+ params[i].unit_conv_factor, unit_type));
+ values.emplace_back(ParameterValue::create(measure));
+ }
+ return PJ_OBJ::create(
+ Conversion::create(propConv, propMethod, parameters, values));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
//! @cond Doxygen_Suppress
-static PJ_OBJ *proj_obj_create_projected_crs(PJ_OBJ *geodetic_crs,
- const char *crs_name,
- const ConversionNNPtr &conv,
- const UnitOfMeasure &linearUnit) {
- assert(geodetic_crs);
- auto geogCRS =
+static CoordinateSystemAxisNNPtr createAxis(const PJ_AXIS_DESCRIPTION &axis) {
+ const auto dir =
+ axis.direction ? AxisDirection::valueOf(axis.direction) : nullptr;
+ if (dir == nullptr)
+ throw Exception("invalid value for axis direction");
+ auto unit_type = UnitOfMeasure::Type::UNKNOWN;
+ switch (axis.unit_type) {
+ case PJ_UT_ANGULAR:
+ unit_type = UnitOfMeasure::Type::ANGULAR;
+ break;
+ case PJ_UT_LINEAR:
+ unit_type = UnitOfMeasure::Type::LINEAR;
+ break;
+ case PJ_UT_SCALE:
+ unit_type = UnitOfMeasure::Type::SCALE;
+ break;
+ case PJ_UT_TIME:
+ unit_type = UnitOfMeasure::Type::TIME;
+ break;
+ case PJ_UT_PARAMETRIC:
+ unit_type = UnitOfMeasure::Type::PARAMETRIC;
+ break;
+ }
+ auto unit =
+ axis.unit_type == PJ_UT_ANGULAR
+ ? createAngularUnit(axis.unit_name, axis.unit_conv_factor)
+ : axis.unit_type == PJ_UT_LINEAR
+ ? createLinearUnit(axis.unit_name, axis.unit_conv_factor)
+ : UnitOfMeasure(axis.unit_name ? axis.unit_name : "unnamed",
+ axis.unit_conv_factor, unit_type);
+
+ return CoordinateSystemAxis::create(
+ createPropertyMapName(axis.name),
+ axis.abbreviation ? axis.abbreviation : std::string(), *dir, unit);
+}
+
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+/** \brief Instanciate a CoordinateSystem.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param type Coordinate system type.
+ * @param axis_count Number of axis
+ * @param axis Axis description (array of size axis_count)
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+
+PJ_OBJ *proj_obj_create_cs(PJ_CONTEXT *ctx, PJ_COORDINATE_SYSTEM_TYPE type,
+ int axis_count, const PJ_AXIS_DESCRIPTION *axis) {
+ try {
+ switch (type) {
+ case PJ_CS_TYPE_UNKNOWN:
+ return nullptr;
+
+ case PJ_CS_TYPE_CARTESIAN: {
+ if (axis_count == 2) {
+ return PJ_OBJ::create(CartesianCS::create(
+ PropertyMap(), createAxis(axis[0]), createAxis(axis[1])));
+ } else if (axis_count == 3) {
+ return PJ_OBJ::create(CartesianCS::create(
+ PropertyMap(), createAxis(axis[0]), createAxis(axis[1]),
+ createAxis(axis[2])));
+ }
+ break;
+ }
+
+ case PJ_CS_TYPE_ELLIPSOIDAL: {
+ if (axis_count == 2) {
+ return PJ_OBJ::create(EllipsoidalCS::create(
+ PropertyMap(), createAxis(axis[0]), createAxis(axis[1])));
+ } else if (axis_count == 3) {
+ return PJ_OBJ::create(EllipsoidalCS::create(
+ PropertyMap(), createAxis(axis[0]), createAxis(axis[1]),
+ createAxis(axis[2])));
+ }
+ break;
+ }
+
+ case PJ_CS_TYPE_VERTICAL: {
+ if (axis_count == 1) {
+ return PJ_OBJ::create(
+ VerticalCS::create(PropertyMap(), createAxis(axis[0])));
+ }
+ break;
+ }
+
+ case PJ_CS_TYPE_SPHERICAL: {
+ if (axis_count == 3) {
+ return PJ_OBJ::create(EllipsoidalCS::create(
+ PropertyMap(), createAxis(axis[0]), createAxis(axis[1]),
+ createAxis(axis[2])));
+ }
+ break;
+ }
+
+ case PJ_CS_TYPE_PARAMETRIC: {
+ if (axis_count == 1) {
+ return PJ_OBJ::create(
+ ParametricCS::create(PropertyMap(), createAxis(axis[0])));
+ }
+ break;
+ }
+
+ case PJ_CS_TYPE_ORDINAL: {
+ std::vector<CoordinateSystemAxisNNPtr> axisVector;
+ for (int i = 0; i < axis_count; i++) {
+ axisVector.emplace_back(createAxis(axis[i]));
+ }
+
+ return PJ_OBJ::create(OrdinalCS::create(PropertyMap(), axisVector));
+ }
+
+ case PJ_CS_TYPE_DATETIMETEMPORAL: {
+ if (axis_count == 1) {
+ return PJ_OBJ::create(DateTimeTemporalCS::create(
+ PropertyMap(), createAxis(axis[0])));
+ }
+ break;
+ }
+
+ case PJ_CS_TYPE_TEMPORALCOUNT: {
+ if (axis_count == 1) {
+ return PJ_OBJ::create(TemporalCountCS::create(
+ PropertyMap(), createAxis(axis[0])));
+ }
+ break;
+ }
+
+ case PJ_CS_TYPE_TEMPORALMEASURE: {
+ if (axis_count == 1) {
+ return PJ_OBJ::create(TemporalMeasureCS::create(
+ PropertyMap(), createAxis(axis[0])));
+ }
+ break;
+ }
+ }
+
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ return nullptr;
+ }
+ proj_log_error(ctx, __FUNCTION__, "Wrong value for axis_count");
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Instanciate a CartesiansCS 2D
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param type Coordinate system type.
+ * @param unit_name Unit name.
+ * @param unit_conv_factor Unit conversion factor to SI.
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+
+PJ_OBJ *proj_obj_create_cartesian_2D_cs(PJ_CONTEXT *ctx,
+ PJ_CARTESIAN_CS_2D_TYPE type,
+ const char *unit_name,
+ double unit_conv_factor) {
+ try {
+ switch (type) {
+ case PJ_CART2D_EASTING_NORTHING:
+ return PJ_OBJ::create(CartesianCS::createEastingNorthing(
+ createLinearUnit(unit_name, unit_conv_factor)));
+
+ case PJ_CART2D_NORTHING_EASTING:
+ return PJ_OBJ::create(CartesianCS::createNorthingEasting(
+ createLinearUnit(unit_name, unit_conv_factor)));
+ }
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Instanciate a Ellipsoidal 2D
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param type Coordinate system type.
+ * @param unit_name Unit name.
+ * @param unit_conv_factor Unit conversion factor to SI.
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+
+PJ_OBJ *proj_obj_create_ellipsoidal_2D_cs(PJ_CONTEXT *ctx,
+ PJ_ELLIPSOIDAL_CS_2D_TYPE type,
+ const char *unit_name,
+ double unit_conv_factor) {
+ try {
+ switch (type) {
+ case PJ_ELLPS2D_LONGITUDE_LATITUDE:
+ return PJ_OBJ::create(EllipsoidalCS::createLongitudeLatitude(
+ createAngularUnit(unit_name, unit_conv_factor)));
+
+ case PJ_ELLPS2D_LATITUDE_LONGITUDE:
+ return PJ_OBJ::create(EllipsoidalCS::createLatitudeLongitude(
+ createAngularUnit(unit_name, unit_conv_factor)));
+ }
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Instanciate a ProjectedCRS
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param crs_name CRS name. Or NULL
+ * @param geodetic_crs Base GeodeticCRS. Must not be NULL.
+ * @param conversion Conversion. Must not be NULL.
+ * @param coordinate_system Cartesian coordinate system. Must not be NULL.
+ *
+ * @return Object that must be unreferenced with
+ * proj_obj_unref(), or NULL in case of error.
+ */
+
+PJ_OBJ *proj_obj_create_projected_crs(PJ_CONTEXT *ctx, const char *crs_name,
+ const PJ_OBJ *geodetic_crs,
+ const PJ_OBJ *conversion,
+ const PJ_OBJ *coordinate_system) {
+ SANITIZE_CTX(ctx);
+ auto geodCRS =
util::nn_dynamic_pointer_cast<GeodeticCRS>(geodetic_crs->obj);
- if (!geogCRS) {
+ if (!geodCRS) {
+ return nullptr;
+ }
+ auto conv = util::nn_dynamic_pointer_cast<Conversion>(conversion->obj);
+ if (!conv) {
return nullptr;
}
- auto crs = ProjectedCRS::create(
- createPropertyMapName(crs_name), NN_NO_CHECK(geogCRS), conv,
- cs::CartesianCS::createEastingNorthing(linearUnit));
- return PJ_OBJ::create(geodetic_crs->ctx, crs);
+ auto cs =
+ util::nn_dynamic_pointer_cast<CartesianCS>(coordinate_system->obj);
+ if (!cs) {
+ return nullptr;
+ }
+ try {
+ return PJ_OBJ::create(ProjectedCRS::create(
+ createPropertyMapName(crs_name), NN_NO_CHECK(geodCRS),
+ NN_NO_CHECK(conv), NN_NO_CHECK(cs)));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
+}
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
+
+static PJ_OBJ *proj_obj_create_conversion(const ConversionNNPtr &conv) {
+ return PJ_OBJ::create(conv);
}
//! @endcond
@@ -1747,15 +2726,18 @@ static PJ_OBJ *proj_obj_create_projected_crs(PJ_OBJ *geodetic_crs,
*
* See osgeo::proj::operation::Conversion::createUTM().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_UTM(PJ_OBJ *geodetic_crs,
- const char *crs_name, int zone,
- int north) {
- const auto &linearUnit = UnitOfMeasure::METRE;
- auto conv = Conversion::createUTM(PropertyMap(), zone, north != 0);
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_utm(PJ_CONTEXT *ctx, int zone, int north) {
+ SANITIZE_CTX(ctx);
+ try {
+ auto conv = Conversion::createUTM(PropertyMap(), zone, north != 0);
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1764,23 +2746,31 @@ PJ_OBJ *proj_obj_create_projected_crs_UTM(PJ_OBJ *geodetic_crs,
*
* See osgeo::proj::operation::Conversion::createTransverseMercator().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_TransverseMercator(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createTransverseMercator(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_transverse_mercator(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createTransverseMercator(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1790,23 +2780,31 @@ PJ_OBJ *proj_obj_create_projected_crs_TransverseMercator(
* See
* osgeo::proj::operation::Conversion::createGaussSchreiberTransverseMercator().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_GaussSchreiberTransverseMercator(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createGaussSchreiberTransverseMercator(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_gauss_schreiber_transverse_mercator(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createGaussSchreiberTransverseMercator(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1816,23 +2814,31 @@ PJ_OBJ *proj_obj_create_projected_crs_GaussSchreiberTransverseMercator(
* See
* osgeo::proj::operation::Conversion::createTransverseMercatorSouthOriented().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_TransverseMercatorSouthOriented(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createTransverseMercatorSouthOriented(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_transverse_mercator_south_oriented(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createTransverseMercatorSouthOriented(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1841,26 +2847,34 @@ PJ_OBJ *proj_obj_create_projected_crs_TransverseMercatorSouthOriented(
*
* See osgeo::proj::operation::Conversion::createTwoPointEquidistant().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_TwoPointEquidistant(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFirstPoint,
- double longitudeFirstPoint, double latitudeSecondPoint,
- double longitudeSeconPoint, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createTwoPointEquidistant(
- PropertyMap(), Angle(latitudeFirstPoint, angUnit),
- Angle(longitudeFirstPoint, angUnit),
- Angle(latitudeSecondPoint, angUnit),
- Angle(longitudeSeconPoint, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_two_point_equidistant(
+ PJ_CONTEXT *ctx, double latitude_first_point, double longitude_first_point,
+ double latitude_second_point, double longitude_secon_point,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createTwoPointEquidistant(
+ PropertyMap(), Angle(latitude_first_point, angUnit),
+ Angle(longitude_first_point, angUnit),
+ Angle(latitude_second_point, angUnit),
+ Angle(longitude_secon_point, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1869,22 +2883,30 @@ PJ_OBJ *proj_obj_create_projected_crs_TwoPointEquidistant(
*
* See osgeo::proj::operation::Conversion::createTunisiaMappingGrid().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_TunisiaMappingGrid(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createTunisiaMappingGrid(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_tunisia_mapping_grid(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createTunisiaMappingGrid(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1893,28 +2915,35 @@ PJ_OBJ *proj_obj_create_projected_crs_TunisiaMappingGrid(
*
* See osgeo::proj::operation::Conversion::createAlbersEqualArea().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_AlbersEqualArea(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFalseOrigin,
- double longitudeFalseOrigin, double latitudeFirstParallel,
- double latitudeSecondParallel, double eastingFalseOrigin,
- double northingFalseOrigin, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createAlbersEqualArea(
- PropertyMap(), Angle(latitudeFalseOrigin, angUnit),
- Angle(longitudeFalseOrigin, angUnit),
- Angle(latitudeFirstParallel, angUnit),
- Angle(latitudeSecondParallel, angUnit),
- Length(eastingFalseOrigin, linearUnit),
- Length(northingFalseOrigin, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_albers_equal_area(
+ PJ_CONTEXT *ctx, double latitude_false_origin,
+ double longitude_false_origin, double latitude_first_parallel,
+ double latitude_second_parallel, double easting_false_origin,
+ double northing_false_origin, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createAlbersEqualArea(
+ PropertyMap(), Angle(latitude_false_origin, angUnit),
+ Angle(longitude_false_origin, angUnit),
+ Angle(latitude_first_parallel, angUnit),
+ Angle(latitude_second_parallel, angUnit),
+ Length(easting_false_origin, linearUnit),
+ Length(northing_false_origin, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1923,23 +2952,31 @@ PJ_OBJ *proj_obj_create_projected_crs_AlbersEqualArea(
*
* See osgeo::proj::operation::Conversion::createLambertConicConformal_1SP().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_1SP(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createLambertConicConformal_1SP(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_lambert_conic_conformal_1sp(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createLambertConicConformal_1SP(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1948,28 +2985,35 @@ PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_1SP(
*
* See osgeo::proj::operation::Conversion::createLambertConicConformal_2SP().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_2SP(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFalseOrigin,
- double longitudeFalseOrigin, double latitudeFirstParallel,
- double latitudeSecondParallel, double eastingFalseOrigin,
- double northingFalseOrigin, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createLambertConicConformal_2SP(
- PropertyMap(), Angle(latitudeFalseOrigin, angUnit),
- Angle(longitudeFalseOrigin, angUnit),
- Angle(latitudeFirstParallel, angUnit),
- Angle(latitudeSecondParallel, angUnit),
- Length(eastingFalseOrigin, linearUnit),
- Length(northingFalseOrigin, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_lambert_conic_conformal_2sp(
+ PJ_CONTEXT *ctx, double latitude_false_origin,
+ double longitude_false_origin, double latitude_first_parallel,
+ double latitude_second_parallel, double easting_false_origin,
+ double northing_false_origin, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createLambertConicConformal_2SP(
+ PropertyMap(), Angle(latitude_false_origin, angUnit),
+ Angle(longitude_false_origin, angUnit),
+ Angle(latitude_first_parallel, angUnit),
+ Angle(latitude_second_parallel, angUnit),
+ Length(easting_false_origin, linearUnit),
+ Length(northing_false_origin, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -1979,28 +3023,36 @@ PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_2SP(
* See
* osgeo::proj::operation::Conversion::createLambertConicConformal_2SP_Michigan().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_2SP_Michigan(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFalseOrigin,
- double longitudeFalseOrigin, double latitudeFirstParallel,
- double latitudeSecondParallel, double eastingFalseOrigin,
- double northingFalseOrigin, double ellipsoidScalingFactor,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createLambertConicConformal_2SP_Michigan(
- PropertyMap(), Angle(latitudeFalseOrigin, angUnit),
- Angle(longitudeFalseOrigin, angUnit),
- Angle(latitudeFirstParallel, angUnit),
- Angle(latitudeSecondParallel, angUnit),
- Length(eastingFalseOrigin, linearUnit),
- Length(northingFalseOrigin, linearUnit), Scale(ellipsoidScalingFactor));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_lambert_conic_conformal_2sp_michigan(
+ PJ_CONTEXT *ctx, double latitude_false_origin,
+ double longitude_false_origin, double latitude_first_parallel,
+ double latitude_second_parallel, double easting_false_origin,
+ double northing_false_origin, double ellipsoid_scaling_factor,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createLambertConicConformal_2SP_Michigan(
+ PropertyMap(), Angle(latitude_false_origin, angUnit),
+ Angle(longitude_false_origin, angUnit),
+ Angle(latitude_first_parallel, angUnit),
+ Angle(latitude_second_parallel, angUnit),
+ Length(easting_false_origin, linearUnit),
+ Length(northing_false_origin, linearUnit),
+ Scale(ellipsoid_scaling_factor));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2010,28 +3062,35 @@ PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_2SP_Michigan(
* See
* osgeo::proj::operation::Conversion::createLambertConicConformal_2SP_Belgium().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_2SP_Belgium(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFalseOrigin,
- double longitudeFalseOrigin, double latitudeFirstParallel,
- double latitudeSecondParallel, double eastingFalseOrigin,
- double northingFalseOrigin, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createLambertConicConformal_2SP_Belgium(
- PropertyMap(), Angle(latitudeFalseOrigin, angUnit),
- Angle(longitudeFalseOrigin, angUnit),
- Angle(latitudeFirstParallel, angUnit),
- Angle(latitudeSecondParallel, angUnit),
- Length(eastingFalseOrigin, linearUnit),
- Length(northingFalseOrigin, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_lambert_conic_conformal_2sp_belgium(
+ PJ_CONTEXT *ctx, double latitude_false_origin,
+ double longitude_false_origin, double latitude_first_parallel,
+ double latitude_second_parallel, double easting_false_origin,
+ double northing_false_origin, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createLambertConicConformal_2SP_Belgium(
+ PropertyMap(), Angle(latitude_false_origin, angUnit),
+ Angle(longitude_false_origin, angUnit),
+ Angle(latitude_first_parallel, angUnit),
+ Angle(latitude_second_parallel, angUnit),
+ Length(easting_false_origin, linearUnit),
+ Length(northing_false_origin, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2040,23 +3099,31 @@ PJ_OBJ *proj_obj_create_projected_crs_LambertConicConformal_2SP_Belgium(
*
* See osgeo::proj::operation::Conversion::createAzimuthalEquidistant().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_AzimuthalEquidistant(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeNatOrigin,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createAzimuthalEquidistant(
- PropertyMap(), Angle(latitudeNatOrigin, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_azimuthal_equidistant(
+ PJ_CONTEXT *ctx, double latitude_nat_origin, double longitude_nat_origin,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createAzimuthalEquidistant(
+ PropertyMap(), Angle(latitude_nat_origin, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2065,23 +3132,31 @@ PJ_OBJ *proj_obj_create_projected_crs_AzimuthalEquidistant(
*
* See osgeo::proj::operation::Conversion::createGuamProjection().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_GuamProjection(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeNatOrigin,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createGuamProjection(
- PropertyMap(), Angle(latitudeNatOrigin, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_guam_projection(
+ PJ_CONTEXT *ctx, double latitude_nat_origin, double longitude_nat_origin,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createGuamProjection(
+ PropertyMap(), Angle(latitude_nat_origin, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2090,23 +3165,31 @@ PJ_OBJ *proj_obj_create_projected_crs_GuamProjection(
*
* See osgeo::proj::operation::Conversion::createBonne().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Bonne(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeNatOrigin,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createBonne(
- PropertyMap(), Angle(latitudeNatOrigin, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_bonne(
+ PJ_CONTEXT *ctx, double latitude_nat_origin, double longitude_nat_origin,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createBonne(
+ PropertyMap(), Angle(latitude_nat_origin, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2116,23 +3199,31 @@ PJ_OBJ *proj_obj_create_projected_crs_Bonne(
* See
* osgeo::proj::operation::Conversion::createLambertCylindricalEqualAreaSpherical().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_LambertCylindricalEqualAreaSpherical(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFirstParallel,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createLambertCylindricalEqualAreaSpherical(
- PropertyMap(), Angle(latitudeFirstParallel, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_lambert_cylindrical_equal_area_spherical(
+ PJ_CONTEXT *ctx, double latitude_first_parallel,
+ double longitude_nat_origin, double false_easting, double false_northing,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createLambertCylindricalEqualAreaSpherical(
+ PropertyMap(), Angle(latitude_first_parallel, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2141,23 +3232,31 @@ PJ_OBJ *proj_obj_create_projected_crs_LambertCylindricalEqualAreaSpherical(
*
* See osgeo::proj::operation::Conversion::createLambertCylindricalEqualArea().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_LambertCylindricalEqualArea(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFirstParallel,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createLambertCylindricalEqualArea(
- PropertyMap(), Angle(latitudeFirstParallel, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_lambert_cylindrical_equal_area(
+ PJ_CONTEXT *ctx, double latitude_first_parallel,
+ double longitude_nat_origin, double false_easting, double false_northing,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createLambertCylindricalEqualArea(
+ PropertyMap(), Angle(latitude_first_parallel, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2166,22 +3265,30 @@ PJ_OBJ *proj_obj_create_projected_crs_LambertCylindricalEqualArea(
*
* See osgeo::proj::operation::Conversion::createCassiniSoldner().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_CassiniSoldner(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createCassiniSoldner(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_cassini_soldner(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createCassiniSoldner(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2190,25 +3297,34 @@ PJ_OBJ *proj_obj_create_projected_crs_CassiniSoldner(
*
* See osgeo::proj::operation::Conversion::createEquidistantConic().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EquidistantConic(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double latitudeFirstParallel,
- double latitudeSecondParallel, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEquidistantConic(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Angle(latitudeFirstParallel, angUnit),
- Angle(latitudeSecondParallel, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_equidistant_conic(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double latitude_first_parallel, double latitude_second_parallel,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEquidistantConic(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit),
+ Angle(latitude_first_parallel, angUnit),
+ Angle(latitude_second_parallel, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2217,22 +3333,32 @@ PJ_OBJ *proj_obj_create_projected_crs_EquidistantConic(
*
* See osgeo::proj::operation::Conversion::createEckertI().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EckertI(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEckertI(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_eckert_i(PJ_CONTEXT *ctx, double center_long,
+ double false_easting,
+ double false_northing,
+ const char *ang_unit_name,
+ double ang_unit_conv_factor,
+ const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEckertI(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2241,22 +3367,30 @@ PJ_OBJ *proj_obj_create_projected_crs_EckertI(
*
* See osgeo::proj::operation::Conversion::createEckertII().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EckertII(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEckertII(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_eckert_ii(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEckertII(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2265,22 +3399,30 @@ PJ_OBJ *proj_obj_create_projected_crs_EckertII(
*
* See osgeo::proj::operation::Conversion::createEckertIII().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EckertIII(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEckertIII(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_eckert_iii(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEckertIII(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2289,22 +3431,30 @@ PJ_OBJ *proj_obj_create_projected_crs_EckertIII(
*
* See osgeo::proj::operation::Conversion::createEckertIV().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EckertIV(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEckertIV(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_eckert_iv(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEckertIV(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2313,22 +3463,32 @@ PJ_OBJ *proj_obj_create_projected_crs_EckertIV(
*
* See osgeo::proj::operation::Conversion::createEckertV().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EckertV(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEckertV(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_eckert_v(PJ_CONTEXT *ctx, double center_long,
+ double false_easting,
+ double false_northing,
+ const char *ang_unit_name,
+ double ang_unit_conv_factor,
+ const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEckertV(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2337,22 +3497,30 @@ PJ_OBJ *proj_obj_create_projected_crs_EckertV(
*
* See osgeo::proj::operation::Conversion::createEckertVI().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EckertVI(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEckertVI(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_eckert_vi(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEckertVI(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2361,23 +3529,31 @@ PJ_OBJ *proj_obj_create_projected_crs_EckertVI(
*
* See osgeo::proj::operation::Conversion::createEquidistantCylindrical().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EquidistantCylindrical(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFirstParallel,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEquidistantCylindrical(
- PropertyMap(), Angle(latitudeFirstParallel, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_equidistant_cylindrical(
+ PJ_CONTEXT *ctx, double latitude_first_parallel,
+ double longitude_nat_origin, double false_easting, double false_northing,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEquidistantCylindrical(
+ PropertyMap(), Angle(latitude_first_parallel, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2387,23 +3563,31 @@ PJ_OBJ *proj_obj_create_projected_crs_EquidistantCylindrical(
* See
* osgeo::proj::operation::Conversion::createEquidistantCylindricalSpherical().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_EquidistantCylindricalSpherical(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFirstParallel,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEquidistantCylindricalSpherical(
- PropertyMap(), Angle(latitudeFirstParallel, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_equidistant_cylindrical_spherical(
+ PJ_CONTEXT *ctx, double latitude_first_parallel,
+ double longitude_nat_origin, double false_easting, double false_northing,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEquidistantCylindricalSpherical(
+ PropertyMap(), Angle(latitude_first_parallel, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2412,22 +3596,32 @@ PJ_OBJ *proj_obj_create_projected_crs_EquidistantCylindricalSpherical(
*
* See osgeo::proj::operation::Conversion::createGall().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Gall(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createGall(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_gall(PJ_CONTEXT *ctx, double center_long,
+ double false_easting,
+ double false_northing,
+ const char *ang_unit_name,
+ double ang_unit_conv_factor,
+ const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv =
+ Conversion::createGall(PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2436,22 +3630,30 @@ PJ_OBJ *proj_obj_create_projected_crs_Gall(
*
* See osgeo::proj::operation::Conversion::createGoodeHomolosine().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_GoodeHomolosine(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createGoodeHomolosine(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_goode_homolosine(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createGoodeHomolosine(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2460,22 +3662,30 @@ PJ_OBJ *proj_obj_create_projected_crs_GoodeHomolosine(
*
* See osgeo::proj::operation::Conversion::createInterruptedGoodeHomolosine().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_InterruptedGoodeHomolosine(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createInterruptedGoodeHomolosine(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_interrupted_goode_homolosine(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createInterruptedGoodeHomolosine(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2485,22 +3695,30 @@ PJ_OBJ *proj_obj_create_projected_crs_InterruptedGoodeHomolosine(
*
* See osgeo::proj::operation::Conversion::createGeostationarySatelliteSweepX().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_GeostationarySatelliteSweepX(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double height, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createGeostationarySatelliteSweepX(
- PropertyMap(), Angle(centerLong, angUnit), Length(height, linearUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_geostationary_satellite_sweep_x(
+ PJ_CONTEXT *ctx, double center_long, double height, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createGeostationarySatelliteSweepX(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(height, linearUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2510,22 +3728,30 @@ PJ_OBJ *proj_obj_create_projected_crs_GeostationarySatelliteSweepX(
*
* See osgeo::proj::operation::Conversion::createGeostationarySatelliteSweepY().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_GeostationarySatelliteSweepY(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double height, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createGeostationarySatelliteSweepY(
- PropertyMap(), Angle(centerLong, angUnit), Length(height, linearUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_geostationary_satellite_sweep_y(
+ PJ_CONTEXT *ctx, double center_long, double height, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createGeostationarySatelliteSweepY(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(height, linearUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2534,22 +3760,30 @@ PJ_OBJ *proj_obj_create_projected_crs_GeostationarySatelliteSweepY(
*
* See osgeo::proj::operation::Conversion::createGnomonic().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Gnomonic(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createGnomonic(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_gnomonic(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createGnomonic(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2559,26 +3793,35 @@ PJ_OBJ *proj_obj_create_projected_crs_Gnomonic(
* See
* osgeo::proj::operation::Conversion::createHotineObliqueMercatorVariantA().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_HotineObliqueMercatorVariantA(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeProjectionCentre,
- double longitudeProjectionCentre, double azimuthInitialLine,
- double angleFromRectifiedToSkrewGrid, double scale, double falseEasting,
- double falseNorthing, const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createHotineObliqueMercatorVariantA(
- PropertyMap(), Angle(latitudeProjectionCentre, angUnit),
- Angle(longitudeProjectionCentre, angUnit),
- Angle(azimuthInitialLine, angUnit),
- Angle(angleFromRectifiedToSkrewGrid, angUnit), Scale(scale),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_hotine_oblique_mercator_variant_a(
+ PJ_CONTEXT *ctx, double latitude_projection_centre,
+ double longitude_projection_centre, double azimuth_initial_line,
+ double angle_from_rectified_to_skrew_grid, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createHotineObliqueMercatorVariantA(
+ PropertyMap(), Angle(latitude_projection_centre, angUnit),
+ Angle(longitude_projection_centre, angUnit),
+ Angle(azimuth_initial_line, angUnit),
+ Angle(angle_from_rectified_to_skrew_grid, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2588,28 +3831,35 @@ PJ_OBJ *proj_obj_create_projected_crs_HotineObliqueMercatorVariantA(
* See
* osgeo::proj::operation::Conversion::createHotineObliqueMercatorVariantB().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_HotineObliqueMercatorVariantB(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeProjectionCentre,
- double longitudeProjectionCentre, double azimuthInitialLine,
- double angleFromRectifiedToSkrewGrid, double scale,
- double eastingProjectionCentre, double northingProjectionCentre,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createHotineObliqueMercatorVariantB(
- PropertyMap(), Angle(latitudeProjectionCentre, angUnit),
- Angle(longitudeProjectionCentre, angUnit),
- Angle(azimuthInitialLine, angUnit),
- Angle(angleFromRectifiedToSkrewGrid, angUnit), Scale(scale),
- Length(eastingProjectionCentre, linearUnit),
- Length(northingProjectionCentre, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_hotine_oblique_mercator_variant_b(
+ PJ_CONTEXT *ctx, double latitude_projection_centre,
+ double longitude_projection_centre, double azimuth_initial_line,
+ double angle_from_rectified_to_skrew_grid, double scale,
+ double easting_projection_centre, double northing_projection_centre,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createHotineObliqueMercatorVariantB(
+ PropertyMap(), Angle(latitude_projection_centre, angUnit),
+ Angle(longitude_projection_centre, angUnit),
+ Angle(azimuth_initial_line, angUnit),
+ Angle(angle_from_rectified_to_skrew_grid, angUnit), Scale(scale),
+ Length(easting_projection_centre, linearUnit),
+ Length(northing_projection_centre, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2619,28 +3869,38 @@ PJ_OBJ *proj_obj_create_projected_crs_HotineObliqueMercatorVariantB(
* See
* osgeo::proj::operation::Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
PJ_OBJ *
-proj_obj_create_projected_crs_HotineObliqueMercatorTwoPointNaturalOrigin(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeProjectionCentre,
- double latitudePoint1, double longitudePoint1, double latitudePoint2,
- double longitudePoint2, double scale, double eastingProjectionCentre,
- double northingProjectionCentre, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin(
- PropertyMap(), Angle(latitudeProjectionCentre, angUnit),
- Angle(latitudePoint1, angUnit), Angle(longitudePoint1, angUnit),
- Angle(latitudePoint2, angUnit), Angle(longitudePoint2, angUnit),
- Scale(scale), Length(eastingProjectionCentre, linearUnit),
- Length(northingProjectionCentre, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+proj_obj_create_conversion_hotine_oblique_mercator_two_point_natural_origin(
+ PJ_CONTEXT *ctx, double latitude_projection_centre, double latitude_point1,
+ double longitude_point1, double latitude_point2, double longitude_point2,
+ double scale, double easting_projection_centre,
+ double northing_projection_centre, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv =
+ Conversion::createHotineObliqueMercatorTwoPointNaturalOrigin(
+ PropertyMap(), Angle(latitude_projection_centre, angUnit),
+ Angle(latitude_point1, angUnit),
+ Angle(longitude_point1, angUnit),
+ Angle(latitude_point2, angUnit),
+ Angle(longitude_point2, angUnit), Scale(scale),
+ Length(easting_projection_centre, linearUnit),
+ Length(northing_projection_centre, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2650,25 +3910,33 @@ proj_obj_create_projected_crs_HotineObliqueMercatorTwoPointNaturalOrigin(
* See
* osgeo::proj::operation::Conversion::createInternationalMapWorldPolyconic().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_InternationalMapWorldPolyconic(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double latitudeFirstParallel, double latitudeSecondParallel,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createInternationalMapWorldPolyconic(
- PropertyMap(), Angle(centerLong, angUnit),
- Angle(latitudeFirstParallel, angUnit),
- Angle(latitudeSecondParallel, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_international_map_world_polyconic(
+ PJ_CONTEXT *ctx, double center_long, double latitude_first_parallel,
+ double latitude_second_parallel, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createInternationalMapWorldPolyconic(
+ PropertyMap(), Angle(center_long, angUnit),
+ Angle(latitude_first_parallel, angUnit),
+ Angle(latitude_second_parallel, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2677,27 +3945,37 @@ PJ_OBJ *proj_obj_create_projected_crs_InternationalMapWorldPolyconic(
*
* See osgeo::proj::operation::Conversion::createKrovakNorthOriented().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_KrovakNorthOriented(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeProjectionCentre,
- double longitudeOfOrigin, double colatitudeConeAxis,
- double latitudePseudoStandardParallel,
- double scaleFactorPseudoStandardParallel, double falseEasting,
- double falseNorthing, const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createKrovakNorthOriented(
- PropertyMap(), Angle(latitudeProjectionCentre, angUnit),
- Angle(longitudeOfOrigin, angUnit), Angle(colatitudeConeAxis, angUnit),
- Angle(latitudePseudoStandardParallel, angUnit),
- Scale(scaleFactorPseudoStandardParallel),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_krovak_north_oriented(
+ PJ_CONTEXT *ctx, double latitude_projection_centre,
+ double longitude_of_origin, double colatitude_cone_axis,
+ double latitude_pseudo_standard_parallel,
+ double scale_factor_pseudo_standard_parallel, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createKrovakNorthOriented(
+ PropertyMap(), Angle(latitude_projection_centre, angUnit),
+ Angle(longitude_of_origin, angUnit),
+ Angle(colatitude_cone_axis, angUnit),
+ Angle(latitude_pseudo_standard_parallel, angUnit),
+ Scale(scale_factor_pseudo_standard_parallel),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2706,27 +3984,37 @@ PJ_OBJ *proj_obj_create_projected_crs_KrovakNorthOriented(
*
* See osgeo::proj::operation::Conversion::createKrovak().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_Krovak(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeProjectionCentre,
- double longitudeOfOrigin, double colatitudeConeAxis,
- double latitudePseudoStandardParallel,
- double scaleFactorPseudoStandardParallel, double falseEasting,
- double falseNorthing, const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createKrovak(
- PropertyMap(), Angle(latitudeProjectionCentre, angUnit),
- Angle(longitudeOfOrigin, angUnit), Angle(colatitudeConeAxis, angUnit),
- Angle(latitudePseudoStandardParallel, angUnit),
- Scale(scaleFactorPseudoStandardParallel),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_krovak(
+ PJ_CONTEXT *ctx, double latitude_projection_centre,
+ double longitude_of_origin, double colatitude_cone_axis,
+ double latitude_pseudo_standard_parallel,
+ double scale_factor_pseudo_standard_parallel, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createKrovak(
+ PropertyMap(), Angle(latitude_projection_centre, angUnit),
+ Angle(longitude_of_origin, angUnit),
+ Angle(colatitude_cone_axis, angUnit),
+ Angle(latitude_pseudo_standard_parallel, angUnit),
+ Scale(scale_factor_pseudo_standard_parallel),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2735,23 +4023,31 @@ PJ_OBJ *proj_obj_create_projected_crs_Krovak(
*
* See osgeo::proj::operation::Conversion::createLambertAzimuthalEqualArea().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_LambertAzimuthalEqualArea(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeNatOrigin,
- double longitudeNatOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createLambertAzimuthalEqualArea(
- PropertyMap(), Angle(latitudeNatOrigin, angUnit),
- Angle(longitudeNatOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_lambert_azimuthal_equal_area(
+ PJ_CONTEXT *ctx, double latitude_nat_origin, double longitude_nat_origin,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createLambertAzimuthalEqualArea(
+ PropertyMap(), Angle(latitude_nat_origin, angUnit),
+ Angle(longitude_nat_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2760,22 +4056,30 @@ PJ_OBJ *proj_obj_create_projected_crs_LambertAzimuthalEqualArea(
*
* See osgeo::proj::operation::Conversion::createMillerCylindrical().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_MillerCylindrical(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createMillerCylindrical(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_miller_cylindrical(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createMillerCylindrical(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2784,23 +4088,31 @@ PJ_OBJ *proj_obj_create_projected_crs_MillerCylindrical(
*
* See osgeo::proj::operation::Conversion::createMercatorVariantA().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_MercatorVariantA(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createMercatorVariantA(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_mercator_variant_a(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createMercatorVariantA(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2809,23 +4121,30 @@ PJ_OBJ *proj_obj_create_projected_crs_MercatorVariantA(
*
* See osgeo::proj::operation::Conversion::createMercatorVariantB().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_MercatorVariantB(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeFirstParallel,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createMercatorVariantB(
- PropertyMap(), Angle(latitudeFirstParallel, angUnit),
- Angle(centerLong, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_mercator_variant_b(
+ PJ_CONTEXT *ctx, double latitude_first_parallel, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createMercatorVariantB(
+ PropertyMap(), Angle(latitude_first_parallel, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2835,22 +4154,30 @@ PJ_OBJ *proj_obj_create_projected_crs_MercatorVariantB(
* See
* osgeo::proj::operation::Conversion::createPopularVisualisationPseudoMercator().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_PopularVisualisationPseudoMercator(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createPopularVisualisationPseudoMercator(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_popular_visualisation_pseudo_mercator(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createPopularVisualisationPseudoMercator(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2859,22 +4186,30 @@ PJ_OBJ *proj_obj_create_projected_crs_PopularVisualisationPseudoMercator(
*
* See osgeo::proj::operation::Conversion::createMollweide().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Mollweide(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createMollweide(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_mollweide(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createMollweide(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2883,22 +4218,30 @@ PJ_OBJ *proj_obj_create_projected_crs_Mollweide(
*
* See osgeo::proj::operation::Conversion::createNewZealandMappingGrid().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_NewZealandMappingGrid(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createNewZealandMappingGrid(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_new_zealand_mapping_grid(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createNewZealandMappingGrid(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2907,23 +4250,31 @@ PJ_OBJ *proj_obj_create_projected_crs_NewZealandMappingGrid(
*
* See osgeo::proj::operation::Conversion::createObliqueStereographic().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_ObliqueStereographic(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createObliqueStereographic(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_oblique_stereographic(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createObliqueStereographic(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2932,22 +4283,30 @@ PJ_OBJ *proj_obj_create_projected_crs_ObliqueStereographic(
*
* See osgeo::proj::operation::Conversion::createOrthographic().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Orthographic(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createOrthographic(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_orthographic(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createOrthographic(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2956,22 +4315,30 @@ PJ_OBJ *proj_obj_create_projected_crs_Orthographic(
*
* See osgeo::proj::operation::Conversion::createAmericanPolyconic().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_AmericanPolyconic(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createAmericanPolyconic(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_american_polyconic(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createAmericanPolyconic(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -2980,23 +4347,31 @@ PJ_OBJ *proj_obj_create_projected_crs_AmericanPolyconic(
*
* See osgeo::proj::operation::Conversion::createPolarStereographicVariantA().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_PolarStereographicVariantA(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createPolarStereographicVariantA(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_polar_stereographic_variant_a(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createPolarStereographicVariantA(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3005,23 +4380,31 @@ PJ_OBJ *proj_obj_create_projected_crs_PolarStereographicVariantA(
*
* See osgeo::proj::operation::Conversion::createPolarStereographicVariantB().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_PolarStereographicVariantB(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeStandardParallel,
- double longitudeOfOrigin, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createPolarStereographicVariantB(
- PropertyMap(), Angle(latitudeStandardParallel, angUnit),
- Angle(longitudeOfOrigin, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_polar_stereographic_variant_b(
+ PJ_CONTEXT *ctx, double latitude_standard_parallel,
+ double longitude_of_origin, double false_easting, double false_northing,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createPolarStereographicVariantB(
+ PropertyMap(), Angle(latitude_standard_parallel, angUnit),
+ Angle(longitude_of_origin, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3030,22 +4413,32 @@ PJ_OBJ *proj_obj_create_projected_crs_PolarStereographicVariantB(
*
* See osgeo::proj::operation::Conversion::createRobinson().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Robinson(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createRobinson(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_robinson(PJ_CONTEXT *ctx, double center_long,
+ double false_easting,
+ double false_northing,
+ const char *ang_unit_name,
+ double ang_unit_conv_factor,
+ const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createRobinson(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3054,22 +4447,30 @@ PJ_OBJ *proj_obj_create_projected_crs_Robinson(
*
* See osgeo::proj::operation::Conversion::createSinusoidal().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Sinusoidal(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createSinusoidal(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_sinusoidal(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createSinusoidal(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3078,23 +4479,31 @@ PJ_OBJ *proj_obj_create_projected_crs_Sinusoidal(
*
* See osgeo::proj::operation::Conversion::createStereographic().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_Stereographic(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double scale, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createStereographic(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Scale(scale), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_stereographic(
+ PJ_CONTEXT *ctx, double center_lat, double center_long, double scale,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createStereographic(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Scale(scale),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3103,22 +4512,30 @@ PJ_OBJ *proj_obj_create_projected_crs_Stereographic(
*
* See osgeo::proj::operation::Conversion::createVanDerGrinten().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_VanDerGrinten(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createVanDerGrinten(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_van_der_grinten(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createVanDerGrinten(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3127,22 +4544,32 @@ PJ_OBJ *proj_obj_create_projected_crs_VanDerGrinten(
*
* See osgeo::proj::operation::Conversion::createWagnerI().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_WagnerI(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createWagnerI(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_wagner_i(PJ_CONTEXT *ctx, double center_long,
+ double false_easting,
+ double false_northing,
+ const char *ang_unit_name,
+ double ang_unit_conv_factor,
+ const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createWagnerI(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3151,22 +4578,30 @@ PJ_OBJ *proj_obj_create_projected_crs_WagnerI(
*
* See osgeo::proj::operation::Conversion::createWagnerII().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_WagnerII(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createWagnerII(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_wagner_ii(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createWagnerII(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3175,23 +4610,30 @@ PJ_OBJ *proj_obj_create_projected_crs_WagnerII(
*
* See osgeo::proj::operation::Conversion::createWagnerIII().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_WagnerIII(
- PJ_OBJ *geodetic_crs, const char *crs_name, double latitudeTrueScale,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createWagnerIII(
- PropertyMap(), Angle(latitudeTrueScale, angUnit),
- Angle(centerLong, angUnit), Length(falseEasting, linearUnit),
- Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_wagner_iii(
+ PJ_CONTEXT *ctx, double latitude_true_scale, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createWagnerIII(
+ PropertyMap(), Angle(latitude_true_scale, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3200,22 +4642,30 @@ PJ_OBJ *proj_obj_create_projected_crs_WagnerIII(
*
* See osgeo::proj::operation::Conversion::createWagnerIV().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_WagnerIV(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createWagnerIV(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_wagner_iv(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createWagnerIV(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3224,22 +4674,32 @@ PJ_OBJ *proj_obj_create_projected_crs_WagnerIV(
*
* See osgeo::proj::operation::Conversion::createWagnerV().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_WagnerV(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createWagnerV(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_wagner_v(PJ_CONTEXT *ctx, double center_long,
+ double false_easting,
+ double false_northing,
+ const char *ang_unit_name,
+ double ang_unit_conv_factor,
+ const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createWagnerV(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3248,22 +4708,30 @@ PJ_OBJ *proj_obj_create_projected_crs_WagnerV(
*
* See osgeo::proj::operation::Conversion::createWagnerVI().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_WagnerVI(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createWagnerVI(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_wagner_vi(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createWagnerVI(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3272,22 +4740,30 @@ PJ_OBJ *proj_obj_create_projected_crs_WagnerVI(
*
* See osgeo::proj::operation::Conversion::createWagnerVII().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_WagnerVII(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createWagnerVII(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_wagner_vii(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createWagnerVII(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3297,22 +4773,30 @@ PJ_OBJ *proj_obj_create_projected_crs_WagnerVII(
* See
* osgeo::proj::operation::Conversion::createQuadrilateralizedSphericalCube().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_QuadrilateralizedSphericalCube(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLat,
- double centerLong, double falseEasting, double falseNorthing,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createQuadrilateralizedSphericalCube(
- PropertyMap(), Angle(centerLat, angUnit), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_quadrilateralized_spherical_cube(
+ PJ_CONTEXT *ctx, double center_lat, double center_long,
+ double false_easting, double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createQuadrilateralizedSphericalCube(
+ PropertyMap(), Angle(center_lat, angUnit),
+ Angle(center_long, angUnit), Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3321,23 +4805,30 @@ PJ_OBJ *proj_obj_create_projected_crs_QuadrilateralizedSphericalCube(
*
* See osgeo::proj::operation::Conversion::createSphericalCrossTrackHeight().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
*/
-PJ_OBJ *proj_obj_create_projected_crs_SphericalCrossTrackHeight(
- PJ_OBJ *geodetic_crs, const char *crs_name, double pegPointLat,
- double pegPointLong, double pegPointHeading, double pegPointHeight,
- const char *angUnitName, double angUnitConvFactor,
- const char *linearUnitName, double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createSphericalCrossTrackHeight(
- PropertyMap(), Angle(pegPointLat, angUnit),
- Angle(pegPointLong, angUnit), Angle(pegPointHeading, angUnit),
- Length(pegPointHeight, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+PJ_OBJ *proj_obj_create_conversion_spherical_cross_track_height(
+ PJ_CONTEXT *ctx, double peg_point_lat, double peg_point_long,
+ double peg_point_heading, double peg_point_height,
+ const char *ang_unit_name, double ang_unit_conv_factor,
+ const char *linear_unit_name, double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createSphericalCrossTrackHeight(
+ PropertyMap(), Angle(peg_point_lat, angUnit),
+ Angle(peg_point_long, angUnit), Angle(peg_point_heading, angUnit),
+ Length(peg_point_height, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
// ---------------------------------------------------------------------------
@@ -3346,22 +4837,30 @@ PJ_OBJ *proj_obj_create_projected_crs_SphericalCrossTrackHeight(
*
* See osgeo::proj::operation::Conversion::createEqualEarth().
*
- * Linear parameters are expressed in (linearUnitName, linearUnitConvFactor).
- * Angular parameters are expressed in (angUnitName, angUnitConvFactor).
- */
-PJ_OBJ *proj_obj_create_projected_crs_EqualEarth(
- PJ_OBJ *geodetic_crs, const char *crs_name, double centerLong,
- double falseEasting, double falseNorthing, const char *angUnitName,
- double angUnitConvFactor, const char *linearUnitName,
- double linearUnitConvFactor) {
- UnitOfMeasure linearUnit(
- createLinearUnit(linearUnitName, linearUnitConvFactor));
- UnitOfMeasure angUnit(createAngularUnit(angUnitName, angUnitConvFactor));
- auto conv = Conversion::createEqualEarth(
- PropertyMap(), Angle(centerLong, angUnit),
- Length(falseEasting, linearUnit), Length(falseNorthing, linearUnit));
- return proj_obj_create_projected_crs(geodetic_crs, crs_name, conv,
- linearUnit);
+ * Linear parameters are expressed in (linear_unit_name,
+ * linear_unit_conv_factor).
+ * Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
+ */
+PJ_OBJ *proj_obj_create_conversion_equal_earth(
+ PJ_CONTEXT *ctx, double center_long, double false_easting,
+ double false_northing, const char *ang_unit_name,
+ double ang_unit_conv_factor, const char *linear_unit_name,
+ double linear_unit_conv_factor) {
+ SANITIZE_CTX(ctx);
+ try {
+ UnitOfMeasure linearUnit(
+ createLinearUnit(linear_unit_name, linear_unit_conv_factor));
+ UnitOfMeasure angUnit(
+ createAngularUnit(ang_unit_name, ang_unit_conv_factor));
+ auto conv = Conversion::createEqualEarth(
+ PropertyMap(), Angle(center_long, angUnit),
+ Length(false_easting, linearUnit),
+ Length(false_northing, linearUnit));
+ return proj_obj_create_conversion(conv);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
+ return nullptr;
}
/* END: Generated by scripts/create_c_api_projections.py*/
@@ -3371,21 +4870,23 @@ PJ_OBJ *proj_obj_create_projected_crs_EqualEarth(
* a PROJ pipeline, checking in particular that referenced grids are
* available.
*
+ * @param ctx PROJ context, or NULL for default context
* @param coordoperation Objet of type CoordinateOperation or derived classes
* (must not be NULL)
* @return TRUE or FALSE.
*/
-int proj_coordoperation_is_instanciable(PJ_OBJ *coordoperation) {
+int proj_coordoperation_is_instanciable(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation) {
assert(coordoperation);
auto op =
dynamic_cast<const CoordinateOperation *>(coordoperation->obj.get());
if (!op) {
- proj_log_error(coordoperation->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a CoordinateOperation");
return 0;
}
- auto dbContext = getDBcontextNoException(coordoperation->ctx, __FUNCTION__);
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
try {
return op->isPROJInstanciable(dbContext) ? 1 : 0;
} catch (const std::exception &) {
@@ -3397,16 +4898,18 @@ int proj_coordoperation_is_instanciable(PJ_OBJ *coordoperation) {
/** \brief Return the number of parameters of a SingleOperation
*
+ * @param ctx PROJ context, or NULL for default context
* @param coordoperation Objet of type SingleOperation or derived classes
* (must not be NULL)
*/
-int proj_coordoperation_get_param_count(PJ_OBJ *coordoperation) {
+int proj_coordoperation_get_param_count(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation) {
+ SANITIZE_CTX(ctx);
assert(coordoperation);
auto op = dynamic_cast<const SingleOperation *>(coordoperation->obj.get());
if (!op) {
- proj_log_error(coordoperation->ctx, __FUNCTION__,
- "Object is not a SingleOperation");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a SingleOperation");
return 0;
}
return static_cast<int>(op->parameterValues().size());
@@ -3416,20 +4919,22 @@ int proj_coordoperation_get_param_count(PJ_OBJ *coordoperation) {
/** \brief Return the index of a parameter of a SingleOperation
*
+ * @param ctx PROJ context, or NULL for default context
* @param coordoperation Objet of type SingleOperation or derived classes
* (must not be NULL)
* @param name Parameter name. Must not be NULL
* @return index (>=0), or -1 in case of error.
*/
-int proj_coordoperation_get_param_index(PJ_OBJ *coordoperation,
+int proj_coordoperation_get_param_index(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation,
const char *name) {
+ SANITIZE_CTX(ctx);
assert(coordoperation);
assert(name);
auto op = dynamic_cast<const SingleOperation *>(coordoperation->obj.get());
if (!op) {
- proj_log_error(coordoperation->ctx, __FUNCTION__,
- "Object is not a SingleOperation");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a SingleOperation");
return -1;
}
int index = 0;
@@ -3446,64 +4951,66 @@ int proj_coordoperation_get_param_index(PJ_OBJ *coordoperation,
/** \brief Return a parameter of a SingleOperation
*
+ * @param ctx PROJ context, or NULL for default context
* @param coordoperation Objet of type SingleOperation or derived classes
* (must not be NULL)
* @param index Parameter index.
- * @param pName Pointer to a string value to store the parameter name. or NULL
- * @param pNameAuthorityName Pointer to a string value to store the parameter
+ * @param out_name Pointer to a string value to store the parameter name. or
+ * NULL
+ * @param out_auth_name Pointer to a string value to store the parameter
* authority name. or NULL
- * @param pNameCode Pointer to a string value to store the parameter
+ * @param out_code Pointer to a string value to store the parameter
* code. or NULL
- * @param pValue Pointer to a double value to store the parameter
+ * @param out_value Pointer to a double value to store the parameter
* value (if numeric). or NULL
- * @param pValueString Pointer to a string value to store the parameter
+ * @param out_value_string Pointer to a string value to store the parameter
* value (if of type string). or NULL
- * @param pValueUnitConvFactor Pointer to a double value to store the parameter
+ * @param out_unit_conv_factor Pointer to a double value to store the parameter
* unit conversion factor. or NULL
- * @param pValueUnitName Pointer to a string value to store the parameter
+ * @param out_unit_name Pointer to a string value to store the parameter
* unit name. or NULL
* @return TRUE in case of success.
*/
-int proj_coordoperation_get_param(PJ_OBJ *coordoperation, int index,
- const char **pName,
- const char **pNameAuthorityName,
- const char **pNameCode, double *pValue,
- const char **pValueString,
- double *pValueUnitConvFactor,
- const char **pValueUnitName) {
+int proj_coordoperation_get_param(PJ_CONTEXT *ctx, const PJ_OBJ *coordoperation,
+ int index, const char **out_name,
+ const char **out_auth_name,
+ const char **out_code, double *out_value,
+ const char **out_value_string,
+ double *out_unit_conv_factor,
+ const char **out_unit_name) {
+ SANITIZE_CTX(ctx);
assert(coordoperation);
auto op = dynamic_cast<const SingleOperation *>(coordoperation->obj.get());
if (!op) {
- proj_log_error(coordoperation->ctx, __FUNCTION__,
- "Object is not a SingleOperation");
+ proj_log_error(ctx, __FUNCTION__, "Object is not a SingleOperation");
return false;
}
const auto &parameters = op->method()->parameters();
const auto &values = op->parameterValues();
if (static_cast<size_t>(index) >= parameters.size() ||
static_cast<size_t>(index) >= values.size()) {
- proj_log_error(coordoperation->ctx, __FUNCTION__, "Invalid index");
+ proj_log_error(ctx, __FUNCTION__, "Invalid index");
return false;
}
const auto &param = parameters[index];
const auto &param_ids = param->identifiers();
- if (pName) {
- *pName = param->name()->description()->c_str();
+ if (out_name) {
+ *out_name = param->name()->description()->c_str();
}
- if (pNameAuthorityName) {
+ if (out_auth_name) {
if (!param_ids.empty()) {
- *pNameAuthorityName = param_ids[0]->codeSpace()->c_str();
+ *out_auth_name = param_ids[0]->codeSpace()->c_str();
} else {
- *pNameAuthorityName = nullptr;
+ *out_auth_name = nullptr;
}
}
- if (pNameCode) {
+ if (out_code) {
if (!param_ids.empty()) {
- *pNameCode = param_ids[0]->code().c_str();
+ *out_code = param_ids[0]->code().c_str();
} else {
- *pNameCode = nullptr;
+ *out_code = nullptr;
}
}
@@ -3514,38 +5021,38 @@ int proj_coordoperation_get_param(PJ_OBJ *coordoperation, int index,
if (opParamValue) {
paramValue = opParamValue->parameterValue().as_nullable();
}
- if (pValue) {
- *pValue = 0;
+ if (out_value) {
+ *out_value = 0;
if (paramValue) {
if (paramValue->type() == ParameterValue::Type::MEASURE) {
- *pValue = paramValue->value().value();
+ *out_value = paramValue->value().value();
}
}
}
- if (pValueString) {
- *pValueString = nullptr;
+ if (out_value_string) {
+ *out_value_string = nullptr;
if (paramValue) {
if (paramValue->type() == ParameterValue::Type::FILENAME) {
- *pValueString = paramValue->valueFile().c_str();
+ *out_value_string = paramValue->valueFile().c_str();
} else if (paramValue->type() == ParameterValue::Type::STRING) {
- *pValueString = paramValue->stringValue().c_str();
+ *out_value_string = paramValue->stringValue().c_str();
}
}
}
- if (pValueUnitConvFactor) {
- *pValueUnitConvFactor = 0;
+ if (out_unit_conv_factor) {
+ *out_unit_conv_factor = 0;
if (paramValue) {
if (paramValue->type() == ParameterValue::Type::MEASURE) {
- *pValueUnitConvFactor =
+ *out_unit_conv_factor =
paramValue->value().unit().conversionToSI();
}
}
}
- if (pValueUnitName) {
- *pValueUnitName = nullptr;
+ if (out_unit_name) {
+ *out_unit_name = nullptr;
if (paramValue) {
if (paramValue->type() == ParameterValue::Type::MEASURE) {
- *pValueUnitName = paramValue->value().unit().name().c_str();
+ *out_unit_name = paramValue->value().unit().name().c_str();
}
}
}
@@ -3557,20 +5064,23 @@ int proj_coordoperation_get_param(PJ_OBJ *coordoperation, int index,
/** \brief Return the number of grids used by a CoordinateOperation
*
+ * @param ctx PROJ context, or NULL for default context
* @param coordoperation Objet of type CoordinateOperation or derived classes
* (must not be NULL)
*/
-int proj_coordoperation_get_grid_used_count(PJ_OBJ *coordoperation) {
+int proj_coordoperation_get_grid_used_count(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation) {
+ SANITIZE_CTX(ctx);
assert(coordoperation);
auto co =
dynamic_cast<const CoordinateOperation *>(coordoperation->obj.get());
if (!co) {
- proj_log_error(coordoperation->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a CoordinateOperation");
return 0;
}
- auto dbContext = getDBcontextNoException(coordoperation->ctx, __FUNCTION__);
+ auto dbContext = getDBcontextNoException(ctx, __FUNCTION__);
try {
if (!coordoperation->gridsNeededAsked) {
coordoperation->gridsNeededAsked = true;
@@ -3581,7 +5091,7 @@ int proj_coordoperation_get_grid_used_count(PJ_OBJ *coordoperation) {
}
return static_cast<int>(coordoperation->gridsNeeded.size());
} catch (const std::exception &e) {
- proj_log_error(coordoperation->ctx, __FUNCTION__, e.what());
+ proj_log_error(ctx, __FUNCTION__, e.what());
return 0;
}
}
@@ -3590,65 +5100,68 @@ int proj_coordoperation_get_grid_used_count(PJ_OBJ *coordoperation) {
/** \brief Return a parameter of a SingleOperation
*
+ * @param ctx PROJ context, or NULL for default context
* @param coordoperation Objet of type SingleOperation or derived classes
* (must not be NULL)
* @param index Parameter index.
- * @param pShortName Pointer to a string value to store the grid short name. or
- * NULL
- * @param pFullName Pointer to a string value to store the grid full filename.
+ * @param out_short_name Pointer to a string value to store the grid short name.
* or NULL
- * @param pPackageName Pointer to a string value to store the package name where
+ * @param out_full_name Pointer to a string value to store the grid full
+ * filename. or NULL
+ * @param out_package_name Pointer to a string value to store the package name
+ * where
* the grid might be found. or NULL
- * @param pURL Pointer to a string value to store the grid URL or the
+ * @param out_url Pointer to a string value to store the grid URL or the
* package URL where the grid might be found. or NULL
- * @param pDirectDownload Pointer to a int (boolean) value to store whether
- * *pURL can be downloaded directly. or NULL
- * @param pOpenLicense Pointer to a int (boolean) value to store whether
+ * @param out_direct_download Pointer to a int (boolean) value to store whether
+ * *out_url can be downloaded directly. or NULL
+ * @param out_open_license Pointer to a int (boolean) value to store whether
* the grid is released with an open license. or NULL
- * @param pAvailable Pointer to a int (boolean) value to store whether the grid
- * is available at runtime. or NULL
+ * @param out_available Pointer to a int (boolean) value to store whether the
+ * grid is available at runtime. or NULL
* @return TRUE in case of success.
*/
-int proj_coordoperation_get_grid_used(PJ_OBJ *coordoperation, int index,
- const char **pShortName,
- const char **pFullName,
- const char **pPackageName,
- const char **pURL, int *pDirectDownload,
- int *pOpenLicense, int *pAvailable) {
- const int count = proj_coordoperation_get_grid_used_count(coordoperation);
+int proj_coordoperation_get_grid_used(
+ PJ_CONTEXT *ctx, const PJ_OBJ *coordoperation, int index,
+ const char **out_short_name, const char **out_full_name,
+ const char **out_package_name, const char **out_url,
+ int *out_direct_download, int *out_open_license, int *out_available) {
+ SANITIZE_CTX(ctx);
+ const int count =
+ proj_coordoperation_get_grid_used_count(ctx, coordoperation);
if (index < 0 || index >= count) {
- proj_log_error(coordoperation->ctx, __FUNCTION__, "Invalid index");
+ proj_log_error(ctx, __FUNCTION__, "Invalid index");
return false;
}
const auto &gridDesc = coordoperation->gridsNeeded[index];
- if (pShortName) {
- *pShortName = gridDesc.shortName.c_str();
+ if (out_short_name) {
+ *out_short_name = gridDesc.shortName.c_str();
}
- if (pFullName) {
- *pFullName = gridDesc.fullName.c_str();
+ if (out_full_name) {
+ *out_full_name = gridDesc.fullName.c_str();
}
- if (pPackageName) {
- *pPackageName = gridDesc.packageName.c_str();
+ if (out_package_name) {
+ *out_package_name = gridDesc.packageName.c_str();
}
- if (pURL) {
- *pURL = gridDesc.url.c_str();
+ if (out_url) {
+ *out_url = gridDesc.url.c_str();
}
- if (pDirectDownload) {
- *pDirectDownload = gridDesc.directDownload;
+ if (out_direct_download) {
+ *out_direct_download = gridDesc.directDownload;
}
- if (pOpenLicense) {
- *pOpenLicense = gridDesc.openLicense;
+ if (out_open_license) {
+ *out_open_license = gridDesc.openLicense;
}
- if (pAvailable) {
- *pAvailable = gridDesc.available;
+ if (out_available) {
+ *out_available = gridDesc.available;
}
return true;
@@ -3659,12 +5172,11 @@ int proj_coordoperation_get_grid_used(PJ_OBJ *coordoperation, int index,
/** \brief Opaque object representing an operation factory context. */
struct PJ_OPERATION_FACTORY_CONTEXT {
//! @cond Doxygen_Suppress
- PJ_CONTEXT *ctx;
CoordinateOperationContextNNPtr operationContext;
explicit PJ_OPERATION_FACTORY_CONTEXT(
- PJ_CONTEXT *ctxIn, CoordinateOperationContextNNPtr &&operationContextIn)
- : ctx(ctxIn), operationContext(std::move(operationContextIn)) {}
+ CoordinateOperationContextNNPtr &&operationContextIn)
+ : operationContext(std::move(operationContextIn)) {}
PJ_OPERATION_FACTORY_CONTEXT(const PJ_OPERATION_FACTORY_CONTEXT &) = delete;
PJ_OPERATION_FACTORY_CONTEXT &
@@ -3700,12 +5212,12 @@ proj_create_operation_factory_context(PJ_CONTEXT *ctx, const char *authority) {
auto operationContext =
CoordinateOperationContext::create(authFactory, nullptr, 0.0);
return new PJ_OPERATION_FACTORY_CONTEXT(
- ctx, std::move(operationContext));
+ std::move(operationContext));
} else {
auto operationContext =
CoordinateOperationContext::create(nullptr, nullptr, 0.0);
return new PJ_OPERATION_FACTORY_CONTEXT(
- ctx, std::move(operationContext));
+ std::move(operationContext));
}
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
@@ -3720,22 +5232,29 @@ proj_create_operation_factory_context(PJ_CONTEXT *ctx, const char *authority) {
* This method should be called one and exactly one for each function
* returning a PJ_OPERATION_FACTORY_CONTEXT*
*
- * @param ctxt Object, or NULL.
+ * @param ctx Object, or NULL.
*/
-void proj_operation_factory_context_unref(PJ_OPERATION_FACTORY_CONTEXT *ctxt) {
- delete ctxt;
+void proj_operation_factory_context_unref(PJ_OPERATION_FACTORY_CONTEXT *ctx) {
+ delete ctx;
}
// ---------------------------------------------------------------------------
/** \brief Set the desired accuracy of the resulting coordinate transformations.
- * @param ctxt Operation factory context. must not be NULL
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
* @param accuracy Accuracy in meter (or 0 to disable the filter).
*/
void proj_operation_factory_context_set_desired_accuracy(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, double accuracy) {
- assert(ctxt);
- ctxt->operationContext->setDesiredAccuracy(accuracy);
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ double accuracy) {
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ factory_ctx->operationContext->setDesiredAccuracy(accuracy);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
}
// ---------------------------------------------------------------------------
@@ -3743,21 +5262,29 @@ void proj_operation_factory_context_set_desired_accuracy(
/** \brief Set the desired area of interest for the resulting coordinate
* transformations.
*
- * For an area of interest crossing the anti-meridian, west_lon will be
- * greater than east_lon.
+ * For an area of interest crossing the anti-meridian, west_lon_degree will be
+ * greater than east_lon_degree.
*
- * @param ctxt Operation factory context. must not be NULL
- * @param west_lon West longitude (in degrees).
- * @param south_lat South latitude (in degrees).
- * @param east_lon East longitude (in degrees).
- * @param north_lat North latitude (in degrees).
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
+ * @param west_lon_degree West longitude (in degrees).
+ * @param south_lat_degree South latitude (in degrees).
+ * @param east_lon_degree East longitude (in degrees).
+ * @param north_lat_degree North latitude (in degrees).
*/
void proj_operation_factory_context_set_area_of_interest(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, double west_lon, double south_lat,
- double east_lon, double north_lat) {
- assert(ctxt);
- ctxt->operationContext->setAreaOfInterest(
- Extent::createFromBBOX(west_lon, south_lat, east_lon, north_lat));
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ double west_lon_degree, double south_lat_degree, double east_lon_degree,
+ double north_lat_degree) {
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ factory_ctx->operationContext->setAreaOfInterest(
+ Extent::createFromBBOX(west_lon_degree, south_lat_degree,
+ east_lon_degree, north_lat_degree));
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
}
// ---------------------------------------------------------------------------
@@ -3768,32 +5295,40 @@ void proj_operation_factory_context_set_area_of_interest(
*
* The default is PJ_CRS_EXTENT_SMALLEST.
*
- * @param ctxt Operation factory context. must not be NULL
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
* @param use How source and target CRS extent should be used.
*/
void proj_operation_factory_context_set_crs_extent_use(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, PROJ_CRS_EXTENT_USE use) {
- assert(ctxt);
- switch (use) {
- case PJ_CRS_EXTENT_NONE:
- ctxt->operationContext->setSourceAndTargetCRSExtentUse(
- CoordinateOperationContext::SourceTargetCRSExtentUse::NONE);
- break;
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ PROJ_CRS_EXTENT_USE use) {
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ switch (use) {
+ case PJ_CRS_EXTENT_NONE:
+ factory_ctx->operationContext->setSourceAndTargetCRSExtentUse(
+ CoordinateOperationContext::SourceTargetCRSExtentUse::NONE);
+ break;
- case PJ_CRS_EXTENT_BOTH:
- ctxt->operationContext->setSourceAndTargetCRSExtentUse(
- CoordinateOperationContext::SourceTargetCRSExtentUse::BOTH);
- break;
+ case PJ_CRS_EXTENT_BOTH:
+ factory_ctx->operationContext->setSourceAndTargetCRSExtentUse(
+ CoordinateOperationContext::SourceTargetCRSExtentUse::BOTH);
+ break;
- case PJ_CRS_EXTENT_INTERSECTION:
- ctxt->operationContext->setSourceAndTargetCRSExtentUse(
- CoordinateOperationContext::SourceTargetCRSExtentUse::INTERSECTION);
- break;
+ case PJ_CRS_EXTENT_INTERSECTION:
+ factory_ctx->operationContext->setSourceAndTargetCRSExtentUse(
+ CoordinateOperationContext::SourceTargetCRSExtentUse::
+ INTERSECTION);
+ break;
- case PJ_CRS_EXTENT_SMALLEST:
- ctxt->operationContext->setSourceAndTargetCRSExtentUse(
- CoordinateOperationContext::SourceTargetCRSExtentUse::SMALLEST);
- break;
+ case PJ_CRS_EXTENT_SMALLEST:
+ factory_ctx->operationContext->setSourceAndTargetCRSExtentUse(
+ CoordinateOperationContext::SourceTargetCRSExtentUse::SMALLEST);
+ break;
+ }
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
}
}
@@ -3806,22 +5341,31 @@ void proj_operation_factory_context_set_crs_extent_use(
*
* The default is PROJ_SPATIAL_CRITERION_STRICT_CONTAINMENT.
*
- * @param ctxt Operation factory context. must not be NULL
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
* @param criterion patial criterion to use
*/
void PROJ_DLL proj_operation_factory_context_set_spatial_criterion(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, PROJ_SPATIAL_CRITERION criterion) {
- assert(ctxt);
- switch (criterion) {
- case PROJ_SPATIAL_CRITERION_STRICT_CONTAINMENT:
- ctxt->operationContext->setSpatialCriterion(
- CoordinateOperationContext::SpatialCriterion::STRICT_CONTAINMENT);
- break;
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ PROJ_SPATIAL_CRITERION criterion) {
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ switch (criterion) {
+ case PROJ_SPATIAL_CRITERION_STRICT_CONTAINMENT:
+ factory_ctx->operationContext->setSpatialCriterion(
+ CoordinateOperationContext::SpatialCriterion::
+ STRICT_CONTAINMENT);
+ break;
- case PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION:
- ctxt->operationContext->setSpatialCriterion(
- CoordinateOperationContext::SpatialCriterion::PARTIAL_INTERSECTION);
- break;
+ case PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION:
+ factory_ctx->operationContext->setSpatialCriterion(
+ CoordinateOperationContext::SpatialCriterion::
+ PARTIAL_INTERSECTION);
+ break;
+ }
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
}
}
@@ -3831,29 +5375,37 @@ void PROJ_DLL proj_operation_factory_context_set_spatial_criterion(
*
* The default is USE_FOR_SORTING.
*
- * @param ctxt Operation factory context. must not be NULL
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
* @param use how grid availability is used.
*/
void PROJ_DLL proj_operation_factory_context_set_grid_availability_use(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, PROJ_GRID_AVAILABILITY_USE use) {
- assert(ctxt);
- switch (use) {
- case PROJ_GRID_AVAILABILITY_USED_FOR_SORTING:
- ctxt->operationContext->setGridAvailabilityUse(
- CoordinateOperationContext::GridAvailabilityUse::USE_FOR_SORTING);
- break;
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ PROJ_GRID_AVAILABILITY_USE use) {
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ switch (use) {
+ case PROJ_GRID_AVAILABILITY_USED_FOR_SORTING:
+ factory_ctx->operationContext->setGridAvailabilityUse(
+ CoordinateOperationContext::GridAvailabilityUse::
+ USE_FOR_SORTING);
+ break;
- case PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID:
- ctxt->operationContext->setGridAvailabilityUse(
- CoordinateOperationContext::GridAvailabilityUse::
- DISCARD_OPERATION_IF_MISSING_GRID);
- break;
+ case PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID:
+ factory_ctx->operationContext->setGridAvailabilityUse(
+ CoordinateOperationContext::GridAvailabilityUse::
+ DISCARD_OPERATION_IF_MISSING_GRID);
+ break;
- case PROJ_GRID_AVAILABILITY_IGNORED:
- ctxt->operationContext->setGridAvailabilityUse(
- CoordinateOperationContext::GridAvailabilityUse::
- IGNORE_GRID_AVAILABILITY);
- break;
+ case PROJ_GRID_AVAILABILITY_IGNORED:
+ factory_ctx->operationContext->setGridAvailabilityUse(
+ CoordinateOperationContext::GridAvailabilityUse::
+ IGNORE_GRID_AVAILABILITY);
+ break;
+ }
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
}
}
@@ -3864,13 +5416,21 @@ void PROJ_DLL proj_operation_factory_context_set_grid_availability_use(
*
* The default is true.
*
- * @param ctxt Operation factory context. must not be NULL
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
* @param usePROJNames whether PROJ alternative grid names should be used
*/
void proj_operation_factory_context_set_use_proj_alternative_grid_names(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, int usePROJNames) {
- assert(ctxt);
- ctxt->operationContext->setUsePROJAlternativeGridNames(usePROJNames != 0);
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ int usePROJNames) {
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ factory_ctx->operationContext->setUsePROJAlternativeGridNames(
+ usePROJNames != 0);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
}
// ---------------------------------------------------------------------------
@@ -3892,13 +5452,19 @@ void proj_operation_factory_context_set_use_proj_alternative_grid_names(
*
* The default is true.
*
- * @param ctxt Operation factory context. must not be NULL
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
* @param allow whether intermediate CRS may be used.
*/
void proj_operation_factory_context_set_allow_use_intermediate_crs(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, int allow) {
- assert(ctxt);
- ctxt->operationContext->setAllowUseIntermediateCRS(allow != 0);
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx, int allow) {
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ factory_ctx->operationContext->setAllowUseIntermediateCRS(allow != 0);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
+ }
}
// ---------------------------------------------------------------------------
@@ -3906,21 +5472,27 @@ void proj_operation_factory_context_set_allow_use_intermediate_crs(
/** \brief Restrict the potential pivot CRSs that can be used when trying to
* build a coordinate operation between two CRS that have no direct operation.
*
- * @param ctxt Operation factory context. must not be NULL
+ * @param ctx PROJ context, or NULL for default context
+ * @param factory_ctx Operation factory context. must not be NULL
* @param list_of_auth_name_codes an array of strings NLL terminated,
* with the format { "auth_name1", "code1", "auth_name2", "code2", ... NULL }
*/
void proj_operation_factory_context_set_allowed_intermediate_crs(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PJ_CONTEXT *ctx, PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
const char *const *list_of_auth_name_codes) {
- assert(ctxt);
- std::vector<std::pair<std::string, std::string>> pivots;
- for (auto iter = list_of_auth_name_codes; iter && iter[0] && iter[1];
- iter += 2) {
- pivots.emplace_back(std::pair<std::string, std::string>(
- std::string(iter[0]), std::string(iter[1])));
+ SANITIZE_CTX(ctx);
+ assert(factory_ctx);
+ try {
+ std::vector<std::pair<std::string, std::string>> pivots;
+ for (auto iter = list_of_auth_name_codes; iter && iter[0] && iter[1];
+ iter += 2) {
+ pivots.emplace_back(std::pair<std::string, std::string>(
+ std::string(iter[0]), std::string(iter[1])));
+ }
+ factory_ctx->operationContext->setIntermediateCRS(pivots);
+ } catch (const std::exception &e) {
+ proj_log_error(ctx, __FUNCTION__, e.what());
}
- ctxt->operationContext->setIntermediateCRS(pivots);
}
// ---------------------------------------------------------------------------
@@ -3935,29 +5507,29 @@ void proj_operation_factory_context_set_allowed_intermediate_crs(
* by increasing accuracy. Operations with unknown accuracy are sorted last,
* whatever their area.
*
+ * @param ctx PROJ context, or NULL for default context
* @param source_crs source CRS. Must not be NULL.
* @param target_crs source CRS. Must not be NULL.
* @param operationContext Search context. Must not be NULL.
* @return a result set that must be unreferenced with
* proj_obj_list_unref(), or NULL in case of error.
*/
-PJ_OBJ_LIST *
-proj_obj_create_operations(PJ_OBJ *source_crs, PJ_OBJ *target_crs,
- PJ_OPERATION_FACTORY_CONTEXT *operationContext) {
+PJ_OBJ_LIST *proj_obj_create_operations(
+ PJ_CONTEXT *ctx, const PJ_OBJ *source_crs, const PJ_OBJ *target_crs,
+ const PJ_OPERATION_FACTORY_CONTEXT *operationContext) {
+ SANITIZE_CTX(ctx);
assert(source_crs);
assert(target_crs);
assert(operationContext);
auto sourceCRS = nn_dynamic_pointer_cast<CRS>(source_crs->obj);
if (!sourceCRS) {
- proj_log_error(operationContext->ctx, __FUNCTION__,
- "source_crs is not a CRS");
+ proj_log_error(ctx, __FUNCTION__, "source_crs is not a CRS");
return nullptr;
}
auto targetCRS = nn_dynamic_pointer_cast<CRS>(target_crs->obj);
if (!targetCRS) {
- proj_log_error(operationContext->ctx, __FUNCTION__,
- "target_crs is not a CRS");
+ proj_log_error(ctx, __FUNCTION__, "target_crs is not a CRS");
return nullptr;
}
@@ -3970,9 +5542,9 @@ proj_obj_create_operations(PJ_OBJ *source_crs, PJ_OBJ *target_crs,
for (const auto &op : ops) {
objects.emplace_back(op);
}
- return new PJ_OBJ_LIST(operationContext->ctx, std::move(objects));
+ return new PJ_OBJ_LIST(std::move(objects));
} catch (const std::exception &e) {
- proj_log_error(operationContext->ctx, __FUNCTION__, e.what());
+ proj_log_error(ctx, __FUNCTION__, e.what());
return nullptr;
}
}
@@ -3983,7 +5555,7 @@ proj_obj_create_operations(PJ_OBJ *source_crs, PJ_OBJ *target_crs,
*
* @param result Objet of type PJ_OBJ_LIST (must not be NULL)
*/
-int proj_obj_list_get_count(PJ_OBJ_LIST *result) {
+int proj_obj_list_get_count(const PJ_OBJ_LIST *result) {
assert(result);
return static_cast<int>(result->objects.size());
}
@@ -3996,19 +5568,22 @@ int proj_obj_list_get_count(PJ_OBJ_LIST *result) {
* use.
* It should be used by at most one thread at a time.
*
+ * @param ctx PROJ context, or NULL for default context
* @param result Objet of type PJ_OBJ_LIST (must not be NULL)
* @param index Index
* @return a new object that must be unreferenced with proj_obj_unref(),
* or nullptr in case of error.
*/
-PJ_OBJ *proj_obj_list_get(PJ_OBJ_LIST *result, int index) {
+PJ_OBJ *proj_obj_list_get(PJ_CONTEXT *ctx, const PJ_OBJ_LIST *result,
+ int index) {
+ SANITIZE_CTX(ctx);
assert(result);
if (index < 0 || index >= proj_obj_list_get_count(result)) {
- proj_log_error(result->ctx, __FUNCTION__, "Invalid index");
+ proj_log_error(ctx, __FUNCTION__, "Invalid index");
return nullptr;
}
- return PJ_OBJ::create(result->ctx, result->objects[index]);
+ return PJ_OBJ::create(result->objects[index]);
}
// ---------------------------------------------------------------------------
@@ -4026,14 +5601,18 @@ void proj_obj_list_unref(PJ_OBJ_LIST *result) { delete result; }
/** \brief Return the accuracy (in metre) of a coordinate operation.
*
+ * @param ctx PROJ context, or NULL for default context
+ * @param coordoperation Coordinate operation. Must not be NULL.
* @return the accuracy, or a negative value if unknown or in case of error.
*/
-double proj_coordoperation_get_accuracy(PJ_OBJ *coordoperation) {
+double proj_coordoperation_get_accuracy(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation) {
+ SANITIZE_CTX(ctx);
assert(coordoperation);
auto co =
dynamic_cast<const CoordinateOperation *>(coordoperation->obj.get());
if (!co) {
- proj_log_error(coordoperation->ctx, __FUNCTION__,
+ proj_log_error(ctx, __FUNCTION__,
"Object is not a CoordinateOperation");
return -1;
}
@@ -4047,3 +5626,176 @@ double proj_coordoperation_get_accuracy(PJ_OBJ *coordoperation) {
}
return -1;
}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Returns the datum of a SingleCRS.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param crs Objet of type SingleCRS (must not be NULL)
+ * @return Object that must be unreferenced with proj_obj_unref(), or NULL
+ * in case of error (or if there is no datum)
+ */
+PJ_OBJ *proj_obj_crs_get_datum(PJ_CONTEXT *ctx, const PJ_OBJ *crs) {
+ SANITIZE_CTX(ctx);
+ assert(crs);
+ auto l_crs = dynamic_cast<const SingleCRS *>(crs->obj.get());
+ if (!l_crs) {
+ proj_log_error(ctx, __FUNCTION__, "Object is not a SingleCRS");
+ return nullptr;
+ }
+ const auto &datum = l_crs->datum();
+ if (!datum) {
+ return nullptr;
+ }
+ return PJ_OBJ::create(NN_NO_CHECK(datum));
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Returns the coordinate system of a SingleCRS.
+ *
+ * The returned object must be unreferenced with proj_obj_unref() after
+ * use.
+ * It should be used by at most one thread at a time.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param crs Objet of type SingleCRS (must not be NULL)
+ * @return Object that must be unreferenced with proj_obj_unref(), or NULL
+ * in case of error.
+ */
+PJ_OBJ *proj_obj_crs_get_coordinate_system(PJ_CONTEXT *ctx, const PJ_OBJ *crs) {
+ SANITIZE_CTX(ctx);
+ assert(crs);
+ auto l_crs = dynamic_cast<const SingleCRS *>(crs->obj.get());
+ if (!l_crs) {
+ proj_log_error(ctx, __FUNCTION__, "Object is not a SingleCRS");
+ return nullptr;
+ }
+ return PJ_OBJ::create(l_crs->coordinateSystem());
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Returns the type of the coordinate system.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param cs Objet of type CoordinateSystem (must not be NULL)
+ * @return type, or PJ_CS_TYPE_UNKNOWN in case of error.
+ */
+PJ_COORDINATE_SYSTEM_TYPE proj_obj_cs_get_type(PJ_CONTEXT *ctx,
+ const PJ_OBJ *cs) {
+ SANITIZE_CTX(ctx);
+ assert(cs);
+ auto l_cs = dynamic_cast<const CoordinateSystem *>(cs->obj.get());
+ if (!l_cs) {
+ proj_log_error(ctx, __FUNCTION__, "Object is not a CoordinateSystem");
+ return PJ_CS_TYPE_UNKNOWN;
+ }
+ if (dynamic_cast<const CartesianCS *>(l_cs)) {
+ return PJ_CS_TYPE_CARTESIAN;
+ }
+ if (dynamic_cast<const EllipsoidalCS *>(l_cs)) {
+ return PJ_CS_TYPE_ELLIPSOIDAL;
+ }
+ if (dynamic_cast<const VerticalCS *>(l_cs)) {
+ return PJ_CS_TYPE_VERTICAL;
+ }
+ if (dynamic_cast<const SphericalCS *>(l_cs)) {
+ return PJ_CS_TYPE_SPHERICAL;
+ }
+ if (dynamic_cast<const OrdinalCS *>(l_cs)) {
+ return PJ_CS_TYPE_ORDINAL;
+ }
+ if (dynamic_cast<const ParametricCS *>(l_cs)) {
+ return PJ_CS_TYPE_PARAMETRIC;
+ }
+ if (dynamic_cast<const DateTimeTemporalCS *>(l_cs)) {
+ return PJ_CS_TYPE_DATETIMETEMPORAL;
+ }
+ if (dynamic_cast<const TemporalCountCS *>(l_cs)) {
+ return PJ_CS_TYPE_TEMPORALCOUNT;
+ }
+ if (dynamic_cast<const TemporalMeasureCS *>(l_cs)) {
+ return PJ_CS_TYPE_TEMPORALMEASURE;
+ }
+ return PJ_CS_TYPE_UNKNOWN;
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Returns the number of axis of the coordinate system.
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param cs Objet of type CoordinateSystem (must not be NULL)
+ * @return number of axis, or -1 in case of error.
+ */
+int proj_obj_cs_get_axis_count(PJ_CONTEXT *ctx, const PJ_OBJ *cs) {
+ SANITIZE_CTX(ctx);
+ assert(cs);
+ auto l_cs = dynamic_cast<const CoordinateSystem *>(cs->obj.get());
+ if (!l_cs) {
+ proj_log_error(ctx, __FUNCTION__, "Object is not a CoordinateSystem");
+ return -1;
+ }
+ return static_cast<int>(l_cs->axisList().size());
+}
+
+// ---------------------------------------------------------------------------
+
+/** \brief Returns information on an axis
+ *
+ * @param ctx PROJ context, or NULL for default context
+ * @param cs Objet of type CoordinateSystem (must not be NULL)
+ * @param index Index of the coordinate system (between 0 and
+ * proj_obj_cs_get_axis_count() - 1)
+ * @param out_name Pointer to a string value to store the axis name. or NULL
+ * @param out_abbrev Pointer to a string value to store the axis abbreviation.
+ * or NULL
+ * @param out_direction Pointer to a string value to store the axis direction.
+ * or NULL
+ * @param out_unit_conv_factor Pointer to a double value to store the axis
+ * unit conversion factor. or NULL
+ * @param out_unit_name Pointer to a string value to store the axis
+ * unit name. or NULL
+ * @return TRUE in case of success
+ */
+int proj_obj_cs_get_axis_info(PJ_CONTEXT *ctx, const PJ_OBJ *cs, int index,
+ const char **out_name, const char **out_abbrev,
+ const char **out_direction,
+ double *out_unit_conv_factor,
+ const char **out_unit_name) {
+ SANITIZE_CTX(ctx);
+ assert(cs);
+ auto l_cs = dynamic_cast<const CoordinateSystem *>(cs->obj.get());
+ if (!l_cs) {
+ proj_log_error(ctx, __FUNCTION__, "Object is not a CoordinateSystem");
+ return false;
+ }
+ const auto &axisList = l_cs->axisList();
+ if (index < 0 || static_cast<size_t>(index) >= axisList.size()) {
+ proj_log_error(ctx, __FUNCTION__, "Invalid index");
+ return false;
+ }
+ const auto &axis = axisList[index];
+ if (out_name) {
+ *out_name = axis->nameStr().c_str();
+ }
+ if (out_abbrev) {
+ *out_abbrev = axis->abbreviation().c_str();
+ }
+ if (out_direction) {
+ *out_direction = axis->direction().toString().c_str();
+ }
+ if (out_unit_conv_factor) {
+ *out_unit_conv_factor = axis->unit().conversionToSI();
+ }
+ if (out_unit_name) {
+ *out_unit_name = axis->unit().name().c_str();
+ }
+ return true;
+}
diff --git a/src/coordinateoperation.cpp b/src/coordinateoperation.cpp
index 42cc806e..bbe84698 100644
--- a/src/coordinateoperation.cpp
+++ b/src/coordinateoperation.cpp
@@ -149,6 +149,8 @@ static std::set<std::string> buildSetEquivalentParameters() {
{"latitude_of_point_2", "Latitude_Of_2nd_Point", nullptr},
{"longitude_of_point_2", "Longitude_Of_2nd_Point", nullptr},
+ {"satellite_height", "height", nullptr},
+
{EPSG_NAME_PARAMETER_FALSE_EASTING,
EPSG_NAME_PARAMETER_EASTING_FALSE_ORIGIN,
EPSG_NAME_PARAMETER_EASTING_PROJECTION_CENTRE, nullptr},
@@ -160,7 +162,8 @@ static std::set<std::string> buildSetEquivalentParameters() {
{WKT1_LATITUDE_OF_ORIGIN, WKT1_LATITUDE_OF_CENTER,
EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN,
EPSG_NAME_PARAMETER_LATITUDE_FALSE_ORIGIN,
- EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, nullptr},
+ EPSG_NAME_PARAMETER_LATITUDE_PROJECTION_CENTRE, "Central_Parallel",
+ nullptr},
{WKT1_CENTRAL_MERIDIAN, WKT1_LONGITUDE_OF_CENTER,
EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN,
@@ -1898,6 +1901,58 @@ ConversionNNPtr Conversion::shallowClone() const {
// ---------------------------------------------------------------------------
+//! @cond Doxygen_Suppress
+ConversionNNPtr
+Conversion::alterParametersLinearUnit(const common::UnitOfMeasure &unit,
+ bool convertToNewUnit) const {
+
+ std::vector<GeneralParameterValueNNPtr> newValues;
+ bool changesDone = false;
+ for (const auto &genOpParamvalue : parameterValues()) {
+ bool updated = false;
+ auto opParamvalue = dynamic_cast<const OperationParameterValue *>(
+ genOpParamvalue.get());
+ if (opParamvalue) {
+ const auto &paramValue = opParamvalue->parameterValue();
+ if (paramValue->type() == ParameterValue::Type::MEASURE) {
+ const auto &measure = paramValue->value();
+ if (measure.unit().type() ==
+ common::UnitOfMeasure::Type::LINEAR) {
+ if (!measure.unit()._isEquivalentTo(
+ unit, util::IComparable::Criterion::EQUIVALENT)) {
+ const double newValue =
+ convertToNewUnit ? measure.convertToUnit(unit)
+ : measure.value();
+ newValues.emplace_back(OperationParameterValue::create(
+ opParamvalue->parameter(),
+ ParameterValue::create(
+ common::Measure(newValue, unit))));
+ updated = true;
+ }
+ }
+ }
+ }
+ if (updated) {
+ changesDone = true;
+ } else {
+ newValues.emplace_back(genOpParamvalue);
+ }
+ }
+ if (changesDone) {
+ auto conv = create(util::PropertyMap().set(
+ common::IdentifiedObject::NAME_KEY, "unknown"),
+ method(), newValues);
+ conv->setCRSs(this, false);
+ return conv;
+ } else {
+ return NN_NO_CHECK(
+ util::nn_dynamic_pointer_cast<Conversion>(shared_from_this()));
+ }
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
/** \brief Instanciate a Conversion from a vector of GeneralParameterValue.
*
* @param properties See \ref general_properties. At minimum the name should be
@@ -5471,6 +5526,12 @@ Transformation::~Transformation() = default;
// ---------------------------------------------------------------------------
+Transformation::Transformation(const Transformation &other)
+ : CoordinateOperation(other), SingleOperation(other),
+ d(internal::make_unique<Private>(*other.d)) {}
+
+// ---------------------------------------------------------------------------
+
/** \brief Return the source crs::CRS of the transformation.
*
* @return the source CRS.
@@ -5492,6 +5553,17 @@ const crs::CRSNNPtr &Transformation::targetCRS() PROJ_CONST_DEFN {
// ---------------------------------------------------------------------------
//! @cond Doxygen_Suppress
+TransformationNNPtr Transformation::shallowClone() const {
+ auto conv = Transformation::nn_make_shared<Transformation>(*this);
+ conv->assignSelf(conv);
+ conv->setCRSs(this, false);
+ return conv;
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
/** \brief Return the TOWGS84 parameters of the transformation.
*
* If this transformation uses Coordinate Frame Rotation, Position Vector
@@ -7595,6 +7667,8 @@ void Transformation::_exportToPROJString(
"Transformation cannot be exported as a PROJ.4 string");
}
+ formatter->setCoordinateOperationOptimizations(true);
+
bool positionVectorConvention = true;
bool sevenParamsTransform = false;
bool threeParamsTransform = false;
@@ -8220,6 +8294,32 @@ bool SingleOperation::exportToPROJStringGeneric(
if (isAxisOrderReversal(methodEPSGCode)) {
formatter->addStep("axisswap");
formatter->addParam("order", "2,1");
+ auto sourceCRSGeog =
+ dynamic_cast<const crs::GeographicCRS *>(sourceCRS().get());
+ auto targetCRSGeog =
+ dynamic_cast<const crs::GeographicCRS *>(targetCRS().get());
+ if (sourceCRSGeog && targetCRSGeog) {
+ const auto &unitSrc =
+ sourceCRSGeog->coordinateSystem()->axisList()[0]->unit();
+ const auto &unitDst =
+ targetCRSGeog->coordinateSystem()->axisList()[0]->unit();
+ if (!unitSrc._isEquivalentTo(
+ unitDst, util::IComparable::Criterion::EQUIVALENT)) {
+ formatter->addStep("unitconvert");
+ auto projUnit = unitSrc.exportToPROJString();
+ if (projUnit.empty()) {
+ formatter->addParam("xy_in", unitSrc.conversionToSI());
+ } else {
+ formatter->addParam("xy_in", projUnit);
+ }
+ projUnit = unitDst.exportToPROJString();
+ if (projUnit.empty()) {
+ formatter->addParam("xy_out", unitDst.conversionToSI());
+ } else {
+ formatter->addParam("xy_out", projUnit);
+ }
+ }
+ }
return true;
}
@@ -9228,6 +9328,7 @@ struct FilterAndSort {
// Precompute a number of parameters for each operation that will be
// useful for the sorting.
std::map<CoordinateOperation *, PrecomputedOpCharacteristics> map;
+ const auto gridAvailabilityUse = context->getGridAvailabilityUse();
for (const auto &op : res) {
bool dummy = false;
auto extentOp = getExtent(op, true, dummy);
@@ -9260,14 +9361,20 @@ struct FilterAndSort {
bool gridsAvailable = true;
bool gridsKnown = true;
if (context->getAuthorityFactory() &&
- context->getGridAvailabilityUse() ==
- CoordinateOperationContext::GridAvailabilityUse::
- USE_FOR_SORTING) {
+ (gridAvailabilityUse ==
+ CoordinateOperationContext::GridAvailabilityUse::
+ USE_FOR_SORTING ||
+ gridAvailabilityUse ==
+ CoordinateOperationContext::GridAvailabilityUse::
+ IGNORE_GRID_AVAILABILITY)) {
const auto gridsNeeded = op->gridsNeeded(
context->getAuthorityFactory()->databaseContext());
for (const auto &gridDesc : gridsNeeded) {
hasGrids = true;
- if (!gridDesc.available) {
+ if (gridAvailabilityUse ==
+ CoordinateOperationContext::GridAvailabilityUse::
+ USE_FOR_SORTING &&
+ !gridDesc.available) {
gridsAvailable = false;
}
if (gridDesc.packageName.empty()) {
@@ -10130,6 +10237,72 @@ void CoordinateOperationFactory::Private::createOperationsWithDatumPivot(
const auto candidatesDstGeod(
findCandidateGeodCRSForDatum(authFactory, geodDst->datum()));
+ auto createTransformations = [&](const crs::CRSNNPtr &candidateSrcGeod,
+ const crs::CRSNNPtr &candidateDstGeod,
+ const CoordinateOperationNNPtr &opFirst,
+ bool isNullFirst) {
+ const auto opsSecond =
+ createOperations(candidateSrcGeod, candidateDstGeod, context);
+ const auto opsThird =
+ createOperations(candidateDstGeod, targetCRS, context);
+ assert(!opsThird.empty());
+
+ for (auto &opSecond : opsSecond) {
+ // Check that it is not a transformation synthetized by
+ // ourselves
+ if (!hasIdentifiers(opSecond)) {
+ continue;
+ }
+ // And even if it is a referenced transformation, check that
+ // it is not a trivial one
+ auto so = dynamic_cast<const SingleOperation *>(opSecond.get());
+ if (so && isAxisOrderReversal(so->method()->getEPSGCode())) {
+ continue;
+ }
+
+ std::vector<CoordinateOperationNNPtr> subOps;
+ if (isNullFirst) {
+ opSecond->setCRSs(
+ sourceCRS, NN_CHECK_ASSERT(opSecond->targetCRS()), nullptr);
+ } else {
+ subOps.emplace_back(opFirst);
+ }
+ if (isNullTransformation(opsThird[0]->nameStr())) {
+ opSecond->setCRSs(NN_CHECK_ASSERT(opSecond->sourceCRS()),
+ targetCRS, nullptr);
+ subOps.emplace_back(opSecond);
+ } else {
+ subOps.emplace_back(opSecond);
+ subOps.emplace_back(opsThird[0]);
+ }
+ res.emplace_back(ConcatenatedOperation::createComputeMetadata(
+ subOps, !allowEmptyIntersection));
+ }
+ };
+
+ // Start in priority with candidates that have exactly the same name as
+ // the sourcCRS and targetCRS. Typically for the case of init=IGNF:XXXX
+ for (const auto &candidateSrcGeod : candidatesSrcGeod) {
+ if (candidateSrcGeod->nameStr() == sourceCRS->nameStr()) {
+ for (const auto &candidateDstGeod : candidatesDstGeod) {
+ if (candidateDstGeod->nameStr() == targetCRS->nameStr()) {
+ const auto opsFirst =
+ createOperations(sourceCRS, candidateSrcGeod, context);
+ assert(!opsFirst.empty());
+ const bool isNullFirst =
+ isNullTransformation(opsFirst[0]->nameStr());
+ createTransformations(candidateSrcGeod, candidateDstGeod,
+ opsFirst[0], isNullFirst);
+ if (!res.empty()) {
+ return;
+ }
+ break;
+ }
+ }
+ break;
+ }
+ }
+
for (const auto &candidateSrcGeod : candidatesSrcGeod) {
const auto opsFirst =
createOperations(sourceCRS, candidateSrcGeod, context);
@@ -10137,44 +10310,8 @@ void CoordinateOperationFactory::Private::createOperationsWithDatumPivot(
const bool isNullFirst = isNullTransformation(opsFirst[0]->nameStr());
for (const auto &candidateDstGeod : candidatesDstGeod) {
- const auto opsSecond =
- createOperations(candidateSrcGeod, candidateDstGeod, context);
- const auto opsThird =
- createOperations(candidateDstGeod, targetCRS, context);
- assert(!opsThird.empty());
-
- for (auto &opSecond : opsSecond) {
- // Check that it is not a transformation synthetized by
- // ourselves
- if (!hasIdentifiers(opSecond)) {
- continue;
- }
- // And even if it is a referenced transformation, check that
- // it is not a trivial one
- auto so = dynamic_cast<const SingleOperation *>(opSecond.get());
- if (so && isAxisOrderReversal(so->method()->getEPSGCode())) {
- continue;
- }
-
- std::vector<CoordinateOperationNNPtr> subOps;
- if (isNullFirst) {
- opSecond->setCRSs(sourceCRS,
- NN_CHECK_ASSERT(opSecond->targetCRS()),
- nullptr);
- } else {
- subOps.emplace_back(opsFirst[0]);
- }
- if (isNullTransformation(opsThird[0]->nameStr())) {
- opSecond->setCRSs(NN_CHECK_ASSERT(opSecond->sourceCRS()),
- targetCRS, nullptr);
- subOps.emplace_back(opSecond);
- } else {
- subOps.emplace_back(opSecond);
- subOps.emplace_back(opsThird[0]);
- }
- res.emplace_back(ConcatenatedOperation::createComputeMetadata(
- subOps, !allowEmptyIntersection));
- }
+ createTransformations(candidateSrcGeod, candidateDstGeod,
+ opsFirst[0], isNullFirst);
}
if (!res.empty()) {
return;
@@ -10235,6 +10372,56 @@ CoordinateOperationFactory::Private::createOperations(
std::vector<CoordinateOperationNNPtr> res;
const bool allowEmptyIntersection = true;
+ const auto &sourceProj4Ext = sourceCRS->getExtensionProj4();
+ const auto &targetProj4Ext = targetCRS->getExtensionProj4();
+ if (!sourceProj4Ext.empty() || !targetProj4Ext.empty()) {
+
+ auto sourceProjExportable =
+ dynamic_cast<io::IPROJStringExportable *>(sourceCRS.get());
+ auto targetProjExportable =
+ dynamic_cast<io::IPROJStringExportable *>(targetCRS.get());
+ if (!sourceProjExportable) {
+ throw InvalidOperation("Source CRS is not PROJ exportable");
+ }
+ if (!targetProjExportable) {
+ throw InvalidOperation("Target CRS is not PROJ exportable");
+ }
+ auto projFormatter = io::PROJStringFormatter::create(
+ io::PROJStringFormatter::Convention::PROJ_4);
+ projFormatter->startInversion();
+ sourceProjExportable->_exportToPROJString(projFormatter.get());
+
+ auto geogSrc =
+ dynamic_cast<const crs::GeographicCRS *>(sourceCRS.get());
+ if (geogSrc) {
+ auto proj5Formatter = io::PROJStringFormatter::create(
+ io::PROJStringFormatter::Convention::PROJ_5);
+ geogSrc->addAngularUnitConvertAndAxisSwap(proj5Formatter.get());
+ projFormatter->ingestPROJString(proj5Formatter->toString());
+ }
+
+ projFormatter->stopInversion();
+
+ targetProjExportable->_exportToPROJString(projFormatter.get());
+
+ auto geogDst =
+ dynamic_cast<const crs::GeographicCRS *>(targetCRS.get());
+ if (geogDst) {
+ auto proj5Formatter = io::PROJStringFormatter::create(
+ io::PROJStringFormatter::Convention::PROJ_5);
+ geogDst->addAngularUnitConvertAndAxisSwap(proj5Formatter.get());
+ projFormatter->ingestPROJString(proj5Formatter->toString());
+ }
+
+ const auto PROJString = projFormatter->toString();
+ auto properties = util::PropertyMap().set(
+ common::IdentifiedObject::NAME_KEY,
+ buildTransfName(sourceCRS->nameStr(), targetCRS->nameStr()));
+ res.emplace_back(SingleOperation::createPROJBased(
+ properties, PROJString, sourceCRS, targetCRS, {}));
+ return res;
+ }
+
auto geodSrc = dynamic_cast<const crs::GeodeticCRS *>(sourceCRS.get());
auto geodDst = dynamic_cast<const crs::GeodeticCRS *>(targetCRS.get());
@@ -10291,7 +10478,9 @@ CoordinateOperationFactory::Private::createOperations(
const auto &dstDatum = geodDst->datum();
const bool dstHasDatumWithId =
dstDatum && !dstDatum->identifiers().empty();
- if (srcHasDatumWithId && dstHasDatumWithId) {
+ if (srcHasDatumWithId && dstHasDatumWithId &&
+ !srcDatum->_isEquivalentTo(
+ dstDatum.get(), util::IComparable::Criterion::EQUIVALENT)) {
createOperationsWithDatumPivot(res, sourceCRS, targetCRS,
geodSrc, geodDst, context);
doFilterAndCheckPerfectOp = !res.empty();
@@ -10417,11 +10606,10 @@ CoordinateOperationFactory::Private::createOperations(
dynamic_cast<const crs::GeographicCRS *>(hubSrc.get());
auto geogCRSOfBaseOfBoundSrc =
boundSrc->baseCRS()->extractGeographicCRS();
- if (hubSrcGeog &&
+ if (hubSrcGeog && geogCRSOfBaseOfBoundSrc &&
(hubSrcGeog->_isEquivalentTo(
geogDst, util::IComparable::Criterion::EQUIVALENT) ||
- hubSrcGeog->is2DPartOf3D(NN_NO_CHECK(geogDst))) &&
- geogCRSOfBaseOfBoundSrc) {
+ hubSrcGeog->is2DPartOf3D(NN_NO_CHECK(geogDst)))) {
if (boundSrc->baseCRS() == geogCRSOfBaseOfBoundSrc) {
// Optimization to avoid creating a useless concatenated
// operation
@@ -10445,6 +10633,86 @@ CoordinateOperationFactory::Private::createOperations(
return res;
}
}
+ // If the datum are equivalent, this is also fine
+ } else if (geogCRSOfBaseOfBoundSrc && hubSrcGeog->datum() &&
+ geogDst->datum() &&
+ hubSrcGeog->datum()->_isEquivalentTo(
+ geogDst->datum().get(),
+ util::IComparable::Criterion::EQUIVALENT)) {
+ auto opsFirst =
+ createOperations(boundSrc->baseCRS(),
+ NN_NO_CHECK(geogCRSOfBaseOfBoundSrc), context);
+ auto opsLast = createOperations(hubSrc, targetCRS, context);
+ if (!opsFirst.empty() && !opsLast.empty()) {
+ for (const auto &opFirst : opsFirst) {
+ for (const auto &opLast : opsLast) {
+ try {
+ res.emplace_back(
+ ConcatenatedOperation::createComputeMetadata(
+ {opFirst, boundSrc->transformation(),
+ opLast},
+ !allowEmptyIntersection));
+ } catch (const InvalidOperationEmptyIntersection &) {
+ }
+ }
+ }
+ if (!res.empty()) {
+ return res;
+ }
+ }
+ // Consider WGS 84 and NAD83 as equivalent in that context if the
+ // geogCRSOfBaseOfBoundSrc ellipsoid is Clarke66 (for NAD27)
+ // Case of "+proj=latlong +ellps=clrk66
+ // +nadgrids=ntv1_can.dat,conus"
+ // to "+proj=latlong +datum=NAD83"
+ } else if (geogCRSOfBaseOfBoundSrc && hubSrcGeog->datum() &&
+ geogDst->datum() &&
+ geogCRSOfBaseOfBoundSrc->ellipsoid()->_isEquivalentTo(
+ datum::Ellipsoid::CLARKE_1866.get(),
+ util::IComparable::Criterion::EQUIVALENT) &&
+ hubSrcGeog->datum()->_isEquivalentTo(
+ datum::GeodeticReferenceFrame::EPSG_6326.get(),
+ util::IComparable::Criterion::EQUIVALENT) &&
+ geogDst->datum()->_isEquivalentTo(
+ datum::GeodeticReferenceFrame::EPSG_6269.get(),
+ util::IComparable::Criterion::EQUIVALENT)) {
+ auto nnGeogCRSOfBaseOfBoundSrc =
+ NN_NO_CHECK(geogCRSOfBaseOfBoundSrc);
+ if (boundSrc->baseCRS()->_isEquivalentTo(
+ nnGeogCRSOfBaseOfBoundSrc.get(),
+ util::IComparable::Criterion::EQUIVALENT)) {
+ auto transf = boundSrc->transformation()->shallowClone();
+ transf->setProperties(util::PropertyMap().set(
+ common::IdentifiedObject::NAME_KEY,
+ buildTransfName(boundSrc->baseCRS()->nameStr(),
+ targetCRS->nameStr())));
+ transf->setCRSs(boundSrc->baseCRS(), targetCRS, nullptr);
+ res.emplace_back(transf);
+ return res;
+ } else {
+ auto opsFirst = createOperations(
+ boundSrc->baseCRS(), nnGeogCRSOfBaseOfBoundSrc, context);
+ auto transf = boundSrc->transformation()->shallowClone();
+ transf->setProperties(util::PropertyMap().set(
+ common::IdentifiedObject::NAME_KEY,
+ buildTransfName(nnGeogCRSOfBaseOfBoundSrc->nameStr(),
+ targetCRS->nameStr())));
+ transf->setCRSs(nnGeogCRSOfBaseOfBoundSrc, targetCRS, nullptr);
+ if (!opsFirst.empty()) {
+ for (const auto &opFirst : opsFirst) {
+ try {
+ res.emplace_back(
+ ConcatenatedOperation::createComputeMetadata(
+ {opFirst, transf},
+ !allowEmptyIntersection));
+ } catch (const InvalidOperationEmptyIntersection &) {
+ }
+ }
+ if (!res.empty()) {
+ return res;
+ }
+ }
+ }
}
if (hubSrcGeog &&
diff --git a/src/coordinatesystem.cpp b/src/coordinatesystem.cpp
index f8d2d2b3..f1220878 100644
--- a/src/coordinatesystem.cpp
+++ b/src/coordinatesystem.cpp
@@ -416,6 +416,16 @@ bool CoordinateSystemAxis::_isEquivalentTo(
// ---------------------------------------------------------------------------
//! @cond Doxygen_Suppress
+CoordinateSystemAxisNNPtr
+CoordinateSystemAxis::alterUnit(const common::UnitOfMeasure &newUnit) const {
+ return create(util::PropertyMap().set(IdentifiedObject::NAME_KEY, name()),
+ abbreviation(), direction(), newUnit, meridian());
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
struct CoordinateSystem::Private {
std::vector<CoordinateSystemAxisNNPtr> axisList{};
@@ -738,6 +748,43 @@ EllipsoidalCS::AxisOrder EllipsoidalCS::axisOrder() const {
// ---------------------------------------------------------------------------
//! @cond Doxygen_Suppress
+EllipsoidalCSNNPtr EllipsoidalCS::alterAngularUnit(
+ const common::UnitOfMeasure &angularUnit) const {
+ const auto &l_axisList = CoordinateSystem::getPrivate()->axisList;
+ if (l_axisList.size() == 2) {
+ return EllipsoidalCS::create(util::PropertyMap(),
+ l_axisList[0]->alterUnit(angularUnit),
+ l_axisList[1]->alterUnit(angularUnit));
+ } else {
+ assert(l_axisList.size() == 3);
+ return EllipsoidalCS::create(
+ util::PropertyMap(), l_axisList[0]->alterUnit(angularUnit),
+ l_axisList[1]->alterUnit(angularUnit), l_axisList[2]);
+ }
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
+EllipsoidalCSNNPtr
+EllipsoidalCS::alterLinearUnit(const common::UnitOfMeasure &linearUnit) const {
+ const auto &l_axisList = CoordinateSystem::getPrivate()->axisList;
+ if (l_axisList.size() == 2) {
+ return EllipsoidalCS::create(util::PropertyMap(), l_axisList[0],
+ l_axisList[1]);
+ } else {
+ assert(l_axisList.size() == 3);
+ return EllipsoidalCS::create(util::PropertyMap(), l_axisList[0],
+ l_axisList[1],
+ l_axisList[2]->alterUnit(linearUnit));
+ }
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
VerticalCS::~VerticalCS() = default;
//! @endcond
@@ -788,6 +835,16 @@ VerticalCS::createGravityRelatedHeight(const common::UnitOfMeasure &unit) {
// ---------------------------------------------------------------------------
//! @cond Doxygen_Suppress
+VerticalCSNNPtr VerticalCS::alterUnit(const common::UnitOfMeasure &unit) const {
+ const auto &l_axisList = CoordinateSystem::getPrivate()->axisList;
+ return VerticalCS::nn_make_shared<VerticalCS>(
+ l_axisList[0]->alterUnit(unit));
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
CartesianCS::~CartesianCS() = default;
//! @endcond
@@ -863,6 +920,27 @@ CartesianCS::createEastingNorthing(const common::UnitOfMeasure &unit) {
// ---------------------------------------------------------------------------
+/** \brief Instanciate a CartesianCS with a Northing (first) and Easting
+ * (second) axis.
+ *
+ * @param unit Linear unit of the axes.
+ * @return a new CartesianCS.
+ */
+CartesianCSNNPtr
+CartesianCS::createNorthingEasting(const common::UnitOfMeasure &unit) {
+ return create(util::PropertyMap(),
+ CoordinateSystemAxis::create(
+ util::PropertyMap().set(IdentifiedObject::NAME_KEY,
+ AxisName::Northing),
+ AxisAbbreviation::N, AxisDirection::NORTH, unit),
+ CoordinateSystemAxis::create(
+ util::PropertyMap().set(IdentifiedObject::NAME_KEY,
+ AxisName::Easting),
+ AxisAbbreviation::E, AxisDirection::EAST, unit));
+}
+
+// ---------------------------------------------------------------------------
+
/** \brief Instanciate a CartesianCS with the three geocentric axes.
*
* @param unit Liinear unit of the axes.
@@ -888,6 +966,25 @@ CartesianCS::createGeocentric(const common::UnitOfMeasure &unit) {
// ---------------------------------------------------------------------------
//! @cond Doxygen_Suppress
+CartesianCSNNPtr
+CartesianCS::alterUnit(const common::UnitOfMeasure &unit) const {
+ const auto &l_axisList = CoordinateSystem::getPrivate()->axisList;
+ if (l_axisList.size() == 2) {
+ return CartesianCS::create(util::PropertyMap(),
+ l_axisList[0]->alterUnit(unit),
+ l_axisList[1]->alterUnit(unit));
+ } else {
+ assert(l_axisList.size() == 3);
+ return CartesianCS::create(
+ util::PropertyMap(), l_axisList[0]->alterUnit(unit),
+ l_axisList[1]->alterUnit(unit), l_axisList[2]->alterUnit(unit));
+ }
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
OrdinalCS::~OrdinalCS() = default;
//! @endcond
diff --git a/src/crs.cpp b/src/crs.cpp
index a204a037..31682644 100644
--- a/src/crs.cpp
+++ b/src/crs.cpp
@@ -45,6 +45,7 @@
#include "proj/internal/internal.hpp"
#include "proj/internal/io_internal.hpp"
+#include <algorithm>
#include <cassert>
#include <cstring>
#include <iostream>
@@ -88,6 +89,20 @@ namespace crs {
struct CRS::Private {
BoundCRSPtr canonicalBoundCRS_{};
std::string extensionProj4_{};
+ bool implicitCS_ = false;
+
+ void setImplicitCS(const util::PropertyMap &properties) {
+ auto oIter = properties.find("IMPLICIT_CS");
+ if (oIter != properties.end()) {
+ if (auto genVal = util::nn_dynamic_pointer_cast<util::BoxedValue>(
+ oIter->second)) {
+ if (genVal->type() == util::BoxedValue::Type::BOOLEAN &&
+ genVal->booleanValue()) {
+ implicitCS_ = true;
+ }
+ }
+ }
+ }
};
//! @endcond
@@ -170,6 +185,14 @@ const GeodeticCRS *CRS::extractGeodeticCRSRaw() const {
// ---------------------------------------------------------------------------
+//! @cond Doxygen_Suppress
+const std::string &CRS::getExtensionProj4() const noexcept {
+ return d->extensionProj4_;
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
/** \brief Return the GeographicCRS of the CRS.
*
* Returns the GeographicCRS contained in a CRS. This works currently with
@@ -189,6 +212,97 @@ GeographicCRSPtr CRS::extractGeographicCRS() const {
// ---------------------------------------------------------------------------
+//! @cond Doxygen_Suppress
+static util::PropertyMap createPropertyMapName(const std::string &name) {
+ return util::PropertyMap().set(common::IdentifiedObject::NAME_KEY, name);
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
+CRSNNPtr CRS::alterGeodeticCRS(const GeodeticCRSNNPtr &newGeodCRS) const {
+ auto geodCRS = dynamic_cast<const GeodeticCRS *>(this);
+ if (geodCRS) {
+ return newGeodCRS;
+ }
+
+ auto projCRS = dynamic_cast<const ProjectedCRS *>(this);
+ if (projCRS) {
+ return ProjectedCRS::create(
+ createPropertyMapName(nameStr()), newGeodCRS,
+ projCRS->derivingConversionRef(), projCRS->coordinateSystem());
+ }
+
+ auto compoundCRS = dynamic_cast<const CompoundCRS *>(this);
+ if (compoundCRS) {
+ std::vector<CRSNNPtr> components;
+ for (const auto &subCrs : compoundCRS->componentReferenceSystems()) {
+ components.emplace_back(subCrs->alterGeodeticCRS(newGeodCRS));
+ }
+ return CompoundCRS::create(createPropertyMapName(nameStr()),
+ components);
+ }
+
+ return NN_NO_CHECK(
+ std::dynamic_pointer_cast<CRS>(shared_from_this().as_nullable()));
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
+CRSNNPtr CRS::alterCSLinearUnit(const common::UnitOfMeasure &unit) const {
+ {
+ auto projCRS = dynamic_cast<const ProjectedCRS *>(this);
+ if (projCRS) {
+ return ProjectedCRS::create(
+ createPropertyMapName(projCRS->nameStr().c_str()),
+ projCRS->baseCRS(), projCRS->derivingConversionRef(),
+ projCRS->coordinateSystem()->alterUnit(unit));
+ }
+ }
+
+ {
+ auto geodCRS = dynamic_cast<const GeodeticCRS *>(this);
+ if (geodCRS && geodCRS->isGeocentric()) {
+ auto cs = dynamic_cast<const cs::CartesianCS *>(
+ geodCRS->coordinateSystem().get());
+ assert(cs);
+ return GeodeticCRS::create(
+ createPropertyMapName(geodCRS->nameStr().c_str()),
+ geodCRS->datum(), geodCRS->datumEnsemble(),
+ cs->alterUnit(unit));
+ }
+ }
+
+ {
+ auto geogCRS = dynamic_cast<const GeographicCRS *>(this);
+ if (geogCRS && geogCRS->coordinateSystem()->axisList().size() == 3) {
+ return GeographicCRS::create(
+ createPropertyMapName(geogCRS->nameStr().c_str()),
+ geogCRS->datum(), geogCRS->datumEnsemble(),
+ geogCRS->coordinateSystem()->alterLinearUnit(unit));
+ }
+ }
+
+ {
+ auto vertCRS = dynamic_cast<const VerticalCRS *>(this);
+ if (vertCRS) {
+ return VerticalCRS::create(
+ createPropertyMapName(vertCRS->nameStr().c_str()),
+ vertCRS->datum(), vertCRS->datumEnsemble(),
+ vertCRS->coordinateSystem()->alterUnit(unit));
+ }
+ }
+
+ return NN_NO_CHECK(
+ std::dynamic_pointer_cast<CRS>(shared_from_this().as_nullable()));
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
/** \brief Return the VerticalCRS of the CRS.
*
* Returns the VerticalCRS contained in a CRS. This works currently with
@@ -383,6 +497,19 @@ CRSNNPtr CRS::shallowClone() const { return _shallowClone(); }
// ---------------------------------------------------------------------------
+//! @cond Doxygen_Suppress
+
+CRSNNPtr CRS::alterName(const std::string &newName) const {
+ auto crs = shallowClone();
+ crs->setProperties(
+ util::PropertyMap().set(common::IdentifiedObject::NAME_KEY, newName));
+ return crs;
+}
+
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
/** \brief Identify the CRS with reference CRSs.
*
* The candidate CRSs are either hard-coded, or looked in the database when
@@ -748,6 +875,7 @@ GeodeticCRS::create(const util::PropertyMap &properties,
crs->setProperties(properties);
properties.getStringValue("EXTENSION_PROJ4",
crs->CRS::getPrivate()->extensionProj4_);
+
return crs;
}
@@ -853,7 +981,16 @@ void GeodeticCRS::_exportToWKT(io::WKTFormatter *formatter) const {
if (!isWKT2) {
unit._exportToWKT(formatter);
}
+
+ const auto oldAxisOutputRule = formatter->outputAxis();
+ if (oldAxisOutputRule ==
+ io::WKTFormatter::OutputAxisRule::WKT1_GDAL_EPSG_STYLE &&
+ isGeocentric()) {
+ formatter->setOutputAxis(io::WKTFormatter::OutputAxisRule::YES);
+ }
cs->_exportToWKT(formatter);
+ formatter->setOutputAxis(oldAxisOutputRule);
+
ObjectUsage::baseExportToWKT(formatter);
if (!isWKT2 && !formatter->useESRIDialect()) {
@@ -1062,6 +1199,12 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
std::list<Pair> res;
const auto &thisName(nameStr());
+ const bool l_implicitCS = CRS::getPrivate()->implicitCS_;
+ const auto crsCriterion =
+ l_implicitCS
+ ? util::IComparable::Criterion::EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS
+ : util::IComparable::Criterion::EQUIVALENT;
+
const GeographicCRSNNPtr candidatesCRS[] = {GeographicCRS::EPSG_4326,
GeographicCRS::EPSG_4267,
GeographicCRS::EPSG_4269};
@@ -1069,8 +1212,7 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
const bool nameEquivalent = metadata::Identifier::isEquivalentName(
thisName.c_str(), crs->nameStr().c_str());
const bool nameEqual = thisName == crs->nameStr();
- const bool isEq = _isEquivalentTo(
- crs.get(), util::IComparable::Criterion::EQUIVALENT);
+ const bool isEq = _isEquivalentTo(crs.get(), crsCriterion);
if (nameEquivalent && isEq && (!authorityFactory || nameEqual)) {
res.emplace_back(util::nn_static_pointer_cast<GeodeticCRS>(crs),
nameEqual ? 100 : 90);
@@ -1105,15 +1247,13 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
const auto &thisDatum(datum());
auto searchByDatum = [this, &authorityFactory, &res, &thisDatum,
- &geodetic_crs_type]() {
+ &geodetic_crs_type, crsCriterion]() {
for (const auto &id : thisDatum->identifiers()) {
try {
auto tempRes = authorityFactory->createGeodeticCRSFromDatum(
*id->codeSpace(), id->code(), geodetic_crs_type);
for (const auto &crs : tempRes) {
- if (_isEquivalentTo(
- crs.get(),
- util::IComparable::Criterion::EQUIVALENT)) {
+ if (_isEquivalentTo(crs.get(), crsCriterion)) {
res.emplace_back(crs, 70);
}
}
@@ -1124,7 +1264,8 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
const auto &thisEllipsoid(ellipsoid());
auto searchByEllipsoid = [this, &authorityFactory, &res, &thisDatum,
- &thisEllipsoid, &geodetic_crs_type]() {
+ &thisEllipsoid, &geodetic_crs_type,
+ l_implicitCS]() {
const auto ellipsoids =
thisEllipsoid->identifiers().empty()
? authorityFactory->createEllipsoidFromExisting(
@@ -1146,11 +1287,11 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
crsDatum->primeMeridian()->_isEquivalentTo(
thisDatum->primeMeridian().get(),
util::IComparable::Criterion::EQUIVALENT) &&
- coordinateSystem()->_isEquivalentTo(
- crs->coordinateSystem().get(),
- util::IComparable::Criterion::EQUIVALENT)
-
- ) {
+ (!l_implicitCS ||
+ coordinateSystem()->_isEquivalentTo(
+ crs->coordinateSystem().get(),
+ util::IComparable::Criterion::
+ EQUIVALENT))) {
res.emplace_back(crs, 60);
}
}
@@ -1181,14 +1322,14 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
authorityFactory->databaseContext(),
*id->codeSpace())
->createGeodeticCRS(id->code());
- bool match = _isEquivalentTo(
- crs.get(), util::IComparable::Criterion::EQUIVALENT);
+ bool match = _isEquivalentTo(crs.get(), crsCriterion);
res.emplace_back(crs, match ? 100 : 25);
return res;
} catch (const std::exception &) {
}
}
} else {
+ bool gotAbove25Pct = false;
for (int ipass = 0; ipass < 2; ipass++) {
const bool approximateMatch = ipass == 1;
auto objects = authorityFactory->createObjectsFromName(
@@ -1198,9 +1339,7 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
auto crs = util::nn_dynamic_pointer_cast<GeodeticCRS>(obj);
assert(crs);
auto crsNN = NN_NO_CHECK(crs);
- if (_isEquivalentTo(
- crs.get(),
- util::IComparable::Criterion::EQUIVALENT)) {
+ if (_isEquivalentTo(crs.get(), crsCriterion)) {
if (crs->nameStr() == thisName) {
res.clear();
res.emplace_back(crsNN, 100);
@@ -1210,6 +1349,7 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
metadata::Identifier::isEquivalentName(
thisName.c_str(), crs->nameStr().c_str());
res.emplace_back(crsNN, eqName ? 90 : 70);
+ gotAbove25Pct = true;
} else {
res.emplace_back(crsNN, 25);
}
@@ -1218,7 +1358,7 @@ GeodeticCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
break;
}
}
- if (res.empty() && thisDatum) {
+ if (!gotAbove25Pct && thisDatum) {
if (!thisDatum->identifiers().empty()) {
searchByDatum();
} else {
@@ -1446,6 +1586,7 @@ GeographicCRS::create(const util::PropertyMap &properties,
crs->setProperties(properties);
properties.getStringValue("EXTENSION_PROJ4",
crs->CRS::getPrivate()->extensionProj4_);
+ crs->CRS::getPrivate()->setImplicitCS(properties);
return crs;
}
@@ -2274,6 +2415,63 @@ const cs::CartesianCSNNPtr &ProjectedCRS::coordinateSystem() PROJ_CONST_DEFN {
void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const {
const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2;
+ const auto &l_identifiers = identifiers();
+ // Try to perfectly round-trip ESRI projectedCRS if the current object
+ // perfectly matches the database definition
+ const auto &dbContext = formatter->databaseContext();
+
+ auto l_name = nameStr();
+ std::string l_alias;
+ if (formatter->useESRIDialect() && dbContext) {
+ l_alias = dbContext->getAliasFromOfficialName(l_name, "projected_crs",
+ "ESRI");
+ }
+
+ if (!isWKT2 && formatter->useESRIDialect() && !l_identifiers.empty() &&
+ *(l_identifiers[0]->codeSpace()) == "ESRI" && dbContext) {
+ try {
+ const auto definition = dbContext->getTextDefinition(
+ "projected_crs", "ESRI", l_identifiers[0]->code());
+ if (starts_with(definition, "PROJCS")) {
+ auto crsFromFromDef = io::WKTParser()
+ .attachDatabaseContext(dbContext)
+ .createFromWKT(definition);
+ if (_isEquivalentTo(
+ dynamic_cast<IComparable *>(crsFromFromDef.get()),
+ util::IComparable::Criterion::EQUIVALENT)) {
+ formatter->ingestWKTNode(
+ io::WKTNode::createFrom(definition));
+ return;
+ }
+ }
+ } catch (const std::exception &) {
+ }
+ } else if (!isWKT2 && formatter->useESRIDialect() && !l_alias.empty()) {
+ try {
+ auto res =
+ io::AuthorityFactory::create(NN_NO_CHECK(dbContext), "ESRI")
+ ->createObjectsFromName(
+ l_alias,
+ {io::AuthorityFactory::ObjectType::PROJECTED_CRS},
+ false);
+ if (res.size() == 1) {
+ const auto definition = dbContext->getTextDefinition(
+ "projected_crs", "ESRI",
+ res.front()->identifiers()[0]->code());
+ if (starts_with(definition, "PROJCS")) {
+ if (_isEquivalentTo(
+ dynamic_cast<IComparable *>(res.front().get()),
+ util::IComparable::Criterion::EQUIVALENT)) {
+ formatter->ingestWKTNode(
+ io::WKTNode::createFrom(definition));
+ return;
+ }
+ }
+ }
+ } catch (const std::exception &) {
+ }
+ }
+
const auto &l_coordinateSystem = d->coordinateSystem();
const auto &axisList = l_coordinateSystem->axisList();
@@ -2292,7 +2490,7 @@ void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const {
if (!isWKT2 && !formatter->useESRIDialect() &&
starts_with(nameStr(), "Popular Visualisation CRS / Mercator")) {
- formatter->startNode(io::WKTConstants::PROJCS, !identifiers().empty());
+ formatter->startNode(io::WKTConstants::PROJCS, !l_identifiers.empty());
formatter->addQuotedString(nameStr());
formatter->setTOWGS84Parameters({0, 0, 0, 0, 0, 0, 0});
baseCRS()->_exportToWKT(formatter);
@@ -2332,21 +2530,13 @@ void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const {
formatter->startNode(isWKT2 ? io::WKTConstants::PROJCRS
: io::WKTConstants::PROJCS,
- !identifiers().empty());
- auto l_name = nameStr();
+ !l_identifiers.empty());
+
if (formatter->useESRIDialect()) {
- bool aliasFound = false;
- const auto &dbContext = formatter->databaseContext();
- if (dbContext) {
- auto l_alias = dbContext->getAliasFromOfficialName(
- l_name, "projected_crs", "ESRI");
- if (!l_alias.empty()) {
- l_name = l_alias;
- aliasFound = true;
- }
- }
- if (!aliasFound) {
+ if (l_alias.empty()) {
l_name = io::WKTFormatter::morphNameToESRI(l_name);
+ } else {
+ l_name = l_alias;
}
}
if (!isWKT2 && !formatter->useESRIDialect() && isDeprecated()) {
@@ -2461,6 +2651,7 @@ ProjectedCRS::create(const util::PropertyMap &properties,
crs->setDerivingConversionCRS();
properties.getStringValue("EXTENSION_PROJ4",
crs->CRS::getPrivate()->extensionProj4_);
+ crs->CRS::getPrivate()->setImplicitCS(properties);
return crs;
}
@@ -2477,6 +2668,19 @@ bool ProjectedCRS::_isEquivalentTo(
// ---------------------------------------------------------------------------
//! @cond Doxygen_Suppress
+ProjectedCRSNNPtr
+ProjectedCRS::alterParametersLinearUnit(const common::UnitOfMeasure &unit,
+ bool convertToNewUnit) const {
+ return create(createPropertyMapName(nameStr()), baseCRS(),
+ derivingConversionRef()->alterParametersLinearUnit(
+ unit, convertToNewUnit),
+ coordinateSystem());
+}
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
+//! @cond Doxygen_Suppress
void ProjectedCRS::addUnitConvertAndAxisSwap(io::PROJStringFormatter *formatter,
bool axisSpecFound) const {
const auto &axisList = d->coordinateSystem()->axisList();
@@ -2702,7 +2906,8 @@ ProjectedCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
*id->codeSpace())
->createProjectedCRS(id->code());
bool match = _isEquivalentTo(
- crs.get(), util::IComparable::Criterion::EQUIVALENT);
+ crs.get(), util::IComparable::Criterion::
+ EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS);
res.emplace_back(crs, match ? 100 : 25);
return res;
} catch (const std::exception &) {
@@ -2723,13 +2928,27 @@ ProjectedCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
foundEquivalentName |= eqName;
if (_isEquivalentTo(
crs.get(),
- util::IComparable::Criterion::EQUIVALENT)) {
+ util::IComparable::Criterion::
+ EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS)) {
if (crs->nameStr() == thisName) {
res.clear();
res.emplace_back(crsNN, 100);
return res;
}
res.emplace_back(crsNN, eqName ? 90 : 70);
+ } else if (crs->nameStr() == thisName &&
+ CRS::getPrivate()->implicitCS_ &&
+ l_baseCRS->_isEquivalentTo(
+ crs->baseCRS().get(),
+ util::IComparable::Criterion::
+ EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS) &&
+ derivingConversionRef()->_isEquivalentTo(
+ crs->derivingConversionRef().get(),
+ util::IComparable::Criterion::EQUIVALENT) &&
+ objects.size() == 1) {
+ res.clear();
+ res.emplace_back(crsNN, 100);
+ return res;
} else {
res.emplace_back(crsNN, 25);
}
@@ -2791,7 +3010,8 @@ ProjectedCRS::identify(const io::AuthorityFactoryPtr &authorityFactory) const {
}
if (_isEquivalentTo(crs.get(),
- util::IComparable::Criterion::EQUIVALENT)) {
+ util::IComparable::Criterion::
+ EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS)) {
res.emplace_back(crs, unsignificantName ? 90 : 70);
} else if (ellipsoid->_isEquivalentTo(
crs->baseCRS()->ellipsoid().get(),
@@ -3529,9 +3749,26 @@ BoundCRS::_identify(const io::AuthorityFactoryPtr &authorityFactory) const {
}
} catch (const std::exception &) {
}
+ bool foundOp = false;
for (const auto &op : ops) {
std::string opTransfPROJString;
bool opTransfPROJStringValid = false;
+ if (op->nameStr().find("Null geographic") == 0) {
+ if (isTOWGS84Compatible()) {
+ auto params =
+ transformation()->getTOWGS84Parameters();
+ if (params ==
+ std::vector<double>{0, 0, 0, 0, 0, 0, 0}) {
+ res.emplace_back(create(candidateBaseCRS,
+ d->hubCRS_,
+ transformation()),
+ pair.second);
+ foundOp = true;
+ break;
+ }
+ }
+ continue;
+ }
try {
opTransfPROJString = op->exportToPROJString(
io::PROJStringFormatter::create().get());
@@ -3548,9 +3785,15 @@ BoundCRS::_identify(const io::AuthorityFactoryPtr &authorityFactory) const {
NN_NO_CHECK(util::nn_dynamic_pointer_cast<
operation::Transformation>(op))),
pair.second);
+ foundOp = true;
break;
}
}
+ if (!foundOp) {
+ res.emplace_back(
+ create(candidateBaseCRS, d->hubCRS_, transformation()),
+ std::min(70, pair.second));
+ }
}
}
}
diff --git a/src/cs2cs.c b/src/cs2cs.c
deleted file mode 100644
index d9e37528..00000000
--- a/src/cs2cs.c
+++ /dev/null
@@ -1,463 +0,0 @@
-/******************************************************************************
- * 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 <ctype.h>
-#include <locale.h>
-#include <math.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "proj.h"
-#include "projects.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 */
- oform_buffer[16], /* buffer for oform when using -d */
-*oterr = "*\t*", /* output line for unprojectable input */
-*usage =
-"%s\nusage: %s [ -dDeEfIlrstvwW [args] ] [ +opts[=arg] ]\n"
-" [+to [+opts[=arg] [ files ]\n";
-
-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) {
- char 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;
- emess(-3,"pj_transform(): %s", pj_strerrno(pj_errno));
- }
- }
-
- 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 ( proj_angular_output(toProj, PJ_FWD) ) {
- 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];
- FILE *fid;
- int from_argc=0, to_argc=0, eargc = 0, mon = 0;
- int have_to_flag = 0, inverse = 0, i;
- int use_env_locale = 0;
-
- /* This is just to check that pj_init() is locale-safe */
- /* Used by nad/testvarious */
- if( getenv("PROJ_USE_ENV_LOCALE") != NULL )
- use_env_locale = 1;
-
- if ((emess_dat.Prog_name = strrchr(*argv,DIR_CHAR)) != NULL)
- ++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 */
- const struct PJ_LIST *lp;
- int do_long = arg[1] == 'P', c;
- const char *str;
-
- for (lp = proj_list_operations() ; 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' */
- const struct PJ_LIST *lp;
-
- arg += 2;
- for (lp = proj_list_operations() ; 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 */
- const struct PJ_ELLPS *le;
-
- for (le = proj_list_ellps(); 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 */
- const struct PJ_UNITS *lu;
-
- for (lu = proj_list_units(); lu->id ; ++lu)
- (void)printf("%12s %-20s %s\n",
- lu->id, lu->to_meter, lu->name);
- } else if (arg[1] == 'd') { /* list datums */
- const 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 */
- const struct PJ_PRIME_MERIDIANS *lpm;
-
- for (lpm = proj_list_prime_meridians(); lpm->id ; ++lpm)
- (void)printf("%12s %-30s\n",
- lpm->id, lpm->defn);
- } else
- emess(1,"invalid list option: l%c",arg[1]);
- exit(0);
- /* cppcheck-suppress duplicateBreak */
- 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 */
- {
- char c = arg[1];
- if (c != 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;
- case 'D': /* set debug level */
- if (--argc <= 0) goto noargument;
- pj_ctx_set_debug( pj_get_default_ctx(), atoi(*++argv));
- continue;
- case 'd':
- if (--argc <= 0) goto noargument;
- sprintf(oform_buffer, "%%.%df", atoi(*++argv));
- oform = oform_buffer;
- break;
- 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++ )
- {
- 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( use_env_locale )
- {
- /* Set locale from environment */
- setlocale(LC_ALL, "");
- }
-
- if( from_argc == 0 && to_argc != 0 )
- {
- /* we will generate the from proj as the latlong of the +to in a bit */
- }
- else 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( from_argc == 0 && toProj != NULL)
- {
- if (!(fromProj = pj_latlong_from_proj( toProj )))
- {
- 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( use_env_locale )
- {
- /* Restore C locale to avoid issues in parsing/outputting numbers*/
- setlocale(LC_ALL, "C");
- }
-
- 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 formatting 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;
- }
-
- pj_free( fromProj );
- pj_free( toProj );
-
- pj_deallocate_grids();
-
- exit(0); /* normal completion */
-}
diff --git a/src/cs2cs.cpp b/src/cs2cs.cpp
new file mode 100644
index 00000000..a8d126cf
--- /dev/null
+++ b/src/cs2cs.cpp
@@ -0,0 +1,636 @@
+/******************************************************************************
+ * 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.
+ *****************************************************************************/
+
+#define FROM_PROJ_CPP
+
+#include <ctype.h>
+#include <locale.h>
+#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <cassert>
+#include <string>
+
+#include <proj/internal/internal.hpp>
+
+// PROJ include order is sensitive
+// clang-format off
+#include "proj.h"
+#include "projects.h"
+#include "emess.h"
+// clang-format on
+
+#define MAX_LINE 1000
+
+static PJ *transformation = nullptr;
+
+static bool srcIsGeog = false;
+static double srcToRadians = 0.0;
+
+static bool destIsGeog = false;
+static double destToRadians = 0.0;
+static bool destIsLatLong = false;
+
+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 const char *oform =
+ nullptr; /* output format for x-y or decimal degrees */
+static char oform_buffer[16]; /* buffer for oform when using -d */
+static const char *oterr = "*\t*"; /* output line for unprojectable input */
+static const char *usage =
+ "%s\nusage: %s [ -dDeEfIlrstvwW [args] ] [ +opts[=arg] ]\n"
+ " [+to [+opts[=arg] [ files ]\n";
+
+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) {
+ char t;
+ t = *s;
+ *s = '\0';
+ (void)fputs(line, stdout);
+ *s = t;
+ putchar('\t');
+ }
+
+ if (data.u != HUGE_VAL) {
+
+ if (srcIsGeog) {
+ /* dmstor gives values to radians. Convert now to the SRS unit
+ */
+ data.u /= srcToRadians;
+ data.v /= srcToRadians;
+ }
+
+ PJ_COORD coord;
+ coord.xyzt.x = data.u;
+ coord.xyzt.y = data.v;
+ coord.xyzt.z = z;
+ coord.xyzt.t = HUGE_VAL;
+ coord = proj_trans(transformation, PJ_FWD, coord);
+ data.u = coord.xyz.x;
+ data.v = coord.xyz.y;
+ z = coord.xyz.z;
+ }
+
+ if (data.u == HUGE_VAL) /* error output */
+ fputs(oterr, stdout);
+
+ else if (destIsGeog && !oform) { /*ascii DMS output */
+
+ // rtodms() expect radians: convert from the output SRS unit
+ data.u *= destToRadians;
+ data.v *= destToRadians;
+
+ if (destIsLatLong) {
+ if (reverseout) {
+ fputs(rtodms(pline, data.v, 'E', 'W'), stdout);
+ putchar('\t');
+ fputs(rtodms(pline, data.u, 'N', 'S'), stdout);
+ } else {
+ fputs(rtodms(pline, data.u, 'N', 'S'), stdout);
+ putchar('\t');
+ fputs(rtodms(pline, data.v, 'E', 'W'), stdout);
+ }
+ } else 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 (destIsGeog) {
+ data.v *= destToRadians * RAD_TO_DEG;
+ data.u *= destToRadians * 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 != nullptr)
+ printf(oform, z);
+ else
+ printf("%.3f", z);
+ if (s)
+ printf("%s", s);
+ else
+ printf("\n");
+ }
+}
+
+/************************************************************************/
+/* instanciate_crs() */
+/************************************************************************/
+
+static PJ_OBJ *instanciate_crs(const std::string &definition,
+ const char *const *optionsImportCRS,
+ bool &isGeog, double &toRadians,
+ bool &isLatFirst) {
+ PJ_OBJ *crs = proj_obj_create_from_user_input(nullptr, definition.c_str(),
+ optionsImportCRS);
+ if (!crs) {
+ return nullptr;
+ }
+
+ isGeog = false;
+ toRadians = 0.0;
+ isLatFirst = false;
+
+ auto type = proj_obj_get_type(crs);
+ if (type == PJ_OBJ_TYPE_BOUND_CRS) {
+ auto base = proj_obj_get_source_crs(nullptr, crs);
+ proj_obj_unref(crs);
+ crs = base;
+ type = proj_obj_get_type(crs);
+ }
+ if (type == PJ_OBJ_TYPE_GEOGRAPHIC_2D_CRS ||
+ type == PJ_OBJ_TYPE_GEOGRAPHIC_3D_CRS) {
+ auto cs = proj_obj_crs_get_coordinate_system(nullptr, crs);
+ assert(cs);
+
+ isGeog = true;
+ const char *axisName = "";
+ proj_obj_cs_get_axis_info(nullptr, cs, 0,
+ &axisName, // name,
+ nullptr, // abbrev
+ nullptr, // direction
+ &toRadians,
+ nullptr // unit name
+ );
+ isLatFirst =
+ NS_PROJ::internal::ci_find(std::string(axisName), "latitude") !=
+ std::string::npos;
+
+ proj_obj_unref(cs);
+ }
+
+ return crs;
+}
+
+/************************************************************************/
+/* get_geog_crs_proj_string_from_proj_crs() */
+/************************************************************************/
+
+static std::string get_geog_crs_proj_string_from_proj_crs(PJ_OBJ *src,
+ double &toRadians,
+ bool &isLatFirst) {
+ auto srcType = proj_obj_get_type(src);
+ if (srcType == PJ_OBJ_TYPE_BOUND_CRS) {
+ auto base = proj_obj_get_source_crs(nullptr, src);
+ assert(base);
+ proj_obj_unref(src);
+ src = base;
+ srcType = proj_obj_get_type(src);
+ }
+ if (srcType != PJ_OBJ_TYPE_PROJECTED_CRS) {
+ return std::string();
+ }
+
+ auto base = proj_obj_get_source_crs(nullptr, src);
+ assert(base);
+ auto baseType = proj_obj_get_type(base);
+ if (baseType != PJ_OBJ_TYPE_GEOGRAPHIC_2D_CRS &&
+ baseType != PJ_OBJ_TYPE_GEOGRAPHIC_3D_CRS) {
+ proj_obj_unref(base);
+ return std::string();
+ }
+
+ auto cs = proj_obj_crs_get_coordinate_system(nullptr, base);
+ assert(cs);
+
+ const char *axisName = "";
+ proj_obj_cs_get_axis_info(nullptr, cs, 0,
+ &axisName, // name,
+ nullptr, // abbrev
+ nullptr, // direction
+ &toRadians,
+ nullptr // unit name
+ );
+ isLatFirst = NS_PROJ::internal::ci_find(std::string(axisName),
+ "latitude") != std::string::npos;
+
+ proj_obj_unref(cs);
+
+ auto retCStr = proj_obj_as_proj_string(nullptr, base, PJ_PROJ_5, nullptr);
+ std::string ret(retCStr ? retCStr : "");
+ proj_obj_unref(base);
+ return ret;
+}
+
+/************************************************************************/
+/* main() */
+/************************************************************************/
+
+int main(int argc, char **argv) {
+ char *arg;
+ char **eargv = argv;
+ std::string fromStr;
+ std::string toStr;
+ FILE *fid;
+ int eargc = 0, mon = 0;
+ int have_to_flag = 0, inverse = 0;
+ int use_env_locale = 0;
+
+ /* This is just to check that pj_init() is locale-safe */
+ /* Used by nad/testvarious */
+ if (getenv("PROJ_USE_ENV_LOCALE") != nullptr)
+ use_env_locale = 1;
+
+ /* Enable compatibility mode for init=epsg:XXXX by default */
+ if (getenv("PROJ_USE_PROJ4_INIT_RULES") == nullptr) {
+ proj_context_use_proj4_init_rules(nullptr, true);
+ }
+
+ if ((emess_dat.Prog_name = strrchr(*argv, DIR_CHAR)) != nullptr)
+ ++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);
+ }
+
+ // First pass to check if we have "cs2cs [-bla]* <SRC> <DEST>" syntax
+ int countNonOptionArg = 0;
+ for (int i = 1; i < argc; i++) {
+ if (argv[i][0] == '-') {
+ if (argv[i][1] == '\0') {
+ countNonOptionArg++;
+ }
+ } else {
+ if (strcmp(argv[i], "+to") == 0) {
+ countNonOptionArg = -1;
+ break;
+ }
+ countNonOptionArg++;
+ }
+ }
+ const bool isSrcDestSyntax = (countNonOptionArg == 2);
+
+ /* 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++] = const_cast<char *>("-");
+ 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 */
+ const struct PJ_LIST *lp;
+ int do_long = arg[1] == 'P', c;
+ const char *str;
+
+ for (lp = proj_list_operations(); 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' */
+ const struct PJ_LIST *lp;
+
+ arg += 2;
+ for (lp = proj_list_operations(); 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 */
+ const struct PJ_ELLPS *le;
+
+ for (le = proj_list_ellps(); 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 */
+ const struct PJ_UNITS *lu;
+
+ for (lu = proj_list_units(); lu->id; ++lu)
+ (void)printf("%12s %-20s %s\n", lu->id,
+ lu->to_meter, lu->name);
+ } else if (arg[1] == 'd') { /* list datums */
+ const 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 != nullptr &&
+ strlen(ld->comments) > 0)
+ printf("%25s %s\n", " ", ld->comments);
+ }
+ } else if (arg[1] == 'm') { /* list prime meridians */
+ const struct PJ_PRIME_MERIDIANS *lpm;
+
+ for (lpm = proj_list_prime_meridians(); lpm->id; ++lpm)
+ (void)printf("%12s %-30s\n", lpm->id, lpm->defn);
+ } else
+ emess(1, "invalid list option: l%c", arg[1]);
+ exit(0);
+ /* cppcheck-suppress duplicateBreak */
+ 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 */
+ {
+ char c = arg[1];
+ if (c != 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;
+ case 'D': /* set debug level */
+ if (--argc <= 0)
+ goto noargument;
+ pj_ctx_set_debug(pj_get_default_ctx(), atoi(*++argv));
+ continue;
+ case 'd':
+ if (--argc <= 0)
+ goto noargument;
+ sprintf(oform_buffer, "%%.%df", atoi(*++argv));
+ oform = oform_buffer;
+ break;
+ default:
+ emess(1, "invalid option: -%c", *arg);
+ break;
+ }
+ break;
+ }
+ } else if (isSrcDestSyntax) {
+ if (fromStr.empty())
+ fromStr = *argv;
+ else
+ toStr = *argv;
+ } else if (strcmp(*argv, "+to") == 0) {
+ have_to_flag = 1;
+
+ } else if (**argv == '+') { /* + argument */
+ if (have_to_flag) {
+ if (!toStr.empty())
+ toStr += ' ';
+ toStr += *argv;
+ } else {
+ if (!fromStr.empty())
+ fromStr += ' ';
+ fromStr += *argv;
+ }
+ } else if (!have_to_flag) {
+ fromStr = *argv;
+ } else if (toStr.empty()) {
+ toStr = *argv;
+ } else /* assumed to be input file name(s) */
+ eargv[eargc++] = *argv;
+ }
+ if (eargc == 0) /* if no specific files force sysin */
+ eargv[eargc++] = const_cast<char *>("-");
+
+ /*
+ * If the user has requested inverse, then just reverse the
+ * coordinate systems.
+ */
+ if (inverse) {
+ std::swap(fromStr, toStr);
+ }
+
+ if (use_env_locale) {
+ /* Set locale from environment */
+ setlocale(LC_ALL, "");
+ }
+
+ if (fromStr.empty() && toStr.empty()) {
+ emess(3, "missing source and target coordinate systems");
+ }
+
+ const char *const optionsProj4Mode[] = {"USE_PROJ4_INIT_RULES=YES",
+ nullptr};
+ const char *const *optionsImportCRS =
+ proj_context_get_use_proj4_init_rules(nullptr, TRUE) ? optionsProj4Mode
+ : nullptr;
+
+ PJ_OBJ *src = nullptr;
+ if (!fromStr.empty()) {
+ bool ignored;
+ src = instanciate_crs(fromStr, optionsImportCRS, srcIsGeog,
+ srcToRadians, ignored);
+ if (!src) {
+ emess(3, "cannot instanciate source coordinate system");
+ }
+ }
+
+ PJ_OBJ *dst = nullptr;
+ if (!toStr.empty()) {
+ dst = instanciate_crs(toStr, optionsImportCRS, destIsGeog,
+ destToRadians, destIsLatLong);
+ if (!dst) {
+ emess(3, "cannot instanciate target coordinate system");
+ }
+ }
+
+ if (toStr.empty()) {
+ assert(src);
+ toStr = get_geog_crs_proj_string_from_proj_crs(src, destToRadians,
+ destIsLatLong);
+ if (toStr.empty()) {
+ emess(3,
+ "missing target CRS and source CRS is not a projected CRS");
+ }
+ destIsGeog = true;
+ } else if (fromStr.empty()) {
+ assert(dst);
+ bool ignored;
+ fromStr =
+ get_geog_crs_proj_string_from_proj_crs(dst, srcToRadians, ignored);
+ if (fromStr.empty()) {
+ emess(3,
+ "missing source CRS and target CRS is not a projected CRS");
+ }
+ srcIsGeog = true;
+ }
+
+ proj_obj_unref(src);
+ proj_obj_unref(dst);
+
+ transformation = proj_create_crs_to_crs(nullptr, fromStr.c_str(),
+ toStr.c_str(), nullptr);
+ if (!transformation) {
+ emess(3, "cannot initialize transformation\ncause: %s",
+ pj_strerrno(pj_errno));
+ }
+
+ if (use_env_locale) {
+ /* Restore C locale to avoid issues in parsing/outputting numbers*/
+ setlocale(LC_ALL, "C");
+ }
+
+ if (mon) {
+ printf("%c ---- From Coordinate System ----\n", tag);
+ printf("%s\n", fromStr.c_str());
+ printf("%c ---- To Coordinate System ----\n", tag);
+ printf("%s\n", toStr.c_str());
+ }
+
+ /* set input formatting control */
+ if (!srcIsGeog)
+ informat = strtod;
+ else {
+ informat = dmstor;
+ }
+
+ if (!destIsGeog && !oform)
+ oform = "%.2f";
+
+ /* process input file list */
+ for (; eargc--; ++eargv) {
+ if (**eargv == '-') {
+ fid = stdin;
+ emess_dat.File_name = const_cast<char *>("<stdin>");
+
+ } else {
+ if ((fid = fopen(*eargv, "rt")) == nullptr) {
+ emess(-2, *eargv, "input file");
+ continue;
+ }
+ emess_dat.File_name = *eargv;
+ }
+ emess_dat.File_line = 0;
+ process(fid);
+ fclose(fid);
+ emess_dat.File_name = nullptr;
+ }
+
+ proj_destroy(transformation);
+
+ pj_deallocate_grids();
+
+ exit(0); /* normal completion */
+}
diff --git a/src/emess.h b/src/emess.h
index 82526776..cb6b38f4 100644
--- a/src/emess.h
+++ b/src/emess.h
@@ -2,6 +2,10 @@
#ifndef EMESS_H
#define EMESS_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
struct EMESS {
char *File_name, /* input file name */
*Prog_name; /* name of program */
@@ -26,4 +30,8 @@ extern struct EMESS PROJ_DLL emess_dat;
void PROJ_DLL emess(int, const char *, ...);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* end EMESS_H */
diff --git a/src/factory.cpp b/src/factory.cpp
index 3c360d13..91d0c478 100644
--- a/src/factory.cpp
+++ b/src/factory.cpp
@@ -157,6 +157,8 @@ struct DatabaseContext::Private {
};
private:
+ friend class DatabaseContext;
+
std::string databasePath_{};
bool close_handle_ = true;
sqlite3 *sqlite_handle_{};
@@ -164,6 +166,7 @@ struct DatabaseContext::Private {
PJ_CONTEXT *pjCtxt_ = nullptr;
int recLevel_ = 0;
bool detach_ = false;
+ std::string lastMetadataValue_{};
void closeDB();
@@ -704,6 +707,22 @@ const std::string &DatabaseContext::getPath() const { return d->getPath(); }
// ---------------------------------------------------------------------------
+/** \brief Return a metadata item.
+ *
+ * Value remains valid while this is alive and to the next call to getMetadata
+ */
+const char *DatabaseContext::getMetadata(const char *key) const {
+ auto res =
+ d->run("SELECT value FROM metadata WHERE key = ?", {std::string(key)});
+ if (res.empty()) {
+ return nullptr;
+ }
+ d->lastMetadataValue_ = res[0][0];
+ return d->lastMetadataValue_.c_str();
+}
+
+// ---------------------------------------------------------------------------
+
//! @cond Doxygen_Suppress
DatabaseContextNNPtr DatabaseContext::create(void *sqlite_handle) {
@@ -833,6 +852,29 @@ DatabaseContext::getAliasFromOfficialName(const std::string &officialName,
return res[0][0];
}
+// ---------------------------------------------------------------------------
+
+/** \brief Return the 'text_definition' column of a table for an object
+ *
+ * @param tableName Table name/category.
+ * @param authName Authority name of the object.
+ * @param code Code of the object
+ * @return Text definition (or empty)
+ * @throw FactoryException
+ */
+std::string DatabaseContext::getTextDefinition(const std::string &tableName,
+ const std::string &authName,
+ const std::string &code) const {
+ std::string sql("SELECT text_definition FROM \"");
+ sql += replaceAll(tableName, "\"", "\"\"");
+ sql += "\" WHERE auth_name = ? AND code = ?";
+ auto res = d->run(sql, {authName, code});
+ if (res.empty()) {
+ return std::string();
+ }
+ return res[0][0];
+}
+
//! @endcond
// ---------------------------------------------------------------------------
@@ -3788,6 +3830,11 @@ AuthorityFactory::createObjectsFromName(
break;
}
}
+ if (res.empty() && !deprecated) {
+ return createObjectsFromName(searchedName + " (deprecated)",
+ allowedObjectTypes, approximateMatch,
+ limitResultCount);
+ }
auto sortLambda = [](const common::IdentifiedObjectNNPtr &a,
const common::IdentifiedObjectNNPtr &b) {
diff --git a/src/gie.c b/src/gie.c
index 73b27df8..4bb79f1f 100644
--- a/src/gie.c
+++ b/src/gie.c
@@ -148,8 +148,9 @@ static ffio *ffio_destroy (ffio *G);
static ffio *ffio_create (const char **tags, size_t n_tags, size_t max_record_size);
static const char *gie_tags[] = {
- "<gie>", "operation", "accept", "expect", "roundtrip", "banner", "verbose",
- "direction", "tolerance", "ignore", "require_grid", "builtins", "echo", "skip", "</gie>"
+ "<gie>", "operation", "use_proj4_init_rules",
+ "accept", "expect", "roundtrip", "banner", "verbose",
+ "direction", "tolerance", "ignore", "require_grid", "echo", "skip", "</gie>"
};
static const size_t n_gie_tags = sizeof gie_tags / sizeof gie_tags[0];
@@ -186,6 +187,7 @@ typedef struct {
size_t operation_lineno;
size_t dimensions_given, dimensions_given_at_last_accept;
double tolerance;
+ int use_proj4_init_rules;
int ignore;
int skip_test;
const char *curr_file;
@@ -196,8 +198,6 @@ ffio *F = 0;
static gie_ctx T;
int tests=0, succs=0, succ_fails=0, fail_fails=0, succ_rtps=0, fail_rtps=0;
-int succ_builtins=0, fail_builtins=0;
-
static const char delim[] = {"-------------------------------------------------------------------------------\n"};
@@ -245,6 +245,7 @@ int main (int argc, char **argv) {
T.verbosity = 1;
T.tolerance = 5e-4;
T.ignore = 5555; /* Error code that will not be issued by proj_create() */
+ T.use_proj4_init_rules = FALSE;
o = opt_parse (argc, argv, "hlvq", "o", longflags, longkeys);
if (0==o)
@@ -312,7 +313,6 @@ int main (int argc, char **argv) {
if (T.verbosity > 1) {
fprintf (T.fout, "Failing roundtrips: %4d, Succeeding roundtrips: %4d\n", fail_rtps, succ_rtps);
fprintf (T.fout, "Failing failures: %4d, Succeeding failures: %4d\n", fail_fails, succ_fails);
- fprintf (T.fout, "Failing builtins: %4d, Succeeding builtins: %4d\n", fail_builtins, succ_builtins);
fprintf (T.fout, "Internal counters: %4.4d(%4.4d)\n", tests, succs);
fprintf (T.fout, "%s", delim);
}
@@ -369,17 +369,6 @@ static int another_failing_roundtrip (void) {
return another_failure ();
}
-static int another_succeeding_builtin (void) {
- succ_builtins++;
- return another_success ();
-}
-
-static int another_failing_builtin (void) {
- fail_builtins++;
- return another_failure ();
-}
-
-
static int process_file (const char *fname) {
FILE *f;
@@ -512,6 +501,12 @@ static int tolerance (const char *args) {
return 0;
}
+
+static int use_proj4_init_rules (const char *args) {
+ T.use_proj4_init_rules = strcmp(args, "true") == 0;
+ return 0;
+}
+
static int ignore (const char *args) {
T.ignore = errno_from_err_const (column (args, 1));
return 0;
@@ -597,6 +592,7 @@ either a conversion or a transformation)
if (T.P)
proj_destroy (T.P);
proj_errno_reset (0);
+ proj_context_use_proj4_init_rules(0, T.use_proj4_init_rules);
T.P = proj_create (0, F->args);
@@ -606,57 +602,6 @@ either a conversion or a transformation)
return 0;
}
-
-
-
-static int unitconvert_selftest (void);
-static int cart_selftest (void);
-static int horner_selftest (void);
-
-/*****************************************************************************/
-static int builtins (const char *args) {
-/*****************************************************************************
-There are still a few tests that cannot be described using gie
-primitives. Instead, they are implemented as builtins, and invoked
-using the "builtins" command verb.
-******************************************************************************/
- int i;
- if (T.verbosity > 1) {
- finish_previous_operation (args);
- banner ("builtins: unitconvert, horner, cart");
- }
- T.op_ok = 0;
- T.op_ko = 0;
- T.op_skip = 0;
- i = unitconvert_selftest ();
- if (i!=0) {
- fprintf (T.fout, "unitconvert_selftest fails with %d\n", i);
- another_failing_builtin();
- }
- else
- another_succeeding_builtin ();
-
-
- i = cart_selftest ();
- if (i!=0) {
- fprintf (T.fout, "cart_selftest fails with %d\n", i);
- another_failing_builtin();
- }
- else
- another_succeeding_builtin ();
-
- i = horner_selftest ();
- if (i!=0) {
- fprintf (T.fout, "horner_selftest fails with %d\n", i);
- another_failing_builtin();
- }
- else
- another_succeeding_builtin ();
-
- return 0;
-}
-
-
static PJ_COORD torad_coord (PJ *P, PJ_DIRECTION dir, PJ_COORD a) {
size_t i, n;
char *axis = "enut";
@@ -1064,9 +1009,10 @@ static int dispatch (const char *cmnd, const char *args) {
if (0==strcmp (cmnd, "tolerance")) return tolerance (args);
if (0==strcmp (cmnd, "ignore")) return ignore (args);
if (0==strcmp (cmnd, "require_grid")) return require_grid (args);
- if (0==strcmp (cmnd, "builtins")) return builtins (args);
if (0==strcmp (cmnd, "echo")) return echo (args);
if (0==strcmp (cmnd, "skip")) return skip (args);
+ if (0==strcmp (cmnd, "use_proj4_init_rules"))
+ return use_proj4_init_rules (args);
return 0;
}
@@ -1508,567 +1454,3 @@ whitespace etc. The block is stored in G->args. Returns 1 on success, 0 otherwis
pj_shrink (G->args);
return 1;
}
-
-
-
-
-
-static const char tc32_utm32[] = {
- " +proj=horner"
- " +ellps=intl"
- " +range=500000"
- " +fwd_origin=877605.269066,6125810.306769"
- " +inv_origin=877605.760036,6125811.281773"
- " +deg=4"
- " +fwd_v=6.1258112678e+06,9.9999971567e-01,1.5372750011e-10,5.9300860915e-15,2.2609497633e-19,4.3188227445e-05,2.8225130416e-10,7.8740007114e-16,-1.7453997279e-19,1.6877465415e-10,-1.1234649773e-14,-1.7042333358e-18,-7.9303467953e-15,-5.2906832535e-19,3.9984284847e-19"
- " +fwd_u=8.7760574982e+05,9.9999752475e-01,2.8817299305e-10,5.5641310680e-15,-1.5544700949e-18,-4.1357045890e-05,4.2106213519e-11,2.8525551629e-14,-1.9107771273e-18,3.3615590093e-10,2.4380247154e-14,-2.0241230315e-18,1.2429019719e-15,5.3886155968e-19,-1.0167505000e-18"
- " +inv_v=6.1258103208e+06,1.0000002826e+00,-1.5372762184e-10,-5.9304261011e-15,-2.2612705361e-19,-4.3188331419e-05,-2.8225549995e-10,-7.8529116371e-16,1.7476576773e-19,-1.6875687989e-10,1.1236475299e-14,1.7042518057e-18,7.9300735257e-15,5.2881862699e-19,-3.9990736798e-19"
- " +inv_u=8.7760527928e+05,1.0000024735e+00,-2.8817540032e-10,-5.5627059451e-15,1.5543637570e-18,4.1357152105e-05,-4.2114813612e-11,-2.8523713454e-14,1.9109017837e-18,-3.3616407783e-10,-2.4382678126e-14,2.0245020199e-18,-1.2441377565e-15,-5.3885232238e-19,1.0167203661e-18"
-};
-
-
-static const char sb_utm32[] = {
- " +proj=horner"
- " +ellps=intl"
- " +range=500000"
- " +tolerance=0.0005"
- " +fwd_origin=4.94690026817276e+05,6.13342113183056e+06"
- " +inv_origin=6.19480258923588e+05,6.13258568148837e+06"
- " +deg=3"
- " +fwd_c=6.13258562111350e+06,6.19480105709997e+05,9.99378966275206e-01,-2.82153291753490e-02,-2.27089979140026e-10,-1.77019590701470e-09,1.08522286274070e-14,2.11430298751604e-15"
- " +inv_c=6.13342118787027e+06,4.94690181709311e+05,9.99824464710368e-01,2.82279070814774e-02,7.66123542220864e-11,1.78425334628927e-09,-1.05584823306400e-14,-3.32554258683744e-15"
-};
-
-static int horner_selftest (void) {
- PJ *P;
- PJ_COORD a, b, c;
- double dist;
-
- /* Real polynonia relating the technical coordinate system TC32 to "System 45 Bornholm" */
- P = proj_create (PJ_DEFAULT_CTX, tc32_utm32);
- if (0==P)
- return 10;
-
- a = b = proj_coord (0,0,0,0);
- a.uv.v = 6125305.4245;
- a.uv.u = 878354.8539;
- c = a;
-
- /* Check roundtrip precision for 1 iteration each way, starting in forward direction */
- dist = proj_roundtrip (P, PJ_FWD, 1, &c);
- if (dist > 0.01)
- return 1;
- proj_destroy(P);
-
- /* The complex polynomial transformation between the "System Storebaelt" and utm32/ed50 */
- P = proj_create (PJ_DEFAULT_CTX, sb_utm32);
- if (0==P)
- return 11;
-
- /* Test value: utm32_ed50(620000, 6130000) = sb_ed50(495136.8544, 6130821.2945) */
- a = b = c = proj_coord (0,0,0,0);
- a.uv.v = 6130821.2945;
- a.uv.u = 495136.8544;
- c.uv.v = 6130000.0000;
- c.uv.u = 620000.0000;
-
- /* Forward projection */
- b = proj_trans (P, PJ_FWD, a);
- dist = proj_xy_dist (b, c);
- if (dist > 0.001)
- return 2;
-
- /* Inverse projection */
- b = proj_trans (P, PJ_INV, c);
- dist = proj_xy_dist (b, a);
- if (dist > 0.001)
- return 3;
-
- /* Check roundtrip precision for 1 iteration each way */
- dist = proj_roundtrip (P, PJ_FWD, 1, &a);
- if (dist > 0.01)
- return 4;
-
- proj_destroy(P);
- return 0;
-}
-
-
-
-
-
-
-
-
-
-
-
-
-/* Testing quite a bit of the pj_obs_api as a side effect (inspired by pj_obs_api_test.c) */
-static int cart_selftest (void) {
- PJ_CONTEXT *ctx;
- PJ *P;
- PJ_COORD a, b, obs[2];
- PJ_COORD coord[2];
-
- PJ_INFO info;
- PJ_PROJ_INFO pj_info;
- PJ_GRID_INFO grid_info;
- PJ_INIT_INFO init_info;
-
- PJ_FACTORS factors;
-
- const PJ_OPERATIONS *oper_list;
- const PJ_ELLPS *ellps_list;
- const PJ_UNITS *unit_list;
- const PJ_PRIME_MERIDIANS *pm_list;
-
- int err;
- size_t n, sz;
- double dist, h, t;
- char *args[3] = {"proj=utm", "zone=32", "ellps=GRS80"};
- char arg[50] = {"+proj=utm; +zone=32; +ellps=GRS80"};
- char buf[40];
-
- /* An utm projection on the GRS80 ellipsoid */
- P = proj_create (PJ_DEFAULT_CTX, arg);
- if (0==P)
- return 1;
-
-
- /* Clean up */
- proj_destroy (P);
-
- /* Same projection, now using argc/argv style initialization */
- P = proj_create_argv (PJ_DEFAULT_CTX, 3, args);
- if (0==P)
- return 2;
-
- /* zero initialize everything, then set (longitude, latitude) to (12, 55) */
- a = proj_coord (0,0,0,0);
- /* a.lp: The coordinate part of a, interpreted as a classic LP pair */
- a.lp.lam = PJ_TORAD(12);
- a.lp.phi = PJ_TORAD(55);
-
- /* Forward projection */
- b = proj_trans (P, PJ_FWD, a);
-
- /* Inverse projection */
- a = proj_trans (P, PJ_INV, b);
-
- /* Null projection */
- a = proj_trans (P, PJ_IDENT, a);
-
- /* Forward again, to get two linear items for comparison */
- a = proj_trans (P, PJ_FWD, a);
-
- dist = proj_xy_dist (a, b);
- if (dist > 2e-9)
- return 3;
-
- /* Clear any previous error */
- proj_errno_reset (P);
-
- /* Invalid projection */
- a = proj_trans (P, 42, a);
- if (a.lpz.lam!=HUGE_VAL)
- return 4;
- err = proj_errno (P);
- if (0==err)
- return 5;
-
- /* Clear error again */
- proj_errno_reset (P);
-
- /* Clean up */
- proj_destroy (P);
-
- /* Now do some 3D transformations */
- P = proj_create (PJ_DEFAULT_CTX, "+proj=cart +ellps=GRS80");
- if (0==P)
- return 6;
-
- /* zero initialize everything, then set (longitude, latitude, height) to (12, 55, 100) */
- a = b = proj_coord (0,0,0,0);
- a.lpz.lam = PJ_TORAD(12);
- a.lpz.phi = PJ_TORAD(55);
- a.lpz.z = 100;
-
- /* Forward projection: 3D-Cartesian-to-Ellipsoidal */
- b = proj_trans (P, PJ_FWD, a);
-
- /* Check roundtrip precision for 10000 iterations each way */
- dist = proj_roundtrip (P, PJ_FWD, 10000, &a);
- dist += proj_roundtrip (P, PJ_INV, 10000, &b);
- if (dist > 4e-9)
- return 7;
-
-
- /* Test at the North Pole */
- a = b = proj_coord (0,0,0,0);
- a.lpz.lam = PJ_TORAD(0);
- a.lpz.phi = PJ_TORAD(90);
- a.lpz.z = 100;
-
- /* Forward projection: Ellipsoidal-to-3D-Cartesian */
- dist = proj_roundtrip (P, PJ_FWD, 1, &a);
- if (dist > 1e-9)
- return 8;
-
- /* Test at the South Pole */
- a = b = proj_coord (0,0,0,0);
- a.lpz.lam = PJ_TORAD(0);
- a.lpz.phi = PJ_TORAD(-90);
- a.lpz.z = 100;
- b = a;
-
- /* Forward projection: Ellipsoidal-to-3D-Cartesian */
- dist = proj_roundtrip (P, PJ_FWD, 1, &a);
- if (dist > 1e-9)
- return 9;
-
-
- /* Inverse projection: 3D-Cartesian-to-Ellipsoidal */
- b = proj_trans (P, PJ_INV, b);
-
- /* Move p to another context */
- ctx = proj_context_create ();
- if (ctx==pj_get_default_ctx())
- return 10;
- proj_context_set (P, ctx);
- if (ctx != P->ctx)
- return 11;
- b = proj_trans (P, PJ_FWD, b);
-
- /* Move it back to the default context */
- proj_context_set (P, 0);
- if (pj_get_default_ctx() != P->ctx)
- return 12;
- proj_context_destroy (ctx);
-
- /* We go on with the work - now back on the default context */
- b = proj_trans (P, PJ_INV, b);
- proj_destroy (P);
-
-
- /* Testing proj_trans_generic () */
-
- /* An utm projection on the GRS80 ellipsoid */
- P = proj_create (PJ_DEFAULT_CTX, "+proj=utm +zone=32 +ellps=GRS80");
- if (0==P)
- return 13;
-
- obs[0] = proj_coord (PJ_TORAD(12), PJ_TORAD(55), 45, 0);
- obs[1] = proj_coord (PJ_TORAD(12), PJ_TORAD(56), 50, 0);
- sz = sizeof (PJ_COORD);
-
- /* Forward projection */
- a = proj_trans (P, PJ_FWD, obs[0]);
- b = proj_trans (P, PJ_FWD, obs[1]);
-
- n = proj_trans_generic (
- P, PJ_FWD,
- &(obs[0].lpz.lam), sz, 2,
- &(obs[0].lpz.phi), sz, 2,
- &(obs[0].lpz.z), sz, 2,
- 0, sz, 0
- );
- if (2!=n)
- return 14;
- if (a.lpz.lam != obs[0].lpz.lam) return 15;
- if (a.lpz.phi != obs[0].lpz.phi) return 16;
- if (a.lpz.z != obs[0].lpz.z) return 17;
- if (b.lpz.lam != obs[1].lpz.lam) return 18;
- if (b.lpz.phi != obs[1].lpz.phi) return 19;
- if (b.lpz.z != obs[1].lpz.z) return 20;
-
- /* now test the case of constant z */
- obs[0] = proj_coord (PJ_TORAD(12), PJ_TORAD(55), 45, 0);
- obs[1] = proj_coord (PJ_TORAD(12), PJ_TORAD(56), 50, 0);
- h = 27;
- t = 33;
- n = proj_trans_generic (
- P, PJ_FWD,
- &(obs[0].lpz.lam), sz, 2,
- &(obs[0].lpz.phi), sz, 2,
- &h, 0, 1,
- &t, 0, 1
- );
- if (2!=n)
- return 21;
- if (a.lpz.lam != obs[0].lpz.lam) return 22;
- if (a.lpz.phi != obs[0].lpz.phi) return 23;
- if (45 != obs[0].lpz.z) return 24;
- if (b.lpz.lam != obs[1].lpz.lam) return 25;
- if (b.lpz.phi != obs[1].lpz.phi) return 26;
- if (50 != obs[1].lpz.z) return 27; /* NOTE: unchanged */
- if (50==h) return 28;
-
- /* test proj_trans_array () */
-
- coord[0] = proj_coord (PJ_TORAD(12), PJ_TORAD(55), 45, 0);
- coord[1] = proj_coord (PJ_TORAD(12), PJ_TORAD(56), 50, 0);
- if (proj_trans_array (P, PJ_FWD, 2, coord))
- return 40;
-
- if (a.lpz.lam != coord[0].lpz.lam) return 41;
- if (a.lpz.phi != coord[0].lpz.phi) return 42;
- if (a.lpz.z != coord[0].lpz.z) return 43;
- if (b.lpz.lam != coord[1].lpz.lam) return 44;
- if (b.lpz.phi != coord[1].lpz.phi) return 45;
- if (b.lpz.z != coord[1].lpz.z) return 46;
-
- /* Clean up after proj_trans_* tests */
- proj_destroy (P);
-
- /* test proj_create_crs_to_crs() */
- P = proj_create_crs_to_crs(PJ_DEFAULT_CTX, "epsg:25832", "epsg:25833", NULL);
- if (P==0)
- return 50;
-
- a.xy.x = 700000.0;
- a.xy.y = 6000000.0;
- b.xy.x = 307788.8761171057;
- b.xy.y = 5999669.3036037628;
-
- a = proj_trans(P, PJ_FWD, a);
- if (dist > 1e-7)
- return 51;
- proj_destroy(P);
-
- /* let's make sure that only entries in init-files results in a usable PJ */
- P = proj_create_crs_to_crs(PJ_DEFAULT_CTX, "proj=utm +zone=32 +datum=WGS84", "proj=utm +zone=33 +datum=WGS84", NULL);
- if (P != 0) {
- proj_destroy(P);
- return 52;
- }
- proj_destroy(P);
-
- /* ********************************************************************** */
- /* Test info functions */
- /* ********************************************************************** */
-
- /* proj_info() */
- /* this one is difficult to test, since the output changes with the setup */
- info = proj_info();
-
- if (info.version[0] != '\0' ) {
- char tmpstr[64];
- sprintf(tmpstr, "%d.%d.%d", info.major, info.minor, info.patch);
- if (strcmp(info.version, tmpstr)) return 55;
- }
- if (info.release[0] == '\0') return 56;
- if (getenv ("HOME") || getenv ("PROJ_LIB"))
- if (info.searchpath[0] == '\0') return 57;
-
- /* proj_pj_info() */
- P = proj_create(PJ_DEFAULT_CTX, "+proj=august"); /* august has no inverse */
- if (proj_pj_info(P).has_inverse) { proj_destroy(P); return 60; }
- proj_destroy(P);
-
- P = proj_create(PJ_DEFAULT_CTX, arg);
- pj_info = proj_pj_info(P);
- if ( !pj_info.has_inverse ) { proj_destroy(P); return 61; }
- pj_shrink (arg);
- if ( strcmp(pj_info.definition, arg) ) { proj_destroy(P); return 62; }
- if ( strcmp(pj_info.id, "utm") ) { proj_destroy(P); return 63; }
-
- proj_destroy(P);
-
- /* proj_grid_info() */
- grid_info = proj_grid_info("null");
- if ( strlen(grid_info.filename) == 0 ) return 64;
- if ( strcmp(grid_info.gridname, "null") ) return 65;
- grid_info = proj_grid_info("nonexistinggrid");
- if ( strlen(grid_info.filename) > 0 ) return 66;
-
- /* proj_init_info() */
- init_info = proj_init_info("unknowninit");
- if ( strlen(init_info.filename) != 0 ) return 67;
-
- init_info = proj_init_info("epsg");
- /* Need to allow for "Unknown" until all commonly distributed EPSG-files comes with a metadata section */
- if ( strcmp(init_info.origin, "EPSG") && strcmp(init_info.origin, "Unknown") ) return 69;
- if ( strcmp(init_info.name, "epsg") ) return 68;
-
-
- /* test proj_rtodms() and proj_dmstor() */
- if (strcmp("180dN", proj_rtodms(buf, M_PI, 'N', 'S')))
- return 70;
-
- if (proj_dmstor(&buf[0], NULL) != M_PI)
- return 71;
-
- if (strcmp("114d35'29.612\"S", proj_rtodms(buf, -2.0, 'N', 'S')))
- return 72;
-
- /* we can't expect perfect numerical accuracy so testing with a tolerance */
- if (fabs(-2.0 - proj_dmstor(&buf[0], NULL)) > 1e-7)
- return 73;
-
-
- /* test proj_derivatives_retrieve() and proj_factors_retrieve() */
- P = proj_create(PJ_DEFAULT_CTX, "+proj=merc");
- a = proj_coord (0,0,0,0);
- a.lp.lam = PJ_TORAD(12);
- a.lp.phi = PJ_TORAD(55);
-
- factors = proj_factors(P, a);
- if (proj_errno(P))
- return 85; /* factors not created correctly */
-
- /* check a few key characteristics of the Mercator projection */
- if (factors.angular_distortion != 0.0) return 86; /* angular distortion should be 0 */
- if (factors.meridian_parallel_angle != M_PI_2) return 87; /* Meridian/parallel angle should be 90 deg */
- if (factors.meridian_convergence != 0.0) return 88; /* meridian convergence should be 0 */
-
- proj_destroy(P);
-
- /* Check that proj_list_* functions work by looping through them */
- n = 0;
- for (oper_list = proj_list_operations(); oper_list->id; ++oper_list) n++;
- if (n == 0) return 90;
-
- n = 0;
- for (ellps_list = proj_list_ellps(); ellps_list->id; ++ellps_list) n++;
- if (n == 0) return 91;
-
- n = 0;
- for (unit_list = proj_list_units(); unit_list->id; ++unit_list) n++;
- if (n == 0) return 92;
-
- n = 0;
- for (pm_list = proj_list_prime_meridians(); pm_list->id; ++pm_list) n++;
- if (n == 0) return 93;
-
-
- /* check io-predicates */
-
- /* angular in on fwd, linear out */
- P = proj_create (PJ_DEFAULT_CTX, "+proj=cart +ellps=GRS80");
- if (0==P) return 0;
- if (!proj_angular_input (P, PJ_FWD)) return 100;
- if ( proj_angular_input (P, PJ_INV)) return 101;
- if ( proj_angular_output (P, PJ_FWD)) return 102;
- if (!proj_angular_output (P, PJ_INV)) return 103;
- P->inverted = 1;
- if ( proj_angular_input (P, PJ_FWD)) return 104;
- if (!proj_angular_input (P, PJ_INV)) return 105;
- if (!proj_angular_output (P, PJ_FWD)) return 106;
- if ( proj_angular_output (P, PJ_INV)) return 107;
- proj_destroy(P);
-
- /* angular in and out */
- P = proj_create(PJ_DEFAULT_CTX,
- "+proj=molodensky +a=6378160 +rf=298.25 "
- "+da=-23 +df=-8.120449e-8 +dx=-134 +dy=-48 +dz=149 "
- "+abridged "
- );
- if (0==P) return 0;
- if (!proj_angular_input (P, PJ_FWD)) return 108;
- if (!proj_angular_input (P, PJ_INV)) return 109;
- if (!proj_angular_output (P, PJ_FWD)) return 110;
- if (!proj_angular_output (P, PJ_INV)) return 111;
- P->inverted = 1;
- if (!proj_angular_input (P, PJ_FWD)) return 112;
- if (!proj_angular_input (P, PJ_INV)) return 113;
- if (!proj_angular_output (P, PJ_FWD)) return 114;
- if (!proj_angular_output (P, PJ_INV)) return 115;
- proj_destroy(P);
-
- /* linear in and out */
- P = proj_create(PJ_DEFAULT_CTX,
- " +proj=helmert"
- " +x=0.0127 +y=0.0065 +z=-0.0209 +s=0.00195"
- " +rx=-0.00039 +ry=0.00080 +rz=-0.00114"
- " +dx=-0.0029 +dy=-0.0002 +dz=-0.0006 +ds=0.00001"
- " +drx=-0.00011 +dry=-0.00019 +drz=0.00007"
- " +t_epoch=1988.0 +transpose +no_defs"
- );
- if (0==P) return 0;
- if (proj_angular_input (P, PJ_FWD)) return 116;
- if (proj_angular_input (P, PJ_INV)) return 117;
- if (proj_angular_output (P, PJ_FWD)) return 118;
- if (proj_angular_output (P, PJ_INV)) return 119;
- P->inverted = 1;
- if (proj_angular_input (P, PJ_FWD)) return 120;
- if (proj_angular_input (P, PJ_INV)) return 121;
- if (proj_angular_output (P, PJ_FWD)) return 122;
- if (proj_angular_output (P, PJ_INV)) return 123;
-
- /* We specified "no_defs" but didn't give any ellipsoid info */
- /* pj_init_ctx should default to WGS84 */
- if (P->a != 6378137.0) return 124;
- if (P->f != 1.0/298.257223563) return 125;
- proj_destroy(P);
-
- /* Test that pj_fwd* and pj_inv* returns NaNs when receiving NaN input */
- P = proj_create(PJ_DEFAULT_CTX, "+proj=merc");
- if (0==P) return 0;
- a = proj_coord(NAN, NAN, NAN, NAN);
- a = proj_trans(P, PJ_FWD, a);
- if ( !( isnan(a.v[0]) && isnan(a.v[1]) && isnan(a.v[2]) && isnan(a.v[3]) ) )
- return 126;
- a = proj_coord(NAN, NAN, NAN, NAN);
- a = proj_trans(P, PJ_INV, a);
- if ( !( isnan(a.v[0]) && isnan(a.v[1]) && isnan(a.v[2]) && isnan(a.v[3]) ) )
- return 127;
- proj_destroy(P);
-
- return 0;
-}
-
-
-
-
-static int test_time(const char* args, double tol, double t_in, double t_exp) {
- PJ_COORD in, out;
- PJ *P = proj_create(PJ_DEFAULT_CTX, args);
- int ret = 0;
-
- if (P == 0)
- return 5;
-
- in = proj_coord(0.0, 0.0, 0.0, t_in);
-
- out = proj_trans(P, PJ_FWD, in);
- if (fabs(out.xyzt.t - t_exp) > tol) {
- proj_log_error(P, "out: %10.10g, expect: %10.10g", out.xyzt.t, t_exp);
- ret = 1;
- }
- out = proj_trans(P, PJ_INV, out);
- if (fabs(out.xyzt.t - t_in) > tol) {
- proj_log_error(P, "out: %10.10g, expect: %10.10g", out.xyzt.t, t_in);
- ret = 2;
- }
- pj_free(P);
-
- proj_log_level(NULL, 0);
- return ret;
-}
-
-static int unitconvert_selftest (void) {
- int ret = 0;
- char args1[] = "+proj=unitconvert +t_in=decimalyear +t_out=decimalyear";
- double in1 = 2004.25;
-
- char args2[] = "+proj=unitconvert +t_in=gps_week +t_out=gps_week";
- double in2 = 1782.0;
-
- char args3[] = "+proj=unitconvert +t_in=mjd +t_out=mjd";
- double in3 = 57390.0;
-
- char args4[] = "+proj=unitconvert +t_in=gps_week +t_out=decimalyear";
- double in4 = 1877.71428, exp4 = 2016.0;
-
- char args5[] = "+proj=unitconvert +t_in=yyyymmdd +t_out=yyyymmdd";
- double in5 = 20170131;
-
- ret = test_time(args1, 1e-6, in1, in1); if (ret) return ret + 10;
- ret = test_time(args2, 1e-6, in2, in2); if (ret) return ret + 20;
- ret = test_time(args3, 1e-6, in3, in3); if (ret) return ret + 30;
- ret = test_time(args4, 1e-6, in4, exp4); if (ret) return ret + 40;
- ret = test_time(args5, 1e-6, in5, in5); if (ret) return ret + 50;
-
- return 0;
-}
diff --git a/src/io.cpp b/src/io.cpp
index 87caddd0..11e4748e 100644
--- a/src/io.cpp
+++ b/src/io.cpp
@@ -373,7 +373,7 @@ void WKTFormatter::startNode(const std::string &keyword, bool hasId) {
if (!d->stackHasChild_.empty()) {
d->startNewChild();
} else if (!d->result_.empty()) {
- d->result_ += ",";
+ d->result_ += ',';
if (d->params_.multiLine_ && !keyword.empty()) {
d->addNewLine();
}
@@ -390,7 +390,7 @@ void WKTFormatter::startNode(const std::string &keyword, bool hasId) {
if (!keyword.empty()) {
d->result_ += keyword;
- d->result_ += "[";
+ d->result_ += '[';
}
d->indentLevel_++;
d->stackHasChild_.push_back(false);
@@ -428,7 +428,7 @@ void WKTFormatter::endNode() {
d->stackEmptyKeyword_.pop_back();
d->stackHasChild_.pop_back();
if (!emptyKeyword)
- d->result_ += "]";
+ d->result_ += ']';
}
// ---------------------------------------------------------------------------
@@ -443,7 +443,7 @@ WKTFormatter &WKTFormatter::simulCurNodeHasId() {
void WKTFormatter::Private::startNewChild() {
assert(!stackHasChild_.empty());
if (stackHasChild_.back()) {
- result_ += ",";
+ result_ += ',';
}
stackHasChild_.back() = true;
}
@@ -456,9 +456,9 @@ void WKTFormatter::addQuotedString(const char *str) {
void WKTFormatter::addQuotedString(const std::string &str) {
d->startNewChild();
- d->result_ += "\"";
+ d->result_ += '"';
d->result_ += replaceAll(str, "\"", "\"\"");
- d->result_ += "\"";
+ d->result_ += '"';
}
// ---------------------------------------------------------------------------
@@ -719,6 +719,20 @@ std::string WKTFormatter::morphNameToESRI(const std::string &name) {
return ret;
}
+// ---------------------------------------------------------------------------
+
+void WKTFormatter::ingestWKTNode(const WKTNodeNNPtr &node) {
+ startNode(node->value(), true);
+ for (const auto &child : node->children()) {
+ if (!child->children().empty()) {
+ ingestWKTNode(child);
+ } else {
+ add(child->value());
+ }
+ }
+ endNode();
+}
+
#ifdef unused
// ---------------------------------------------------------------------------
@@ -991,7 +1005,7 @@ WKTNodeNNPtr WKTNode::createFrom(const std::string &wkt, size_t indexStart,
if (!inString) {
inString = true;
closingStringMarker = endPrintedQuote;
- value += "\"";
+ value += '"';
i += 2;
continue;
}
@@ -1000,7 +1014,7 @@ WKTNodeNNPtr WKTNode::createFrom(const std::string &wkt, size_t indexStart,
wkt.substr(i, 3) == endPrintedQuote) {
inString = false;
closingStringMarker.clear();
- value += "\"";
+ value += '"';
i += 2;
continue;
}
@@ -1038,6 +1052,10 @@ WKTNodeNNPtr WKTNode::createFrom(const std::string &wkt, size_t indexStart,
assert(indexEndChild > i);
i = indexEndChild;
i = skipSpace(wkt, i);
+ if (i < wkt.size() && wkt[i] == ',') {
+ ++i;
+ i = skipSpace(wkt, i);
+ }
}
if (i == wkt.size() || (wkt[i] != ']' && wkt[i] != ')')) {
throw ParsingException("missing ]");
@@ -1065,7 +1083,7 @@ static std::string escapeIfQuotedString(const std::string &str) {
if (str.size() > 2 && str[0] == '"' && str.back() == '"') {
std::string res("\"");
res += replaceAll(str.substr(1, str.size() - 2), "\"", "\"\"");
- res += "\"";
+ res += '"';
return res;
} else {
return str;
@@ -1084,7 +1102,7 @@ std::string WKTNode::toString() const {
bool first = true;
for (auto &child : d->children_) {
if (!first) {
- str += ",";
+ str += ',';
}
first = false;
str += child->toString();
@@ -1166,6 +1184,7 @@ struct WKTParser::Private {
MeridianNNPtr buildMeridian(const WKTNodeNNPtr &node);
CoordinateSystemAxisNNPtr buildAxis(const WKTNodeNNPtr &node,
const UnitOfMeasure &unitIn,
+ const UnitOfMeasure::Type &unitType,
bool isGeocentric,
int expectedOrderNum);
@@ -1198,8 +1217,8 @@ struct WKTParser::Private {
static bool hasWebMercPROJ4String(const WKTNodeNNPtr &projCRSNode,
const WKTNodeNNPtr &projectionNode);
- static bool projectionHasParameter(const WKTNodeNNPtr &projCRSNode,
- const char *paramName);
+ static std::string projectionGetParameter(const WKTNodeNNPtr &projCRSNode,
+ const char *paramName);
ConversionNNPtr buildProjection(const WKTNodeNNPtr &projCRSNode,
const WKTNodeNNPtr &projectionNode,
@@ -1924,6 +1943,37 @@ GeodeticReferenceFrameNNPtr WKTParser::Private::buildGeodeticReferenceFrame(
.set(Identifier::AUTHORITY_KEY, authNameFromAlias)));
properties.set(IdentifiedObject::IDENTIFIERS_KEY, identifiers);
}
+ } else if (name.find('_') != std::string::npos) {
+ // Likely coming from WKT1
+ if (dbContext_) {
+ auto authFactory = AuthorityFactory::create(NN_NO_CHECK(dbContext_),
+ std::string());
+ auto res = authFactory->createObjectsFromName(
+ name, {AuthorityFactory::ObjectType::GEODETIC_REFERENCE_FRAME},
+ true, 1);
+ if (!res.empty()) {
+ const auto &refDatum = res.front();
+ if (metadata::Identifier::isEquivalentName(
+ name.c_str(), refDatum->nameStr().c_str())) {
+ properties.set(IdentifiedObject::NAME_KEY,
+ refDatum->nameStr());
+ if (properties.find(Identifier::CODESPACE_KEY) ==
+ properties.end() &&
+ refDatum->identifiers().size() == 1) {
+ const auto &id = refDatum->identifiers()[0];
+ auto identifiers = ArrayOfBaseObject::create();
+ identifiers->add(Identifier::create(
+ id->code(), PropertyMap()
+ .set(Identifier::CODESPACE_KEY,
+ *id->codeSpace())
+ .set(Identifier::AUTHORITY_KEY,
+ *id->codeSpace())));
+ properties.set(IdentifiedObject::IDENTIFIERS_KEY,
+ identifiers);
+ }
+ }
+ }
+ }
}
auto ellipsoid = buildEllipsoid(ellipsoidNode);
@@ -2039,10 +2089,17 @@ MeridianNNPtr WKTParser::Private::buildMeridian(const WKTNodeNNPtr &node) {
// ---------------------------------------------------------------------------
+PROJ_NO_RETURN static void ThrowParsingExceptionMissingUNIT() {
+ throw ParsingException("buildCS: missing UNIT");
+}
+
+// ---------------------------------------------------------------------------
+
CoordinateSystemAxisNNPtr
WKTParser::Private::buildAxis(const WKTNodeNNPtr &node,
- const UnitOfMeasure &unitIn, bool isGeocentric,
- int expectedOrderNum) {
+ const UnitOfMeasure &unitIn,
+ const UnitOfMeasure::Type &unitType,
+ bool isGeocentric, int expectedOrderNum) {
const auto *nodeP = node->GP();
const auto &children = nodeP->children();
if (children.size() < 2) {
@@ -2128,7 +2185,8 @@ WKTParser::Private::buildAxis(const WKTNodeNNPtr &node,
abbreviation = AxisAbbreviation::Y;
direction = &AxisDirection::GEOCENTRIC_Y;
} else if (isGeocentric && axisName == AxisName::Geocentric_Z &&
- dirString == AxisDirectionWKT1::NORTH.toString()) {
+ (dirString == AxisDirectionWKT1::NORTH.toString() ||
+ dirString == AxisDirectionWKT1::OTHER.toString())) {
abbreviation = AxisAbbreviation::Z;
direction = &AxisDirection::GEOCENTRIC_Z;
} else if (dirString == AxisDirectionWKT1::OTHER.toString()) {
@@ -2146,6 +2204,11 @@ WKTParser::Private::buildAxis(const WKTNodeNNPtr &node,
// If no unit in the AXIS node, use the one potentially coming from
// the CS.
unit = unitIn;
+ if (unit == UnitOfMeasure::NONE &&
+ unitType != UnitOfMeasure::Type::NONE &&
+ unitType != UnitOfMeasure::Type::TIME) {
+ ThrowParsingExceptionMissingUNIT();
+ }
}
auto &meridianNode = nodeP->lookForChild(WKTConstants::MERIDIAN);
@@ -2165,10 +2228,6 @@ PROJ_NO_RETURN static void ThrowParsingException(const std::string &msg) {
throw ParsingException(msg);
}
-PROJ_NO_RETURN static void ThrowParsingExceptionMissingUNIT() {
- throw ParsingException("buildCS: missing UNIT");
-}
-
static ParsingException
buildParsingExceptionInvalidAxisCount(const std::string &csType) {
return ParsingException(
@@ -2331,8 +2390,7 @@ WKTParser::Private::buildCS(const WKTNodeNNPtr &node, /* maybe null */
"and number of AXIS are inconsistent");
}
- UnitOfMeasure unit = buildUnitInSubNode(
- parentNode,
+ const auto unitType =
ci_equal(csType, "ellipsoidal")
? UnitOfMeasure::Type::ANGULAR
: ci_equal(csType, "ordinal")
@@ -2347,13 +2405,14 @@ WKTParser::Private::buildCS(const WKTNodeNNPtr &node, /* maybe null */
ci_equal(csType, "TemporalCount") ||
ci_equal(csType, "TemporalMeasure"))
? UnitOfMeasure::Type::TIME
- : UnitOfMeasure::Type::UNKNOWN);
+ : UnitOfMeasure::Type::UNKNOWN;
+ UnitOfMeasure unit = buildUnitInSubNode(parentNode, unitType);
std::vector<CoordinateSystemAxisNNPtr> axisList;
for (int i = 0; i < axisCount; i++) {
axisList.emplace_back(
buildAxis(parentNode->GP()->lookForChild(WKTConstants::AXIS, i),
- unit, isGeocentric, i + 1));
+ unit, unitType, isGeocentric, i + 1));
};
const PropertyMap &csMap = emptyPropertyMap;
@@ -2476,6 +2535,11 @@ WKTParser::Private::buildGeodeticCRS(const WKTNodeNNPtr &node) {
auto props = buildProperties(node);
addExtensionProj4ToProp(nodeP, props);
+ // No explicit AXIS node ? (WKT1)
+ if (isNull(nodeP->lookForChild(WKTConstants::AXIS))) {
+ props.set("IMPLICIT_CS", true);
+ }
+
auto datum =
!isNull(datumNode)
? buildGeodeticReferenceFrame(datumNode, primeMeridian, dynamicNode)
@@ -2819,7 +2883,7 @@ bool WKTParser::Private::hasWebMercPROJ4String(
projCRSNode->countChildrenOfName("center_latitude") == 0) {
// Hack to detect the hacky way of encodign webmerc in GDAL WKT1
- // with a EXTENSION["PROJ", "+proj=merc +a=6378137 +b=6378137
+ // with a EXTENSION["PROJ4", "+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"] node
if (extensionNode && extensionNode->GP()->childrenSize() == 2 &&
@@ -3034,19 +3098,20 @@ WKTParser::Private::buildProjection(const WKTNodeNNPtr &projCRSNode,
// ---------------------------------------------------------------------------
-bool WKTParser::Private::projectionHasParameter(const WKTNodeNNPtr &projCRSNode,
- const char *paramName) {
+std::string
+WKTParser::Private::projectionGetParameter(const WKTNodeNNPtr &projCRSNode,
+ const char *paramName) {
for (const auto &childNode : projCRSNode->GP()->children()) {
if (ci_equal(childNode->GP()->value(), WKTConstants::PARAMETER)) {
const auto &childNodeChildren = childNode->GP()->children();
if (childNodeChildren.size() == 2 &&
metadata::Identifier::isEquivalentName(
stripQuotes(childNodeChildren[0]).c_str(), paramName)) {
- return true;
+ return childNodeChildren[1]->GP()->value();
}
}
}
- return false;
+ return std::string();
}
// ---------------------------------------------------------------------------
@@ -3068,10 +3133,12 @@ ConversionNNPtr WKTParser::Private::buildProjectionStandard(
bool gdal_3026_hack = false;
if (metadata::Identifier::isEquivalentName(wkt1ProjectionName.c_str(),
"Mercator_1SP") &&
- !projectionHasParameter(projCRSNode, "center_latitude")) {
+ projectionGetParameter(projCRSNode, "center_latitude").empty()) {
// Hack for https://trac.osgeo.org/gdal/ticket/3026
- if (projectionHasParameter(projCRSNode, "latitude_of_origin")) {
+ std::string lat0(
+ projectionGetParameter(projCRSNode, "latitude_of_origin"));
+ if (!lat0.empty() && lat0 != "0" && lat0 != "0.0") {
wkt1ProjectionName = "Mercator_2SP";
gdal_3026_hack = true;
} else {
@@ -3173,11 +3240,11 @@ ConversionNNPtr WKTParser::Private::buildProjectionStandard(
projCRSNode->countChildrenOfName(WKTConstants::AXIS) == 2 &&
&buildAxis(
projCRSNode->GP()->lookForChild(WKTConstants::AXIS, 0),
- defaultLinearUnit, false,
+ defaultLinearUnit, UnitOfMeasure::Type::LINEAR, false,
1)->direction() == &AxisDirection::SOUTH &&
&buildAxis(
projCRSNode->GP()->lookForChild(WKTConstants::AXIS, 1),
- defaultLinearUnit, false,
+ defaultLinearUnit, UnitOfMeasure::Type::LINEAR, false,
2)->direction() == &AxisDirection::WEST) {
mapping = getMapping(EPSG_CODE_METHOD_KROVAK);
}
@@ -3255,6 +3322,17 @@ ConversionNNPtr WKTParser::Private::buildProjectionStandard(
// ---------------------------------------------------------------------------
+static ProjectedCRSNNPtr createPseudoMercator(const PropertyMap &props) {
+ auto conversion = Conversion::createPopularVisualisationPseudoMercator(
+ PropertyMap().set(IdentifiedObject::NAME_KEY, "unnamed"), Angle(0),
+ Angle(0), Length(0), Length(0));
+ return ProjectedCRS::create(
+ props, GeographicCRS::EPSG_4326, conversion,
+ CartesianCS::createEastingNorthing(UnitOfMeasure::METRE));
+}
+
+// ---------------------------------------------------------------------------
+
ProjectedCRSNNPtr
WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node) {
@@ -3264,16 +3342,6 @@ WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node) {
if (isNull(conversionNode) && isNull(projectionNode)) {
ThrowMissing(WKTConstants::CONVERSION);
}
- if (isNull(conversionNode) && hasWebMercPROJ4String(node, projectionNode)) {
- auto conversion = Conversion::createPopularVisualisationPseudoMercator(
- PropertyMap().set(IdentifiedObject::NAME_KEY, "unnamed"), Angle(0),
- Angle(0), Length(0), Length(0));
- return ProjectedCRS::create(
- PropertyMap().set(IdentifiedObject::NAME_KEY,
- "WGS 84 / Pseudo-Mercator"),
- GeographicCRS::EPSG_4326, conversion,
- CartesianCS::createEastingNorthing(UnitOfMeasure::METRE));
- }
auto &baseGeodCRSNode =
nodeP->lookForChild(WKTConstants::BASEGEODCRS,
@@ -3284,6 +3352,50 @@ WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node) {
}
auto baseGeodCRS = buildGeodeticCRS(baseGeodCRSNode);
+ auto props = buildProperties(node);
+
+ const std::string projCRSName = stripQuotes(nodeP->children()[0]);
+ if (esriStyle_ && dbContext_) {
+ // It is likely that the ESRI definition of EPSG:32661 (UPS North) &
+ // EPSG:32761 (UPS South) uses the easting-northing order, instead
+ // of the EPSG northing-easting order
+ // so don't substitue names to avoid confusion.
+ if (projCRSName == "UPS_North") {
+ props.set(IdentifiedObject::NAME_KEY, "WGS 84 / UPS North (E,N)");
+ } else if (projCRSName == "UPS_South") {
+ props.set(IdentifiedObject::NAME_KEY, "WGS 84 / UPS South (E,N)");
+ } else {
+ std::string outTableName;
+ std::string authNameFromAlias;
+ std::string codeFromAlias;
+ auto authFactory = AuthorityFactory::create(NN_NO_CHECK(dbContext_),
+ std::string());
+ auto officialName = authFactory->getOfficialNameFromAlias(
+ projCRSName, "projected_crs", "ESRI", outTableName,
+ authNameFromAlias, codeFromAlias);
+ if (!officialName.empty()) {
+ props.set(IdentifiedObject::NAME_KEY, officialName);
+ }
+ }
+ }
+
+ if (isNull(conversionNode) && hasWebMercPROJ4String(node, projectionNode)) {
+ toWGS84Parameters_.clear();
+ return createPseudoMercator(props);
+ }
+
+ // WGS_84_Pseudo_Mercator: Particular case for corrupted ESRI WKT generated
+ // by older GDAL versions
+ // https://trac.osgeo.org/gdal/changeset/30732
+ // WGS_1984_Web_Mercator: deprecated ESRI:102113
+ if (metadata::Identifier::isEquivalentName(projCRSName.c_str(),
+ "WGS_84_Pseudo_Mercator") ||
+ metadata::Identifier::isEquivalentName(projCRSName.c_str(),
+ "WGS_1984_Web_Mercator")) {
+ toWGS84Parameters_.clear();
+ return createPseudoMercator(props);
+ }
+
auto linearUnit = buildUnitInSubNode(node, UnitOfMeasure::Type::LINEAR);
auto angularUnit = baseGeodCRS->coordinateSystem()->axisList()[0]->unit();
@@ -3301,6 +3413,11 @@ WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node) {
auto cs = buildCS(csNode, node, UnitOfMeasure::NONE);
auto cartesianCS = nn_dynamic_pointer_cast<CartesianCS>(cs);
+ // No explicit AXIS node ? (WKT1)
+ if (isNull(nodeP->lookForChild(WKTConstants::AXIS))) {
+ props.set("IMPLICIT_CS", true);
+ }
+
if (isNull(csNode) && node->countChildrenOfName(WKTConstants::AXIS) == 0) {
const auto methodCode = conversion->method()->getEPSGCode();
// Krovak south oriented ?
@@ -3367,33 +3484,6 @@ WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node) {
ThrowNotExpectedCSType("Cartesian");
}
- auto props = buildProperties(node);
- if (esriStyle_ && dbContext_) {
- auto projCRSName = stripQuotes(nodeP->children()[0]);
-
- // It is likely that the ESRI definition of EPSG:32661 (UPS North) &
- // EPSG:32761 (UPS South) uses the easting-northing order, instead
- // of the EPSG northing-easting order
- // so don't substitue names to avoid confusion.
- if (projCRSName == "UPS_North") {
- props.set(IdentifiedObject::NAME_KEY, "WGS 84 / UPS North (E,N)");
- } else if (projCRSName == "UPS_South") {
- props.set(IdentifiedObject::NAME_KEY, "WGS 84 / UPS South (E,N)");
- } else {
- std::string outTableName;
- std::string authNameFromAlias;
- std::string codeFromAlias;
- auto authFactory = AuthorityFactory::create(NN_NO_CHECK(dbContext_),
- std::string());
- auto officialName = authFactory->getOfficialNameFromAlias(
- projCRSName, "projected_crs", "ESRI", outTableName,
- authNameFromAlias, codeFromAlias);
- if (!officialName.empty()) {
- props.set(IdentifiedObject::NAME_KEY, officialName);
- }
- }
- }
-
addExtensionProj4ToProp(nodeP, props);
return ProjectedCRS::create(props, baseGeodCRS, conversion,
@@ -4066,10 +4156,22 @@ BaseObjectNNPtr WKTParser::Private::build(const WKTNodeNNPtr &node) {
* determine the appropriate best match.</li>
* </ul>
*
+ * @param text One of the above mentionned text format
+ * @param dbContext Database context, or nullptr (in which case database
+ * lookups will not work)
+ * @param usePROJ4InitRules When set to true,
+ * init=epsg:XXXX syntax will be allowed and will be interpreted according to
+ * PROJ.4 and PROJ.5 rules, that is geodeticCRS will have longitude, latitude
+ * order and will expect/output coordinates in radians. ProjectedCRS will have
+ * easting, northing axis order (except the ones with Transverse Mercator South
+ * Orientated projection). In that mode, the epsg:XXXX syntax will be also
+ * interprated the same way.
* @throw ParsingException
*/
BaseObjectNNPtr createFromUserInput(const std::string &text,
- const DatabaseContextPtr &dbContext) {
+ const DatabaseContextPtr &dbContext,
+ bool usePROJ4InitRules) {
+
for (const auto &wktConstants : WKTConstants::constants()) {
if (ci_starts_with(text, wktConstants)) {
return WKTParser().attachDatabaseContext(dbContext).createFromWKT(
@@ -4085,6 +4187,7 @@ BaseObjectNNPtr createFromUserInput(const std::string &text,
strncmp(textWithoutPlusPrefix, "title=", strlen("title=")) == 0) {
return PROJStringParser()
.attachDatabaseContext(dbContext)
+ .setUsePROJ4InitRules(usePROJ4InitRules)
.createFromPROJString(text);
}
@@ -4093,9 +4196,23 @@ BaseObjectNNPtr createFromUserInput(const std::string &text,
if (!dbContext) {
throw ParsingException("no database context specified");
}
- auto factory =
- AuthorityFactory::create(NN_NO_CHECK(dbContext), tokens[0]);
- return factory->createCoordinateReferenceSystem(tokens[1]);
+ DatabaseContextNNPtr dbContextNNPtr(NN_NO_CHECK(dbContext));
+ const auto &authName = tokens[0];
+ const auto &code = tokens[1];
+ auto factory = AuthorityFactory::create(dbContextNNPtr, authName);
+ try {
+ return factory->createCoordinateReferenceSystem(code);
+ } catch (...) {
+ const auto authorities = dbContextNNPtr->getAuthorities();
+ for (const auto &authCandidate : authorities) {
+ if (ci_equal(authCandidate, authName)) {
+ return AuthorityFactory::create(dbContextNNPtr,
+ authCandidate)
+ ->createCoordinateReferenceSystem(code);
+ }
+ }
+ throw;
+ }
}
// urn:ogc:def:crs:EPSG::4326
@@ -4395,6 +4512,7 @@ struct PROJStringFormatter::Private {
bool useETMercForTMerc_ = false;
bool useETMercForTMercSet_ = false;
bool addNoDefs_ = true;
+ bool coordOperationOptimizations_ = false;
std::string result_{};
@@ -4477,6 +4595,12 @@ const std::string &PROJStringFormatter::toString() const {
step.paramValues[6].equals("s", "0") &&
step.paramValues[7].keyEquals("convention")))) {
iter = d->steps_.erase(iter);
+ } else if (d->coordOperationOptimizations_ &&
+ step.name == "unitconvert" && paramCount == 2 &&
+ step.paramValues[0].keyEquals("xy_in") &&
+ step.paramValues[1].keyEquals("xy_out") &&
+ step.paramValues[0].value == step.paramValues[1].value) {
+ iter = d->steps_.erase(iter);
} else {
++iter;
}
@@ -4694,6 +4818,24 @@ const std::string &PROJStringFormatter::toString() const {
break;
}
+ // axisswap order=2,1, unitconvert, axisswap order=2,1 -> can
+ // suppress axisswap
+ if (i + 1 < d->steps_.size() && prevStep.name == "axisswap" &&
+ curStep.name == "unitconvert" && prevStepParamCount == 1 &&
+ prevStep.paramValues[0].equals("order", "2,1")) {
+ auto iterNext = iterCur;
+ ++iterNext;
+ auto &nextStep = *iterNext;
+ if (nextStep.name == "axisswap" &&
+ nextStep.paramValues.size() == 1 &&
+ nextStep.paramValues[0].equals("order", "2,1")) {
+ d->steps_.erase(iterPrev);
+ d->steps_.erase(iterNext);
+ changeDone = true;
+ break;
+ }
+ }
+
// for practical purposes WGS84 and GRS80 ellipsoids are
// equivalents (cartesian transform between both lead to differences
// of the order of 1e-14 deg..).
@@ -4880,6 +5022,12 @@ bool PROJStringFormatter::getUseETMercForTMerc(bool &settingSetOut) const {
// ---------------------------------------------------------------------------
+void PROJStringFormatter::setCoordinateOperationOptimizations(bool enable) {
+ d->coordOperationOptimizations_ = enable;
+}
+
+// ---------------------------------------------------------------------------
+
void PROJStringFormatter::Private::appendToResult(const char *str) {
if (!result_.empty()) {
result_ += " ";
@@ -4939,11 +5087,13 @@ PROJStringSyntaxParser(const std::string &projString, std::vector<Step> &steps,
}
prevWasStep = false;
} else if (starts_with(word, "proj=")) {
+ auto stepName = word.substr(strlen("proj="));
if (prevWasInit) {
- throw ParsingException("+init= found at unexpected place");
+ steps.back() = Step();
+ prevWasInit = false;
+ } else {
+ steps.push_back(Step());
}
- auto stepName = word.substr(strlen("proj="));
- steps.push_back(Step());
steps.back().name = stepName;
steps.back().inverted = inverted;
prevWasStep = false;
@@ -4996,7 +5146,7 @@ void PROJStringFormatter::ingestPROJString(
std::string vto_meter;
PROJStringSyntaxParser(str, steps, d->globalParamValues_, title, vunits,
vto_meter);
- d->steps_.insert(d->steps_.begin(), steps.begin(), steps.end());
+ d->steps_.insert(d->steps_.end(), steps.begin(), steps.end());
}
// ---------------------------------------------------------------------------
@@ -5137,7 +5287,7 @@ void PROJStringFormatter::addParam(const char *paramName,
std::string paramValue;
for (size_t i = 0; i < vals.size(); ++i) {
if (i > 0) {
- paramValue += ",";
+ paramValue += ',';
}
paramValue += formatToString(vals[i]);
}
@@ -5261,6 +5411,7 @@ const DatabaseContextPtr &PROJStringFormatter::databaseContext() const {
struct PROJStringParser::Private {
DatabaseContextPtr dbContext_{};
+ bool usePROJ4InitRules_ = false;
std::vector<std::string> warningList_{};
std::string projString_{};
@@ -5368,6 +5519,22 @@ PROJStringParser::attachDatabaseContext(const DatabaseContextPtr &dbContext) {
// ---------------------------------------------------------------------------
+/** \brief Set how init=epsg:XXXX syntax should be interpreted.
+ *
+ * @param enable When set to true,
+ * init=epsg:XXXX syntax will be allowed and will be interpreted according to
+ * PROJ.4 and PROJ.5 rules, that is geodeticCRS will have longitude, latitude
+ * order and will expect/output coordinates in radians. ProjectedCRS will have
+ * easting, northing axis order (except the ones with Transverse Mercator South
+ * Orientated projection).
+ */
+PROJStringParser &PROJStringParser::setUsePROJ4InitRules(bool enable) {
+ d->usePROJ4InitRules_ = enable;
+ return *this;
+}
+
+// ---------------------------------------------------------------------------
+
/** \brief Return the list of warnings found during parsing.
*/
std::vector<std::string> PROJStringParser::warningList() const {
@@ -5571,11 +5738,12 @@ PROJStringParser::Private::buildPrimeMeridian(const Step &step) {
PrimeMeridianNNPtr pm = PrimeMeridian::GREENWICH;
const auto &pmStr = getParamValue(step, "pm");
if (!pmStr.empty()) {
- try {
- double pmValue = c_locale_stod(pmStr);
+ char *end;
+ double pmValue = dmstor(pmStr.c_str(), &end) * RAD_TO_DEG;
+ if (pmValue != HUGE_VAL && *end == '\0') {
pm = PrimeMeridian::create(createMapWithUnknownName(),
Angle(pmValue));
- } catch (const std::invalid_argument &) {
+ } else {
bool found = false;
if (pmStr == "paris") {
found = true;
@@ -5588,9 +5756,8 @@ PROJStringParser::Private::buildPrimeMeridian(const Step &step) {
found = true;
std::string name = static_cast<char>(::toupper(pmStr[0])) +
pmStr.substr(1);
- double pmValue =
- dmstor(proj_prime_meridians[i].defn, nullptr) *
- RAD_TO_DEG;
+ pmValue = dmstor(proj_prime_meridians[i].defn, nullptr) *
+ RAD_TO_DEG;
pm = PrimeMeridian::create(
PropertyMap().set(IdentifiedObject::NAME_KEY, name),
Angle(pmValue));
@@ -5619,12 +5786,20 @@ PROJStringParser::Private::buildDatum(const Step &step,
const auto &ellpsStr = getParamValue(step, "ellps");
const auto &datumStr = getParamValue(step, "datum");
+ const auto &RStr = getParamValue(step, "R");
const auto &aStr = getParamValue(step, "a");
const auto &bStr = getParamValue(step, "b");
const auto &rfStr = getParamValue(step, "rf");
const auto &fStr = getParamValue(step, "f");
- const auto &RStr = getParamValue(step, "R");
+ const auto &esStr = getParamValue(step, "es");
+ const auto &eStr = getParamValue(step, "e");
+ double a = -1.0;
+ double b = -1.0;
+ double rf = -1.0;
const util::optional<std::string> optionalEmptyString{};
+ const bool numericParamPresent =
+ !RStr.empty() || !aStr.empty() || !bStr.empty() || !rfStr.empty() ||
+ !fStr.empty() || !esStr.empty() || !eStr.empty();
PrimeMeridianNNPtr pm(buildPrimeMeridian(step));
PropertyMap grfMap;
@@ -5647,104 +5822,151 @@ PROJStringParser::Private::buildDatum(const Step &step,
}
};
+ // R take precedence
+ if (!RStr.empty()) {
+ double R;
+ try {
+ R = c_locale_stod(RStr);
+ } catch (const std::invalid_argument &) {
+ throw ParsingException("Invalid R value");
+ }
+ auto ellipsoid = Ellipsoid::createSphere(createMapWithUnknownName(),
+ Length(R), guessBodyName(R));
+ return GeodeticReferenceFrame::create(
+ grfMap.set(IdentifiedObject::NAME_KEY,
+ title.empty() ? "unknown" : title.c_str()),
+ ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
+ }
+
if (!datumStr.empty()) {
- if (datumStr == "WGS84") {
- return overridePmIfNeeded(GeodeticReferenceFrame::EPSG_6326);
- } else if (datumStr == "NAD83") {
- return overridePmIfNeeded(GeodeticReferenceFrame::EPSG_6269);
- } else if (datumStr == "NAD27") {
- return overridePmIfNeeded(GeodeticReferenceFrame::EPSG_6267);
- } else {
+ auto l_datum = [&datumStr, &overridePmIfNeeded, &grfMap,
+ &optionalEmptyString, &pm]() {
+ if (datumStr == "WGS84") {
+ return overridePmIfNeeded(GeodeticReferenceFrame::EPSG_6326);
+ } else if (datumStr == "NAD83") {
+ return overridePmIfNeeded(GeodeticReferenceFrame::EPSG_6269);
+ } else if (datumStr == "NAD27") {
+ return overridePmIfNeeded(GeodeticReferenceFrame::EPSG_6267);
+ } else {
- for (const auto &datumDesc : datumDescs) {
- if (datumStr == datumDesc.projName) {
- (void)datumDesc.gcsName; // to please cppcheck
- (void)datumDesc.gcsCode; // to please cppcheck
- auto ellipsoid = Ellipsoid::createFlattenedSphere(
- grfMap
- .set(IdentifiedObject::NAME_KEY,
- datumDesc.ellipsoidName)
- .set(Identifier::CODESPACE_KEY, Identifier::EPSG)
- .set(Identifier::CODE_KEY, datumDesc.ellipsoidCode),
- Length(datumDesc.a), Scale(datumDesc.rf));
- return GeodeticReferenceFrame::create(
- grfMap
- .set(IdentifiedObject::NAME_KEY,
- datumDesc.datumName)
- .set(Identifier::CODESPACE_KEY, Identifier::EPSG)
- .set(Identifier::CODE_KEY, datumDesc.datumCode),
- ellipsoid, optionalEmptyString, pm);
+ for (const auto &datumDesc : datumDescs) {
+ if (datumStr == datumDesc.projName) {
+ (void)datumDesc.gcsName; // to please cppcheck
+ (void)datumDesc.gcsCode; // to please cppcheck
+ auto ellipsoid = Ellipsoid::createFlattenedSphere(
+ grfMap
+ .set(IdentifiedObject::NAME_KEY,
+ datumDesc.ellipsoidName)
+ .set(Identifier::CODESPACE_KEY,
+ Identifier::EPSG)
+ .set(Identifier::CODE_KEY,
+ datumDesc.ellipsoidCode),
+ Length(datumDesc.a), Scale(datumDesc.rf));
+ return GeodeticReferenceFrame::create(
+ grfMap
+ .set(IdentifiedObject::NAME_KEY,
+ datumDesc.datumName)
+ .set(Identifier::CODESPACE_KEY,
+ Identifier::EPSG)
+ .set(Identifier::CODE_KEY, datumDesc.datumCode),
+ ellipsoid, optionalEmptyString, pm);
+ }
}
}
+ throw ParsingException("unknown datum " + datumStr);
+ }();
+ if (!numericParamPresent) {
+ return l_datum;
}
- throw ParsingException("unknown datum " + datumStr);
+ a = l_datum->ellipsoid()->semiMajorAxis().getSIValue();
+ rf = l_datum->ellipsoid()->computedInverseFlattening();
}
else if (!ellpsStr.empty()) {
- if (ellpsStr == "WGS84") {
- return GeodeticReferenceFrame::create(
- grfMap.set(IdentifiedObject::NAME_KEY,
- title.empty() ? "Unknown based on WGS84 ellipsoid"
- : title.c_str()),
- Ellipsoid::WGS84, optionalEmptyString, pm);
- } else if (ellpsStr == "GRS80") {
- return GeodeticReferenceFrame::create(
- grfMap.set(IdentifiedObject::NAME_KEY,
- title.empty() ? "Unknown based on GRS80 ellipsoid"
- : title.c_str()),
- Ellipsoid::GRS1980, optionalEmptyString, pm);
- } else {
- auto proj_ellps = proj_list_ellps();
- for (int i = 0; proj_ellps[i].id != nullptr; i++) {
- if (ellpsStr == proj_ellps[i].id) {
- assert(strncmp(proj_ellps[i].major, "a=", 2) == 0);
- const double a_iter =
- c_locale_stod(proj_ellps[i].major + 2);
- EllipsoidPtr ellipsoid;
- PropertyMap ellpsMap;
- if (strncmp(proj_ellps[i].ell, "b=", 2) == 0) {
- const double b_iter =
- c_locale_stod(proj_ellps[i].ell + 2);
- ellipsoid = Ellipsoid::createTwoAxis(
- ellpsMap.set(IdentifiedObject::NAME_KEY,
- proj_ellps[i].name),
- Length(a_iter), Length(b_iter))
- .as_nullable();
- } else {
- assert(strncmp(proj_ellps[i].ell, "rf=", 3) == 0);
- const double rf_iter =
- c_locale_stod(proj_ellps[i].ell + 3);
- ellipsoid = Ellipsoid::createFlattenedSphere(
- ellpsMap.set(IdentifiedObject::NAME_KEY,
- proj_ellps[i].name),
- Length(a_iter), Scale(rf_iter))
- .as_nullable();
+ auto l_datum = [&ellpsStr, &title, &grfMap, &optionalEmptyString,
+ &pm]() {
+ if (ellpsStr == "WGS84") {
+ return GeodeticReferenceFrame::create(
+ grfMap.set(IdentifiedObject::NAME_KEY,
+ title.empty()
+ ? "Unknown based on WGS84 ellipsoid"
+ : title.c_str()),
+ Ellipsoid::WGS84, optionalEmptyString, pm);
+ } else if (ellpsStr == "GRS80") {
+ return GeodeticReferenceFrame::create(
+ grfMap.set(IdentifiedObject::NAME_KEY,
+ title.empty()
+ ? "Unknown based on GRS80 ellipsoid"
+ : title.c_str()),
+ Ellipsoid::GRS1980, optionalEmptyString, pm);
+ } else {
+ auto proj_ellps = proj_list_ellps();
+ for (int i = 0; proj_ellps[i].id != nullptr; i++) {
+ if (ellpsStr == proj_ellps[i].id) {
+ assert(strncmp(proj_ellps[i].major, "a=", 2) == 0);
+ const double a_iter =
+ c_locale_stod(proj_ellps[i].major + 2);
+ EllipsoidPtr ellipsoid;
+ PropertyMap ellpsMap;
+ if (strncmp(proj_ellps[i].ell, "b=", 2) == 0) {
+ const double b_iter =
+ c_locale_stod(proj_ellps[i].ell + 2);
+ ellipsoid =
+ Ellipsoid::createTwoAxis(
+ ellpsMap.set(IdentifiedObject::NAME_KEY,
+ proj_ellps[i].name),
+ Length(a_iter), Length(b_iter))
+ .as_nullable();
+ } else {
+ assert(strncmp(proj_ellps[i].ell, "rf=", 3) == 0);
+ const double rf_iter =
+ c_locale_stod(proj_ellps[i].ell + 3);
+ ellipsoid =
+ Ellipsoid::createFlattenedSphere(
+ ellpsMap.set(IdentifiedObject::NAME_KEY,
+ proj_ellps[i].name),
+ Length(a_iter), Scale(rf_iter))
+ .as_nullable();
+ }
+ return GeodeticReferenceFrame::create(
+ grfMap.set(IdentifiedObject::NAME_KEY,
+ title.empty()
+ ? std::string("Unknown based on ") +
+ proj_ellps[i].name +
+ " ellipsoid"
+ : title),
+ NN_NO_CHECK(ellipsoid), optionalEmptyString, pm);
}
- return GeodeticReferenceFrame::create(
- grfMap.set(IdentifiedObject::NAME_KEY,
- title.empty()
- ? std::string("Unknown based on ") +
- proj_ellps[i].name + " ellipsoid"
- : title),
- NN_NO_CHECK(ellipsoid), optionalEmptyString, pm);
}
+ throw ParsingException("unknown ellipsoid " + ellpsStr);
}
- throw ParsingException("unknown ellipsoid " + ellpsStr);
+ }();
+ if (!numericParamPresent) {
+ return l_datum;
+ }
+ a = l_datum->ellipsoid()->semiMajorAxis().getSIValue();
+ if (l_datum->ellipsoid()->semiMinorAxis().has_value()) {
+ b = l_datum->ellipsoid()->semiMinorAxis()->getSIValue();
+ } else {
+ rf = l_datum->ellipsoid()->computedInverseFlattening();
}
}
- else if (!aStr.empty() && !bStr.empty()) {
- double a;
+ if (!aStr.empty()) {
try {
a = c_locale_stod(aStr);
} catch (const std::invalid_argument &) {
throw ParsingException("Invalid a value");
}
- double b;
- try {
- b = c_locale_stod(bStr);
- } catch (const std::invalid_argument &) {
- throw ParsingException("Invalid b value");
+ }
+
+ if (a > 0 && (b > 0 || !bStr.empty())) {
+ if (!bStr.empty()) {
+ try {
+ b = c_locale_stod(bStr);
+ } catch (const std::invalid_argument &) {
+ throw ParsingException("Invalid b value");
+ }
}
auto ellipsoid =
Ellipsoid::createTwoAxis(createMapWithUnknownName(), Length(a),
@@ -5756,18 +5978,13 @@ PROJStringParser::Private::buildDatum(const Step &step,
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
}
- else if (!aStr.empty() && !rfStr.empty()) {
- double a;
- try {
- a = c_locale_stod(aStr);
- } catch (const std::invalid_argument &) {
- throw ParsingException("Invalid a value");
- }
- double rf;
- try {
- rf = c_locale_stod(rfStr);
- } catch (const std::invalid_argument &) {
- throw ParsingException("Invalid rf value");
+ else if (a > 0 && (rf >= 0 || !rfStr.empty())) {
+ if (!rfStr.empty()) {
+ try {
+ rf = c_locale_stod(rfStr);
+ } catch (const std::invalid_argument &) {
+ throw ParsingException("Invalid rf value");
+ }
}
auto ellipsoid = Ellipsoid::createFlattenedSphere(
createMapWithUnknownName(), Length(a), Scale(rf),
@@ -5779,13 +5996,7 @@ PROJStringParser::Private::buildDatum(const Step &step,
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
}
- else if (!aStr.empty() && !fStr.empty()) {
- double a;
- try {
- a = c_locale_stod(aStr);
- } catch (const std::invalid_argument &) {
- throw ParsingException("Invalid a value");
- }
+ else if (a > 0 && !fStr.empty()) {
double f;
try {
f = c_locale_stod(fStr);
@@ -5802,23 +6013,52 @@ PROJStringParser::Private::buildDatum(const Step &step,
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
}
- else if (!RStr.empty()) {
- double R;
+ else if (a > 0 && !eStr.empty()) {
+ double e;
try {
- R = c_locale_stod(RStr);
+ e = c_locale_stod(eStr);
} catch (const std::invalid_argument &) {
- throw ParsingException("Invalid R value");
+ throw ParsingException("Invalid e value");
}
- auto ellipsoid = Ellipsoid::createSphere(createMapWithUnknownName(),
- Length(R), guessBodyName(R));
+ double alpha = asin(e); /* angular eccentricity */
+ double f = 1 - cos(alpha); /* = 1 - sqrt (1 - es); */
+ auto ellipsoid = Ellipsoid::createFlattenedSphere(
+ createMapWithUnknownName(), Length(a),
+ Scale(f != 0.0 ? 1.0 / f : 0.0), guessBodyName(a))
+ ->identify();
+ return GeodeticReferenceFrame::create(
+ grfMap.set(IdentifiedObject::NAME_KEY,
+ title.empty() ? "unknown" : title.c_str()),
+ ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
+ }
+
+ else if (a > 0 && !esStr.empty()) {
+ double es;
+ try {
+ es = c_locale_stod(esStr);
+ } catch (const std::invalid_argument &) {
+ throw ParsingException("Invalid es value");
+ }
+ double f = 1 - sqrt(1 - es);
+ auto ellipsoid = Ellipsoid::createFlattenedSphere(
+ createMapWithUnknownName(), Length(a),
+ Scale(f != 0.0 ? 1.0 / f : 0.0), guessBodyName(a))
+ ->identify();
return GeodeticReferenceFrame::create(
grfMap.set(IdentifiedObject::NAME_KEY,
title.empty() ? "unknown" : title.c_str()),
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
}
- if (!aStr.empty() && bStr.empty() && rfStr.empty()) {
- throw ParsingException("a found, but b, f or rf missing");
+ // If only a is specified, create a sphere
+ if (a > 0 && bStr.empty() && rfStr.empty() && eStr.empty() &&
+ esStr.empty()) {
+ auto ellipsoid = Ellipsoid::createSphere(createMapWithUnknownName(),
+ Length(a), guessBodyName(a));
+ return GeodeticReferenceFrame::create(
+ grfMap.set(IdentifiedObject::NAME_KEY,
+ title.empty() ? "unknown" : title.c_str()),
+ ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
}
if (!bStr.empty() && aStr.empty()) {
@@ -5833,6 +6073,14 @@ PROJStringParser::Private::buildDatum(const Step &step,
throw ParsingException("f found, but a missing");
}
+ if (!eStr.empty() && aStr.empty()) {
+ throw ParsingException("e found, but a missing");
+ }
+
+ if (!esStr.empty() && aStr.empty()) {
+ throw ParsingException("es found, but a missing");
+ }
+
return overridePmIfNeeded(GeodeticReferenceFrame::EPSG_6326);
}
@@ -6002,6 +6250,22 @@ PROJStringParser::Private::buildEllipsoidalCS(int iStep, int iUnitConvert,
// ---------------------------------------------------------------------------
+static double getNumericValue(const std::string &paramValue,
+ bool *pHasError = nullptr) {
+ try {
+ double value = c_locale_stod(paramValue);
+ if (pHasError)
+ *pHasError = false;
+ return value;
+ } catch (const std::invalid_argument &) {
+ if (pHasError)
+ *pHasError = true;
+ return 0.0;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
GeographicCRSNNPtr
PROJStringParser::Private::buildGeographicCRS(int iStep, int iUnitConvert,
int iAxisSwap, bool ignoreVUnits,
@@ -6015,7 +6279,10 @@ PROJStringParser::Private::buildGeographicCRS(int iStep, int iUnitConvert,
auto props = PropertyMap().set(IdentifiedObject::NAME_KEY,
title.empty() ? "unknown" : title);
- if (l_isGeographicStep && hasParamValue(step, "wktext")) {
+ if (l_isGeographicStep &&
+ (hasParamValue(step, "wktext") ||
+ hasParamValue(step, "lon_wrap") | hasParamValue(step, "geoc") ||
+ getNumericValue(getParamValue(step, "lon_0")) != 0.0)) {
props.set("EXTENSION_PROJ4", projString_);
}
@@ -6152,22 +6419,6 @@ static double getAngularValue(const std::string &paramValue,
// ---------------------------------------------------------------------------
-static double getNumericValue(const std::string &paramValue,
- bool *pHasError = nullptr) {
- try {
- double value = c_locale_stod(paramValue);
- if (pHasError)
- *pHasError = false;
- return value;
- } catch (const std::invalid_argument &) {
- if (pHasError)
- *pHasError = true;
- return 0.0;
- }
-}
-
-// ---------------------------------------------------------------------------
-
CRSNNPtr PROJStringParser::Private::buildProjectedCRS(
int iStep, GeographicCRSNNPtr geogCRS, int iUnitConvert, int iAxisSwap) {
auto &step = steps_[iStep];
@@ -6223,7 +6474,10 @@ CRSNNPtr PROJStringParser::Private::buildProjectedCRS(
mapping =
getMapping(PROJ_WKT2_NAME_METHOD_GEOSTATIONARY_SATELLITE_SWEEP_Y);
} else if (step.name == "omerc") {
- if (hasParamValue(step, "no_uoff") || hasParamValue(step, "no_off")) {
+ if (hasParamValue(step, "no_rot")) {
+ mapping = nullptr;
+ } else if (hasParamValue(step, "no_uoff") ||
+ hasParamValue(step, "no_off")) {
mapping =
getMapping(EPSG_CODE_METHOD_HOTINE_OBLIQUE_MERCATOR_VARIANT_A);
} else if (hasParamValue(step, "lat_1") &&
@@ -6777,6 +7031,21 @@ PROJStringParser::Private::buildMolodenskyTransformation(
// ---------------------------------------------------------------------------
+//! @cond Doxygen_Suppress
+static const metadata::ExtentPtr nullExtent{};
+
+static const metadata::ExtentPtr &getExtent(const crs::CRS *crs) {
+ const auto &domains = crs->domains();
+ if (!domains.empty()) {
+ return domains[0]->domainOfValidity();
+ }
+ return nullExtent;
+}
+
+//! @endcond
+
+// ---------------------------------------------------------------------------
+
/** \brief Instanciate a sub-class of BaseObject from a PROJ string.
* @throw ParsingException
*/
@@ -6785,6 +7054,9 @@ PROJStringParser::createFromPROJString(const std::string &projString) {
std::string vunits;
std::string vto_meter;
+ d->steps_.clear();
+ d->title_.clear();
+ d->globalParamValues_.clear();
d->projString_ = projString;
PROJStringSyntaxParser(projString, d->steps_, d->globalParamValues_,
d->title_, vunits, vto_meter);
@@ -6821,6 +7093,117 @@ PROJStringParser::createFromPROJString(const std::string &projString) {
: -1));
}
+ // +init=xxxx:yyyy syntax
+ if (d->steps_.size() == 1 && d->steps_[0].isInit &&
+ d->steps_[0].paramValues.size() == 0) {
+
+ // Those used to come from a text init file
+ // We only support them in compatibility mode
+ const std::string &stepName = d->steps_[0].name;
+ if (ci_starts_with(stepName, "epsg:") ||
+ ci_starts_with(stepName, "IGNF:")) {
+ bool usePROJ4InitRules = d->usePROJ4InitRules_;
+ if (!usePROJ4InitRules) {
+ PJ_CONTEXT *ctx = proj_context_create();
+ if (ctx) {
+ usePROJ4InitRules = proj_context_get_use_proj4_init_rules(
+ ctx, FALSE) == TRUE;
+ proj_context_destroy(ctx);
+ }
+ }
+ if (!usePROJ4InitRules) {
+ throw ParsingException("init=epsg:/init=IGNF: syntax not "
+ "supported in non-PROJ4 emulation mode");
+ }
+
+ PJ_CONTEXT *ctx = proj_context_create();
+ char unused[256];
+ std::string initname(stepName);
+ initname.resize(initname.find(':'));
+ int file_found =
+ pj_find_file(ctx, initname.c_str(), unused, sizeof(unused));
+ proj_context_destroy(ctx);
+ if (!file_found) {
+ auto obj = createFromUserInput(stepName, d->dbContext_, true);
+ auto crs = dynamic_cast<CRS *>(obj.get());
+ if (crs) {
+ PropertyMap properties;
+ properties.set(IdentifiedObject::NAME_KEY, crs->nameStr());
+ const auto &extent = getExtent(crs);
+ if (extent) {
+ properties.set(
+ common::ObjectUsage::DOMAIN_OF_VALIDITY_KEY,
+ NN_NO_CHECK(extent));
+ }
+ auto geogCRS = dynamic_cast<GeographicCRS *>(crs);
+ if (geogCRS) {
+ // Override with longitude latitude in radian
+ return GeographicCRS::create(
+ properties, geogCRS->datum(),
+ geogCRS->datumEnsemble(),
+ EllipsoidalCS::createLongitudeLatitude(
+ UnitOfMeasure::RADIAN));
+ }
+ auto projCRS = dynamic_cast<ProjectedCRS *>(crs);
+ if (projCRS) {
+ // Override with easting northing order
+ const auto &conv = projCRS->derivingConversionRef();
+ if (conv->method()->getEPSGCode() !=
+ EPSG_CODE_METHOD_TRANSVERSE_MERCATOR_SOUTH_ORIENTATED) {
+ return ProjectedCRS::create(
+ properties, projCRS->baseCRS(), conv,
+ CartesianCS::createEastingNorthing(
+ projCRS->coordinateSystem()
+ ->axisList()[0]
+ ->unit()));
+ }
+ }
+ }
+ return obj;
+ }
+ }
+
+ paralist *init = pj_mkparam(("init=" + d->steps_[0].name).c_str());
+ if (!init) {
+ throw ParsingException("out of memory");
+ }
+ PJ_CONTEXT *ctx = proj_context_create();
+ if (!ctx) {
+ pj_dealloc(init);
+ throw ParsingException("out of memory");
+ }
+ paralist *list = pj_expand_init(ctx, init);
+ proj_context_destroy(ctx);
+ if (!list) {
+ pj_dealloc(init);
+ throw ParsingException("cannot expand " + projString);
+ }
+ std::string expanded;
+ bool first = true;
+ bool has_init_term = false;
+ for (auto t = list; t;) {
+ if (!expanded.empty()) {
+ expanded += ' ';
+ }
+ if (first) {
+ // first parameter is the init= itself
+ first = false;
+ } else if (starts_with(t->param, "init=")) {
+ has_init_term = true;
+ } else {
+ expanded += t->param;
+ }
+
+ auto n = t->next;
+ pj_dealloc(t);
+ t = n;
+ }
+
+ if (!has_init_term) {
+ return createFromPROJString(expanded);
+ }
+ }
+
int iFirstGeogStep = -1;
int iSecondGeogStep = -1;
int iProjStep = -1;
@@ -7003,6 +7386,7 @@ PROJStringParser::createFromPROJString(const std::string &projString) {
throw ParsingException("out of memory");
}
proj_log_func(pj_context, &logger, Logger::log);
+ proj_context_use_proj4_init_rules(pj_context, d->usePROJ4InitRules_);
auto pj = proj_create(pj_context, projString.c_str());
bool valid = pj != nullptr;
proj_destroy(pj);
diff --git a/src/lib_proj.cmake b/src/lib_proj.cmake
index 6fe84944..9e6f51fd 100644
--- a/src/lib_proj.cmake
+++ b/src/lib_proj.cmake
@@ -32,7 +32,7 @@ elseif(USE_THREAD AND NOT Threads_FOUND)
message(FATAL_ERROR "No thread library found and thread/mutex support is required by USE_THREAD option")
endif()
-option(ENABLE_LTO "Build library with LTO optimization (if available)." ON)
+option(ENABLE_LTO "Build library with LTO optimization (if available)." OFF)
if(ENABLE_LTO)
if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
include (CheckCXXSourceCompiles)
@@ -265,6 +265,7 @@ set(SRC_LIBPROJ_CPP
set(HEADERS_LIBPROJ
proj_api.h
proj.h
+ proj_experimental.h
proj_constants.h
geodesic.h
)
diff --git a/src/pj_apply_gridshift.c b/src/pj_apply_gridshift.c
index 31e0124e..45ce5c8e 100644
--- a/src/pj_apply_gridshift.c
+++ b/src/pj_apply_gridshift.c
@@ -349,7 +349,7 @@ LP proj_hgrid_apply(PJ *P, LP lp, PJ_DIRECTION direction) {
out = nad_cvt(lp, inverse, ct);
if (out.lam == HUGE_VAL || out.phi == HUGE_VAL)
- pj_ctx_set_errno(P->ctx, PJD_ERR_FAILED_TO_LOAD_GRID);
+ pj_ctx_set_errno(P->ctx, PJD_ERR_GRID_AREA);
return out;
diff --git a/src/pj_ctx.c b/src/pj_ctx.c
index 6626d5ee..1c99e921 100644
--- a/src/pj_ctx.c
+++ b/src/pj_ctx.c
@@ -85,6 +85,8 @@ projCtx pj_get_default_ctx()
default_context.app_data = NULL;
default_context.fileapi = pj_get_default_fileapi();
default_context.cpp_context = NULL;
+ default_context.use_proj4_init_rules = -1;
+ default_context.epsg_file_exists = -1;
if( getenv("PROJ_DEBUG") != NULL )
{
@@ -114,6 +116,7 @@ projCtx pj_ctx_alloc()
memcpy( ctx, pj_get_default_ctx(), sizeof(projCtx_t) );
ctx->last_errno = 0;
ctx->cpp_context = NULL;
+ ctx->use_proj4_init_rules = -1;
return ctx;
}
diff --git a/src/pj_fwd.c b/src/pj_fwd.c
index 1a970374..38443f07 100644
--- a/src/pj_fwd.c
+++ b/src/pj_fwd.c
@@ -103,7 +103,6 @@ static PJ_COORD fwd_prepare (PJ *P, PJ_COORD coo) {
}
-
static PJ_COORD fwd_finalize (PJ *P, PJ_COORD coo) {
switch (OUTPUT_UNITS) {
@@ -138,6 +137,14 @@ static PJ_COORD fwd_finalize (PJ *P, PJ_COORD coo) {
case PJ_IO_UNITS_ANGULAR:
coo.lpz.z = P->vfr_meter * (coo.lpz.z + P->z0);
+
+ if( P->is_long_wrap_set ) {
+ if( coo.lpz.lam != HUGE_VAL ) {
+ coo.lpz.lam = P->long_wrap_center +
+ adjlon(coo.lpz.lam - P->long_wrap_center);
+ }
+ }
+
break;
}
diff --git a/src/pj_init.c b/src/pj_init.c
index fcc03537..bc81235e 100644
--- a/src/pj_init.c
+++ b/src/pj_init.c
@@ -43,7 +43,6 @@
#include "projects.h"
-
/**************************************************************************************/
static paralist *string_to_paralist (PJ_CONTEXT *ctx, char *definition) {
/***************************************************************************************
@@ -81,14 +80,15 @@ static paralist *string_to_paralist (PJ_CONTEXT *ctx, char *definition) {
/**************************************************************************************/
-static char *get_init_string (PJ_CONTEXT *ctx, char *name) {
+static char *get_init_string (PJ_CONTEXT *ctx, const char *name) {
/***************************************************************************************
Read a section of an init file. Return its contents as a plain character string.
It is the duty of the caller to free the memory allocated for the string.
***************************************************************************************/
#define MAX_LINE_LENGTH 1000
size_t current_buffer_size = 5 * (MAX_LINE_LENGTH + 1);
- char *fname, *section, *key;
+ char *fname, *section;
+ const char *key;
char *buffer = 0;
char *line = 0;
PAFile fid;
@@ -228,11 +228,12 @@ static char *get_init_string (PJ_CONTEXT *ctx, char *name) {
/************************************************************************/
-static paralist *get_init(PJ_CONTEXT *ctx, char *key) {
+static paralist *get_init(PJ_CONTEXT *ctx, const char *key, int allow_init_epsg) {
/*************************************************************************
Expand key from buffer or (if not in buffer) from init file
*************************************************************************/
- char *xkey, *definition;
+ const char *xkey;
+ char *definition = 0;
paralist *init_items = 0;
/* support "init=file:section", "+init=file:section", and "file:section" format */
@@ -248,10 +249,68 @@ Expand key from buffer or (if not in buffer) from init file
if (init_items)
return init_items;
- /* If not, we must read it from file */
- pj_log (ctx, PJ_LOG_TRACE,
- "get_init: searching on in init files for [%s]", xkey);
- definition = get_init_string (ctx, xkey);
+ if( (strncmp(xkey, "epsg:", 5) == 0 || strncmp(xkey, "IGNF:", 5) == 0) ) {
+ char unused[256];
+ char initname[5];
+ int exists;
+
+ memcpy(initname, xkey, 4);
+ initname[4] = 0;
+
+ if( strncmp(xkey, "epsg:", 5) == 0 ) {
+ exists = ctx->epsg_file_exists;
+ if( exists < 0 ) {
+ exists = pj_find_file(ctx, initname, unused, sizeof(unused));
+ ctx->epsg_file_exists = exists;
+ }
+ } else {
+ exists = pj_find_file(ctx, initname, unused, sizeof(unused));
+ }
+
+ if( !exists ) {
+ const char* const optionsProj4Mode[] = { "USE_PROJ4_INIT_RULES=YES", NULL };
+ char szInitStr[7 + 64];
+ PJ_OBJ* src;
+ const char* proj_string;
+
+ pj_ctx_set_errno( ctx, 0 );
+
+ if( !allow_init_epsg ) {
+ pj_log (ctx, PJ_LOG_TRACE, "%s expansion disallowed", xkey);
+ return 0;
+ }
+ if( strlen(xkey) > 64 ) {
+ return 0;
+ }
+ strcpy(szInitStr, "+init=");
+ strcat(szInitStr, xkey);
+
+ src = proj_obj_create_from_user_input(ctx, szInitStr, optionsProj4Mode);
+ if( !src ) {
+ return 0;
+ }
+
+ proj_string = proj_obj_as_proj_string(ctx, src, PJ_PROJ_4, NULL);
+ if( !proj_string ) {
+ proj_obj_unref(src);
+ return 0;
+ }
+ definition = (char*)calloc(1, strlen(proj_string)+1);
+ if( definition ) {
+ strcpy(definition, proj_string);
+ }
+
+ proj_obj_unref(src);
+ }
+ }
+
+ if( !definition ) {
+ /* If not, we must read it from file */
+ pj_log (ctx, PJ_LOG_TRACE,
+ "get_init: searching on in init files for [%s]", xkey);
+ definition = get_init_string (ctx, xkey);
+ }
+
if (0==definition)
return 0;
init_items = string_to_paralist (ctx, definition);
@@ -271,7 +330,7 @@ Expand key from buffer or (if not in buffer) from init file
-static paralist *append_defaults_to_paralist (PJ_CONTEXT *ctx, paralist *start, char *key) {
+static paralist *append_defaults_to_paralist (PJ_CONTEXT *ctx, paralist *start, const char *key, int allow_init_epsg) {
paralist *defaults, *last = 0;
char keystring[ID_TAG_MAX + 20];
paralist *next, *proj;
@@ -303,7 +362,7 @@ static paralist *append_defaults_to_paralist (PJ_CONTEXT *ctx, paralist *start,
strcpy (keystring, "proj_def.dat:");
strcat (keystring, key);
- defaults = get_init (ctx, keystring);
+ defaults = get_init (ctx, keystring, allow_init_epsg);
/* Defaults are optional - so we don't care if we cannot open the file */
pj_ctx_set_errno (ctx, err);
@@ -340,7 +399,7 @@ static paralist *append_defaults_to_paralist (PJ_CONTEXT *ctx, paralist *start,
}
/*****************************************************************************/
-paralist *pj_expand_init(PJ_CONTEXT *ctx, paralist *init) {
+static paralist *pj_expand_init_internal(PJ_CONTEXT *ctx, paralist *init, int allow_init_epsg) {
/******************************************************************************
Append expansion of <key> to the paralist <init>. The expansion is appended,
rather than inserted at <init>'s place, since <init> may contain
@@ -367,7 +426,7 @@ Note that 'init=foo:bar' stays in the list. It is ignored after expansion.
if (0==init)
return 0;
- expn = get_init(ctx, init->param);
+ expn = get_init(ctx, init->param, allow_init_epsg);
/* Nothing in expansion? */
if (0==expn)
@@ -381,6 +440,9 @@ Note that 'init=foo:bar' stays in the list. It is ignored after expansion.
return init;
}
+paralist *pj_expand_init(PJ_CONTEXT *ctx, paralist *init) {
+ return pj_expand_init_internal(ctx, init, TRUE);
+}
/************************************************************************/
@@ -496,6 +558,14 @@ static PJ_CONSTRUCTOR locate_constructor (const char *name) {
PJ *
pj_init_ctx(projCtx ctx, int argc, char **argv) {
+ /* Legacy interface: allow init=epsg:XXXX syntax by default */
+ int allow_init_epsg = proj_context_get_use_proj4_init_rules(ctx, TRUE);
+ return pj_init_ctx_with_allow_init_epsg(ctx, argc, argv, allow_init_epsg);
+}
+
+
+PJ *
+pj_init_ctx_with_allow_init_epsg(projCtx ctx, int argc, char **argv, int allow_init_epsg) {
const char *s;
char *name;
PJ_CONSTRUCTOR proj;
@@ -558,7 +628,7 @@ pj_init_ctx(projCtx ctx, int argc, char **argv) {
/* problem when '+init's are expanded as late as possible. */
init = pj_param_exists (start, "init");
if (init && n_pipelines == 0) {
- init = pj_expand_init (ctx, init);
+ init = pj_expand_init_internal (ctx, init, allow_init_epsg);
if (!init)
return pj_dealloc_params (ctx, start, PJD_ERR_NO_ARGS);
}
@@ -580,8 +650,8 @@ pj_init_ctx(projCtx ctx, int argc, char **argv) {
/* Append general and projection specific defaults to the definition list */
- append_defaults_to_paralist (ctx, start, "general");
- append_defaults_to_paralist (ctx, start, name);
+ append_defaults_to_paralist (ctx, start, "general", allow_init_epsg);
+ append_defaults_to_paralist (ctx, start, name, allow_init_epsg);
/* Allocate projection structure */
diff --git a/src/pj_transform.c b/src/pj_transform.c
index f6210822..6982676e 100644
--- a/src/pj_transform.c
+++ b/src/pj_transform.c
@@ -195,7 +195,7 @@ static int geographic_to_projected (PJ *P, long n, int dist, double *x, double *
if (P->is_geocent)
return 0;
- if(P->fwd3d != NULL)
+ if(P->fwd3d != NULL && !(z == NULL && P->is_latlong))
{
/* Three dimensions must be defined */
if ( z == NULL)
@@ -292,6 +292,8 @@ static int projected_to_geographic (PJ *P, long n, int dist, double *x, double *
/* Nothing to do? */
if (P->is_latlong && !P->geoc && P->vto_meter == 1.0)
return 0;
+ if (P->is_geocent)
+ return 0;
/* Check first if projection is invertible. */
if( (P->inv3d == NULL) && (P->inv == NULL))
@@ -303,7 +305,7 @@ static int projected_to_geographic (PJ *P, long n, int dist, double *x, double *
}
/* If invertible - First try inv3d if defined */
- if (P->inv3d != NULL)
+ if (P->inv3d != NULL && !(z == NULL && P->is_latlong))
{
/* Three dimensions must be defined */
if ( z == NULL)
diff --git a/src/proj.h b/src/proj.h
index 39d16b30..c41a2770 100644
--- a/src/proj.h
+++ b/src/proj.h
@@ -335,18 +335,23 @@ typedef struct projCtx_t PJ_CONTEXT;
PJ_CONTEXT PROJ_DLL *proj_context_create (void);
PJ_CONTEXT PROJ_DLL *proj_context_destroy (PJ_CONTEXT *ctx);
+void PROJ_DLL proj_context_use_proj4_init_rules(PJ_CONTEXT *ctx, int enable);
+int PROJ_DLL proj_context_get_use_proj4_init_rules(PJ_CONTEXT *ctx, int from_legacy_code_path);
/* Manage the transformation definition object PJ */
PJ PROJ_DLL *proj_create (PJ_CONTEXT *ctx, const char *definition);
PJ PROJ_DLL *proj_create_argv (PJ_CONTEXT *ctx, int argc, char **argv);
-PJ PROJ_DLL *proj_create_crs_to_crs(PJ_CONTEXT *ctx, const char *srid_from, const char *srid_to, PJ_AREA *area);
+PJ PROJ_DLL *proj_create_crs_to_crs(PJ_CONTEXT *ctx, const char *source_crs, const char *target_crs, PJ_AREA *area);
PJ PROJ_DLL *proj_destroy (PJ *P);
-/* Setter-functions for the opaque PJ_AREA struct */
-/* Uncomment these when implementing support for area-based transformations.
-void proj_area_bbox(PJ_AREA *area, LP ll, LP ur);
-void proj_area_description(PJ_AREA *area, const char *descr);
-*/
+
+PJ_AREA PROJ_DLL *proj_area_create(void);
+void PROJ_DLL proj_area_set_bbox(PJ_AREA *area,
+ double west_lon_degree,
+ double south_lat_degree,
+ double east_lon_degree,
+ double north_lat_degree);
+void PROJ_DLL proj_area_destroy(PJ_AREA* area);
/* Apply transformation to observation - in forward or inverse direction */
enum PJ_DIRECTION {
@@ -438,6 +443,11 @@ char PROJ_DLL * proj_rtodms(char *s, double r, int pos, int neg);
/* Binding in C of C++ API */
/* ------------------------------------------------------------------------- */
+/**
+ * \defgroup basic_cpp_binding Binding in C of basic methods from the C++ API
+ * @{
+ */
+
/*! @cond Doxygen_Suppress */
typedef struct PJ_OBJ PJ_OBJ;
/*! @endcond */
@@ -453,6 +463,10 @@ int PROJ_DLL proj_context_set_database_path(PJ_CONTEXT *ctx,
const char PROJ_DLL *proj_context_get_database_path(PJ_CONTEXT *ctx);
+const char PROJ_DLL *proj_context_get_database_metadata(PJ_CONTEXT* ctx,
+ const char* key);
+
+
/** \brief Guessed WKT "dialect". */
typedef enum
{
@@ -504,9 +518,13 @@ PJ_OBJ PROJ_DLL *proj_obj_create_from_database(PJ_CONTEXT *ctx,
void PROJ_DLL proj_obj_unref(PJ_OBJ *obj);
+PJ_OBJ PROJ_DLL *proj_obj_clone(PJ_CONTEXT *ctx, const PJ_OBJ *obj);
+
/** \brief Object type. */
typedef enum
{
+ PJ_OBJ_TYPE_UNKNOWN,
+
PJ_OBJ_TYPE_ELLIPSOID,
PJ_OBJ_TYPE_GEODETIC_REFERENCE_FRAME,
@@ -531,6 +549,7 @@ typedef enum
PJ_OBJ_TYPE_PROJECTED_CRS,
PJ_OBJ_TYPE_COMPOUND_CRS,
PJ_OBJ_TYPE_TEMPORAL_CRS,
+ PJ_OBJ_TYPE_ENGINEERING_CRS,
PJ_OBJ_TYPE_BOUND_CRS,
PJ_OBJ_TYPE_OTHER_CRS,
@@ -538,8 +557,6 @@ typedef enum
PJ_OBJ_TYPE_TRANSFORMATION,
PJ_OBJ_TYPE_CONCATENATED_OPERATION,
PJ_OBJ_TYPE_OTHER_COORDINATE_OPERATION,
-
- PJ_OBJ_TYPE_UNKNOWN
} PJ_OBJ_TYPE;
PJ_OBJ_LIST PROJ_DLL *proj_obj_create_from_name(PJ_CONTEXT *ctx,
@@ -551,614 +568,9 @@ PJ_OBJ_LIST PROJ_DLL *proj_obj_create_from_name(PJ_CONTEXT *ctx,
size_t limitResultCount,
const char* const *options);
-PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs(
- PJ_CONTEXT *ctx,
- const char *geogName,
- const char *datumName,
- const char *ellipsoidName,
- double semiMajorMetre, double invFlattening,
- const char *primeMeridianName,
- double primeMeridianOffset,
- const char *angularUnits,
- double angularUnitsConv,
- int latLongOrder);
-
-/* BEGIN: Generated by scripts/create_c_api_projections.py*/
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_UTM(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- int zone,
- int north
-);
+PJ_OBJ_TYPE PROJ_DLL proj_obj_get_type(const PJ_OBJ *obj);
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TransverseMercator(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GaussSchreiberTransverseMercator(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TransverseMercatorSouthOriented(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TwoPointEquidistant(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFirstPoint,
- double longitudeFirstPoint,
- double latitudeSecondPoint,
- double longitudeSeconPoint,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_TunisiaMappingGrid(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AlbersEqualArea(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFalseOrigin,
- double longitudeFalseOrigin,
- double latitudeFirstParallel,
- double latitudeSecondParallel,
- double eastingFalseOrigin,
- double northingFalseOrigin,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_1SP(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFalseOrigin,
- double longitudeFalseOrigin,
- double latitudeFirstParallel,
- double latitudeSecondParallel,
- double eastingFalseOrigin,
- double northingFalseOrigin,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP_Michigan(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFalseOrigin,
- double longitudeFalseOrigin,
- double latitudeFirstParallel,
- double latitudeSecondParallel,
- double eastingFalseOrigin,
- double northingFalseOrigin,
- double ellipsoidScalingFactor,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertConicConformal_2SP_Belgium(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFalseOrigin,
- double longitudeFalseOrigin,
- double latitudeFirstParallel,
- double latitudeSecondParallel,
- double eastingFalseOrigin,
- double northingFalseOrigin,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AzimuthalEquidistant(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeNatOrigin,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GuamProjection(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeNatOrigin,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Bonne(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeNatOrigin,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertCylindricalEqualAreaSpherical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFirstParallel,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertCylindricalEqualArea(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFirstParallel,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_CassiniSoldner(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantConic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double latitudeFirstParallel,
- double latitudeSecondParallel,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertIII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertIV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EckertVI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantCylindrical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFirstParallel,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EquidistantCylindricalSpherical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFirstParallel,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Gall(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GoodeHomolosine(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_InterruptedGoodeHomolosine(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GeostationarySatelliteSweepX(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double height,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_GeostationarySatelliteSweepY(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double height,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Gnomonic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorVariantA(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeProjectionCentre,
- double longitudeProjectionCentre,
- double azimuthInitialLine,
- double angleFromRectifiedToSkrewGrid,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorVariantB(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeProjectionCentre,
- double longitudeProjectionCentre,
- double azimuthInitialLine,
- double angleFromRectifiedToSkrewGrid,
- double scale,
- double eastingProjectionCentre,
- double northingProjectionCentre,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_HotineObliqueMercatorTwoPointNaturalOrigin(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeProjectionCentre,
- double latitudePoint1,
- double longitudePoint1,
- double latitudePoint2,
- double longitudePoint2,
- double scale,
- double eastingProjectionCentre,
- double northingProjectionCentre,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_InternationalMapWorldPolyconic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double latitudeFirstParallel,
- double latitudeSecondParallel,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_KrovakNorthOriented(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeProjectionCentre,
- double longitudeOfOrigin,
- double colatitudeConeAxis,
- double latitudePseudoStandardParallel,
- double scaleFactorPseudoStandardParallel,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Krovak(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeProjectionCentre,
- double longitudeOfOrigin,
- double colatitudeConeAxis,
- double latitudePseudoStandardParallel,
- double scaleFactorPseudoStandardParallel,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_LambertAzimuthalEqualArea(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeNatOrigin,
- double longitudeNatOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MillerCylindrical(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MercatorVariantA(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_MercatorVariantB(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeFirstParallel,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PopularVisualisationPseudoMercator(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Mollweide(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_NewZealandMappingGrid(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_ObliqueStereographic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Orthographic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_AmericanPolyconic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PolarStereographicVariantA(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_PolarStereographicVariantB(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeStandardParallel,
- double longitudeOfOrigin,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Robinson(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Sinusoidal(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_Stereographic(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double scale,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_VanDerGrinten(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerIII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double latitudeTrueScale,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerIV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerV(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerVI(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_WagnerVII(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_QuadrilateralizedSphericalCube(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLat,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_SphericalCrossTrackHeight(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double pegPointLat,
- double pegPointLong,
- double pegPointHeading,
- double pegPointHeight,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs_EqualEarth(
- PJ_OBJ* geodetic_crs, const char* crs_name,
- double centerLong,
- double falseEasting,
- double falseNorthing,
- const char* angUnitName, double angUnitConvFactor,
- const char* linearUnitName, double linearUnitConvFactor);
-
-/* END: Generated by scripts/create_c_api_projections.py*/
-
-PJ_OBJ_TYPE PROJ_DLL proj_obj_get_type(PJ_OBJ *obj);
-
-int PROJ_DLL proj_obj_is_deprecated(PJ_OBJ *obj);
+int PROJ_DLL proj_obj_is_deprecated(const PJ_OBJ *obj);
/** Comparison criterion. */
typedef enum
@@ -1182,23 +594,24 @@ typedef enum
PJ_COMP_EQUIVALENT_EXCEPT_AXIS_ORDER_GEOGCRS,
} PJ_COMPARISON_CRITERION;
-int PROJ_DLL proj_obj_is_equivalent_to(PJ_OBJ *obj, PJ_OBJ* other,
+int PROJ_DLL proj_obj_is_equivalent_to(const PJ_OBJ *obj, const PJ_OBJ* other,
PJ_COMPARISON_CRITERION criterion);
-int PROJ_DLL proj_obj_is_crs(PJ_OBJ *obj);
+int PROJ_DLL proj_obj_is_crs(const PJ_OBJ *obj);
-const char PROJ_DLL* proj_obj_get_name(PJ_OBJ *obj);
+const char PROJ_DLL* proj_obj_get_name(const PJ_OBJ *obj);
-const char PROJ_DLL* proj_obj_get_id_auth_name(PJ_OBJ *obj, int index);
+const char PROJ_DLL* proj_obj_get_id_auth_name(const PJ_OBJ *obj, int index);
-const char PROJ_DLL* proj_obj_get_id_code(PJ_OBJ *obj, int index);
+const char PROJ_DLL* proj_obj_get_id_code(const PJ_OBJ *obj, int index);
-int PROJ_DLL proj_obj_get_area_of_use(PJ_OBJ *obj,
- double* p_west_lon,
- double* p_south_lat,
- double* p_east_lon,
- double* p_north_lat,
- const char **p_area_name);
+int PROJ_DLL proj_obj_get_area_of_use(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj,
+ double* out_west_lon_degree,
+ double* out_south_lat_degree,
+ double* out_east_lon_degree,
+ double* out_north_lat_degree,
+ const char **out_area_name);
/** \brief WKT version. */
typedef enum
@@ -1217,7 +630,8 @@ typedef enum
PJ_WKT1_ESRI
} PJ_WKT_TYPE;
-const char PROJ_DLL* proj_obj_as_wkt(PJ_OBJ *obj, PJ_WKT_TYPE type,
+const char PROJ_DLL* proj_obj_as_wkt(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj, PJ_WKT_TYPE type,
const char* const *options);
/** \brief PROJ string version. */
@@ -1229,18 +643,22 @@ typedef enum
PJ_PROJ_4
} PJ_PROJ_STRING_TYPE;
-const char PROJ_DLL* proj_obj_as_proj_string(PJ_OBJ *obj,
+const char PROJ_DLL* proj_obj_as_proj_string(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj,
PJ_PROJ_STRING_TYPE type,
const char* const *options);
-PJ_OBJ PROJ_DLL *proj_obj_get_source_crs(PJ_OBJ *obj);
+PJ_OBJ PROJ_DLL *proj_obj_get_source_crs(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj);
-PJ_OBJ PROJ_DLL *proj_obj_get_target_crs(PJ_OBJ *obj);
+PJ_OBJ PROJ_DLL *proj_obj_get_target_crs(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj);
-PJ_OBJ_LIST PROJ_DLL *proj_obj_identify(PJ_OBJ* obj,
+PJ_OBJ_LIST PROJ_DLL *proj_obj_identify(PJ_CONTEXT *ctx,
+ const PJ_OBJ* obj,
const char *auth_name,
const char* const *options,
- int **confidence);
+ int **out_confidence);
void PROJ_DLL proj_free_int_list(int* list);
@@ -1270,18 +688,20 @@ PJ_OPERATION_FACTORY_CONTEXT PROJ_DLL *proj_create_operation_factory_context(
const char *authority);
void PROJ_DLL proj_operation_factory_context_unref(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt);
+ PJ_OPERATION_FACTORY_CONTEXT *ctx);
void PROJ_DLL proj_operation_factory_context_set_desired_accuracy(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
double accuracy);
void PROJ_DLL proj_operation_factory_context_set_area_of_interest(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
- double west_lon,
- double south_lat,
- double east_lon,
- double north_lat);
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ double west_lon_degree,
+ double south_lat_degree,
+ double east_lon_degree,
+ double north_lat_degree);
/** Specify how source and target CRS extent should be used to restrict
* candidate operations (only taken into account if no explicit area of
@@ -1303,7 +723,8 @@ typedef enum
} PROJ_CRS_EXTENT_USE;
void PROJ_DLL proj_operation_factory_context_set_crs_extent_use(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
PROJ_CRS_EXTENT_USE use);
/** Spatial criterion to restrict candiate operations. */
@@ -1318,7 +739,8 @@ typedef enum {
} PROJ_SPATIAL_CRITERION;
void PROJ_DLL proj_operation_factory_context_set_spatial_criterion(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
PROJ_SPATIAL_CRITERION criterion);
@@ -1337,95 +759,148 @@ typedef enum {
} PROJ_GRID_AVAILABILITY_USE;
void PROJ_DLL proj_operation_factory_context_set_grid_availability_use(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
PROJ_GRID_AVAILABILITY_USE use);
void PROJ_DLL proj_operation_factory_context_set_use_proj_alternative_grid_names(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
int usePROJNames);
void PROJ_DLL proj_operation_factory_context_set_allow_use_intermediate_crs(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt, int allow);
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
+ int allow);
void PROJ_DLL proj_operation_factory_context_set_allowed_intermediate_crs(
- PJ_OPERATION_FACTORY_CONTEXT *ctxt,
+ PJ_CONTEXT *ctx,
+ PJ_OPERATION_FACTORY_CONTEXT *factory_ctx,
const char* const *list_of_auth_name_codes);
/* ------------------------------------------------------------------------- */
PJ_OBJ_LIST PROJ_DLL *proj_obj_create_operations(
- PJ_OBJ *source_crs,
- PJ_OBJ *target_crs,
- PJ_OPERATION_FACTORY_CONTEXT *operationContext);
+ PJ_CONTEXT *ctx,
+ const PJ_OBJ *source_crs,
+ const PJ_OBJ *target_crs,
+ const PJ_OPERATION_FACTORY_CONTEXT *operationContext);
-int PROJ_DLL proj_obj_list_get_count(PJ_OBJ_LIST *result);
+int PROJ_DLL proj_obj_list_get_count(const PJ_OBJ_LIST *result);
-PJ_OBJ PROJ_DLL *proj_obj_list_get(PJ_OBJ_LIST *result,
- int index);
+PJ_OBJ PROJ_DLL *proj_obj_list_get(PJ_CONTEXT *ctx,
+ const PJ_OBJ_LIST *result,
+ int index);
void PROJ_DLL proj_obj_list_unref(PJ_OBJ_LIST *result);
/* ------------------------------------------------------------------------- */
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_geodetic_crs(PJ_OBJ *crs);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_horizontal_datum(PJ_OBJ *crs);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_sub_crs(PJ_OBJ *crs, int index);
-
-PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs_to_WGS84(PJ_OBJ *crs);
-
-PJ_OBJ PROJ_DLL *proj_obj_get_ellipsoid(PJ_OBJ *obj);
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_geodetic_crs(PJ_CONTEXT *ctx, const PJ_OBJ *crs);
-int PROJ_DLL proj_obj_ellipsoid_get_parameters(PJ_OBJ *ellipsoid,
- double *pSemiMajorMetre,
- double *pSemiMinorMetre,
- int *pIsSemiMinorComputed,
- double *pInverseFlattening);
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_horizontal_datum(PJ_CONTEXT *ctx, const PJ_OBJ *crs);
-PJ_OBJ PROJ_DLL *proj_obj_get_prime_meridian(PJ_OBJ *obj);
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_sub_crs(PJ_CONTEXT *ctx, const PJ_OBJ *crs, int index);
-int PROJ_DLL proj_obj_prime_meridian_get_parameters(PJ_OBJ *prime_meridian,
- double *pLongitude,
- double *pLongitudeUnitConvFactor,
- const char **pLongitudeUnitName);
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_datum(PJ_CONTEXT *ctx, const PJ_OBJ *crs);
-PJ_OBJ PROJ_DLL *proj_obj_crs_get_coordoperation(PJ_OBJ *crs,
- const char **pMethodName,
- const char **pMethodAuthorityName,
- const char **pMethodCode);
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_coordinate_system(PJ_CONTEXT *ctx, const PJ_OBJ *crs);
-int PROJ_DLL proj_coordoperation_is_instanciable(PJ_OBJ *coordoperation);
-
-int PROJ_DLL proj_coordoperation_get_param_count(PJ_OBJ *coordoperation);
-
-int PROJ_DLL proj_coordoperation_get_param_index(PJ_OBJ *coordoperation,
+/** Type of coordinate system. */
+typedef enum
+{
+ PJ_CS_TYPE_UNKNOWN,
+
+ PJ_CS_TYPE_CARTESIAN,
+ PJ_CS_TYPE_ELLIPSOIDAL,
+ PJ_CS_TYPE_VERTICAL,
+ PJ_CS_TYPE_SPHERICAL,
+ PJ_CS_TYPE_ORDINAL,
+ PJ_CS_TYPE_PARAMETRIC,
+ PJ_CS_TYPE_DATETIMETEMPORAL,
+ PJ_CS_TYPE_TEMPORALCOUNT,
+ PJ_CS_TYPE_TEMPORALMEASURE
+} PJ_COORDINATE_SYSTEM_TYPE;
+
+PJ_COORDINATE_SYSTEM_TYPE PROJ_DLL proj_obj_cs_get_type(PJ_CONTEXT *ctx,
+ const PJ_OBJ* cs);
+
+int PROJ_DLL proj_obj_cs_get_axis_count(PJ_CONTEXT *ctx,
+ const PJ_OBJ *cs);
+
+int PROJ_DLL proj_obj_cs_get_axis_info(PJ_CONTEXT *ctx,
+ const PJ_OBJ *cs, int index,
+ const char **out_name,
+ const char **out_abbrev,
+ const char **out_direction,
+ double *out_unit_conv_factor,
+ const char **out_unit_name);
+
+PJ_OBJ PROJ_DLL *proj_obj_get_ellipsoid(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj);
+
+int PROJ_DLL proj_obj_ellipsoid_get_parameters(PJ_CONTEXT *ctx,
+ const PJ_OBJ *ellipsoid,
+ double *out_semi_major_metre,
+ double *out_semi_minor_metre,
+ int *out_is_semi_minor_computed,
+ double *out_inv_flattening);
+
+PJ_OBJ PROJ_DLL *proj_obj_get_prime_meridian(PJ_CONTEXT *ctx,
+ const PJ_OBJ *obj);
+
+int PROJ_DLL proj_obj_prime_meridian_get_parameters(PJ_CONTEXT *ctx,
+ const PJ_OBJ *prime_meridian,
+ double *out_longitude,
+ double *out_unit_conv_factor,
+ const char **out_unit_name);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_get_coordoperation(PJ_CONTEXT *ctx,
+ const PJ_OBJ *crs,
+ const char **out_method_name,
+ const char **out_method_auth_name,
+ const char **out_method_code);
+
+int PROJ_DLL proj_coordoperation_is_instanciable(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation);
+
+int PROJ_DLL proj_coordoperation_get_param_count(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation);
+
+int PROJ_DLL proj_coordoperation_get_param_index(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation,
const char *name);
-int PROJ_DLL proj_coordoperation_get_param(PJ_OBJ *coordoperation,
+int PROJ_DLL proj_coordoperation_get_param(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation,
int index,
- const char **pName,
- const char **pNameAuthorityName,
- const char **pNameCode,
- double *pValue,
- const char **pValueString,
- double *pValueUnitConvFactor,
- const char **pValueUnitName);
-
-int PROJ_DLL proj_coordoperation_get_grid_used_count(PJ_OBJ *coordoperation);
-
-int PROJ_DLL proj_coordoperation_get_grid_used(PJ_OBJ *coordoperation,
+ const char **out_name,
+ const char **out_auth_name,
+ const char **out_code,
+ double *out_value,
+ const char **out_value_string,
+ double *out_unit_conv_factor,
+ const char **out_unit_name);
+
+int PROJ_DLL proj_coordoperation_get_grid_used_count(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation);
+
+int PROJ_DLL proj_coordoperation_get_grid_used(PJ_CONTEXT *ctx,
+ const PJ_OBJ *coordoperation,
int index,
- const char **pShortName,
- const char **pFullName,
- const char **pPackageName,
- const char **pURL,
- int *pDirectDownload,
- int *pOpenLicense,
- int *pAvailable);
-
-double PROJ_DLL proj_coordoperation_get_accuracy(PJ_OBJ* obj);
+ const char **out_short_name,
+ const char **out_full_name,
+ const char **out_package_name,
+ const char **out_url,
+ int *out_direct_download,
+ int *out_open_license,
+ int *out_available);
+
+double PROJ_DLL proj_coordoperation_get_accuracy(PJ_CONTEXT *ctx,
+ const PJ_OBJ* obj);
+
+/**@}*/
#ifdef __cplusplus
}
diff --git a/src/proj_4D_api.c b/src/proj_4D_api.c
index 56694aae..6ba56764 100644
--- a/src/proj_4D_api.c
+++ b/src/proj_4D_api.c
@@ -32,6 +32,9 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#ifndef _MSC_VER
+#include <strings.h>
+#endif
#include "proj.h"
#include "proj_internal.h"
@@ -564,6 +567,7 @@ PJ *proj_create (PJ_CONTEXT *ctx, const char *definition) {
char *args, **argv;
size_t argc, n;
int ret;
+ int allow_init_epsg;
if (0==ctx)
ctx = pj_get_default_ctx ();
@@ -587,7 +591,9 @@ PJ *proj_create (PJ_CONTEXT *ctx, const char *definition) {
argv = pj_trim_argv (argc, args);
/* ...and let pj_init_ctx do the hard work */
- P = pj_init_ctx (ctx, (int) argc, argv);
+ /* New interface: forbid init=epsg:XXXX syntax by default */
+ allow_init_epsg = proj_context_get_use_proj4_init_rules(ctx, FALSE);
+ P = pj_init_ctx_with_allow_init_epsg (ctx, (int) argc, argv, allow_init_epsg);
pj_dealloc (argv);
pj_dealloc (args);
@@ -634,51 +640,183 @@ indicator, as in {"+proj=utm", "+zone=32"}, or leave it out, as in {"proj=utm",
return P;
}
+/** Create an area of use */
+PJ_AREA * proj_area_create(void) {
+ return pj_calloc(1, sizeof(PJ_AREA));
+}
+
+/** Assign a bounding box to an area of use. */
+void proj_area_set_bbox(PJ_AREA *area,
+ double west_lon_degree,
+ double south_lat_degree,
+ double east_lon_degree,
+ double north_lat_degree) {
+ area->bbox_set = TRUE;
+ area->west_lon_degree = west_lon_degree;
+ area->south_lat_degree = south_lat_degree;
+ area->east_lon_degree = east_lon_degree;
+ area->north_lat_degree = north_lat_degree;
+}
+
+/** Free an area of use */
+void proj_area_destroy(PJ_AREA* area) {
+ pj_dealloc(area);
+}
+
+/************************************************************************/
+/* proj_context_use_proj4_init_rules() */
+/************************************************************************/
+
+void proj_context_use_proj4_init_rules(PJ_CONTEXT *ctx, int enable) {
+ if( ctx == NULL ) {
+ ctx = pj_get_default_ctx();
+ }
+ ctx->use_proj4_init_rules = enable;
+}
+
+/************************************************************************/
+/* EQUAL() */
+/************************************************************************/
+
+static int EQUAL(const char* a, const char* b) {
+#ifdef _MSC_VER
+ return _stricmp(a, b) == 0;
+#else
+ return strcasecmp(a, b) == 0;
+#endif
+}
+
+/************************************************************************/
+/* proj_context_get_use_proj4_init_rules() */
+/************************************************************************/
+
+int proj_context_get_use_proj4_init_rules(PJ_CONTEXT *ctx, int from_legacy_code_path) {
+ const char* val = getenv("PROJ_USE_PROJ4_INIT_RULES");
+
+ if( ctx == NULL ) {
+ ctx = pj_get_default_ctx();
+ }
+
+ if( val ) {
+ if( EQUAL(val, "yes") || EQUAL(val, "on") || EQUAL(val, "true") ) {
+ return TRUE;
+ }
+ if( EQUAL(val, "no") || EQUAL(val, "off") || EQUAL(val, "false") ) {
+ return FALSE;
+ }
+ pj_log(ctx, PJ_LOG_ERROR, "Invalid value for PROJ_USE_PROJ4_INIT_RULES");
+ }
+
+ if( ctx->use_proj4_init_rules >= 0 ) {
+ return ctx->use_proj4_init_rules;
+ }
+ return from_legacy_code_path;
+}
/*****************************************************************************/
-PJ *proj_create_crs_to_crs (PJ_CONTEXT *ctx, const char *srid_from, const char *srid_to, PJ_AREA *area) {
+PJ *proj_create_crs_to_crs (PJ_CONTEXT *ctx, const char *source_crs, const char *target_crs, PJ_AREA *area) {
/******************************************************************************
Create a transformation pipeline between two known coordinate reference
systems.
- srid_from and srid_to should be the value part of a +init=... parameter
- set, i.e. "epsg:25833" or "IGNF:AMST63". Any projection definition that
- can be found in a init-file in PROJ_LIB is a valid input to this function.
-
- For now the function mimics the cs2cs app: An input and an output CRS is
- given and coordinates are transformed via a hub datum (WGS84). This
- transformation strategy is referred to as "early-binding" by the EPSG. The
- function can be extended to support "late-binding" transformations in the
- future without affecting users of the function.
-
- An "area of use" can be specified in area. In the current version of this
- function is has no function, but is added in anticipation of a
- "late-binding" implementation in the future. The idea being, that if a user
- supplies an area of use, the more accurate transformation between two given
- systems can be chosen.
+ source_crs and target_crs can be :
+ - a "AUTHORITY:CODE", like EPSG:25832. When using that syntax for a source
+ CRS, the created pipeline will expect that the values passed to proj_trans()
+ respect the axis order and axis unit of the official definition (
+ so for example, for EPSG:4326, with latitude first and longitude next,
+ in degrees). Similarly, when using that syntax for a target CRS, output
+ values will be emitted according to the official definition of this CRS.
+ - a PROJ string, like "+proj=longlat +datum=WGS84".
+ When using that syntax, the axis order and unit for geographic CRS will
+ be longitude, latitude, and the unit degrees.
+ - more generally any string accepted by proj_obj_create_from_user_input()
+
+ An "area of use" can be specified in area. When it is supplied, the more
+ accurate transformation between two given systems can be chosen.
Example call:
- PJ *P = proj_create_crs_to_crs(0, "epsg:25832", "epsg:25833", NULL);
+ PJ *P = proj_create_crs_to_crs(0, "EPSG:25832", "EPSG:25833", NULL);
******************************************************************************/
PJ *P;
- char buffer[512];
- size_t len;
+ PJ_OBJ* src;
+ PJ_OBJ* dst;
+ PJ_OPERATION_FACTORY_CONTEXT* operation_ctx;
+ PJ_OBJ_LIST* op_list;
+ PJ_OBJ* op;
+ const char* proj_string;
+ const char* const optionsProj4Mode[] = { "USE_PROJ4_INIT_RULES=YES", NULL };
+ const char* const* optionsImportCRS =
+ proj_context_get_use_proj4_init_rules(ctx, FALSE) ? optionsProj4Mode : NULL;
+
+ src = proj_obj_create_from_user_input(ctx, source_crs, optionsImportCRS);
+ if( !src ) {
+ return NULL;
+ }
+
+ dst = proj_obj_create_from_user_input(ctx, target_crs, optionsImportCRS);
+ if( !dst ) {
+ proj_obj_unref(src);
+ return NULL;
+ }
+
+ operation_ctx = proj_create_operation_factory_context(ctx, NULL);
+ if( !operation_ctx ) {
+ proj_obj_unref(src);
+ proj_obj_unref(dst);
+ return NULL;
+ }
+
+ if( area && area->bbox_set ) {
+ proj_operation_factory_context_set_area_of_interest(
+ ctx,
+ operation_ctx,
+ area->west_lon_degree,
+ area->south_lat_degree,
+ area->east_lon_degree,
+ area->north_lat_degree);
+ }
+
+ proj_operation_factory_context_set_grid_availability_use(
+ ctx, operation_ctx, PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID);
+
+ op_list = proj_obj_create_operations(ctx, src, dst, operation_ctx);
+
+ proj_operation_factory_context_unref(operation_ctx);
+ proj_obj_unref(src);
+ proj_obj_unref(dst);
+
+ if( !op_list ) {
+ return NULL;
+ }
+
+ if( proj_obj_list_get_count(op_list) == 0 ) {
+ proj_obj_list_unref(op_list);
+ return NULL;
+ }
+
+ op = proj_obj_list_get(ctx, op_list, 0);
+ proj_obj_list_unref(op_list);
+ if( !op ) {
+ return NULL;
+ }
- /* area not in use yet, suppressing warning */
- (void)area;
+ proj_string = proj_obj_as_proj_string(ctx, op, PJ_PROJ_5, NULL);
+ if( !proj_string) {
+ proj_obj_unref(op);
+ return NULL;
+ }
- strcpy(buffer, "+proj=pipeline +step +init=");
- len = strlen(buffer);
- strncat(buffer + len, srid_from, sizeof(buffer)-1-len);
- len += strlen(buffer + len);
- strncat(buffer + len, " +inv +step +init=", sizeof(buffer)-1-len);
- len += strlen(buffer + len);
- strncat(buffer + len, srid_to, sizeof(buffer)-1-len);
+ if( proj_string[0] == '\0' ) {
+ /* Null transform ? */
+ P = proj_create(ctx, "proj=affine");
+ } else {
+ P = proj_create(ctx, proj_string);
+ }
- P = proj_create(ctx, buffer);
+ proj_obj_unref(op);
return P;
}
@@ -1028,6 +1166,42 @@ PJ_INIT_INFO proj_init_info(const char *initname){
file_found = pj_find_file(ctx, initname, ininfo.filename, sizeof(ininfo.filename));
if (!file_found || strlen(initname) > 64) {
+ if( strcmp(initname, "epsg") == 0 || strcmp(initname, "EPSG") == 0 ) {
+ const char* val;
+
+ pj_ctx_set_errno( ctx, 0 );
+
+ strncpy (ininfo.name, initname, sizeof(ininfo.name) - 1);
+ strcpy(ininfo.origin, "EPSG");
+ val = proj_context_get_database_metadata(ctx, "EPSG.VERSION");
+ if( val ) {
+ strncpy(ininfo.version, val, sizeof(ininfo.version) - 1);
+ }
+ val = proj_context_get_database_metadata(ctx, "EPSG.DATE");
+ if( val ) {
+ strncpy(ininfo.lastupdate, val, sizeof(ininfo.lastupdate) - 1);
+ }
+ return ininfo;
+ }
+
+ if( strcmp(initname, "IGNF") == 0 ) {
+ const char* val;
+
+ pj_ctx_set_errno( ctx, 0 );
+
+ strncpy (ininfo.name, initname, sizeof(ininfo.name) - 1);
+ strcpy(ininfo.origin, "IGNF");
+ val = proj_context_get_database_metadata(ctx, "IGNF.VERSION");
+ if( val ) {
+ strncpy(ininfo.version, val, sizeof(ininfo.version) - 1);
+ }
+ val = proj_context_get_database_metadata(ctx, "IGNF.DATE");
+ if( val ) {
+ strncpy(ininfo.lastupdate, val, sizeof(ininfo.lastupdate) - 1);
+ }
+ return ininfo;
+ }
+
return ininfo;
}
diff --git a/src/proj_experimental.h b/src/proj_experimental.h
new file mode 100644
index 00000000..1dc16f99
--- /dev/null
+++ b/src/proj_experimental.h
@@ -0,0 +1,831 @@
+/******************************************************************************
+ *
+ * Project: PROJ
+ * Purpose: Experimental C API
+ * Author: Even Rouault <even dot rouault at spatialys dot com>
+ *
+ ******************************************************************************
+ * Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot 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.
+ ****************************************************************************/
+
+#include "proj.h"
+
+#ifndef PROJ_EXPERIMENTAL_H
+#define PROJ_EXPERIMENTAL_H
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * \file proj_experimental.h
+ *
+ * Experimental C API.
+ *
+ * \warning
+ * This API has been considered now to be experimental, and may change or
+ * be removed in the future. It addresses for now the needs of the GDAL
+ * project to be able to construct CRS objects in a programmatic way, piece
+ * by piece, instead of whole conversion from PROJ string or WKT string.
+ */
+
+/* ------------------------------------------------------------------------- */
+/* Binding in C of advanced methods from the C++ API */
+/* */
+/* Manual construction of CRS objects. */
+/* ------------------------------------------------------------------------- */
+
+/**
+ * \defgroup advanced_cpp_binding Binding in C of advanced methods from the C++ API
+ * @{
+ */
+
+/** Type of unit of measure. */
+typedef enum
+{
+ /** Angular unit of measure */
+ PJ_UT_ANGULAR,
+ /** Linear unit of measure */
+ PJ_UT_LINEAR,
+ /** Scale unit of measure */
+ PJ_UT_SCALE,
+ /** Time unit of measure */
+ PJ_UT_TIME,
+ /** Parametric unit of measure */
+ PJ_UT_PARAMETRIC
+} PJ_UNIT_TYPE;
+
+/** Axis description. */
+typedef struct
+{
+ /** Axis name. */
+ char* name;
+ /** Axis abbreviation. */
+ char* abbreviation;
+ /** Axis direction. */
+ char* direction;
+ /** Axis unit name. */
+ char* unit_name;
+ /** Conversion factor to SI of the unit. */
+ double unit_conv_factor;
+ /** Type of unit */
+ PJ_UNIT_TYPE unit_type;
+} PJ_AXIS_DESCRIPTION;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_cs(PJ_CONTEXT *ctx,
+ PJ_COORDINATE_SYSTEM_TYPE type,
+ int axis_count,
+ const PJ_AXIS_DESCRIPTION* axis);
+
+/** Type of Cartesian 2D coordinate system. */
+typedef enum
+{
+ /* Easting-Norting */
+ PJ_CART2D_EASTING_NORTHING,
+ /* Northing-Easting */
+ PJ_CART2D_NORTHING_EASTING,
+} PJ_CARTESIAN_CS_2D_TYPE;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_cartesian_2D_cs(PJ_CONTEXT *ctx,
+ PJ_CARTESIAN_CS_2D_TYPE type,
+ const char* unit_name,
+ double unit_conv_factor);
+
+
+/** Type of Cartesian 2D coordinate system. */
+typedef enum
+{
+ /* Longitude-Latitude */
+ PJ_ELLPS2D_LONGITUDE_LATITUDE,
+ /* Latitude-Longitude */
+ PJ_ELLPS2D_LATITUDE_LONGITUDE,
+} PJ_ELLIPSOIDAL_CS_2D_TYPE;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_ellipsoidal_2D_cs(PJ_CONTEXT *ctx,
+ PJ_ELLIPSOIDAL_CS_2D_TYPE type,
+ const char* unit_name,
+ double unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs(
+ PJ_CONTEXT *ctx,
+ const char *crs_name,
+ const char *datum_name,
+ const char *ellps_name,
+ double semi_major_metre, double inv_flattening,
+ const char *prime_meridian_name,
+ double prime_meridian_offset,
+ const char *pm_angular_units,
+ double pm_units_conv,
+ PJ_OBJ* ellipsoidal_cs);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_geographic_crs_from_datum(
+ PJ_CONTEXT *ctx,
+ const char *crs_name,
+ PJ_OBJ* datum,
+ PJ_OBJ* ellipsoidal_cs);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_geocentric_crs(
+ PJ_CONTEXT *ctx,
+ const char *crs_name,
+ const char *datum_name,
+ const char *ellps_name,
+ double semi_major_metre, double inv_flattening,
+ const char *prime_meridian_name,
+ double prime_meridian_offset,
+ const char *angular_units,
+ double angular_units_conv,
+ const char *linear_units,
+ double linear_units_conv);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_geocentric_crs_from_datum(
+ PJ_CONTEXT *ctx,
+ const char *crs_name,
+ const PJ_OBJ* datum,
+ const char *linear_units,
+ double linear_units_conv);
+
+PJ_OBJ PROJ_DLL *proj_obj_alter_name(PJ_CONTEXT *ctx,
+ const PJ_OBJ* obj, const char* name);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_geodetic_crs(PJ_CONTEXT *ctx,
+ const PJ_OBJ* obj,
+ const PJ_OBJ* new_geod_crs);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_cs_angular_unit(PJ_CONTEXT *ctx,
+ const PJ_OBJ* obj,
+ const char *angular_units,
+ double angular_units_conv);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_cs_linear_unit(PJ_CONTEXT *ctx,
+ const PJ_OBJ* obj,
+ const char *linear_units,
+ double linear_units_conv);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_alter_parameters_linear_unit(PJ_CONTEXT *ctx,
+ const PJ_OBJ* obj,
+ const char *linear_units,
+ double linear_units_conv,
+ int convert_to_new_unit);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_engineering_crs(PJ_CONTEXT *ctx,
+ const char *crsName);
+
+/** Description of a parameter value for a Conversion. */
+typedef struct
+{
+ /** Parameter name. */
+ const char* name;
+ /** Parameter authority name. */
+ const char* auth_name;
+ /** Parameter code. */
+ const char* code;
+ /** Parameter value. */
+ double value;
+ /** Name of unit in which parameter value is expressed. */
+ const char* unit_name;
+ /** Conversion factor to SI of the unit. */
+ double unit_conv_factor;
+ /** Type of unit */
+ PJ_UNIT_TYPE unit_type;
+} PJ_PARAM_DESCRIPTION;
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion(PJ_CONTEXT *ctx,
+ const char* name,
+ const char* auth_name,
+ const char* code,
+ const char* method_name,
+ const char* method_auth_name,
+ const char* method_code,
+ int param_count,
+ const PJ_PARAM_DESCRIPTION* params);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_projected_crs(PJ_CONTEXT *ctx,
+ const char* crs_name,
+ const PJ_OBJ* geodetic_crs,
+ const PJ_OBJ* conversion,
+ const PJ_OBJ* coordinate_system);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs(PJ_CONTEXT *ctx,
+ const PJ_OBJ *base_crs,
+ const PJ_OBJ *hub_crs,
+ const PJ_OBJ *transformation);
+
+PJ_OBJ PROJ_DLL *proj_obj_crs_create_bound_crs_to_WGS84(PJ_CONTEXT *ctx,
+ const PJ_OBJ *crs);
+
+/* BEGIN: Generated by scripts/create_c_api_projections.py*/
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_utm(
+ PJ_CONTEXT *ctx,
+ int zone,
+ int north);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_transverse_mercator(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gauss_schreiber_transverse_mercator(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_transverse_mercator_south_oriented(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_two_point_equidistant(
+ PJ_CONTEXT *ctx,
+ double latitude_first_point,
+ double longitude_first_point,
+ double latitude_second_point,
+ double longitude_secon_point,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_tunisia_mapping_grid(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_albers_equal_area(
+ PJ_CONTEXT *ctx,
+ double latitude_false_origin,
+ double longitude_false_origin,
+ double latitude_first_parallel,
+ double latitude_second_parallel,
+ double easting_false_origin,
+ double northing_false_origin,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_1sp(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp(
+ PJ_CONTEXT *ctx,
+ double latitude_false_origin,
+ double longitude_false_origin,
+ double latitude_first_parallel,
+ double latitude_second_parallel,
+ double easting_false_origin,
+ double northing_false_origin,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp_michigan(
+ PJ_CONTEXT *ctx,
+ double latitude_false_origin,
+ double longitude_false_origin,
+ double latitude_first_parallel,
+ double latitude_second_parallel,
+ double easting_false_origin,
+ double northing_false_origin,
+ double ellipsoid_scaling_factor,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_conic_conformal_2sp_belgium(
+ PJ_CONTEXT *ctx,
+ double latitude_false_origin,
+ double longitude_false_origin,
+ double latitude_first_parallel,
+ double latitude_second_parallel,
+ double easting_false_origin,
+ double northing_false_origin,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_azimuthal_equidistant(
+ PJ_CONTEXT *ctx,
+ double latitude_nat_origin,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_guam_projection(
+ PJ_CONTEXT *ctx,
+ double latitude_nat_origin,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_bonne(
+ PJ_CONTEXT *ctx,
+ double latitude_nat_origin,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_cylindrical_equal_area_spherical(
+ PJ_CONTEXT *ctx,
+ double latitude_first_parallel,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_cylindrical_equal_area(
+ PJ_CONTEXT *ctx,
+ double latitude_first_parallel,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_cassini_soldner(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_conic(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double latitude_first_parallel,
+ double latitude_second_parallel,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_i(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_ii(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_iii(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_iv(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_v(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_eckert_vi(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_cylindrical(
+ PJ_CONTEXT *ctx,
+ double latitude_first_parallel,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equidistant_cylindrical_spherical(
+ PJ_CONTEXT *ctx,
+ double latitude_first_parallel,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gall(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_goode_homolosine(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_interrupted_goode_homolosine(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_geostationary_satellite_sweep_x(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double height,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_geostationary_satellite_sweep_y(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double height,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_gnomonic(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_variant_a(
+ PJ_CONTEXT *ctx,
+ double latitude_projection_centre,
+ double longitude_projection_centre,
+ double azimuth_initial_line,
+ double angle_from_rectified_to_skrew_grid,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_variant_b(
+ PJ_CONTEXT *ctx,
+ double latitude_projection_centre,
+ double longitude_projection_centre,
+ double azimuth_initial_line,
+ double angle_from_rectified_to_skrew_grid,
+ double scale,
+ double easting_projection_centre,
+ double northing_projection_centre,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_hotine_oblique_mercator_two_point_natural_origin(
+ PJ_CONTEXT *ctx,
+ double latitude_projection_centre,
+ double latitude_point1,
+ double longitude_point1,
+ double latitude_point2,
+ double longitude_point2,
+ double scale,
+ double easting_projection_centre,
+ double northing_projection_centre,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_international_map_world_polyconic(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double latitude_first_parallel,
+ double latitude_second_parallel,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_krovak_north_oriented(
+ PJ_CONTEXT *ctx,
+ double latitude_projection_centre,
+ double longitude_of_origin,
+ double colatitude_cone_axis,
+ double latitude_pseudo_standard_parallel,
+ double scale_factor_pseudo_standard_parallel,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_krovak(
+ PJ_CONTEXT *ctx,
+ double latitude_projection_centre,
+ double longitude_of_origin,
+ double colatitude_cone_axis,
+ double latitude_pseudo_standard_parallel,
+ double scale_factor_pseudo_standard_parallel,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_lambert_azimuthal_equal_area(
+ PJ_CONTEXT *ctx,
+ double latitude_nat_origin,
+ double longitude_nat_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_miller_cylindrical(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mercator_variant_a(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mercator_variant_b(
+ PJ_CONTEXT *ctx,
+ double latitude_first_parallel,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_popular_visualisation_pseudo_mercator(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_mollweide(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_new_zealand_mapping_grid(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_oblique_stereographic(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_orthographic(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_american_polyconic(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_polar_stereographic_variant_a(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_polar_stereographic_variant_b(
+ PJ_CONTEXT *ctx,
+ double latitude_standard_parallel,
+ double longitude_of_origin,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_robinson(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_sinusoidal(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_stereographic(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double scale,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_van_der_grinten(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_i(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_ii(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_iii(
+ PJ_CONTEXT *ctx,
+ double latitude_true_scale,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_iv(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_v(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_vi(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_wagner_vii(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_quadrilateralized_spherical_cube(
+ PJ_CONTEXT *ctx,
+ double center_lat,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_spherical_cross_track_height(
+ PJ_CONTEXT *ctx,
+ double peg_point_lat,
+ double peg_point_long,
+ double peg_point_heading,
+ double peg_point_height,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+PJ_OBJ PROJ_DLL *proj_obj_create_conversion_equal_earth(
+ PJ_CONTEXT *ctx,
+ double center_long,
+ double false_easting,
+ double false_northing,
+ const char* ang_unit_name, double ang_unit_conv_factor,
+ const char* linear_unit_name, double linear_unit_conv_factor);
+
+/* END: Generated by scripts/create_c_api_projections.py*/
+
+/**@}*/
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ndef PROJ_EXPERIMENTAL_H */
diff --git a/src/proj_symbol_rename.h b/src/proj_symbol_rename.h
index d0dd09eb..a267b97e 100644
--- a/src/proj_symbol_rename.h
+++ b/src/proj_symbol_rename.h
@@ -101,14 +101,20 @@
#define pj_transform internal_pj_transform
#define proj_angular_input internal_proj_angular_input
#define proj_angular_output internal_proj_angular_output
+#define proj_area_create internal_proj_area_create
+#define proj_area_destroy internal_proj_area_destroy
+#define proj_area_set_bbox internal_proj_area_set_bbox
#define proj_context_create internal_proj_context_create
#define proj_context_delete_cpp_context internal_proj_context_delete_cpp_context
#define proj_context_destroy internal_proj_context_destroy
#define proj_context_errno internal_proj_context_errno
+#define proj_context_get_database_metadata internal_proj_context_get_database_metadata
#define proj_context_get_database_path internal_proj_context_get_database_path
+#define proj_context_get_use_proj4_init_rules internal_proj_context_get_use_proj4_init_rules
#define proj_context_guess_wkt_dialect internal_proj_context_guess_wkt_dialect
#define proj_context_set internal_proj_context_set
#define proj_context_set_database_path internal_proj_context_set_database_path
+#define proj_context_use_proj4_init_rules internal_proj_context_use_proj4_init_rules
#define proj_coord internal_proj_coord
#define proj_coord_error internal_proj_coord_error
#define proj_coordoperation_get_accuracy internal_proj_coordoperation_get_accuracy
@@ -132,7 +138,6 @@
#define proj_factors internal_proj_factors
#define proj_free_int_list internal_proj_free_int_list
#define proj_free_string_list internal_proj_free_string_list
-#define proj_geocentric_latitude internal_proj_geocentric_latitude
#define proj_geod internal_proj_geod
#define proj_get_authorities_from_database internal_proj_get_authorities_from_database
#define proj_get_codes_from_database internal_proj_get_codes_from_database
@@ -151,6 +156,7 @@
#define proj_lpz_dist internal_proj_lpz_dist
#define proj_obj_as_proj_string internal_proj_obj_as_proj_string
#define proj_obj_as_wkt internal_proj_obj_as_wkt
+#define proj_obj_clone internal_proj_obj_clone
#define proj_obj_create_from_database internal_proj_obj_create_from_database
#define proj_obj_create_from_name internal_proj_obj_create_from_name
#define proj_obj_create_from_proj_string internal_proj_obj_create_from_proj_string
@@ -223,10 +229,14 @@
#define proj_obj_create_projected_crs_WagnerVI internal_proj_obj_create_projected_crs_WagnerVI
#define proj_obj_create_projected_crs_WagnerVII internal_proj_obj_create_projected_crs_WagnerVII
#define proj_obj_crs_create_bound_crs_to_WGS84 internal_proj_obj_crs_create_bound_crs_to_WGS84
+#define proj_obj_crs_get_coordinate_system internal_proj_obj_crs_get_coordinate_system
#define proj_obj_crs_get_coordoperation internal_proj_obj_crs_get_coordoperation
#define proj_obj_crs_get_geodetic_crs internal_proj_obj_crs_get_geodetic_crs
#define proj_obj_crs_get_horizontal_datum internal_proj_obj_crs_get_horizontal_datum
#define proj_obj_crs_get_sub_crs internal_proj_obj_crs_get_sub_crs
+#define proj_obj_cs_get_axis_count internal_proj_obj_cs_get_axis_count
+#define proj_obj_cs_get_axis_info internal_proj_obj_cs_get_axis_info
+#define proj_obj_cs_get_type internal_proj_obj_cs_get_type
#define proj_obj_ellipsoid_get_parameters internal_proj_obj_ellipsoid_get_parameters
#define proj_obj_get_area_of_use internal_proj_obj_get_area_of_use
#define proj_obj_get_ellipsoid internal_proj_obj_get_ellipsoid
diff --git a/src/projects.h b/src/projects.h
index e34fc9e0..11467d56 100644
--- a/src/projects.h
+++ b/src/projects.h
@@ -224,10 +224,11 @@ struct PJ_REGION_S {
};
struct PJ_AREA {
- int id; /* Area ID in the EPSG database */
- LP ll; /* Lower left corner of bounding box */
- LP ur; /* Upper right corner of bounding box */
- char descr[64]; /* text representation of area */
+ int bbox_set;
+ double west_lon_degree;
+ double south_lat_degree;
+ double east_lon_degree;
+ double north_lat_degree;
};
struct projCtx_t;
@@ -596,6 +597,8 @@ struct projCtx_t {
void *app_data;
struct projFileAPI_t *fileapi;
struct projCppContext* cpp_context; /* internal context for C++ code */
+ int use_proj4_init_rules; /* -1 = unknown, 0 = no, 1 = yes */
+ int epsg_file_exists; /* -1 = unknown, 0 = no, 1 = yes */
};
/* classic public API */
@@ -831,6 +834,8 @@ double PROJ_DLL pj_atof( const char* nptr );
double pj_strtod( const char *nptr, char **endptr );
void pj_freeup_plain (PJ *P);
+projPJ pj_init_ctx_with_allow_init_epsg( projCtx ctx, int argc, char **argv, int allow_init_epsg );
+
#ifdef __cplusplus
}
#endif
diff --git a/src/projinfo.cpp b/src/projinfo.cpp
index dbbcdae2..7acb13af 100644
--- a/src/projinfo.cpp
+++ b/src/projinfo.cpp
@@ -65,6 +65,7 @@ struct OutputOptions {
bool WKT1_GDAL = false;
bool WKT1_ESRI = false;
bool c_ify = false;
+ bool singleLine = false;
};
// ---------------------------------------------------------------------------
@@ -86,6 +87,7 @@ static void usage() {
<< " [--main-db-path path] [--aux-db-path path]*"
<< std::endl
<< " [--identify]" << std::endl
+ << " [--c-ify] [--single-line]" << std::endl
<< " {object_definition} | (-s {srs_def} -t {srs_def})"
<< std::endl;
std::cerr << std::endl;
@@ -204,7 +206,7 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
if (outputOpt.PROJ5) {
try {
if (!outputOpt.quiet) {
- std::cout << "PROJ string: " << std::endl;
+ std::cout << "PROJ string:" << std::endl;
}
std::cout << projStringExportable->exportToPROJString(
PROJStringFormatter::create(
@@ -225,7 +227,7 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
std::cout << std::endl;
}
if (!outputOpt.quiet) {
- std::cout << "PROJ.4 string: " << std::endl;
+ std::cout << "PROJ.4 string:" << std::endl;
}
auto crs = nn_dynamic_pointer_cast<CRS>(obj);
@@ -261,11 +263,14 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
std::cout << std::endl;
}
if (!outputOpt.quiet) {
- std::cout << "WKT2_2015 string: " << std::endl;
+ std::cout << "WKT2_2015 string:" << std::endl;
}
- auto wkt = wktExportable->exportToWKT(
- WKTFormatter::create(WKTFormatter::Convention::WKT2_2015)
- .get());
+ auto formatter =
+ WKTFormatter::create(WKTFormatter::Convention::WKT2_2015);
+ if (outputOpt.singleLine) {
+ formatter->setMultiLine(false);
+ }
+ auto wkt = wktExportable->exportToWKT(formatter.get());
if (outputOpt.c_ify) {
wkt = c_ify_string(wkt);
}
@@ -283,12 +288,14 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
std::cout << std::endl;
}
if (!outputOpt.quiet) {
- std::cout << "WKT2_2015_SIMPLIFIED string: " << std::endl;
+ std::cout << "WKT2_2015_SIMPLIFIED string:" << std::endl;
}
- auto wkt = wktExportable->exportToWKT(
- WKTFormatter::create(
- WKTFormatter::Convention::WKT2_2015_SIMPLIFIED)
- .get());
+ auto formatter = WKTFormatter::create(
+ WKTFormatter::Convention::WKT2_2015_SIMPLIFIED);
+ if (outputOpt.singleLine) {
+ formatter->setMultiLine(false);
+ }
+ auto wkt = wktExportable->exportToWKT(formatter.get());
if (outputOpt.c_ify) {
wkt = c_ify_string(wkt);
}
@@ -306,11 +313,14 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
std::cout << std::endl;
}
if (!outputOpt.quiet) {
- std::cout << "WKT2_2018 string: " << std::endl;
+ std::cout << "WKT2_2018 string:" << std::endl;
}
- auto wkt = wktExportable->exportToWKT(
- WKTFormatter::create(WKTFormatter::Convention::WKT2_2018)
- .get());
+ auto formatter =
+ WKTFormatter::create(WKTFormatter::Convention::WKT2_2018);
+ if (outputOpt.singleLine) {
+ formatter->setMultiLine(false);
+ }
+ auto wkt = wktExportable->exportToWKT(formatter.get());
if (outputOpt.c_ify) {
wkt = c_ify_string(wkt);
}
@@ -328,12 +338,14 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
std::cout << std::endl;
}
if (!outputOpt.quiet) {
- std::cout << "WKT2_2018_SIMPLIFIED string: " << std::endl;
+ std::cout << "WKT2_2018_SIMPLIFIED string:" << std::endl;
}
- auto wkt = wktExportable->exportToWKT(
- WKTFormatter::create(
- WKTFormatter::Convention::WKT2_2018_SIMPLIFIED)
- .get());
+ auto formatter = WKTFormatter::create(
+ WKTFormatter::Convention::WKT2_2018_SIMPLIFIED);
+ if (outputOpt.singleLine) {
+ formatter->setMultiLine(false);
+ }
+ auto wkt = wktExportable->exportToWKT(formatter.get());
if (outputOpt.c_ify) {
wkt = c_ify_string(wkt);
}
@@ -351,7 +363,7 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
std::cout << std::endl;
}
if (!outputOpt.quiet) {
- std::cout << "WKT1_GDAL: " << std::endl;
+ std::cout << "WKT1_GDAL:" << std::endl;
}
auto crs = nn_dynamic_pointer_cast<CRS>(obj);
@@ -364,9 +376,12 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
objToExport = wktExportable;
}
- auto wkt = objToExport->exportToWKT(
- WKTFormatter::create(WKTFormatter::Convention::WKT1_GDAL)
- .get());
+ auto formatter =
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_GDAL);
+ if (outputOpt.singleLine) {
+ formatter->setMultiLine(false);
+ }
+ auto wkt = objToExport->exportToWKT(formatter.get());
if (outputOpt.c_ify) {
wkt = c_ify_string(wkt);
}
@@ -385,7 +400,7 @@ static void outputObject(DatabaseContextPtr dbContext, BaseObjectNNPtr obj,
std::cout << std::endl;
}
if (!outputOpt.quiet) {
- std::cout << "WKT1_ESRI: " << std::endl;
+ std::cout << "WKT1_ESRI:" << std::endl;
}
auto wkt = wktExportable->exportToWKT(
@@ -571,6 +586,7 @@ int main(int argc, char **argv) {
outputOpt.WKT2_2018 = true;
outputOpt.WKT2_2015 = true;
outputOpt.WKT1_GDAL = true;
+ outputOpt.WKT1_ESRI = true;
} else if (ci_equal(format, "default")) {
outputOpt.PROJ5 = true;
outputOpt.PROJ4 = false;
@@ -684,6 +700,8 @@ int main(int argc, char **argv) {
outputOpt.quiet = true;
} else if (arg == "--c-ify") {
outputOpt.c_ify = true;
+ } else if (arg == "--single-line") {
+ outputOpt.singleLine = true;
} else if (arg == "--summary") {
summary = true;
} else if (ci_equal(arg, "--boundcrs-to-wgs84")) {
diff --git a/src/rtodms.c b/src/rtodms.c
index f0e2f675..674cebdf 100644
--- a/src/rtodms.c
+++ b/src/rtodms.c
@@ -66,6 +66,13 @@ rtodms(char *s, double r, int pos, int neg) {
size_t suffix_len = sign ? 3 : 2;
(void)sprintf(ss,format,deg,min,sec,sign);
+ /* Replace potential decimal comma by decimal point for non C locale */
+ for( p = ss; *p != '\0'; ++p ) {
+ if( *p == ',' ) {
+ *p = '.';
+ break;
+ }
+ }
for (q = p = ss + strlen(ss) - suffix_len; *p == '0'; --p) ;
if (*p != '.')
++p;
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index ae3d6bf4..c46ad5d7 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -52,5 +52,5 @@ proj_add_gie_test("GIGS-5208" "gigs/5208.gie")
# ${TEST_MAIN_SRC}
# ${CATCH2_INCLUDE} )
-add_subdirectory(old)
+add_subdirectory(cli)
add_subdirectory(unit)
diff --git a/test/Makefile.am b/test/Makefile.am
index 428e1650..b65e9785 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -7,4 +7,4 @@ EXTRA_DIST = CMakeLists.txt
# libtestmain_la_LDFLAGS = -no-undefined
# libtestmain_la_SOURCES = test_main.cpp
-SUBDIRS = old googletest . gie gigs unit
+SUBDIRS = cli googletest . gie gigs unit
diff --git a/test/old/CMakeLists.txt b/test/cli/CMakeLists.txt
index d197b2aa..d197b2aa 100644
--- a/test/old/CMakeLists.txt
+++ b/test/cli/CMakeLists.txt
diff --git a/test/old/Makefile.am b/test/cli/Makefile.am
index 2848d40a..3650a9a8 100644
--- a/test/old/Makefile.am
+++ b/test/cli/Makefile.am
@@ -1,9 +1,10 @@
# Executables paths passed to test scripts
DATAPATH = ../../data
-THIS_DIR = $(top_srcdir)/test/old
+THIS_DIR = $(top_srcdir)/test/cli
EXEPATH = ../../src
PROJEXE = $(EXEPATH)/proj
CS2CSEXE = $(EXEPATH)/cs2cs
+PROJINFOEXE = $(EXEPATH)/projinfo
# PROJ.4 test scripts
TEST27 = $(THIS_DIR)/test27
@@ -13,18 +14,23 @@ TESTVARIOUS = $(THIS_DIR)/testvarious
TESTFLAKY = $(THIS_DIR)/testflaky
TESTDATUMFILE = $(THIS_DIR)/testdatumfile
TESTIGN = $(THIS_DIR)/testIGNF
+TESTPROJINFO = $(THIS_DIR)/testprojinfo
EXTRA_DIST = pj_out27.dist pj_out83.dist td_out.dist \
test27 test83 tv_out.dist tf_out.dist \
testflaky testvarious testdatumfile testntv2 ntv2_out.dist \
testIGNF proj_outIGNF.dist \
+ testprojinfo testprojinfo_out.dist \
CMakeLists.txt
-check-local:
+testprojinfo-check:
+ PROJ_LIB=$(DATAPATH) $(TESTPROJINFO) $(PROJINFOEXE)
+
+check-local: testprojinfo-check
$(TEST27) $(PROJEXE)
$(TEST83) $(PROJEXE)
PROJ_LIB=$(DATAPATH) $(TESTVARIOUS) $(CS2CSEXE)
- @if [ -f $(DATAPATH)/conus ] ; then \
+ @if [ -f $(DATAPATH)/conus -a -f $(DATAPATH)/ntv1_can.dat -a -f $(DATAPATH)/MD -a -f $(DATAPATH)/ntf_r93.dat ]; then \
PROJ_LIB=$(DATAPATH) $(TESTDATUMFILE) $(CS2CSEXE) ; \
fi
@if [ -f $(DATAPATH)/ntf_r93.gsb ] ; then \
@@ -33,3 +39,4 @@ check-local:
@if [ -f $(DATAPATH)/ntv2_0.gsb ] ; then \
PROJ_LIB=$(DATAPATH) $(TESTNTV2) $(CS2CSEXE) ; \
fi
+
diff --git a/test/old/ntv2_out.dist b/test/cli/ntv2_out.dist
index 5ce26e6e..5ce26e6e 100644
--- a/test/old/ntv2_out.dist
+++ b/test/cli/ntv2_out.dist
diff --git a/test/old/pj_out27.dist b/test/cli/pj_out27.dist
index 632dfc62..632dfc62 100644
--- a/test/old/pj_out27.dist
+++ b/test/cli/pj_out27.dist
diff --git a/test/old/pj_out83.dist b/test/cli/pj_out83.dist
index 726140f3..726140f3 100644
--- a/test/old/pj_out83.dist
+++ b/test/cli/pj_out83.dist
diff --git a/test/old/proj_outIGNF.dist b/test/cli/proj_outIGNF.dist
index 45112f60..611144b8 100644
--- a/test/old/proj_outIGNF.dist
+++ b/test/cli/proj_outIGNF.dist
@@ -1,24 +1,24 @@
-+init=./IGNF:NTFG +to +init=./IGNF:RGF93G
++init=IGNF:NTFG +to +init=IGNF:RGF93G
3.300866856 43.4477976569 0.0000 3d18'0.915"E 43d26'52.077"N 0.000
-+init=./IGNF:LAMBE +to +init=./IGNF:LAMB93
- 600000.0000 2600545.4523 0.0000 652760.737 7033791.243 0.000
- 135638.3592 2418760.4094 0.0000 187194.062 6855928.882 0.000
- 998137.3947 2413822.2844 0.0000 1049052.258 6843776.562 0.000
++init=IGNF:LAMBE +to +init=IGNF:LAMB93
+ 600000.0000 2600545.4523 0.0000 652759.036 7033588.609 0.000
+ 135638.3592 2418760.4094 0.0000 187444.148 6856142.911 0.000
+ 998137.3947 2413822.2844 0.0000 1048843.997 6843923.913 0.000
600000.0000 2200000.0000 0.0000 649398.872 6633524.191 0.000
- 311552.5340 1906457.4840 0.0000 358799.172 6342652.486 0.000
- 960488.4138 1910172.8812 0.0000 1007068.686 6340907.237 0.000
- 600000.0000 1699510.8340 0.0000 645204.279 6133556.746 0.000
-1203792.5981 626873.17210 0.0000 1238875.764 5057405.016 0.000
-+init=./IGNF:LAMBE +to +init=./IGNF:GEOPORTALFXX
- 600000.0000 2600545.4523 0.0000 179040.148 5610495.275 0.000
- 135638.3592 2418760.4094 0.0000 -303729.363 5410118.356 0.000
- 998137.3947 2413822.2844 0.0000 592842.792 5410120.554 0.000
+ 311552.5340 1906457.4840 0.0000 358593.374 6342647.465 0.000
+ 960488.4138 1910172.8812 0.0000 1007324.119 6340956.093 0.000
+ 600000.0000 1699510.8340 0.0000 645201.753 6133255.515 0.000
+1203792.5981 626873.17210 0.0000 * * inf
++init=IGNF:LAMBE +to +init=IGNF:GEOPORTALFXX
+ 600000.0000 2600545.4523 0.0000 179040.150 5610292.766 0.000
+ 135638.3592 2418760.4094 0.0000 -303490.059 5410353.890 0.000
+ 998137.3947 2413822.2844 0.0000 592635.926 5410280.335 0.000
600000.0000 2200000.0000 0.0000 179041.670 5209746.080 0.000
- 311552.5340 1906457.4840 0.0000 -96825.465 4909184.136 0.000
- 960488.4138 1910172.8812 0.0000 523880.019 4909191.141 0.000
- 600000.0000 1699510.8340 0.0000 179047.633 4708817.007 0.000
-1203792.5981 626873.17210 0.0000 658287.395 3623739.237 0.000
-+init=./IGNF:RGF93G +to +init=./IGNF:GEOPORTALFXX
+ 311552.5340 1906457.4840 0.0000 -97021.878 4909167.981 0.000
+ 960488.4138 1910172.8812 0.0000 524126.466 4909227.598 0.000
+ 600000.0000 1699510.8340 0.0000 179047.637 4708515.623 0.000
+1203792.5981 626873.17210 0.0000 * * inf
++init=IGNF:RGF93G +to +init=IGNF:GEOPORTALFXX
2d20'11.4239243" 50d23'59.7718445" 0.0 179040.151 5610495.281 0.000
-3d57'49.4051448" 48d35'59.7121716" 0.0 -303729.365 5410118.352 0.000
7d44'12.1439796" 48d35'59.7832558" 0.0 592842.794 5410120.550 0.000
@@ -27,7 +27,7 @@
6d50'12.2276489" 44d06'00.0517019" 0.0 523880.022 4909191.143 0.000
2d20'11.7754730" 42d18'00.0824436" 0.0 179047.634 4708817.010 0.000
9d32'12.6680218" 41d24'00.3542556" 0.0 730783.054 4608637.873 0.000
-+init=./IGNF:RGF93G +to +init=./IGNF:MILLER
++init=IGNF:RGF93G +to +init=IGNF:MILLER
2d20'11.4239243" 50d23'59.7718445" 0.0 260098.730 6140682.441 0.000
-3d57'49.4051448" 48d35'59.7121716" 0.0 -441239.699 5880610.004 0.000
7d44'12.1439796" 48d35'59.7832558" 0.0 861246.246 5880612.827 0.000
@@ -36,5 +36,5 @@
6d50'12.2276489" 44d06'00.0517019" 0.0 761061.291 5252498.745 0.000
2d20'11.7754730" 42d18'00.0824436" 0.0 260109.601 5009175.714 0.000
9d32'12.6680218" 41d24'00.3542556" 0.0 1061637.534 4889066.592 0.000
-+init=./IGNF:RGR92 +to +init=./IGNF:REUN47
-3356123.5400 1303218.3090 5247430.6050 3353421.833 1304074.314 5248935.607
++init=IGNF:RGR92 +to +init=IGNF:REUN47
+3356123.5400 1303218.3090 5247430.6050 3353420.949 1304075.021 5248935.144
diff --git a/test/old/td_out.dist b/test/cli/td_out.dist
index f6b2a219..f6b2a219 100644
--- a/test/old/td_out.dist
+++ b/test/cli/td_out.dist
diff --git a/test/old/test27 b/test/cli/test27
index 3b62855a..43c060d8 100755
--- a/test/old/test27
+++ b/test/cli/test27
@@ -6,7 +6,7 @@
# Proj will vary in the .001ft range with projections using Transverse
# Mercator due to greater precision of meridional distance function.
#
-TEST_OLD_DIR=`dirname $0`
+TEST_CLI_DIR=`dirname $0`
DATA_DIR=`dirname $0`/../../data
EXE=$1
@@ -833,7 +833,7 @@ EOF
#
# do 'diff' with distribution results
echo "diff ${OUT} with pj_out27.dist"
-diff -b ${OUT} ${TEST_OLD_DIR}/pj_out27.dist
+diff -b ${OUT} ${TEST_CLI_DIR}/pj_out27.dist
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
diff --git a/test/old/test83 b/test/cli/test83
index 02f99d5f..82b491a7 100755
--- a/test/old/test83
+++ b/test/cli/test83
@@ -7,7 +7,7 @@
# Proj will vary in the .001ft range with projections using Transverse
# Mercator due to greater precision of meridional distance function.
#
-TEST_OLD_DIR=`dirname $0`
+TEST_CLI_DIR=`dirname $0`
DATA_DIR=`dirname $0`/../../data
EXE=$1
@@ -714,7 +714,7 @@ EOF
#
# do 'diff' with distribution results
echo "diff ${OUT} with pj_out83.dist"
-diff -b ${OUT} ${TEST_OLD_DIR}/pj_out83.dist
+diff -b ${OUT} ${TEST_CLI_DIR}/pj_out83.dist
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
diff --git a/test/old/testIGNF b/test/cli/testIGNF
index f785641e..0fa04e84 100755
--- a/test/old/testIGNF
+++ b/test/cli/testIGNF
@@ -11,7 +11,7 @@
# 2009-10-04 : addition of NTFG to RGF93G test to check if
# the gsb grid is still ok
-TEST_OLD_DIR=`dirname $0`
+TEST_CLI_DIR=`dirname $0`
DATA_DIR=`dirname $0`/../../data
EXE=$1
@@ -41,13 +41,7 @@ echo "============================================"
OUT=proj_outIGNF
-REMOVE_IGNF=NO
-if test ! -f IGNF; then
- cp ${PROJ_LIB}/IGNF .
- REMOVE_IGNF=YES
-fi
-
-INIT_FILE=./IGNF
+INIT_FILE=IGNF
RES="-f %.3f"
#
echo "doing tests into file ${OUT}, please wait"
@@ -162,14 +156,10 @@ $EXE +init=${INIT_FILE}:RGR92 +to +init=${INIT_FILE}:REUN47 -E $RES >>${OUT} <<E
3356123.5400 1303218.3090 5247430.6050
EOF
-if test "${REMOVE_IGNF}" = "YES"; then
- rm ./IGNF
-fi
-
#
# do 'diff' with distribution results
echo "diff ${OUT} with ${OUT}.dist"
-diff -b ${OUT} ${TEST_OLD_DIR}/${OUT}.dist
+diff -b ${OUT} ${TEST_CLI_DIR}/${OUT}.dist
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
diff --git a/test/old/testdatumfile b/test/cli/testdatumfile
index 6cd25b76..55900427 100755
--- a/test/old/testdatumfile
+++ b/test/cli/testdatumfile
@@ -3,7 +3,7 @@
# files that are not always available.
#
#
-TEST_OLD_DIR=`dirname $0`
+TEST_CLI_DIR=`dirname $0`
DATA_DIR=`dirname $0`/../../data
EXE=$1
@@ -77,7 +77,7 @@ echo "edge or even a wee bit outside (#141)." >> ${OUT}
# Our test points are (1) right on mesh corner, (2) outside but within
# epsilon (3) inside a bit (4) outside by more than epsilon
#
-$EXE +proj=latlong +ellps=WGS84 +nadgrids=ntf_r93.gsb \
+$EXE +proj=latlong +ellps=WGS84 +nadgrids=ntf_r93.gsb,null \
+to +proj=latlong +datum=WGS84 \
-E -f "%.12f" >>${OUT} <<EOF
-5.5 52.0
@@ -87,7 +87,7 @@ $EXE +proj=latlong +ellps=WGS84 +nadgrids=ntf_r93.gsb \
EOF
#
$EXE +proj=latlong +datum=WGS84 \
- +to +proj=latlong +ellps=WGS84 +nadgrids=ntf_r93.gsb \
+ +to +proj=latlong +ellps=WGS84 +nadgrids=ntf_r93.gsb,null \
-E -f "%.12f" >>${OUT} <<EOF
-5.5 52.0
-5.5000000000001 52.0000000000001
@@ -99,7 +99,7 @@ EOF
# Done!
# do 'diff' with distribution results
echo "diff ${OUT} with ${OUT}.dist"
-diff -b ${OUT} ${TEST_OLD_DIR}/${OUT}.dist
+diff -b ${OUT} ${TEST_CLI_DIR}/${OUT}.dist
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
diff --git a/test/old/testflaky b/test/cli/testflaky
index ccb9dfd5..af56a9cd 100755
--- a/test/old/testflaky
+++ b/test/cli/testflaky
@@ -3,7 +3,7 @@
# on datum files.
#
#
-TEST_OLD_DIR=`dirname $0`
+TEST_CLI_DIR=`dirname $0`
DATA_DIR=`dirname $0`/../../data
EXE=$1
@@ -59,7 +59,7 @@ EOF
# Done!
# do 'diff' with distribution results
echo "diff ${OUT} with ${OUT}.dist"
-diff -b ${OUT} ${TEST_OLD_DIR}/${OUT}.dist
+diff -b ${OUT} ${TEST_CLI_DIR}/${OUT}.dist
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
diff --git a/test/old/testntv2 b/test/cli/testntv2
index a0867789..e82026fc 100755
--- a/test/old/testntv2
+++ b/test/cli/testntv2
@@ -3,7 +3,7 @@
# Test NTv2 (.gsb) support. Assumes ntv2_0.gsb is installed.
#
#
-TEST_OLD_DIR=`dirname $0`
+TEST_CLI_DIR=`dirname $0`
DATA_DIR=`dirname $0`/../../data
EXE=$1
@@ -58,7 +58,7 @@ EOF
# Done!
# do 'diff' with distribution results
echo "diff ${OUT} with ${OUT}.dist"
-diff -b ${OUT} ${TEST_OLD_DIR}/${OUT}.dist
+diff -b ${OUT} ${TEST_CLI_DIR}/${OUT}.dist
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
diff --git a/test/cli/testprojinfo b/test/cli/testprojinfo
new file mode 100755
index 00000000..ad62d1da
--- /dev/null
+++ b/test/cli/testprojinfo
@@ -0,0 +1,67 @@
+:
+# Test projinfo
+
+TEST_CLI_DIR=`dirname $0`
+DATA_DIR=`dirname $0`/../../data
+EXE=$1
+
+usage()
+{
+ echo "Usage: ${0} <path to 'projinfo' program>"
+ echo
+ exit 1
+}
+
+if test -z "${EXE}"; then
+ EXE=../../src/projinfo
+fi
+
+if test ! -x ${EXE}; then
+ echo "*** ERROR: Can not find '${EXE}' program!"
+ exit 1
+fi
+
+echo "============================================"
+echo "Running ${0} using ${EXE}:"
+echo "============================================"
+
+OUT=testprojinfo_out
+
+rm -f ${OUT}
+
+echo "Testing projinfo EPSG:4326" >> ${OUT}
+$EXE EPSG:4326 >>${OUT}
+echo "" >>${OUT}
+
+echo "Testing projinfo -o ALL EPSG:4326" >> ${OUT}
+$EXE -o ALL EPSG:4326 >>${OUT}
+echo "" >>${OUT}
+
+echo "Testing projinfo -s EPSG:4326 -t EPSG:32631" >> ${OUT}
+$EXE -s EPSG:4326 -t EPSG:32631 >>${OUT}
+echo "" >>${OUT}
+
+echo "Testing projinfo -s NAD27 -t NAD83 --grid-check none --spatial-test intersects --summary" >> ${OUT}
+$EXE -s NAD27 -t NAD83 --grid-check none --spatial-test intersects --summary >>${OUT}
+echo "" >>${OUT}
+
+echo "Testing projinfo -s NAD27 -t NAD83 --grid-check none --spatial-test intersects" >> ${OUT}
+$EXE -s NAD27 -t NAD83 --grid-check none --spatial-test intersects >>${OUT}
+echo "" >>${OUT}
+
+# do 'diff' with distribution results
+echo "diff ${OUT} with testprojinfo_out.dist"
+diff -u ${OUT} ${TEST_CLI_DIR}/testprojinfo_out.dist
+if [ $? -ne 0 ] ; then
+ echo ""
+ echo "PROBLEMS HAVE OCCURRED"
+ echo "test file ${OUT} saved"
+ echo
+ exit 100
+else
+ echo "TEST OK"
+ echo "test file ${OUT} removed"
+ echo
+ /bin/rm -f ${OUT}
+ exit 0
+fi
diff --git a/test/cli/testprojinfo_out.dist b/test/cli/testprojinfo_out.dist
new file mode 100644
index 00000000..fea5a299
--- /dev/null
+++ b/test/cli/testprojinfo_out.dist
@@ -0,0 +1,480 @@
+Testing projinfo EPSG:4326
+PROJ string:
++proj=pipeline +step +proj=longlat +ellps=WGS84 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+GEODCRS["WGS 84",
+ DATUM["World Geodetic System 1984",
+ ELLIPSOID["WGS 84",6378137,298.257223563,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AREA["World"],
+ BBOX[-90,-180,90,180],
+ ID["EPSG",4326]]
+
+Testing projinfo -o ALL EPSG:4326
+PROJ string:
++proj=pipeline +step +proj=longlat +ellps=WGS84 +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+PROJ.4 string:
++proj=longlat +datum=WGS84 +no_defs
+
+WKT2_2015 string:
+GEODCRS["WGS 84",
+ DATUM["World Geodetic System 1984",
+ ELLIPSOID["WGS 84",6378137,298.257223563,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AREA["World"],
+ BBOX[-90,-180,90,180],
+ ID["EPSG",4326]]
+
+WKT2_2018 string:
+GEOGCRS["WGS 84",
+ DATUM["World Geodetic System 1984",
+ ELLIPSOID["WGS 84",6378137,298.257223563,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ USAGE[
+ SCOPE["unknown"],
+ AREA["World"],
+ BBOX[-90,-180,90,180]],
+ ID["EPSG",4326]]
+
+WKT1_GDAL:
+GEOGCS["WGS 84",
+ DATUM["WGS_1984",
+ SPHEROID["WGS 84",6378137,298.257223563,
+ AUTHORITY["EPSG","7030"]],
+ AUTHORITY["EPSG","6326"]],
+ PRIMEM["Greenwich",0,
+ AUTHORITY["EPSG","8901"]],
+ UNIT["degree",0.0174532925199433,
+ AUTHORITY["EPSG","9122"]],
+ AUTHORITY["EPSG","4326"]]
+
+
+WKT1_ESRI:
+GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]
+
+
+Testing projinfo -s EPSG:4326 -t EPSG:32631
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=utm +zone=31 +ellps=WGS84
+
+WKT2_2015 string:
+CONVERSION["UTM zone 31N",
+ METHOD["Transverse Mercator",
+ ID["EPSG",9807]],
+ PARAMETER["Latitude of natural origin",0,
+ ANGLEUNIT["degree",0.0174532925199433],
+ ID["EPSG",8801]],
+ PARAMETER["Longitude of natural origin",3,
+ ANGLEUNIT["degree",0.0174532925199433],
+ ID["EPSG",8802]],
+ PARAMETER["Scale factor at natural origin",0.9996,
+ SCALEUNIT["unity",1],
+ ID["EPSG",8805]],
+ PARAMETER["False easting",500000,
+ LENGTHUNIT["metre",1],
+ ID["EPSG",8806]],
+ PARAMETER["False northing",0,
+ LENGTHUNIT["metre",1],
+ ID["EPSG",8807]],
+ ID["EPSG",16031]]
+
+Testing projinfo -s NAD27 -t NAD83 --grid-check none --spatial-test intersects --summary
+Candidate operations found: 8
+DERIVED_FROM(EPSG):1312, NAD27 to NAD83 (3), 1.0 m, Canada
+DERIVED_FROM(EPSG):1313, NAD27 to NAD83 (4), 1.5 m, Canada - NAD27
+DERIVED_FROM(EPSG):1241, NAD27 to NAD83 (1), 0.15 m, USA - CONUS including EEZ
+DERIVED_FROM(EPSG):1243, NAD27 to NAD83 (2), 0.5 m, USA - Alaska including EEZ
+ESRI:108003, NAD_1927_To_NAD_1983_PR_VI, 0.05 m, Caribbean - Puerto Rico and Virgin Islands - onshore
+unknown id, Null geographic offset from NAD27 to NAD83, unknown accuracy, World
+EPSG:1462, NAD27 to NAD83 (5), 1.0 m, Canada - Quebec
+EPSG:1573, NAD27 to NAD83 (6), 1.5 m, Canada - Quebec
+
+Testing projinfo -s NAD27 -t NAD83 --grid-check none --spatial-test intersects
+-------------------------------------
+Operation n°1:
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=ntv1_can.dat +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+COORDINATEOPERATION["NAD27 to NAD83 (3)",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ METHOD["NTv1",
+ ID["EPSG",9614]],
+ PARAMETERFILE["Latitude and longitude difference file","ntv1_can.dat"],
+ OPERATIONACCURACY[1.0],
+ AREA["Canada"],
+ BBOX[40.04,-141.01,86.46,-47.74],
+ ID["DERIVED_FROM(EPSG)",1312]]
+
+-------------------------------------
+Operation n°2:
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=ntv2_0.gsb +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+COORDINATEOPERATION["NAD27 to NAD83 (4)",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ METHOD["NTv2",
+ ID["EPSG",9615]],
+ PARAMETERFILE["Latitude and longitude difference file","ntv2_0.gsb"],
+ OPERATIONACCURACY[1.5],
+ AREA["Canada - NAD27"],
+ BBOX[40.04,-141.01,83.17,-47.74],
+ ID["DERIVED_FROM(EPSG)",1313]]
+
+-------------------------------------
+Operation n°3:
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=conus +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+COORDINATEOPERATION["NAD27 to NAD83 (1)",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ METHOD["CTABLE2"],
+ PARAMETERFILE["Latitude and longitude difference file","conus"],
+ OPERATIONACCURACY[0.15],
+ AREA["USA - CONUS including EEZ"],
+ BBOX[23.81,-129.17,49.38,-65.69],
+ ID["DERIVED_FROM(EPSG)",1241]]
+
+-------------------------------------
+Operation n°4:
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=alaska +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+COORDINATEOPERATION["NAD27 to NAD83 (2)",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ METHOD["CTABLE2"],
+ PARAMETERFILE["Latitude and longitude difference file","alaska"],
+ OPERATIONACCURACY[0.5],
+ AREA["USA - Alaska including EEZ"],
+ BBOX[47.88,167.65,74.71,-129.99],
+ ID["DERIVED_FROM(EPSG)",1243]]
+
+-------------------------------------
+Operation n°5:
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=prvi +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+COORDINATEOPERATION["NAD_1927_To_NAD_1983_PR_VI",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ METHOD["NTv2",
+ ID["EPSG",9615]],
+ PARAMETERFILE["Latitude and longitude difference file","prvi"],
+ OPERATIONACCURACY[0.05],
+ AREA["Caribbean - Puerto Rico and Virgin Islands - onshore"],
+ BBOX[17.62,-67.97,18.78,-64.25],
+ ID["ESRI",108003]]
+
+-------------------------------------
+Operation n°6:
+
+PROJ string:
+
+
+WKT2_2015 string:
+COORDINATEOPERATION["Null geographic offset from NAD27 to NAD83",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AREA["North America - NAD27"],
+ BBOX[7.15,167.65,83.17,-47.74],
+ ID["EPSG",4267]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AREA["North America - NAD83"],
+ BBOX[14.92,167.65,86.46,-47.74],
+ ID["EPSG",4269]]],
+ METHOD["Geographic2D offsets",
+ ID["EPSG",9619]],
+ PARAMETER["Latitude offset",0,
+ ANGLEUNIT["degree",0.0174532925199433],
+ ID["EPSG",8601]],
+ PARAMETER["Longitude offset",0,
+ ANGLEUNIT["degree",0.0174532925199433],
+ ID["EPSG",8602]],
+ AREA["World"],
+ BBOX[-90,-180,90,180]]
+
+-------------------------------------
+Operation n°7:
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=GS2783v1.QUE +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+COORDINATEOPERATION["NAD27 to NAD83 (5)",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ METHOD["NTv1",
+ ID["EPSG",9614]],
+ PARAMETERFILE["Latitude and longitude difference file","GS2783v1.QUE"],
+ OPERATIONACCURACY[1.0],
+ AREA["Canada - Quebec"],
+ BBOX[44.99,-79.85,62.62,-57.1],
+ ID["EPSG",1462]]
+
+-------------------------------------
+Operation n°8:
+
+PROJ string:
++proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift +grids=QUE27-83.gsb +step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
+
+WKT2_2015 string:
+COORDINATEOPERATION["NAD27 to NAD83 (6)",
+ SOURCECRS[
+ GEODCRS["NAD27",
+ DATUM["North American Datum 1927",
+ ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ TARGETCRS[
+ GEODCRS["NAD83",
+ DATUM["North American Datum 1983",
+ ELLIPSOID["GRS 1980",6378137,298.257222101,
+ LENGTHUNIT["metre",1]]],
+ PRIMEM["Greenwich",0,
+ ANGLEUNIT["degree",0.0174532925199433]],
+ CS[ellipsoidal,2],
+ AXIS["geodetic latitude (Lat)",north,
+ ORDER[1],
+ ANGLEUNIT["degree",0.0174532925199433]],
+ AXIS["geodetic longitude (Lon)",east,
+ ORDER[2],
+ ANGLEUNIT["degree",0.0174532925199433]]]],
+ METHOD["NTv2",
+ ID["EPSG",9615]],
+ PARAMETERFILE["Latitude and longitude difference file","QUE27-83.gsb"],
+ OPERATIONACCURACY[1.5],
+ AREA["Canada - Quebec"],
+ BBOX[44.99,-79.85,62.62,-57.1],
+ ID["EPSG",1573]]
+
diff --git a/test/old/testvarious b/test/cli/testvarious
index dbaeb0ce..88673c5d 100755
--- a/test/old/testvarious
+++ b/test/cli/testvarious
@@ -3,7 +3,7 @@
# on datum files.
#
#
-TEST_OLD_DIR=`dirname $0`
+TEST_CLI_DIR=`dirname $0`
DATA_DIR=`dirname $0`/../../data
EXE=$1
@@ -523,7 +523,7 @@ EOF
#
echo "##############################################################" >> ${OUT}
echo "Test the Natural Earth Projection" >> ${OUT}
-$EXE +proj=latlong +a=1 +lon_0=0 \
+$EXE +proj=latlong +a=6371008.7714 +b=6371008.7714 \
+to +proj=natearth +a=6371008.7714 +b=6371008.7714 -f '%.'7'f' \
-E >>${OUT} <<EOF
0.0 0.0 0 0.0 0.0
@@ -554,7 +554,7 @@ $EXE +proj=latlong +a=1 +lon_0=0 \
EOF
echo "##############################################################" >> ${OUT}
echo "Test the Natural Earth II Projection" >> ${OUT}
-$EXE +proj=latlong +a=1 +lon_0=0 \
+$EXE +proj=latlong +a=6371008.7714 +b=6371008.7714 \
+to +proj=natearth2 +a=6371008.7714 +b=6371008.7714 -f '%.'7'f' \
-E >>${OUT} <<EOF
0.0 0.0 0 0.00000000 0.00000000
@@ -585,7 +585,7 @@ $EXE +proj=latlong +a=1 +lon_0=0 \
EOF
echo "##############################################################" >> ${OUT}
echo "Test the Compact Miller projection" >> ${OUT}
-$EXE +proj=latlong +a=1 +lon_0=0 \
+$EXE +proj=latlong +a=6371008.7714 +b=6371008.7714 \
+to +proj=comill +a=6371008.7714 +b=6371008.7714 -f '%.'7'f' \
-E >>${OUT} <<EOF
0.0 0.0 0 0.0 0.0
@@ -656,14 +656,14 @@ EOF
echo "##############################################################" >> ${OUT}
echo "Check inverse error handling with ob_tran (#225)" >> ${OUT}
$EXE +proj=ob_tran \
- +o_proj=moll +a=6378137 +es=0 +o_lon_p=LON_POLE +o_lat_p=LAT_POLE +lon_0=180 \
+ +o_proj=moll +a=6378137 +es=0 +o_lon_p=0 +o_lat_p=0 +lon_0=180 \
-E >>${OUT} <<EOF
300000 400000
20000000 30000000
EOF
echo "Test inverse handling" >> ${OUT}
$EXE -I +proj=ob_tran \
- +o_proj=moll +a=6378137 +es=0 +o_lon_p=LON_POLE +o_lat_p=LAT_POLE +lon_0=180 \
+ +o_proj=moll +a=6378137 +es=0 +o_lon_p=0 +o_lat_p=0 +lon_0=180 \
-E >>${OUT} <<EOF
10 20
EOF
@@ -939,11 +939,25 @@ $EXE -f '%0.3f' \
0 0 1000
EOF
+echo "##############################################################" >> ${OUT}
+echo "Test EPSG:4326 to EPSG:32631" >> ${OUT}
+# Input is latitude, longitude order
+$EXE EPSG:4326 +to EPSG:32631 -E >> ${OUT} <<EOF
+49 3 0
+EOF
+
+echo "##############################################################" >> ${OUT}
+echo "Test EPSG:32631 to EPSG:4326" >> ${OUT}
+# Input is latitude, longitude order
+$EXE EPSG:32631 EPSG:4326 -E >> ${OUT} <<EOF
+400000 5000000 0
+EOF
+
# Done!
# do 'diff' with distribution results
echo "diff ${OUT} with ${OUT}.dist"
-diff -b ${OUT} ${TEST_OLD_DIR}/${OUT}.dist
+diff -b ${OUT} ${TEST_CLI_DIR}/${OUT}.dist
if [ $? -ne 0 ] ; then
echo ""
echo "PROBLEMS HAVE OCCURRED"
diff --git a/test/old/tf_out.dist b/test/cli/tf_out.dist
index 9f1778e7..9f1778e7 100644
--- a/test/old/tf_out.dist
+++ b/test/cli/tf_out.dist
diff --git a/test/old/tv_out.dist b/test/cli/tv_out.dist
index 222c0c5f..148d413d 100644
--- a/test/old/tv_out.dist
+++ b/test/cli/tv_out.dist
@@ -139,7 +139,7 @@ Test healpix forward projection on ellipsoid
0 60.0 0.00000 3.35128 0.00000
0 -60.0 0.00000 -3.35128 0.00000
Test healpix inverse projection on ellipsoid
-0 0.7853981633974483 * * 0.00000
+0 0.7853981633974483 * * inf
-1.5707963267948966 0 -90.10072 0.00000 0.00000
0.0 0.0 0.00000 0.00000 0.00000
0.0 2.0547874222147415 0.00000 39.58811 0.00000
@@ -347,7 +347,7 @@ Test inverse calcofi projection
##############################################################
Check inverse error handling with ob_tran (#225)
300000 400000 42d45'22.377"W 85d35'28.083"N 0.000
-20000000 30000000 * * 0.000
+20000000 30000000 * * inf
Test inverse handling
10 20 -1384841.19 7581707.88 0.00
##############################################################
@@ -447,10 +447,16 @@ Test patterson inverse projection
20015114.352186374 -11409566.822831295 180.000 -90.000 0.000
##############################################################
Test Web Mercator to avoid issue #834 in the future
-487147.594520173 4934316.46263998 -10370728.796 5552839.742 -0.000
+487147.594520173 4934316.46263998 -10370728.796 5552839.742 0.000
##############################################################
Test vto_meter
0 0 1 0.000 0.000 1000.000
0 0 1 0.000 0.000 1000.000
0 0 1000 0.000 0.000 1.000
0 0 1000 0.000 0.000 1.000
+##############################################################
+Test EPSG:4326 to EPSG:32631
+49 3 0 500000.00 5427455.78 0.00
+##############################################################
+Test EPSG:32631 to EPSG:4326
+400000 5000000 0 45d8'47.014"N 1d43'40.681"E 0.000
diff --git a/test/gie/4D-API_cs2cs-style.gie b/test/gie/4D-API_cs2cs-style.gie
index 346f2d36..e653454e 100644
--- a/test/gie/4D-API_cs2cs-style.gie
+++ b/test/gie/4D-API_cs2cs-style.gie
@@ -207,6 +207,7 @@ expect failure
-------------------------------------------------------------------------------
Test that Google's Web Mercator works as intended (see #834 for details).
-------------------------------------------------------------------------------
+use_proj4_init_rules true
operation proj=pipeline step init=epsg:26915 inv step init=epsg:3857
-------------------------------------------------------------------------------
tolerance 20 cm
@@ -220,6 +221,7 @@ expect -10370728.80 5552839.74 0
-------------------------------------------------------------------------------
Test Google's Web Mercator with +proj=webmerc
-------------------------------------------------------------------------------
+use_proj4_init_rules true
operation proj=pipeline step init=epsg:26915 inv step proj=webmerc datum=WGS84
-------------------------------------------------------------------------------
tolerance 20 cm
diff --git a/test/gie/more_builtins.gie b/test/gie/more_builtins.gie
index 13b77b0a..63464998 100644
--- a/test/gie/more_builtins.gie
+++ b/test/gie/more_builtins.gie
@@ -166,6 +166,7 @@ expect 12 55 0 0
-------------------------------------------------------------------------------
Finally test a pipeline with more than one init step
-------------------------------------------------------------------------------
+use_proj4_init_rules true
operation proj=pipeline
step init=epsg:25832 inv
step init=epsg:25833
@@ -710,10 +711,13 @@ accept 0 0 0 0
expect failure
-------------------------------------------------------------------------------
-run the few gie-builtin tests, which are currently either awkward or impossible
-to express in the gie command set
+# Test lon_wrap
+operation +proj=longlat +ellps=WGS84 +lon_wrap=180
-------------------------------------------------------------------------------
-builtins
+direction forward
+accept -1 10 0
+expect 359 10 0
+
-------------------------------------------------------------------------------
</gie>
diff --git a/test/gigs/5101.1-jhs.gie b/test/gigs/5101.1-jhs.gie
index 2fd98883..efef9fcf 100644
--- a/test/gigs/5101.1-jhs.gie
+++ b/test/gigs/5101.1-jhs.gie
@@ -6,6 +6,8 @@ Test 5101 (part 1), Transverse Mercator, v2-0_2011-06-28, recommended JHS formul
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4326 +inv
diff --git a/test/gigs/5101.2-jhs.gie b/test/gigs/5101.2-jhs.gie
index 7ea6275e..3f6218ba 100644
--- a/test/gigs/5101.2-jhs.gie
+++ b/test/gigs/5101.2-jhs.gie
@@ -6,6 +6,8 @@ Test 5101 (part 2), Transverse Mercator, v2-0_2011-06-28, recommended JHS formul
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4326 +inv
diff --git a/test/gigs/5101.3-jhs.gie b/test/gigs/5101.3-jhs.gie
index d588df4c..05b902be 100644
--- a/test/gigs/5101.3-jhs.gie
+++ b/test/gigs/5101.3-jhs.gie
@@ -6,6 +6,8 @@ Test 5101 (part 3), Transverse Mercator, v2-0_2011-06-28, recommended JHS formul
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4283 +inv
diff --git a/test/gigs/5101.4-jhs-etmerc.gie b/test/gigs/5101.4-jhs-etmerc.gie
index b97b7769..42aad560 100644
--- a/test/gigs/5101.4-jhs-etmerc.gie
+++ b/test/gigs/5101.4-jhs-etmerc.gie
@@ -6,6 +6,8 @@ Test 5101 (part 4), Transverse Mercator, v2-0_2011-06-28, recommended JHS formul
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4190 +inv
diff --git a/test/gigs/5102.1.gie b/test/gigs/5102.1.gie
index d3eef080..33bf3bac 100644
--- a/test/gigs/5102.1.gie
+++ b/test/gigs/5102.1.gie
@@ -6,6 +6,8 @@ Test 5102, Lambert Conic Conformal (1SP), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4230 +inv
diff --git a/test/gigs/5103.1.gie b/test/gigs/5103.1.gie
index c972b738..73b7d0ca 100644
--- a/test/gigs/5103.1.gie
+++ b/test/gigs/5103.1.gie
@@ -6,6 +6,8 @@ Test 5103 (part 1), Lambert Conic Conformal (2SP), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4313 +inv
diff --git a/test/gigs/5103.2.gie b/test/gigs/5103.2.gie
index 3975e9d8..b32c2758 100644
--- a/test/gigs/5103.2.gie
+++ b/test/gigs/5103.2.gie
@@ -6,6 +6,8 @@ Test 5103 (part 2), Lambert Conic Conformal (2SP), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4152 +inv
diff --git a/test/gigs/5103.3.gie b/test/gigs/5103.3.gie
index b8965132..d486ec04 100644
--- a/test/gigs/5103.3.gie
+++ b/test/gigs/5103.3.gie
@@ -6,6 +6,8 @@ Test 5103 (part 3), Lambert Conic Conformal (2SP), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4152 +inv
diff --git a/test/gigs/5105.2.gie b/test/gigs/5105.2.gie
index 190c9176..daf86433 100644
--- a/test/gigs/5105.2.gie
+++ b/test/gigs/5105.2.gie
@@ -6,6 +6,8 @@ Test 5105 (part 2), Oblique Mercator (variant B), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4237 +inv
diff --git a/test/gigs/5106.gie b/test/gigs/5106.gie
index 6c5940ef..9082c0e7 100644
--- a/test/gigs/5106.gie
+++ b/test/gigs/5106.gie
@@ -6,6 +6,8 @@ Test 5106, Hotine Oblique Mercator (variant A), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4742 +inv
diff --git a/test/gigs/5107.gie b/test/gigs/5107.gie
index f78e9c22..bfd044fd 100644
--- a/test/gigs/5107.gie
+++ b/test/gigs/5107.gie
@@ -6,6 +6,8 @@ Test 5107, American Polyconic, v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4674 +inv
diff --git a/test/gigs/5109.gie b/test/gigs/5109.gie
index a104e66f..da42109a 100644
--- a/test/gigs/5109.gie
+++ b/test/gigs/5109.gie
@@ -6,6 +6,8 @@ Test 5109, Albers Equal Area, v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4283 +inv
diff --git a/test/gigs/5111.1.gie b/test/gigs/5111.1.gie
index d146b36a..fcbd4b1a 100644
--- a/test/gigs/5111.1.gie
+++ b/test/gigs/5111.1.gie
@@ -12,6 +12,8 @@ Test 5111 (part 1), Mercator (variant A), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline towgs84=0,0,0
+step +init=epsg:4211 +inv
diff --git a/test/gigs/5112.gie b/test/gigs/5112.gie
index 207632d2..ab5c0be8 100644
--- a/test/gigs/5112.gie
+++ b/test/gigs/5112.gie
@@ -6,6 +6,8 @@ Test 5112, Mercator (variant B), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation proj=pipeline
step init=epsg:4284 inv
diff --git a/test/gigs/5113.gie b/test/gigs/5113.gie
index 5c3904e7..fdb4c381 100644
--- a/test/gigs/5113.gie
+++ b/test/gigs/5113.gie
@@ -6,6 +6,8 @@ Test 5113, Transverse Mercator (South Oriented), v2-0_2011-06-28.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4148 +inv
diff --git a/test/gigs/5201.gie b/test/gigs/5201.gie
index 532443a9..29805b79 100644
--- a/test/gigs/5201.gie
+++ b/test/gigs/5201.gie
@@ -12,6 +12,8 @@ Test 5201, Geographic Geocentric conversions, v2.0_2011-09-28. (EPSG 4979 - WGS8
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4978 +inv
diff --git a/test/gigs/5208.gie b/test/gigs/5208.gie
index 25a10b96..985dfdcb 100644
--- a/test/gigs/5208.gie
+++ b/test/gigs/5208.gie
@@ -22,6 +22,8 @@ To be on the safe side we, use 0.01 m as the tolerance.
<gie>
+use_proj4_init_rules true
+
--------------------------------------------------------------------------------
operation +proj=pipeline
+step +init=epsg:4275 +inv
diff --git a/test/gigs/Makefile.am b/test/gigs/Makefile.am
index f53825bd..bea3be59 100644
--- a/test/gigs/Makefile.am
+++ b/test/gigs/Makefile.am
@@ -20,7 +20,7 @@ EXTRA_DIST = \
5201.gie \
5208.gie
-PROJ_LIB ?= $(top_srcdir)/data
+PROJ_LIB ?= ../../data
5101.1: 5101.1-jhs.gie
PROJ_LIB=$(PROJ_LIB) $(GIEEXE) $<
diff --git a/test/unit/CMakeLists.txt b/test/unit/CMakeLists.txt
index 5138dafc..68a6e60f 100644
--- a/test/unit/CMakeLists.txt
+++ b/test/unit/CMakeLists.txt
@@ -58,13 +58,13 @@ endif()
include_directories(${CMAKE_SOURCE_DIR}/include)
include_directories(${SQLITE3_INCLUDE_DIR})
-add_executable(proj_test_unit
+add_executable(proj_pj_transform_test
main.cpp
- basic_test.cpp)
-target_link_libraries(proj_test_unit
+ pj_transform_test.cpp)
+target_link_libraries(proj_pj_transform_test
gtest
${PROJ_LIBRARIES})
-add_test(NAME proj_test_unit COMMAND proj_test_unit)
+add_test(NAME proj_pj_transform_test COMMAND proj_pj_transform_test)
add_executable(proj_errno_string_test
main.cpp
@@ -103,3 +103,11 @@ target_link_libraries(proj_test_cpp_api
${PROJ_LIBRARIES}
${SQLITE3_LIBRARY})
add_test(NAME proj_test_cpp_api COMMAND proj_test_cpp_api)
+
+add_executable(gie_self_tests
+ main.cpp
+ gie_self_tests.cpp)
+target_link_libraries(gie_self_tests
+ gtest
+ ${PROJ_LIBRARIES})
+add_test(NAME gie_self_tests COMMAND gie_self_tests)
diff --git a/test/unit/Makefile.am b/test/unit/Makefile.am
index 77525f9a..236ad444 100644
--- a/test/unit/Makefile.am
+++ b/test/unit/Makefile.am
@@ -9,19 +9,17 @@ AM_CXXFLAGS = @CXX_WFLAGS@ @NO_ZERO_AS_NULL_POINTER_CONSTANT_FLAG@
PROJ_LIB ?= ../../data
-noinst_PROGRAMS = basic_test
+noinst_PROGRAMS = pj_transform_test
noinst_PROGRAMS += pj_phi2_test
noinst_PROGRAMS += proj_errno_string_test
noinst_PROGRAMS += test_cpp_api
+noinst_PROGRAMS += gie_self_tests
-basic_test_SOURCES = basic_test.cpp main.cpp
-basic_test_LDADD = ../../src/libproj.la ../../test/googletest/libgtest.la
+pj_transform_test_SOURCES = pj_transform_test.cpp main.cpp
+pj_transform_test_LDADD = ../../src/libproj.la ../../test/googletest/libgtest.la
-test_cpp_api_SOURCES = test_util.cpp test_common.cpp test_crs.cpp test_metadata.cpp test_io.cpp test_operation.cpp test_datum.cpp test_factory.cpp test_c_api.cpp main.cpp
-test_cpp_api_LDADD = ../../src/libproj.la ../../test/googletest/libgtest.la @SQLITE3_LDFLAGS@
-
-basic_test-check: basic_test
- ./basic_test
+pj_transform_test-check: pj_transform_test
+ PROJ_LIB=$(PROJ_LIB) ./pj_transform_test
pj_phi2_test_SOURCES = pj_phi2_test.cpp main.cpp
pj_phi2_test_LDADD = ../../src/libproj.la ../../test/googletest/libgtest.la
@@ -35,10 +33,16 @@ proj_errno_string_test_LDADD= ../../src/libproj.la ../../test/googletest/libgtes
proj_errno_string_test-check: proj_errno_string_test
./proj_errno_string_test
-check-local: basic_test-check
-check-local: pj_phi2_test-check proj_errno_string_test-check
+test_cpp_api_SOURCES = test_util.cpp test_common.cpp test_crs.cpp test_metadata.cpp test_io.cpp test_operation.cpp test_datum.cpp test_factory.cpp test_c_api.cpp main.cpp
+test_cpp_api_LDADD = ../../src/libproj.la ../../test/googletest/libgtest.la @SQLITE3_LDFLAGS@
test_cpp_api-check: test_cpp_api
PROJ_LIB=$(PROJ_LIB) ./test_cpp_api
-check-local: basic_test-check test_cpp_api-check
+gie_self_tests_SOURCES = gie_self_tests.cpp main.cpp
+gie_self_tests_LDADD = ../../src/libproj.la ../../test/googletest/libgtest.la @SQLITE3_LDFLAGS@
+
+gie_self_tests-check: gie_self_tests
+ PROJ_LIB=$(PROJ_LIB) ./gie_self_tests
+
+check-local: pj_transform_test-check pj_phi2_test-check proj_errno_string_test-check test_cpp_api-check gie_self_tests-check
diff --git a/test/unit/basic_test.cpp b/test/unit/basic_test.cpp
deleted file mode 100644
index d565f839..00000000
--- a/test/unit/basic_test.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/******************************************************************************
- *
- * Project: PROJ
- * Purpose: Test
- * Author: Even Rouault <even dot rouault at spatialys dot com>
- *
- ******************************************************************************
- * Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot 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.
- ****************************************************************************/
-
-#include "gtest_include.h"
-#include <proj.h>
-#include <memory>
-
-namespace {
-
-// ---------------------------------------------------------------------------
-
-TEST( dumy, dummy ) {
- std::unique_ptr<PJ, decltype(&::proj_destroy)> pj(
- ::proj_create(PJ_DEFAULT_CTX, "+proj=merc +ellps=clrk66 +lat_ts=33"),
- &::proj_destroy);
- ASSERT_NE(pj, nullptr);
-}
-
-} // namespace
diff --git a/test/unit/gie_self_tests.cpp b/test/unit/gie_self_tests.cpp
new file mode 100644
index 00000000..b7af926b
--- /dev/null
+++ b/test/unit/gie_self_tests.cpp
@@ -0,0 +1,664 @@
+/******************************************************************************
+ *
+ * Project: PROJ
+ * Purpose: Test
+ * Author: Even Rouault <even dot rouault at spatialys dot com>
+ *
+ ******************************************************************************
+ * Copyright (c) 2017, Thomas Knudsen
+ * Copyright (c) 2017, SDFE
+ *
+ * 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 "gtest_include.h"
+
+// PROJ include order is sensitive
+// clang-format off
+#include "proj_internal.h"
+#include "proj.h"
+#include "projects.h"
+// clang-format on
+
+#include <cmath>
+#include <string>
+
+namespace {
+
+// ---------------------------------------------------------------------------
+
+TEST(gie, cart_selftest) {
+ PJ_CONTEXT *ctx;
+ PJ *P;
+ PJ_COORD a, b, obs[2];
+ PJ_COORD coord[2];
+
+ int err;
+ size_t n, sz;
+ double dist, h, t;
+ const char *const args[3] = {"proj=utm", "zone=32", "ellps=GRS80"};
+ char arg[50] = {"+proj=utm; +zone=32; +ellps=GRS80"};
+
+ /* An utm projection on the GRS80 ellipsoid */
+ P = proj_create(PJ_DEFAULT_CTX, arg);
+ ASSERT_TRUE(P != nullptr);
+
+ /* Clean up */
+ proj_destroy(P);
+
+ /* Same projection, now using argc/argv style initialization */
+ P = proj_create_argv(PJ_DEFAULT_CTX, 3, const_cast<char **>(args));
+ ASSERT_TRUE(P != nullptr);
+
+ /* zero initialize everything, then set (longitude, latitude) to (12, 55) */
+ a = proj_coord(0, 0, 0, 0);
+ /* a.lp: The coordinate part of a, interpreted as a classic LP pair */
+ a.lp.lam = proj_torad(12);
+ a.lp.phi = proj_torad(55);
+
+ /* Forward projection */
+ b = proj_trans(P, PJ_FWD, a);
+
+ /* Inverse projection */
+ a = proj_trans(P, PJ_INV, b);
+
+ /* Null projection */
+ a = proj_trans(P, PJ_IDENT, a);
+
+ /* Forward again, to get two linear items for comparison */
+ a = proj_trans(P, PJ_FWD, a);
+
+ dist = proj_xy_dist(a, b);
+ ASSERT_LE(dist, 2e-9);
+
+ /* Clear any previous error */
+ proj_errno_reset(P);
+
+ /* Invalid projection */
+ a = proj_trans(P, static_cast<PJ_DIRECTION>(42), a);
+ ASSERT_EQ(a.lpz.lam, HUGE_VAL);
+
+ err = proj_errno(P);
+ ASSERT_NE(err, 0);
+
+ /* Clear error again */
+ proj_errno_reset(P);
+
+ /* Clean up */
+ proj_destroy(P);
+
+ /* Now do some 3D transformations */
+ P = proj_create(PJ_DEFAULT_CTX, "+proj=cart +ellps=GRS80");
+ ASSERT_TRUE(P != nullptr);
+
+ /* zero initialize everything, then set (longitude, latitude, height) to
+ * (12, 55, 100) */
+ a = b = proj_coord(0, 0, 0, 0);
+ a.lpz.lam = proj_torad(12);
+ a.lpz.phi = proj_torad(55);
+ a.lpz.z = 100;
+
+ /* Forward projection: 3D-Cartesian-to-Ellipsoidal */
+ b = proj_trans(P, PJ_FWD, a);
+
+ /* Check roundtrip precision for 10000 iterations each way */
+ dist = proj_roundtrip(P, PJ_FWD, 10000, &a);
+ dist += proj_roundtrip(P, PJ_INV, 10000, &b);
+ ASSERT_LE(dist, 4e-9);
+
+ /* Test at the North Pole */
+ a = b = proj_coord(0, 0, 0, 0);
+ a.lpz.lam = proj_torad(0);
+ a.lpz.phi = proj_torad(90);
+ a.lpz.z = 100;
+
+ /* Forward projection: Ellipsoidal-to-3D-Cartesian */
+ dist = proj_roundtrip(P, PJ_FWD, 1, &a);
+ ASSERT_LE(dist, 1e-9);
+
+ /* Test at the South Pole */
+ a = b = proj_coord(0, 0, 0, 0);
+ a.lpz.lam = proj_torad(0);
+ a.lpz.phi = proj_torad(-90);
+ a.lpz.z = 100;
+ b = a;
+
+ /* Forward projection: Ellipsoidal-to-3D-Cartesian */
+ dist = proj_roundtrip(P, PJ_FWD, 1, &a);
+ ASSERT_LE(dist, 4e-9);
+
+ /* Inverse projection: 3D-Cartesian-to-Ellipsoidal */
+ b = proj_trans(P, PJ_INV, b);
+
+ /* Move p to another context */
+ ctx = proj_context_create();
+ ASSERT_NE(ctx, pj_get_default_ctx());
+
+ proj_context_set(P, ctx);
+ ASSERT_EQ(ctx, P->ctx);
+
+ b = proj_trans(P, PJ_FWD, b);
+
+ /* Move it back to the default context */
+ proj_context_set(P, 0);
+ ASSERT_EQ(pj_get_default_ctx(), P->ctx);
+
+ proj_context_destroy(ctx);
+
+ /* We go on with the work - now back on the default context */
+ b = proj_trans(P, PJ_INV, b);
+ proj_destroy(P);
+
+ /* Testing proj_trans_generic () */
+
+ /* An utm projection on the GRS80 ellipsoid */
+ P = proj_create(PJ_DEFAULT_CTX, "+proj=utm +zone=32 +ellps=GRS80");
+ ASSERT_TRUE(P != nullptr);
+
+ obs[0] = proj_coord(proj_torad(12), proj_torad(55), 45, 0);
+ obs[1] = proj_coord(proj_torad(12), proj_torad(56), 50, 0);
+ sz = sizeof(PJ_COORD);
+
+ /* Forward projection */
+ a = proj_trans(P, PJ_FWD, obs[0]);
+ b = proj_trans(P, PJ_FWD, obs[1]);
+
+ n = proj_trans_generic(P, PJ_FWD, &(obs[0].lpz.lam), sz, 2,
+ &(obs[0].lpz.phi), sz, 2, &(obs[0].lpz.z), sz, 2, 0,
+ sz, 0);
+ ASSERT_EQ(n, 2);
+
+ ASSERT_EQ(a.lpz.lam, obs[0].lpz.lam);
+ ASSERT_EQ(a.lpz.phi, obs[0].lpz.phi);
+ ASSERT_EQ(a.lpz.z, obs[0].lpz.z);
+ ASSERT_EQ(b.lpz.lam, obs[1].lpz.lam);
+ ASSERT_EQ(b.lpz.phi, obs[1].lpz.phi);
+ ASSERT_EQ(b.lpz.z, obs[1].lpz.z);
+
+ /* now test the case of constant z */
+ obs[0] = proj_coord(proj_torad(12), proj_torad(55), 45, 0);
+ obs[1] = proj_coord(proj_torad(12), proj_torad(56), 50, 0);
+ h = 27;
+ t = 33;
+ n = proj_trans_generic(P, PJ_FWD, &(obs[0].lpz.lam), sz, 2,
+ &(obs[0].lpz.phi), sz, 2, &h, 0, 1, &t, 0, 1);
+ ASSERT_EQ(n, 2);
+
+ ASSERT_EQ(a.lpz.lam, obs[0].lpz.lam);
+ ASSERT_EQ(a.lpz.phi, obs[0].lpz.phi);
+ ASSERT_EQ(45, obs[0].lpz.z);
+ ASSERT_EQ(b.lpz.lam, obs[1].lpz.lam);
+ ASSERT_EQ(b.lpz.phi, obs[1].lpz.phi);
+ ASSERT_EQ(50, obs[1].lpz.z);
+ ASSERT_NE(50, h);
+
+ /* test proj_trans_array () */
+
+ coord[0] = proj_coord(proj_torad(12), proj_torad(55), 45, 0);
+ coord[1] = proj_coord(proj_torad(12), proj_torad(56), 50, 0);
+ ASSERT_FALSE(proj_trans_array(P, PJ_FWD, 2, coord));
+
+ ASSERT_EQ(a.lpz.lam, coord[0].lpz.lam);
+ ASSERT_EQ(a.lpz.phi, coord[0].lpz.phi);
+ ASSERT_EQ(a.lpz.z, coord[0].lpz.z);
+ ASSERT_EQ(b.lpz.lam, coord[1].lpz.lam);
+ ASSERT_EQ(b.lpz.phi, coord[1].lpz.phi);
+ ASSERT_EQ(b.lpz.z, coord[1].lpz.z);
+
+ /* Clean up after proj_trans_* tests */
+ proj_destroy(P);
+}
+
+// ---------------------------------------------------------------------------
+
+class gieTest : public ::testing::Test {
+
+ static void DummyLogFunction(void *, int, const char *) {}
+
+ protected:
+ void SetUp() override {
+ m_ctxt = proj_context_create();
+ proj_log_func(m_ctxt, nullptr, DummyLogFunction);
+ }
+
+ void TearDown() override { proj_context_destroy(m_ctxt); }
+
+ PJ_CONTEXT *m_ctxt = nullptr;
+};
+
+// ---------------------------------------------------------------------------
+
+TEST_F(gieTest, proj_create_crs_to_crs) {
+ /* test proj_create_crs_to_crs() */
+ auto P = proj_create_crs_to_crs(PJ_DEFAULT_CTX, "epsg:25832", "epsg:25833",
+ NULL);
+ ASSERT_TRUE(P != nullptr);
+ PJ_COORD a, b;
+
+ a.xy.x = 700000.0;
+ a.xy.y = 6000000.0;
+ b.xy.x = 307788.8761171057;
+ b.xy.y = 5999669.3036037628;
+
+ a = proj_trans(P, PJ_FWD, a);
+ EXPECT_NEAR(a.xy.x, b.xy.x, 1e-9);
+ EXPECT_NEAR(a.xy.y, b.xy.y, 1e-9);
+ proj_destroy(P);
+
+ /* we can also allow PROJ strings as a usable PJ */
+ P = proj_create_crs_to_crs(PJ_DEFAULT_CTX, "proj=utm +zone=32 +datum=WGS84",
+ "proj=utm +zone=33 +datum=WGS84", NULL);
+ ASSERT_TRUE(P != nullptr);
+ proj_destroy(P);
+
+ EXPECT_TRUE(proj_create_crs_to_crs(m_ctxt, "invalid", "EPSG:25833", NULL) ==
+ nullptr);
+ EXPECT_TRUE(proj_create_crs_to_crs(m_ctxt, "EPSG:25832", "invalid", NULL) ==
+ nullptr);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(gieTest, proj_create_crs_to_crs_EPSG_4326) {
+
+ auto P =
+ proj_create_crs_to_crs(PJ_DEFAULT_CTX, "EPSG:4326", "EPSG:32631", NULL);
+ ASSERT_TRUE(P != nullptr);
+ PJ_COORD a, b;
+
+ // Lat, long degrees
+ a.xy.x = 0.0;
+ a.xy.y = 3.0;
+
+ b.xy.x = 500000.0;
+ b.xy.y = 0.0;
+
+ a = proj_trans(P, PJ_FWD, a);
+ EXPECT_NEAR(a.xy.x, b.xy.x, 1e-9);
+ EXPECT_NEAR(a.xy.y, b.xy.y, 1e-9);
+ proj_destroy(P);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(gieTest, proj_create_crs_to_crs_proj_longlat) {
+
+ auto P = proj_create_crs_to_crs(
+ PJ_DEFAULT_CTX, "+proj=longlat +datum=WGS84", "EPSG:32631", NULL);
+ ASSERT_TRUE(P != nullptr);
+ PJ_COORD a, b;
+
+ // Long, lat degrees
+ a.xy.x = 3.0;
+ a.xy.y = 0;
+
+ b.xy.x = 500000.0;
+ b.xy.y = 0.0;
+
+ a = proj_trans(P, PJ_FWD, a);
+ EXPECT_NEAR(a.xy.x, b.xy.x, 1e-9);
+ EXPECT_NEAR(a.xy.y, b.xy.y, 1e-9);
+ proj_destroy(P);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(gie, info_functions) {
+ PJ_INFO info;
+ PJ_PROJ_INFO pj_info;
+ PJ_GRID_INFO grid_info;
+ PJ_INIT_INFO init_info;
+
+ PJ_FACTORS factors;
+
+ const PJ_OPERATIONS *oper_list;
+ const PJ_ELLPS *ellps_list;
+ const PJ_UNITS *unit_list;
+ const PJ_PRIME_MERIDIANS *pm_list;
+
+ char buf[40];
+ PJ *P;
+ char arg[50] = {"+proj=utm; +zone=32; +ellps=GRS80"};
+ PJ_COORD a;
+
+ /* ********************************************************************** */
+ /* Test info functions */
+ /* ********************************************************************** */
+
+ /* proj_info() */
+ /* this one is difficult to test, since the output changes with the setup */
+ info = proj_info();
+
+ if (info.version[0] != '\0') {
+ char tmpstr[64];
+ sprintf(tmpstr, "%d.%d.%d", info.major, info.minor, info.patch);
+ ASSERT_EQ(std::string(info.version), std::string(tmpstr));
+ }
+ ASSERT_NE(std::string(info.release), "");
+ if (getenv("HOME") || getenv("PROJ_LIB")) {
+ ASSERT_NE(std::string(info.searchpath), std::string());
+ }
+
+ /* proj_pj_info() */
+ {
+ P = proj_create(PJ_DEFAULT_CTX,
+ "+proj=august"); /* august has no inverse */
+ auto has_inverse = proj_pj_info(P).has_inverse;
+ proj_destroy(P);
+ ASSERT_FALSE(has_inverse);
+ }
+
+ P = proj_create(PJ_DEFAULT_CTX, arg);
+ pj_info = proj_pj_info(P);
+ ASSERT_TRUE(pj_info.has_inverse);
+ pj_shrink(arg);
+ ASSERT_EQ(std::string(pj_info.definition), arg);
+ ASSERT_EQ(std::string(pj_info.id), "utm");
+
+ proj_destroy(P);
+
+ /* proj_grid_info() */
+ grid_info = proj_grid_info("null");
+ ASSERT_NE(std::string(grid_info.filename), "");
+ ASSERT_EQ(std::string(grid_info.gridname), "null");
+
+ grid_info = proj_grid_info("nonexistinggrid");
+ ASSERT_EQ(std::string(grid_info.filename), "");
+
+ /* proj_init_info() */
+ init_info = proj_init_info("unknowninit");
+ ASSERT_EQ(std::string(init_info.filename), "");
+
+ init_info = proj_init_info("epsg");
+ /* Need to allow for "Unknown" until all commonly distributed EPSG-files
+ * comes with a metadata section */
+ ASSERT_TRUE(std::string(init_info.origin) == "EPSG" ||
+ std::string(init_info.origin) == "Unknown")
+ << std::string(init_info.origin);
+ ASSERT_EQ(std::string(init_info.name), "epsg");
+
+ /* test proj_rtodms() and proj_dmstor() */
+ ASSERT_EQ(std::string("180dN"), proj_rtodms(buf, M_PI, 'N', 'S'));
+
+ ASSERT_EQ(proj_dmstor(&buf[0], NULL), M_PI);
+
+ ASSERT_EQ(std::string("114d35'29.612\"S"),
+ proj_rtodms(buf, -2.0, 'N', 'S'));
+
+ /* we can't expect perfect numerical accuracy so testing with a tolerance */
+ ASSERT_NEAR(-2.0, proj_dmstor(&buf[0], NULL), 1e-7);
+
+ /* test proj_derivatives_retrieve() and proj_factors_retrieve() */
+ P = proj_create(PJ_DEFAULT_CTX, "+proj=merc");
+ a = proj_coord(0, 0, 0, 0);
+ a.lp.lam = proj_torad(12);
+ a.lp.phi = proj_torad(55);
+
+ factors = proj_factors(P, a);
+ ASSERT_FALSE(proj_errno(P)); /* factors not created correctly */
+
+ /* check a few key characteristics of the Mercator projection */
+ ASSERT_EQ(factors.angular_distortion,
+ 0.0); /* angular distortion should be 0 */
+ ASSERT_EQ(factors.meridian_parallel_angle,
+ M_PI_2); /* Meridian/parallel angle should be 90 deg */
+ ASSERT_EQ(factors.meridian_convergence,
+ 0.0); /* meridian convergence should be 0 */
+
+ proj_destroy(P);
+
+ /* Check that proj_list_* functions work by looping through them */
+ size_t n = 0;
+ for (oper_list = proj_list_operations(); oper_list->id; ++oper_list)
+ n++;
+ ASSERT_NE(n, 0U);
+
+ n = 0;
+ for (ellps_list = proj_list_ellps(); ellps_list->id; ++ellps_list)
+ n++;
+ ASSERT_NE(n, 0U);
+
+ n = 0;
+ for (unit_list = proj_list_units(); unit_list->id; ++unit_list)
+ n++;
+ ASSERT_NE(n, 0U);
+
+ n = 0;
+ for (pm_list = proj_list_prime_meridians(); pm_list->id; ++pm_list)
+ n++;
+ ASSERT_NE(n, 0U);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(gie, io_predicates) {
+ /* check io-predicates */
+
+ /* angular in on fwd, linear out */
+ auto P = proj_create(PJ_DEFAULT_CTX, "+proj=cart +ellps=GRS80");
+ ASSERT_TRUE(P != nullptr);
+ ASSERT_TRUE(proj_angular_input(P, PJ_FWD));
+ ASSERT_FALSE(proj_angular_input(P, PJ_INV));
+ ASSERT_FALSE(proj_angular_output(P, PJ_FWD));
+ ASSERT_TRUE(proj_angular_output(P, PJ_INV));
+ P->inverted = 1;
+ ASSERT_FALSE(proj_angular_input(P, PJ_FWD));
+ ASSERT_TRUE(proj_angular_input(P, PJ_INV));
+ ASSERT_TRUE(proj_angular_output(P, PJ_FWD));
+ ASSERT_FALSE(proj_angular_output(P, PJ_INV));
+ proj_destroy(P);
+
+ /* angular in and out */
+ P = proj_create(PJ_DEFAULT_CTX,
+ "+proj=molodensky +a=6378160 +rf=298.25 "
+ "+da=-23 +df=-8.120449e-8 +dx=-134 +dy=-48 +dz=149 "
+ "+abridged ");
+ ASSERT_TRUE(P != nullptr);
+ ASSERT_TRUE(proj_angular_input(P, PJ_FWD));
+ ASSERT_TRUE(proj_angular_input(P, PJ_INV));
+ ASSERT_TRUE(proj_angular_output(P, PJ_FWD));
+ ASSERT_TRUE(proj_angular_output(P, PJ_INV));
+ P->inverted = 1;
+ ASSERT_TRUE(proj_angular_input(P, PJ_FWD));
+ ASSERT_TRUE(proj_angular_input(P, PJ_INV));
+ ASSERT_TRUE(proj_angular_output(P, PJ_FWD));
+ ASSERT_TRUE(proj_angular_output(P, PJ_INV));
+ proj_destroy(P);
+
+ /* linear in and out */
+ P = proj_create(PJ_DEFAULT_CTX,
+ " +proj=helmert"
+ " +x=0.0127 +y=0.0065 +z=-0.0209 +s=0.00195"
+ " +rx=-0.00039 +ry=0.00080 +rz=-0.00114"
+ " +dx=-0.0029 +dy=-0.0002 +dz=-0.0006 +ds=0.00001"
+ " +drx=-0.00011 +dry=-0.00019 +drz=0.00007"
+ " +t_epoch=1988.0 +convention=coordinate_frame +no_defs");
+ ASSERT_TRUE(P != nullptr);
+ ASSERT_FALSE(proj_angular_input(P, PJ_FWD));
+ ASSERT_FALSE(proj_angular_input(P, PJ_INV));
+ ASSERT_FALSE(proj_angular_output(P, PJ_FWD));
+ ASSERT_FALSE(proj_angular_output(P, PJ_INV));
+ P->inverted = 1;
+ ASSERT_FALSE(proj_angular_input(P, PJ_FWD));
+ ASSERT_FALSE(proj_angular_input(P, PJ_INV));
+ ASSERT_FALSE(proj_angular_output(P, PJ_FWD));
+ ASSERT_FALSE(proj_angular_output(P, PJ_INV));
+
+ /* We specified "no_defs" but didn't give any ellipsoid info */
+ /* pj_init_ctx should default to WGS84 */
+ ASSERT_EQ(P->a, 6378137.0);
+ ASSERT_EQ(P->f, 1.0 / 298.257223563);
+ proj_destroy(P);
+
+ /* Test that pj_fwd* and pj_inv* returns NaNs when receiving NaN input */
+ P = proj_create(PJ_DEFAULT_CTX, "+proj=merc");
+ ASSERT_TRUE(P != nullptr);
+ auto a = proj_coord(NAN, NAN, NAN, NAN);
+ a = proj_trans(P, PJ_FWD, a);
+ ASSERT_TRUE((std::isnan(a.v[0]) && std::isnan(a.v[1]) &&
+ std::isnan(a.v[2]) && std::isnan(a.v[3])));
+
+ a = proj_coord(NAN, NAN, NAN, NAN);
+ a = proj_trans(P, PJ_INV, a);
+ ASSERT_TRUE((std::isnan(a.v[0]) && std::isnan(a.v[1]) &&
+ std::isnan(a.v[2]) && std::isnan(a.v[3])));
+ proj_destroy(P);
+}
+
+// ---------------------------------------------------------------------------
+
+static void test_time(const char *args, double tol, double t_in, double t_exp) {
+ PJ_COORD in, out;
+ PJ *P = proj_create(PJ_DEFAULT_CTX, args);
+
+ ASSERT_TRUE(P != 0);
+
+ in = proj_coord(0.0, 0.0, 0.0, t_in);
+
+ out = proj_trans(P, PJ_FWD, in);
+ EXPECT_NEAR(out.xyzt.t, t_exp, tol);
+
+ out = proj_trans(P, PJ_INV, out);
+ EXPECT_NEAR(out.xyzt.t, t_in, tol);
+
+ pj_free(P);
+
+ proj_log_level(NULL, PJ_LOG_NONE);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(gie, unitconvert_selftest) {
+
+ char args1[] = "+proj=unitconvert +t_in=decimalyear +t_out=decimalyear";
+ double in1 = 2004.25;
+
+ char args2[] = "+proj=unitconvert +t_in=gps_week +t_out=gps_week";
+ double in2 = 1782.0;
+
+ char args3[] = "+proj=unitconvert +t_in=mjd +t_out=mjd";
+ double in3 = 57390.0;
+
+ char args4[] = "+proj=unitconvert +t_in=gps_week +t_out=decimalyear";
+ double in4 = 1877.71428, exp4 = 2016.0;
+
+ char args5[] = "+proj=unitconvert +t_in=yyyymmdd +t_out=yyyymmdd";
+ double in5 = 20170131;
+
+ test_time(args1, 1e-6, in1, in1);
+ test_time(args2, 1e-6, in2, in2);
+ test_time(args3, 1e-6, in3, in3);
+ test_time(args4, 1e-6, in4, exp4);
+ test_time(args5, 1e-6, in5, in5);
+}
+
+static const char tc32_utm32[] = {
+ " +proj=horner"
+ " +ellps=intl"
+ " +range=500000"
+ " +fwd_origin=877605.269066,6125810.306769"
+ " +inv_origin=877605.760036,6125811.281773"
+ " +deg=4"
+ " +fwd_v=6.1258112678e+06,9.9999971567e-01,1.5372750011e-10,5.9300860915e-"
+ "15,2.2609497633e-19,4.3188227445e-05,2.8225130416e-10,7.8740007114e-16,-1."
+ "7453997279e-19,1.6877465415e-10,-1.1234649773e-14,-1.7042333358e-18,-7."
+ "9303467953e-15,-5.2906832535e-19,3.9984284847e-19"
+ " +fwd_u=8.7760574982e+05,9.9999752475e-01,2.8817299305e-10,5.5641310680e-"
+ "15,-1.5544700949e-18,-4.1357045890e-05,4.2106213519e-11,2.8525551629e-14,-"
+ "1.9107771273e-18,3.3615590093e-10,2.4380247154e-14,-2.0241230315e-18,1."
+ "2429019719e-15,5.3886155968e-19,-1.0167505000e-18"
+ " +inv_v=6.1258103208e+06,1.0000002826e+00,-1.5372762184e-10,-5."
+ "9304261011e-15,-2.2612705361e-19,-4.3188331419e-05,-2.8225549995e-10,-7."
+ "8529116371e-16,1.7476576773e-19,-1.6875687989e-10,1.1236475299e-14,1."
+ "7042518057e-18,7.9300735257e-15,5.2881862699e-19,-3.9990736798e-19"
+ " +inv_u=8.7760527928e+05,1.0000024735e+00,-2.8817540032e-10,-5."
+ "5627059451e-15,1.5543637570e-18,4.1357152105e-05,-4.2114813612e-11,-2."
+ "8523713454e-14,1.9109017837e-18,-3.3616407783e-10,-2.4382678126e-14,2."
+ "0245020199e-18,-1.2441377565e-15,-5.3885232238e-19,1.0167203661e-18"};
+
+static const char sb_utm32[] = {
+ " +proj=horner"
+ " +ellps=intl"
+ " +range=500000"
+ " +tolerance=0.0005"
+ " +fwd_origin=4.94690026817276e+05,6.13342113183056e+06"
+ " +inv_origin=6.19480258923588e+05,6.13258568148837e+06"
+ " +deg=3"
+ " +fwd_c=6.13258562111350e+06,6.19480105709997e+05,9.99378966275206e-01,-2."
+ "82153291753490e-02,-2.27089979140026e-10,-1.77019590701470e-09,1."
+ "08522286274070e-14,2.11430298751604e-15"
+ " +inv_c=6.13342118787027e+06,4.94690181709311e+05,9.99824464710368e-01,2."
+ "82279070814774e-02,7.66123542220864e-11,1.78425334628927e-09,-1."
+ "05584823306400e-14,-3.32554258683744e-15"};
+
+// ---------------------------------------------------------------------------
+
+TEST(gie, horner_selftest) {
+
+ PJ *P;
+ PJ_COORD a, b, c;
+ double dist;
+
+ /* Real polynonia relating the technical coordinate system TC32 to "System
+ * 45 Bornholm" */
+ P = proj_create(PJ_DEFAULT_CTX, tc32_utm32);
+ ASSERT_TRUE(P != nullptr);
+
+ a = b = proj_coord(0, 0, 0, 0);
+ a.uv.v = 6125305.4245;
+ a.uv.u = 878354.8539;
+ c = a;
+
+ /* Check roundtrip precision for 1 iteration each way, starting in forward
+ * direction */
+ dist = proj_roundtrip(P, PJ_FWD, 1, &c);
+ EXPECT_LE(dist, 0.01);
+ proj_destroy(P);
+
+ /* The complex polynomial transformation between the "System Storebaelt" and
+ * utm32/ed50 */
+ P = proj_create(PJ_DEFAULT_CTX, sb_utm32);
+ ASSERT_TRUE(P != nullptr);
+
+ /* Test value: utm32_ed50(620000, 6130000) = sb_ed50(495136.8544,
+ * 6130821.2945) */
+ a = b = c = proj_coord(0, 0, 0, 0);
+ a.uv.v = 6130821.2945;
+ a.uv.u = 495136.8544;
+ c.uv.v = 6130000.0000;
+ c.uv.u = 620000.0000;
+
+ /* Forward projection */
+ b = proj_trans(P, PJ_FWD, a);
+ dist = proj_xy_dist(b, c);
+ EXPECT_LE(dist, 0.001);
+
+ /* Inverse projection */
+ b = proj_trans(P, PJ_INV, c);
+ dist = proj_xy_dist(b, a);
+ EXPECT_LE(dist, 0.001);
+
+ /* Check roundtrip precision for 1 iteration each way */
+ dist = proj_roundtrip(P, PJ_FWD, 1, &a);
+ EXPECT_LE(dist, 0.01);
+
+ proj_destroy(P);
+}
+
+} // namespace
diff --git a/test/unit/main.cpp b/test/unit/main.cpp
index f24a7aa6..d53e4236 100644
--- a/test/unit/main.cpp
+++ b/test/unit/main.cpp
@@ -31,9 +31,9 @@
#include "gtest_include.h"
GTEST_API_ int main(int argc, char **argv) {
- // Use a potentially non-C locale to make sure we are robust
- setlocale(LC_ALL, "");
+ // Use a potentially non-C locale to make sure we are robust
+ setlocale(LC_ALL, "");
- testing::InitGoogleTest(&argc, argv);
- return RUN_ALL_TESTS();
+ testing::InitGoogleTest(&argc, argv);
+ return RUN_ALL_TESTS();
}
diff --git a/test/unit/pj_phi2_test.cpp b/test/unit/pj_phi2_test.cpp
index 186bcbc5..67441b69 100644
--- a/test/unit/pj_phi2_test.cpp
+++ b/test/unit/pj_phi2_test.cpp
@@ -60,7 +60,6 @@ TEST(PjPhi2Test, Basic) {
EXPECT_TRUE(std::isnan(pj_phi2(ctx, -M_PI, -M_PI)));
}
-
TEST(PjPhi2Test, AvoidUndefinedBehavior) {
auto ctx = pj_get_default_ctx();
@@ -82,4 +81,4 @@ TEST(PjPhi2Test, AvoidUndefinedBehavior) {
EXPECT_TRUE(std::isnan(pj_phi2(ctx, -inf, -inf)));
}
-} // namespace
+} // namespace
diff --git a/test/unit/pj_transform_test.cpp b/test/unit/pj_transform_test.cpp
new file mode 100644
index 00000000..95329bdb
--- /dev/null
+++ b/test/unit/pj_transform_test.cpp
@@ -0,0 +1,583 @@
+/******************************************************************************
+ *
+ * Project: PROJ
+ * Purpose: Test pj_transform() legacy interface
+ * Author: Even Rouault <even dot rouault at spatialys dot com>
+ *
+ ******************************************************************************
+ * Copyright (c) 2018, Even Rouault <even dot rouault at spatialys dot 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 ACCEPT_USE_OF_DEPRECATED_PROJ_API_H
+
+#include "gtest_include.h"
+#include <memory>
+
+// PROJ include order is sensitive
+// clang-format off
+#include <projects.h>
+#include <proj_api.h>
+// clang-format on
+
+namespace {
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_to_longlat) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_EQ(x, 2 * DEG_TO_RAD);
+ EXPECT_EQ(y, 49 * DEG_TO_RAD);
+
+ x = 182 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_EQ(x, 182 * DEG_TO_RAD);
+ EXPECT_EQ(y, 49 * DEG_TO_RAD);
+
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_to_proj) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=utm +zone=31 +datum=WGS84");
+ double x = 3 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 500000, 1e-8);
+ EXPECT_NEAR(y, 0, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_to_proj_tometer) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=utm +zone=31 +datum=WGS84 +to_meter=1000");
+ double x = 3 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 500, 1e-8);
+ EXPECT_NEAR(y, 0, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, proj_to_longlat) {
+ auto src = pj_init_plus("+proj=utm +zone=31 +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 500000;
+ double y = 0;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 3 * DEG_TO_RAD, 1e-12);
+ EXPECT_NEAR(y, 0 * DEG_TO_RAD, 1e-12);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, proj_to_proj) {
+ auto src = pj_init_plus("+proj=utm +zone=31 +datum=WGS84");
+ auto dst = pj_init_plus("+proj=utm +zone=31 +datum=WGS84");
+ double x = 500000;
+ double y = 0;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 500000, 1e-8);
+ EXPECT_NEAR(y, 0, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_to_geocent) {
+ auto src = pj_init_plus("+proj=longlat +R=2");
+ auto dst = pj_init_plus("+proj=geocent +R=2");
+ double x = 0;
+ double y = 0;
+ double z = 0;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2, 1e-8);
+ EXPECT_NEAR(y, 0, 1e-8);
+ EXPECT_NEAR(z, 0, 1e-8);
+
+ x = 90 * DEG_TO_RAD;
+ y = 0;
+ z = 0;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 0, 1e-8);
+ EXPECT_NEAR(y, 2, 1e-8);
+ EXPECT_NEAR(z, 0, 1e-8);
+
+ x = 0;
+ y = 90 * DEG_TO_RAD;
+ z = 0.1;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 0, 1e-8);
+ EXPECT_NEAR(y, 0, 1e-8);
+ EXPECT_NEAR(z, 2 + 0.1, 1e-8);
+
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_to_geocent_to_meter) {
+ auto src = pj_init_plus("+proj=longlat +R=2");
+ auto dst = pj_init_plus("+proj=geocent +R=2 +to_meter=1000");
+ double x = 0;
+ double y = 0;
+ double z = 0;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2e-3, 1e-8);
+ EXPECT_NEAR(y, 0, 1e-8);
+ EXPECT_NEAR(z, 0, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, geocent_to_longlat) {
+ auto src = pj_init_plus("+proj=geocent +R=2");
+ auto dst = pj_init_plus("+proj=longlat +R=2");
+ double x = 0;
+ double y = 2;
+ double z = 0;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 90 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 0, 1e-12);
+
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, geocent_to_meter_to_longlat) {
+ auto src = pj_init_plus("+proj=geocent +to_meter=1000 +R=2");
+ auto dst = pj_init_plus("+proj=longlat +R=2");
+ double x = 0;
+ double y = 2e-3;
+ double z = 0;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 90 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 0, 1e-12);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, pm) {
+ auto src = pj_init_plus("+proj=longlat +pm=3 +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +pm=1 +datum=WGS84");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, (2 + 3 - 1) * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_EQ(y, 49 * DEG_TO_RAD) << y / DEG_TO_RAD;
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_geoc_to_longlat) {
+ auto src = pj_init_plus("+proj=longlat +geoc +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 48.809360314691766 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_to_longlat_geoc) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +geoc +datum=WGS84");
+ double x = 2 * DEG_TO_RAD;
+ double y = 48.809360314691766 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, ellps_to_ellps_noop) {
+ auto src = pj_init_plus("+proj=longlat +ellps=clrk66");
+ auto dst = pj_init_plus("+proj=longlat +ellps=WGS84");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, towgs84_3param_noop) {
+ auto src = pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=1,2,3");
+ auto dst = pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=1,2,3");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ double z = 10;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, towgs84_7param_noop) {
+ auto src =
+ pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=1,2,3,4,5,6,7");
+ auto dst =
+ pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=1,2,3,4,5,6,7");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ double z = 10;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_towgs84_3param_to_datum) {
+ auto src = pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=0,1,0");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 90 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ double z = 10;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 90 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10 + 1, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_towgs84_3param_to_datum_no_z) {
+ auto src = pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=0,1,0");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 90 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 90 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_towgs84_7param_to_datum) {
+ auto src =
+ pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=0,1,0,0,0,0,0.5");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 90 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ double z = 10;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 90 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 14.189073500223458, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, datum_to_longlat_towgs84_3param) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=0,1,0");
+ double x = 90 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ double z = 10 + 1;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 90 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, datum_to_longlat_towgs84_7param) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst =
+ pj_init_plus("+proj=longlat +ellps=WGS84 +towgs84=0,1,0,0,0,0,0.5");
+ double x = 90 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ double z = 14.189073500223458;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 90 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, ellps_grs80_towgs84_to_datum_wgs84) {
+ auto src = pj_init_plus("+proj=longlat +ellps=GRS80 +towgs84=0,0,0");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ double z = 10;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-15) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-15) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, longlat_nadgrids_to_datum) {
+ auto src = pj_init_plus("+proj=longlat +ellps=clrk66 +nadgrids=conus");
+ auto dst = pj_init_plus("+proj=longlat +datum=NAD83");
+ double x = -100 * DEG_TO_RAD;
+ double y = 40 * DEG_TO_RAD;
+ double z = 10;
+ int ret = pj_transform(src, dst, 1, 0, &x, &y, &z);
+ EXPECT_TRUE(ret == 0 || ret == PJD_ERR_FAILED_TO_LOAD_GRID);
+ if (ret == 0) {
+ EXPECT_NEAR(x, -100.00040583667015 * DEG_TO_RAD, 1e-12)
+ << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 40.000005895651363 * DEG_TO_RAD, 1e-12)
+ << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10.000043224543333, 1e-8);
+ }
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, nadgrids_noop) {
+ auto src = pj_init_plus("+proj=longlat +ellps=clrk66 +nadgrids=conus");
+ auto dst = pj_init_plus("+proj=longlat +ellps=clrk66 +nadgrids=conus");
+ double x = -100 * DEG_TO_RAD;
+ double y = 40 * DEG_TO_RAD;
+ double z = 10;
+ int ret = pj_transform(src, dst, 1, 0, &x, &y, &z);
+ EXPECT_TRUE(ret == 0);
+ if (ret == 0) {
+ EXPECT_NEAR(x, -100 * DEG_TO_RAD, 1e-15) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 40 * DEG_TO_RAD, 1e-15) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10, 1e-8);
+ }
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, datum_to_longlat_nadgrids) {
+ auto src = pj_init_plus("+proj=longlat +datum=NAD83");
+ auto dst = pj_init_plus("+proj=longlat +ellps=clrk66 +nadgrids=conus");
+ double x = -100.00040583667015 * DEG_TO_RAD;
+ double y = 40.000005895651363 * DEG_TO_RAD;
+ double z = 10.000043224543333;
+ int ret = pj_transform(src, dst, 1, 0, &x, &y, &z);
+ EXPECT_TRUE(ret == 0 || ret == PJD_ERR_FAILED_TO_LOAD_GRID);
+ if (ret == 0) {
+ EXPECT_NEAR(x, -100 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 40 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 10, 1e-8);
+ }
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, long_wrap) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84 +lon_wrap=180");
+ double x = -1 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 359 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 0 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, src_vto_meter) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84 +vto_meter=1000");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ double z = 1;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 1000, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, dest_vto_meter) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84 +vto_meter=1000");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ double z = 1000;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 1, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, src_axis_neu_with_z) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84 +axis=neu");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 49 * DEG_TO_RAD;
+ double y = 2 * DEG_TO_RAD;
+ double z = 1;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 1, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, src_axis_neu_without_z) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84 +axis=neu");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 49 * DEG_TO_RAD;
+ double y = 2 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, src_axis_swd) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84 +axis=swd");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84");
+ double x = 49 * DEG_TO_RAD;
+ double y = 2 * DEG_TO_RAD;
+ double z = -1;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, -2 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, -49 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 1, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, dst_axis_neu) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84 +axis=neu");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ double z = 1;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, 49 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, 2 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, 1, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, dst_axis_swd) {
+ auto src = pj_init_plus("+proj=longlat +datum=WGS84");
+ auto dst = pj_init_plus("+proj=longlat +datum=WGS84 +axis=swd");
+ double x = 2 * DEG_TO_RAD;
+ double y = 49 * DEG_TO_RAD;
+ double z = 1;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, &z), 0);
+ EXPECT_NEAR(x, -49 * DEG_TO_RAD, 1e-12) << x / DEG_TO_RAD;
+ EXPECT_NEAR(y, -2 * DEG_TO_RAD, 1e-12) << y / DEG_TO_RAD;
+ EXPECT_NEAR(z, -1, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(pj_transform_test, init_epsg) {
+ auto src = pj_init_plus("+init=epsg:4326");
+ ASSERT_TRUE(src != nullptr);
+ auto dst = pj_init_plus("+init=epsg:32631");
+ double x = 3 * DEG_TO_RAD;
+ double y = 0 * DEG_TO_RAD;
+ EXPECT_EQ(pj_transform(src, dst, 1, 0, &x, &y, nullptr), 0);
+ EXPECT_NEAR(x, 500000, 1e-8);
+ EXPECT_NEAR(y, 0, 1e-8);
+ pj_free(src);
+ pj_free(dst);
+}
+
+} // namespace
diff --git a/test/unit/proj_errno_string_test.cpp b/test/unit/proj_errno_string_test.cpp
index 92840d34..dcdff5c4 100644
--- a/test/unit/proj_errno_string_test.cpp
+++ b/test/unit/proj_errno_string_test.cpp
@@ -34,18 +34,20 @@
namespace {
-TEST(ProjErrnoStringTest, NoError) {
- EXPECT_EQ(0, proj_errno_string(0));
-}
+TEST(ProjErrnoStringTest, NoError) { EXPECT_EQ(0, proj_errno_string(0)); }
TEST(ProjErrnoStringTest, ProjErrnos) {
EXPECT_STREQ("no arguments in initialization list", proj_errno_string(-1));
- EXPECT_STREQ("invalid projection system error (-1000)", proj_errno_string(-1000));
- EXPECT_STREQ("invalid projection system error (-9999)", proj_errno_string(-9999));
+ EXPECT_STREQ("invalid projection system error (-1000)",
+ proj_errno_string(-1000));
+ EXPECT_STREQ("invalid projection system error (-9999)",
+ proj_errno_string(-9999));
// for errnos < -9999, -9999 is always returned
const int min = std::numeric_limits<int>::min();
- EXPECT_STREQ("invalid projection system error (-9999)",proj_errno_string(min));
- EXPECT_STREQ("invalid projection system error (-9999)", proj_errno_string(-10000));
+ EXPECT_STREQ("invalid projection system error (-9999)",
+ proj_errno_string(min));
+ EXPECT_STREQ("invalid projection system error (-9999)",
+ proj_errno_string(-10000));
}
TEST(ProjErrnoStringTest, SystemErrnos) {
@@ -65,4 +67,4 @@ TEST(ProjErrnoStringTest, SystemErrnos) {
#endif
}
-} // namespace
+} // namespace
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp
index 8c9f114b..7db38601 100644
--- a/test/unit/test_c_api.cpp
+++ b/test/unit/test_c_api.cpp
@@ -29,6 +29,7 @@
#include "gtest_include.h"
#include "proj.h"
+#include "proj_experimental.h"
#include "proj/common.hpp"
#include "proj/coordinateoperation.hpp"
@@ -198,13 +199,14 @@ TEST_F(CApi, proj_obj_as_wkt) {
ASSERT_NE(obj, nullptr);
{
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT2_2018, nullptr);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT2_2018, nullptr);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("GEOGCRS[") == 0) << wkt;
}
{
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT2_2018_SIMPLIFIED, nullptr);
+ auto wkt =
+ proj_obj_as_wkt(m_ctxt, obj, PJ_WKT2_2018_SIMPLIFIED, nullptr);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("GEOGCRS[") == 0) << wkt;
EXPECT_TRUE(std::string(wkt).find("ANGULARUNIT[") == std::string::npos)
@@ -212,13 +214,14 @@ TEST_F(CApi, proj_obj_as_wkt) {
}
{
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT2_2015, nullptr);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT2_2015, nullptr);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("GEODCRS[") == 0) << wkt;
}
{
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT2_2015_SIMPLIFIED, nullptr);
+ auto wkt =
+ proj_obj_as_wkt(m_ctxt, obj, PJ_WKT2_2015_SIMPLIFIED, nullptr);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("GEODCRS[") == 0) << wkt;
EXPECT_TRUE(std::string(wkt).find("ANGULARUNIT[") == std::string::npos)
@@ -226,13 +229,13 @@ TEST_F(CApi, proj_obj_as_wkt) {
}
{
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, nullptr);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_GDAL, nullptr);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("GEOGCS[\"WGS 84\"") == 0) << wkt;
}
{
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_ESRI, nullptr);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_ESRI, nullptr);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("GEOGCS[\"GCS_WGS_1984\"") == 0)
<< wkt;
@@ -241,7 +244,7 @@ TEST_F(CApi, proj_obj_as_wkt) {
// MULTILINE=NO
{
const char *const options[] = {"MULTILINE=NO", nullptr};
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, options);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_GDAL, options);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("\n") == std::string::npos) << wkt;
}
@@ -249,7 +252,7 @@ TEST_F(CApi, proj_obj_as_wkt) {
// INDENTATION_WIDTH=2
{
const char *const options[] = {"INDENTATION_WIDTH=2", nullptr};
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, options);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_GDAL, options);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("\n DATUM") != std::string::npos)
<< wkt;
@@ -258,7 +261,7 @@ TEST_F(CApi, proj_obj_as_wkt) {
// OUTPUT_AXIS=NO
{
const char *const options[] = {"OUTPUT_AXIS=NO", nullptr};
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, options);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_GDAL, options);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("AXIS") == std::string::npos) << wkt;
}
@@ -266,7 +269,7 @@ TEST_F(CApi, proj_obj_as_wkt) {
// OUTPUT_AXIS=AUTO
{
const char *const options[] = {"OUTPUT_AXIS=AUTO", nullptr};
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, options);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_GDAL, options);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("AXIS") == std::string::npos) << wkt;
}
@@ -274,7 +277,7 @@ TEST_F(CApi, proj_obj_as_wkt) {
// OUTPUT_AXIS=YES
{
const char *const options[] = {"OUTPUT_AXIS=YES", nullptr};
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, options);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_GDAL, options);
ASSERT_NE(wkt, nullptr);
EXPECT_TRUE(std::string(wkt).find("AXIS") != std::string::npos) << wkt;
}
@@ -282,13 +285,32 @@ TEST_F(CApi, proj_obj_as_wkt) {
// unsupported option
{
const char *const options[] = {"unsupported=yes", nullptr};
- auto wkt = proj_obj_as_wkt(obj, PJ_WKT2_2018, options);
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT2_2018, options);
EXPECT_EQ(wkt, nullptr);
}
}
// ---------------------------------------------------------------------------
+TEST_F(CApi, proj_obj_as_wkt_check_db_use) {
+ auto obj = proj_obj_create_from_wkt(
+ m_ctxt, "GEOGCS[\"AGD66\",DATUM[\"Australian_Geodetic_Datum_1966\","
+ "SPHEROID[\"Australian National Spheroid\",6378160,298.25]],"
+ "PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433]]",
+ nullptr);
+ ObjectKeeper keeper(obj);
+ ASSERT_NE(obj, nullptr);
+
+ auto wkt = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_ESRI, nullptr);
+ EXPECT_EQ(std::string(wkt),
+ "GEOGCS[\"GCS_Australian_1966\",DATUM[\"D_Australian_1966\","
+ "SPHEROID[\"Australian\",6378160.0,298.25]],"
+ "PRIMEM[\"Greenwich\",0.0],"
+ "UNIT[\"Degree\",0.0174532925199433]]");
+}
+
+// ---------------------------------------------------------------------------
+
TEST_F(CApi, proj_obj_as_wkt_incompatible_WKT1) {
auto obj = proj_obj_create_from_wkt(
m_ctxt,
@@ -297,7 +319,7 @@ TEST_F(CApi, proj_obj_as_wkt_incompatible_WKT1) {
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
- auto wkt1_GDAL = proj_obj_as_wkt(obj, PJ_WKT1_GDAL, nullptr);
+ auto wkt1_GDAL = proj_obj_as_wkt(m_ctxt, obj, PJ_WKT1_GDAL, nullptr);
ASSERT_EQ(wkt1_GDAL, nullptr);
}
@@ -313,7 +335,7 @@ TEST_F(CApi, proj_obj_as_proj_string) {
ASSERT_NE(obj, nullptr);
{
- auto proj_5 = proj_obj_as_proj_string(obj, PJ_PROJ_5, nullptr);
+ auto proj_5 = proj_obj_as_proj_string(m_ctxt, obj, PJ_PROJ_5, nullptr);
ASSERT_NE(proj_5, nullptr);
EXPECT_EQ(std::string(proj_5), "+proj=pipeline +step +proj=longlat "
"+ellps=WGS84 +step +proj=unitconvert "
@@ -321,7 +343,7 @@ TEST_F(CApi, proj_obj_as_proj_string) {
"+proj=axisswap +order=2,1");
}
{
- auto proj_4 = proj_obj_as_proj_string(obj, PJ_PROJ_4, nullptr);
+ auto proj_4 = proj_obj_as_proj_string(m_ctxt, obj, PJ_PROJ_4, nullptr);
ASSERT_NE(proj_4, nullptr);
EXPECT_EQ(std::string(proj_4), "+proj=longlat +datum=WGS84 +no_defs");
}
@@ -337,7 +359,7 @@ TEST_F(CApi, proj_obj_as_proj_string_incompatible_WKT1) {
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
- auto str = proj_obj_as_proj_string(obj, PJ_PROJ_5, nullptr);
+ auto str = proj_obj_as_proj_string(m_ctxt, obj, PJ_PROJ_5, nullptr);
ASSERT_EQ(str, nullptr);
}
@@ -349,7 +371,7 @@ TEST_F(CApi, proj_obj_as_proj_string_etmerc_option_yes) {
ASSERT_NE(obj, nullptr);
const char *options[] = {"USE_ETMERC=YES", nullptr};
- auto str = proj_obj_as_proj_string(obj, PJ_PROJ_4, options);
+ auto str = proj_obj_as_proj_string(m_ctxt, obj, PJ_PROJ_4, options);
ASSERT_NE(str, nullptr);
EXPECT_EQ(str, std::string("+proj=etmerc +lat_0=0 +lon_0=0 +k=1 +x_0=0 "
"+y_0=0 +datum=WGS84 +units=m +no_defs"));
@@ -364,7 +386,7 @@ TEST_F(CApi, proj_obj_as_proj_string_etmerc_option_no) {
ASSERT_NE(obj, nullptr);
const char *options[] = {"USE_ETMERC=NO", nullptr};
- auto str = proj_obj_as_proj_string(obj, PJ_PROJ_4, options);
+ auto str = proj_obj_as_proj_string(m_ctxt, obj, PJ_PROJ_4, options);
ASSERT_NE(str, nullptr);
EXPECT_EQ(str, std::string("+proj=tmerc +lat_0=0 +lon_0=3 +k=0.9996 "
"+x_0=500000 +y_0=0 +datum=WGS84 +units=m "
@@ -379,17 +401,37 @@ TEST_F(CApi, proj_obj_crs_create_bound_crs_to_WGS84) {
ObjectKeeper keeper(crs);
ASSERT_NE(crs, nullptr);
- auto res = proj_obj_crs_create_bound_crs_to_WGS84(crs);
+ auto res = proj_obj_crs_create_bound_crs_to_WGS84(m_ctxt, crs);
ObjectKeeper keeper_res(res);
ASSERT_NE(res, nullptr);
- auto proj_4 = proj_obj_as_proj_string(res, PJ_PROJ_4, nullptr);
+ auto proj_4 = proj_obj_as_proj_string(m_ctxt, res, PJ_PROJ_4, nullptr);
ASSERT_NE(proj_4, nullptr);
EXPECT_EQ(std::string(proj_4),
"+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 "
"+y_0=500000 +ellps=krass "
"+towgs84=2.329,-147.042,-92.08,-0.309,0.325,0.497,5.69 "
"+units=m +no_defs");
+
+ auto base_crs = proj_obj_get_source_crs(m_ctxt, res);
+ ObjectKeeper keeper_base_crs(base_crs);
+ ASSERT_NE(base_crs, nullptr);
+
+ auto hub_crs = proj_obj_get_target_crs(m_ctxt, res);
+ ObjectKeeper keeper_hub_crs(hub_crs);
+ ASSERT_NE(hub_crs, nullptr);
+
+ auto transf =
+ proj_obj_crs_get_coordoperation(m_ctxt, res, nullptr, nullptr, nullptr);
+ ObjectKeeper keeper_transf(transf);
+ ASSERT_NE(transf, nullptr);
+
+ auto res2 =
+ proj_obj_crs_create_bound_crs(m_ctxt, base_crs, hub_crs, transf);
+ ObjectKeeper keeper_res2(res2);
+ ASSERT_NE(res2, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(res, res2, PJ_COMP_STRICT));
}
// ---------------------------------------------------------------------------
@@ -404,7 +446,7 @@ TEST_F(CApi, proj_obj_crs_create_bound_crs_to_WGS84_on_invalid_type) {
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
- auto res = proj_obj_crs_create_bound_crs_to_WGS84(obj);
+ auto res = proj_obj_crs_create_bound_crs_to_WGS84(m_ctxt, obj);
ASSERT_EQ(res, nullptr);
}
@@ -647,7 +689,7 @@ TEST_F(CApi, proj_crs) {
ObjectKeeper keeper(crs);
EXPECT_TRUE(proj_obj_is_crs(crs));
- auto geodCRS = proj_obj_crs_get_geodetic_crs(crs);
+ auto geodCRS = proj_obj_crs_get_geodetic_crs(m_ctxt, crs);
ASSERT_NE(geodCRS, nullptr);
ObjectKeeper keeper_geogCRS(geodCRS);
EXPECT_TRUE(proj_obj_is_crs(geodCRS));
@@ -655,37 +697,44 @@ TEST_F(CApi, proj_crs) {
ASSERT_TRUE(geogCRS_name != nullptr);
EXPECT_EQ(geogCRS_name, std::string("WGS 84"));
- auto datum = proj_obj_crs_get_horizontal_datum(crs);
+ auto h_datum = proj_obj_crs_get_horizontal_datum(m_ctxt, crs);
+ ASSERT_NE(h_datum, nullptr);
+ ObjectKeeper keeper_h_datum(h_datum);
+
+ auto datum = proj_obj_crs_get_datum(m_ctxt, crs);
ASSERT_NE(datum, nullptr);
ObjectKeeper keeper_datum(datum);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(h_datum, datum, PJ_COMP_STRICT));
+
auto datum_name = proj_obj_get_name(datum);
ASSERT_TRUE(datum_name != nullptr);
EXPECT_EQ(datum_name, std::string("World Geodetic System 1984"));
- auto ellipsoid = proj_obj_get_ellipsoid(crs);
+ auto ellipsoid = proj_obj_get_ellipsoid(m_ctxt, crs);
ASSERT_NE(ellipsoid, nullptr);
ObjectKeeper keeper_ellipsoid(ellipsoid);
auto ellipsoid_name = proj_obj_get_name(ellipsoid);
ASSERT_TRUE(ellipsoid_name != nullptr);
EXPECT_EQ(ellipsoid_name, std::string("WGS 84"));
- auto ellipsoid_from_datum = proj_obj_get_ellipsoid(datum);
+ auto ellipsoid_from_datum = proj_obj_get_ellipsoid(m_ctxt, datum);
ASSERT_NE(ellipsoid_from_datum, nullptr);
ObjectKeeper keeper_ellipsoid_from_datum(ellipsoid_from_datum);
- EXPECT_EQ(proj_obj_get_ellipsoid(ellipsoid), nullptr);
+ EXPECT_EQ(proj_obj_get_ellipsoid(m_ctxt, ellipsoid), nullptr);
EXPECT_FALSE(proj_obj_is_crs(ellipsoid));
double a;
double b;
int b_is_computed;
double rf;
- EXPECT_TRUE(proj_obj_ellipsoid_get_parameters(ellipsoid, nullptr, nullptr,
- nullptr, nullptr));
- EXPECT_TRUE(proj_obj_ellipsoid_get_parameters(ellipsoid, &a, &b,
+ EXPECT_TRUE(proj_obj_ellipsoid_get_parameters(m_ctxt, ellipsoid, nullptr,
+ nullptr, nullptr, nullptr));
+ EXPECT_TRUE(proj_obj_ellipsoid_get_parameters(m_ctxt, ellipsoid, &a, &b,
&b_is_computed, &rf));
- EXPECT_FALSE(
- proj_obj_ellipsoid_get_parameters(crs, &a, &b, &b_is_computed, &rf));
+ EXPECT_FALSE(proj_obj_ellipsoid_get_parameters(m_ctxt, crs, &a, &b,
+ &b_is_computed, &rf));
EXPECT_EQ(a, 6378137);
EXPECT_NEAR(b, 6356752.31424518, 1e-9);
EXPECT_EQ(b_is_computed, 1);
@@ -708,31 +757,31 @@ TEST_F(CApi, proj_obj_get_prime_meridian) {
ASSERT_NE(crs, nullptr);
ObjectKeeper keeper(crs);
- auto pm = proj_obj_get_prime_meridian(crs);
+ auto pm = proj_obj_get_prime_meridian(m_ctxt, crs);
ASSERT_NE(pm, nullptr);
ObjectKeeper keeper_pm(pm);
auto pm_name = proj_obj_get_name(pm);
ASSERT_TRUE(pm_name != nullptr);
EXPECT_EQ(pm_name, std::string("Greenwich"));
- EXPECT_EQ(proj_obj_get_prime_meridian(pm), nullptr);
+ EXPECT_EQ(proj_obj_get_prime_meridian(m_ctxt, pm), nullptr);
- EXPECT_TRUE(
- proj_obj_prime_meridian_get_parameters(pm, nullptr, nullptr, nullptr));
+ EXPECT_TRUE(proj_obj_prime_meridian_get_parameters(m_ctxt, pm, nullptr,
+ nullptr, nullptr));
double longitude = -1;
double longitude_unit = 0;
const char *longitude_unit_name = nullptr;
EXPECT_TRUE(proj_obj_prime_meridian_get_parameters(
- pm, &longitude, &longitude_unit, &longitude_unit_name));
+ m_ctxt, pm, &longitude, &longitude_unit, &longitude_unit_name));
EXPECT_EQ(longitude, 0);
EXPECT_NEAR(longitude_unit, UnitOfMeasure::DEGREE.conversionToSI(), 1e-10);
ASSERT_TRUE(longitude_unit_name != nullptr);
EXPECT_EQ(longitude_unit_name, std::string("degree"));
- auto datum = proj_obj_crs_get_horizontal_datum(crs);
+ auto datum = proj_obj_crs_get_horizontal_datum(m_ctxt, crs);
ASSERT_NE(datum, nullptr);
ObjectKeeper keeper_datum(datum);
- auto pm_from_datum = proj_obj_get_prime_meridian(datum);
+ auto pm_from_datum = proj_obj_get_prime_meridian(m_ctxt, datum);
ASSERT_NE(pm_from_datum, nullptr);
ObjectKeeper keeper_pm_from_datum(pm_from_datum);
}
@@ -748,16 +797,16 @@ TEST_F(CApi, proj_crs_compound) {
ObjectKeeper keeper(crs);
EXPECT_EQ(proj_obj_get_type(crs), PJ_OBJ_TYPE_COMPOUND_CRS);
- EXPECT_EQ(proj_obj_crs_get_sub_crs(crs, -1), nullptr);
- EXPECT_EQ(proj_obj_crs_get_sub_crs(crs, 2), nullptr);
+ EXPECT_EQ(proj_obj_crs_get_sub_crs(m_ctxt, crs, -1), nullptr);
+ EXPECT_EQ(proj_obj_crs_get_sub_crs(m_ctxt, crs, 2), nullptr);
- auto subcrs_horiz = proj_obj_crs_get_sub_crs(crs, 0);
+ auto subcrs_horiz = proj_obj_crs_get_sub_crs(m_ctxt, crs, 0);
ASSERT_NE(subcrs_horiz, nullptr);
ObjectKeeper keeper_subcrs_horiz(subcrs_horiz);
EXPECT_EQ(proj_obj_get_type(subcrs_horiz), PJ_OBJ_TYPE_PROJECTED_CRS);
- EXPECT_EQ(proj_obj_crs_get_sub_crs(subcrs_horiz, 0), nullptr);
+ EXPECT_EQ(proj_obj_crs_get_sub_crs(m_ctxt, subcrs_horiz, 0), nullptr);
- auto subcrs_vertical = proj_obj_crs_get_sub_crs(crs, 1);
+ auto subcrs_vertical = proj_obj_crs_get_sub_crs(m_ctxt, crs, 1);
ASSERT_NE(subcrs_vertical, nullptr);
ObjectKeeper keeper_subcrs_vertical(subcrs_vertical);
EXPECT_EQ(proj_obj_get_type(subcrs_vertical), PJ_OBJ_TYPE_VERTICAL_CRS);
@@ -773,12 +822,12 @@ TEST_F(CApi, proj_obj_get_source_target_crs_bound_crs) {
ASSERT_NE(crs, nullptr);
ObjectKeeper keeper(crs);
- auto sourceCRS = proj_obj_get_source_crs(crs);
+ auto sourceCRS = proj_obj_get_source_crs(m_ctxt, crs);
ASSERT_NE(sourceCRS, nullptr);
ObjectKeeper keeper_sourceCRS(sourceCRS);
EXPECT_EQ(std::string(proj_obj_get_name(sourceCRS)), "NTF (Paris)");
- auto targetCRS = proj_obj_get_target_crs(crs);
+ auto targetCRS = proj_obj_get_target_crs(m_ctxt, crs);
ASSERT_NE(targetCRS, nullptr);
ObjectKeeper keeper_targetCRS(targetCRS);
EXPECT_EQ(std::string(proj_obj_get_name(targetCRS)), "WGS 84");
@@ -796,12 +845,12 @@ TEST_F(CApi, proj_obj_get_source_target_crs_transformation) {
ASSERT_NE(obj, nullptr);
ObjectKeeper keeper(obj);
- auto sourceCRS = proj_obj_get_source_crs(obj);
+ auto sourceCRS = proj_obj_get_source_crs(m_ctxt, obj);
ASSERT_NE(sourceCRS, nullptr);
ObjectKeeper keeper_sourceCRS(sourceCRS);
EXPECT_EQ(std::string(proj_obj_get_name(sourceCRS)), "NTF (Paris)");
- auto targetCRS = proj_obj_get_target_crs(obj);
+ auto targetCRS = proj_obj_get_target_crs(m_ctxt, obj);
ASSERT_NE(targetCRS, nullptr);
ObjectKeeper keeper_targetCRS(targetCRS);
EXPECT_EQ(std::string(proj_obj_get_name(targetCRS)), "WGS 84");
@@ -809,6 +858,22 @@ TEST_F(CApi, proj_obj_get_source_target_crs_transformation) {
// ---------------------------------------------------------------------------
+TEST_F(CApi, proj_obj_get_source_crs_of_projected_crs) {
+ auto crs = proj_obj_create_from_wkt(
+ m_ctxt,
+ createProjectedCRS()->exportToWKT(WKTFormatter::create().get()).c_str(),
+ nullptr);
+ ASSERT_NE(crs, nullptr);
+ ObjectKeeper keeper(crs);
+
+ auto sourceCRS = proj_obj_get_source_crs(m_ctxt, crs);
+ ASSERT_NE(sourceCRS, nullptr);
+ ObjectKeeper keeper_sourceCRS(sourceCRS);
+ EXPECT_EQ(std::string(proj_obj_get_name(sourceCRS)), "WGS 84");
+}
+
+// ---------------------------------------------------------------------------
+
TEST_F(CApi, proj_obj_get_source_target_crs_conversion_without_crs) {
auto obj = proj_obj_create_from_database(
m_ctxt, "EPSG", "16031", PJ_OBJ_CATEGORY_COORDINATE_OPERATION, false,
@@ -816,10 +881,10 @@ TEST_F(CApi, proj_obj_get_source_target_crs_conversion_without_crs) {
ASSERT_NE(obj, nullptr);
ObjectKeeper keeper(obj);
- auto sourceCRS = proj_obj_get_source_crs(obj);
+ auto sourceCRS = proj_obj_get_source_crs(m_ctxt, obj);
ASSERT_EQ(sourceCRS, nullptr);
- auto targetCRS = proj_obj_get_target_crs(obj);
+ auto targetCRS = proj_obj_get_target_crs(m_ctxt, obj);
ASSERT_EQ(targetCRS, nullptr);
}
@@ -831,10 +896,10 @@ TEST_F(CApi, proj_obj_get_source_target_crs_invalid_object) {
ASSERT_NE(obj, nullptr);
ObjectKeeper keeper(obj);
- auto sourceCRS = proj_obj_get_source_crs(obj);
+ auto sourceCRS = proj_obj_get_source_crs(m_ctxt, obj);
ASSERT_EQ(sourceCRS, nullptr);
- auto targetCRS = proj_obj_get_target_crs(obj);
+ auto targetCRS = proj_obj_get_target_crs(m_ctxt, obj);
ASSERT_EQ(targetCRS, nullptr);
}
@@ -923,21 +988,21 @@ TEST_F(CApi, conversion) {
ObjectKeeper keeper(crs);
{
- auto conv =
- proj_obj_crs_get_coordoperation(crs, nullptr, nullptr, nullptr);
+ auto conv = proj_obj_crs_get_coordoperation(m_ctxt, crs, nullptr,
+ nullptr, nullptr);
ASSERT_NE(conv, nullptr);
ObjectKeeper keeper_conv(conv);
- ASSERT_EQ(
- proj_obj_crs_get_coordoperation(conv, nullptr, nullptr, nullptr),
- nullptr);
+ ASSERT_EQ(proj_obj_crs_get_coordoperation(m_ctxt, conv, nullptr,
+ nullptr, nullptr),
+ nullptr);
}
const char *methodName = nullptr;
const char *methodAuthorityName = nullptr;
const char *methodCode = nullptr;
auto conv = proj_obj_crs_get_coordoperation(
- crs, &methodName, &methodAuthorityName, &methodCode);
+ m_ctxt, crs, &methodName, &methodAuthorityName, &methodCode);
ASSERT_NE(conv, nullptr);
ObjectKeeper keeper_conv(conv);
@@ -948,16 +1013,17 @@ TEST_F(CApi, conversion) {
EXPECT_EQ(methodAuthorityName, std::string("EPSG"));
EXPECT_EQ(methodCode, std::string("9807"));
- EXPECT_EQ(proj_coordoperation_get_param_count(conv), 5);
- EXPECT_EQ(proj_coordoperation_get_param_index(conv, "foo"), -1);
- EXPECT_EQ(proj_coordoperation_get_param_index(conv, "False easting"), 3);
+ EXPECT_EQ(proj_coordoperation_get_param_count(m_ctxt, conv), 5);
+ EXPECT_EQ(proj_coordoperation_get_param_index(m_ctxt, conv, "foo"), -1);
+ EXPECT_EQ(
+ proj_coordoperation_get_param_index(m_ctxt, conv, "False easting"), 3);
- EXPECT_FALSE(proj_coordoperation_get_param(conv, -1, nullptr, nullptr,
+ EXPECT_FALSE(proj_coordoperation_get_param(m_ctxt, conv, -1, nullptr,
nullptr, nullptr, nullptr,
- nullptr, nullptr));
- EXPECT_FALSE(proj_coordoperation_get_param(conv, 5, nullptr, nullptr,
+ nullptr, nullptr, nullptr));
+ EXPECT_FALSE(proj_coordoperation_get_param(m_ctxt, conv, 5, nullptr,
nullptr, nullptr, nullptr,
- nullptr, nullptr));
+ nullptr, nullptr, nullptr));
const char *name = nullptr;
const char *nameAuthorityName = nullptr;
@@ -967,8 +1033,8 @@ TEST_F(CApi, conversion) {
double valueUnitConvFactor = 0;
const char *valueUnitName = nullptr;
EXPECT_TRUE(proj_coordoperation_get_param(
- conv, 3, &name, &nameAuthorityName, &nameCode, &value, &valueString,
- &valueUnitConvFactor, &valueUnitName));
+ m_ctxt, conv, 3, &name, &nameAuthorityName, &nameCode, &value,
+ &valueString, &valueUnitConvFactor, &valueUnitName));
ASSERT_NE(name, nullptr);
ASSERT_NE(nameAuthorityName, nullptr);
ASSERT_NE(nameCode, nullptr);
@@ -993,7 +1059,7 @@ TEST_F(CApi, transformation_from_boundCRS) {
ObjectKeeper keeper(crs);
auto transf =
- proj_obj_crs_get_coordoperation(crs, nullptr, nullptr, nullptr);
+ proj_obj_crs_get_coordoperation(m_ctxt, crs, nullptr, nullptr, nullptr);
ASSERT_NE(transf, nullptr);
ObjectKeeper keeper_transf(transf);
}
@@ -1007,7 +1073,7 @@ TEST_F(CApi, proj_coordoperation_get_grid_used) {
ASSERT_NE(op, nullptr);
ObjectKeeper keeper(op);
- EXPECT_EQ(proj_coordoperation_get_grid_used_count(op), 1);
+ EXPECT_EQ(proj_coordoperation_get_grid_used_count(m_ctxt, op), 1);
const char *shortName = nullptr;
const char *fullName = nullptr;
const char *packageName = nullptr;
@@ -1015,16 +1081,16 @@ TEST_F(CApi, proj_coordoperation_get_grid_used) {
int directDownload = 0;
int openLicense = 0;
int available = 0;
- EXPECT_EQ(proj_coordoperation_get_grid_used(op, -1, nullptr, nullptr,
+ EXPECT_EQ(proj_coordoperation_get_grid_used(m_ctxt, op, -1, nullptr,
nullptr, nullptr, nullptr,
- nullptr, nullptr),
+ nullptr, nullptr, nullptr),
0);
- EXPECT_EQ(proj_coordoperation_get_grid_used(op, 1, nullptr, nullptr,
+ EXPECT_EQ(proj_coordoperation_get_grid_used(m_ctxt, op, 1, nullptr, nullptr,
nullptr, nullptr, nullptr,
nullptr, nullptr),
0);
EXPECT_EQ(proj_coordoperation_get_grid_used(
- op, 0, &shortName, &fullName, &packageName, &url,
+ m_ctxt, op, 0, &shortName, &fullName, &packageName, &url,
&directDownload, &openLicense, &available),
1);
ASSERT_NE(shortName, nullptr);
@@ -1049,7 +1115,7 @@ TEST_F(CApi, proj_coordoperation_is_instanciable) {
nullptr);
ASSERT_NE(op, nullptr);
ObjectKeeper keeper(op);
- EXPECT_EQ(proj_coordoperation_is_instanciable(op), 1);
+ EXPECT_EQ(proj_coordoperation_is_instanciable(m_ctxt, op), 1);
}
// ---------------------------------------------------------------------------
@@ -1070,20 +1136,21 @@ TEST_F(CApi, proj_obj_create_operations) {
ObjectKeeper keeper_target_crs(target_crs);
proj_operation_factory_context_set_spatial_criterion(
- ctxt, PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION);
+ m_ctxt, ctxt, PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION);
proj_operation_factory_context_set_grid_availability_use(
- ctxt, PROJ_GRID_AVAILABILITY_IGNORED);
+ m_ctxt, ctxt, PROJ_GRID_AVAILABILITY_IGNORED);
- auto res = proj_obj_create_operations(source_crs, target_crs, ctxt);
+ auto res = proj_obj_create_operations(m_ctxt, source_crs, target_crs, ctxt);
ASSERT_NE(res, nullptr);
ObjListKeeper keeper_res(res);
- EXPECT_EQ(proj_obj_list_get_count(res), 7);
+ EXPECT_EQ(proj_obj_list_get_count(res), 8);
- EXPECT_EQ(proj_obj_list_get(res, -1), nullptr);
- EXPECT_EQ(proj_obj_list_get(res, proj_obj_list_get_count(res)), nullptr);
- auto op = proj_obj_list_get(res, 0);
+ EXPECT_EQ(proj_obj_list_get(m_ctxt, res, -1), nullptr);
+ EXPECT_EQ(proj_obj_list_get(m_ctxt, res, proj_obj_list_get_count(res)),
+ nullptr);
+ auto op = proj_obj_list_get(m_ctxt, res, 0);
ASSERT_NE(op, nullptr);
ObjectKeeper keeper_op(op);
@@ -1112,11 +1179,12 @@ TEST_F(CApi, proj_obj_create_operations_with_pivot) {
ASSERT_NE(ctxt, nullptr);
ContextKeeper keeper_ctxt(ctxt);
- auto res = proj_obj_create_operations(source_crs, target_crs, ctxt);
+ auto res =
+ proj_obj_create_operations(m_ctxt, source_crs, target_crs, ctxt);
ASSERT_NE(res, nullptr);
ObjListKeeper keeper_res(res);
EXPECT_EQ(proj_obj_list_get_count(res), 1);
- auto op = proj_obj_list_get(res, 0);
+ auto op = proj_obj_list_get(m_ctxt, res, 0);
ASSERT_NE(op, nullptr);
ObjectKeeper keeper_op(op);
@@ -1131,14 +1199,15 @@ TEST_F(CApi, proj_obj_create_operations_with_pivot) {
auto ctxt = proj_create_operation_factory_context(m_ctxt, nullptr);
ASSERT_NE(ctxt, nullptr);
ContextKeeper keeper_ctxt(ctxt);
- proj_operation_factory_context_set_allow_use_intermediate_crs(ctxt,
- false);
+ proj_operation_factory_context_set_allow_use_intermediate_crs(
+ m_ctxt, ctxt, false);
- auto res = proj_obj_create_operations(source_crs, target_crs, ctxt);
+ auto res =
+ proj_obj_create_operations(m_ctxt, source_crs, target_crs, ctxt);
ASSERT_NE(res, nullptr);
ObjListKeeper keeper_res(res);
EXPECT_EQ(proj_obj_list_get_count(res), 1);
- auto op = proj_obj_list_get(res, 0);
+ auto op = proj_obj_list_get(m_ctxt, res, 0);
ASSERT_NE(op, nullptr);
ObjectKeeper keeper_op(op);
@@ -1153,18 +1222,19 @@ TEST_F(CApi, proj_obj_create_operations_with_pivot) {
ContextKeeper keeper_ctxt(ctxt);
const char *pivots[] = {"EPSG", "4301", nullptr};
- proj_operation_factory_context_set_allowed_intermediate_crs(ctxt,
- pivots);
+ proj_operation_factory_context_set_allowed_intermediate_crs(
+ m_ctxt, ctxt, pivots);
proj_operation_factory_context_set_spatial_criterion(
- ctxt, PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION);
+ m_ctxt, ctxt, PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION);
proj_operation_factory_context_set_grid_availability_use(
- ctxt, PROJ_GRID_AVAILABILITY_IGNORED);
+ m_ctxt, ctxt, PROJ_GRID_AVAILABILITY_IGNORED);
- auto res = proj_obj_create_operations(source_crs, target_crs, ctxt);
+ auto res =
+ proj_obj_create_operations(m_ctxt, source_crs, target_crs, ctxt);
ASSERT_NE(res, nullptr);
ObjListKeeper keeper_res(res);
- EXPECT_EQ(proj_obj_list_get_count(res), 6);
- auto op = proj_obj_list_get(res, 0);
+ EXPECT_EQ(proj_obj_list_get_count(res), 7);
+ auto op = proj_obj_list_get(m_ctxt, res, 1);
ASSERT_NE(op, nullptr);
ObjectKeeper keeper_op(op);
@@ -1181,19 +1251,20 @@ TEST_F(CApi, proj_obj_create_operations_with_pivot) {
ContextKeeper keeper_ctxt(ctxt);
const char *pivots[] = {"EPSG", "4612", nullptr};
- proj_operation_factory_context_set_allowed_intermediate_crs(ctxt,
- pivots);
+ proj_operation_factory_context_set_allowed_intermediate_crs(
+ m_ctxt, ctxt, pivots);
proj_operation_factory_context_set_spatial_criterion(
- ctxt, PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION);
+ m_ctxt, ctxt, PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION);
proj_operation_factory_context_set_grid_availability_use(
- ctxt, PROJ_GRID_AVAILABILITY_IGNORED);
+ m_ctxt, ctxt, PROJ_GRID_AVAILABILITY_IGNORED);
- auto res = proj_obj_create_operations(source_crs, target_crs, ctxt);
+ auto res =
+ proj_obj_create_operations(m_ctxt, source_crs, target_crs, ctxt);
ASSERT_NE(res, nullptr);
ObjListKeeper keeper_res(res);
// includes 2 results from ESRI
- EXPECT_EQ(proj_obj_list_get_count(res), 4);
- auto op = proj_obj_list_get(res, 0);
+ EXPECT_EQ(proj_obj_list_get_count(res), 5);
+ auto op = proj_obj_list_get(m_ctxt, res, 0);
ASSERT_NE(op, nullptr);
ObjectKeeper keeper_op(op);
@@ -1364,13 +1435,13 @@ TEST_F(CApi, proj_obj_identify) {
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
{
- auto res = proj_obj_identify(obj, nullptr, nullptr, nullptr);
+ auto res = proj_obj_identify(m_ctxt, obj, nullptr, nullptr, nullptr);
ObjListKeeper keeper_res(res);
EXPECT_EQ(proj_obj_list_get_count(res), 1);
}
{
int *confidence = nullptr;
- auto res = proj_obj_identify(obj, "EPSG", nullptr, &confidence);
+ auto res = proj_obj_identify(m_ctxt, obj, "EPSG", nullptr, &confidence);
ObjListKeeper keeper_res(res);
EXPECT_EQ(proj_obj_list_get_count(res), 1);
EXPECT_EQ(confidence[0], 100);
@@ -1383,7 +1454,8 @@ TEST_F(CApi, proj_obj_identify) {
.c_str(),
nullptr);
ObjectKeeper keeperEllps(objEllps);
- auto res = proj_obj_identify(objEllps, nullptr, nullptr, nullptr);
+ auto res =
+ proj_obj_identify(m_ctxt, objEllps, nullptr, nullptr, nullptr);
ObjListKeeper keeper_res(res);
EXPECT_EQ(res, nullptr);
}
@@ -1397,14 +1469,15 @@ TEST_F(CApi, proj_obj_get_area_of_use) {
m_ctxt, "EPSG", "4326", PJ_OBJ_CATEGORY_CRS, false, nullptr);
ASSERT_NE(crs, nullptr);
ObjectKeeper keeper(crs);
- EXPECT_TRUE(proj_obj_get_area_of_use(crs, nullptr, nullptr, nullptr,
- nullptr, nullptr));
+ EXPECT_TRUE(proj_obj_get_area_of_use(m_ctxt, crs, nullptr, nullptr,
+ nullptr, nullptr, nullptr));
const char *name = nullptr;
double w;
double s;
double e;
double n;
- EXPECT_TRUE(proj_obj_get_area_of_use(crs, &w, &s, &e, &n, &name));
+ EXPECT_TRUE(
+ proj_obj_get_area_of_use(m_ctxt, crs, &w, &s, &e, &n, &name));
EXPECT_EQ(w, -180);
EXPECT_EQ(s, -90);
EXPECT_EQ(e, 180);
@@ -1417,8 +1490,8 @@ TEST_F(CApi, proj_obj_get_area_of_use) {
proj_obj_create_from_user_input(m_ctxt, "+proj=longlat", nullptr);
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
- EXPECT_FALSE(proj_obj_get_area_of_use(obj, nullptr, nullptr, nullptr,
- nullptr, nullptr));
+ EXPECT_FALSE(proj_obj_get_area_of_use(m_ctxt, obj, nullptr, nullptr,
+ nullptr, nullptr, nullptr));
}
}
@@ -1430,7 +1503,7 @@ TEST_F(CApi, proj_coordoperation_get_accuracy) {
m_ctxt, "EPSG", "4326", PJ_OBJ_CATEGORY_CRS, false, nullptr);
ASSERT_NE(crs, nullptr);
ObjectKeeper keeper(crs);
- EXPECT_EQ(proj_coordoperation_get_accuracy(crs), -1.0);
+ EXPECT_EQ(proj_coordoperation_get_accuracy(m_ctxt, crs), -1.0);
}
{
auto obj = proj_obj_create_from_database(
@@ -1438,25 +1511,30 @@ TEST_F(CApi, proj_coordoperation_get_accuracy) {
nullptr);
ASSERT_NE(obj, nullptr);
ObjectKeeper keeper(obj);
- EXPECT_EQ(proj_coordoperation_get_accuracy(obj), 16.0);
+ EXPECT_EQ(proj_coordoperation_get_accuracy(m_ctxt, obj), 16.0);
}
{
auto obj =
proj_obj_create_from_user_input(m_ctxt, "+proj=helmert", nullptr);
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
- EXPECT_EQ(proj_coordoperation_get_accuracy(obj), -1.0);
+ EXPECT_EQ(proj_coordoperation_get_accuracy(m_ctxt, obj), -1.0);
}
}
// ---------------------------------------------------------------------------
TEST_F(CApi, proj_obj_create_geographic_crs) {
+
+ auto cs = proj_obj_create_ellipsoidal_2D_cs(
+ m_ctxt, PJ_ELLPS2D_LATITUDE_LONGITUDE, nullptr, 0);
+ ObjectKeeper keeper_cs(cs);
+ ASSERT_NE(cs, nullptr);
+
{
auto obj = proj_obj_create_geographic_crs(
m_ctxt, "WGS 84", "World Geodetic System 1984", "WGS 84", 6378137,
- 298.257223563, "Greenwich", 0.0, "Degree", 0.0174532925199433,
- true);
+ 298.257223563, "Greenwich", 0.0, "Degree", 0.0174532925199433, cs);
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
@@ -1469,490 +1547,822 @@ TEST_F(CApi, proj_obj_create_geographic_crs) {
EXPECT_NE(objRef, nullptr);
EXPECT_TRUE(proj_obj_is_equivalent_to(obj, objRef, PJ_COMP_EQUIVALENT));
+
+ auto datum = proj_obj_crs_get_datum(m_ctxt, obj);
+ ObjectKeeper keeper_datum(datum);
+ ASSERT_NE(datum, nullptr);
+
+ auto obj2 = proj_obj_create_geographic_crs_from_datum(m_ctxt, "WGS 84",
+ datum, cs);
+ ObjectKeeper keeperObj(obj2);
+ ASSERT_NE(obj2, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(obj, obj2, PJ_COMP_STRICT));
}
{
auto obj = proj_obj_create_geographic_crs(m_ctxt, nullptr, nullptr,
nullptr, 1.0, 0.0, nullptr,
- 0.0, nullptr, 0.0, false);
+ 0.0, nullptr, 0.0, cs);
ObjectKeeper keeper(obj);
ASSERT_NE(obj, nullptr);
}
+
+ // Datum with GDAL_WKT1 spelling: special case of WGS_1984
+ {
+ auto obj = proj_obj_create_geographic_crs(
+ m_ctxt, "WGS 84", "WGS_1984", "WGS 84", 6378137, 298.257223563,
+ "Greenwich", 0.0, "Degree", 0.0174532925199433, cs);
+ ObjectKeeper keeper(obj);
+ ASSERT_NE(obj, nullptr);
+
+ auto objRef = proj_obj_create_from_user_input(
+ m_ctxt,
+ GeographicCRS::EPSG_4326->exportToWKT(WKTFormatter::create().get())
+ .c_str(),
+ nullptr);
+ ObjectKeeper keeperobjRef(objRef);
+ EXPECT_NE(objRef, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(obj, objRef, PJ_COMP_EQUIVALENT));
+ }
+
+ // Datum with GDAL_WKT1 spelling: database query
+ {
+ auto obj = proj_obj_create_geographic_crs(
+ m_ctxt, "NAD83", "North_American_Datum_1983", "GRS 1980", 6378137,
+ 298.257222101, "Greenwich", 0.0, "Degree", 0.0174532925199433, cs);
+ ObjectKeeper keeper(obj);
+ ASSERT_NE(obj, nullptr);
+
+ auto objRef = proj_obj_create_from_user_input(
+ m_ctxt,
+ GeographicCRS::EPSG_4269->exportToWKT(WKTFormatter::create().get())
+ .c_str(),
+ nullptr);
+ ObjectKeeper keeperobjRef(objRef);
+ EXPECT_NE(objRef, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(obj, objRef, PJ_COMP_EQUIVALENT));
+ }
}
// ---------------------------------------------------------------------------
-TEST_F(CApi, proj_obj_create_projections) {
+TEST_F(CApi, proj_obj_create_geocentric_crs) {
+ {
+ auto obj = proj_obj_create_geocentric_crs(
+ m_ctxt, "WGS 84", "World Geodetic System 1984", "WGS 84", 6378137,
+ 298.257223563, "Greenwich", 0.0, "Degree", 0.0174532925199433,
+ "Metre", 1.0);
+ ObjectKeeper keeper(obj);
+ ASSERT_NE(obj, nullptr);
- auto geogCRS = proj_obj_create_geographic_crs(
- m_ctxt, "WGS 84", "World Geodetic System 1984", "WGS 84", 6378137,
- 298.257223563, "Greenwich", 0.0, "Degree", 0.0174532925199433, true);
- ObjectKeeper keepergeogCRS(geogCRS);
- ASSERT_NE(geogCRS, nullptr);
+ auto objRef = proj_obj_create_from_user_input(
+ m_ctxt,
+ GeographicCRS::EPSG_4978->exportToWKT(WKTFormatter::create().get())
+ .c_str(),
+ nullptr);
+ ObjectKeeper keeperobjRef(objRef);
+ EXPECT_NE(objRef, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(obj, objRef, PJ_COMP_EQUIVALENT));
+
+ auto datum = proj_obj_crs_get_datum(m_ctxt, obj);
+ ObjectKeeper keeper_datum(datum);
+ ASSERT_NE(datum, nullptr);
+
+ auto obj2 = proj_obj_create_geocentric_crs_from_datum(
+ m_ctxt, "WGS 84", datum, "Metre", 1.0);
+ ObjectKeeper keeperObj(obj2);
+ ASSERT_NE(obj2, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(obj, obj2, PJ_COMP_STRICT));
+ }
+ {
+ auto obj = proj_obj_create_geocentric_crs(
+ m_ctxt, nullptr, nullptr, nullptr, 1.0, 0.0, nullptr, 0.0, nullptr,
+ 0.0, nullptr, 0.0);
+ ObjectKeeper keeper(obj);
+ ASSERT_NE(obj, nullptr);
+ }
+}
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_create_projections) {
/* BEGIN: Generated by scripts/create_c_api_projections.py*/
{
- auto projCRS =
- proj_obj_create_projected_crs_UTM(geogCRS, nullptr, 0, 0);
+ auto projCRS = proj_obj_create_conversion_utm(m_ctxt, 0, 0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_TransverseMercator(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_transverse_mercator(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_GaussSchreiberTransverseMercator(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_gauss_schreiber_transverse_mercator(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_TransverseMercatorSouthOriented(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_transverse_mercator_south_oriented(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_TwoPointEquidistant(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_two_point_equidistant(
+ m_ctxt, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_TunisiaMappingGrid(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_tunisia_mapping_grid(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_AlbersEqualArea(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_albers_equal_area(
+ m_ctxt, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_LambertConicConformal_1SP(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_lambert_conic_conformal_1sp(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_LambertConicConformal_2SP(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_lambert_conic_conformal_2sp(
+ m_ctxt, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_LambertConicConformal_2SP_Michigan(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, 0, "Degree",
- 0.0174532925199433, "Metre", 1.0);
+ proj_obj_create_conversion_lambert_conic_conformal_2sp_michigan(
+ m_ctxt, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
+ "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_LambertConicConformal_2SP_Belgium(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, "Degree",
- 0.0174532925199433, "Metre", 1.0);
+ proj_obj_create_conversion_lambert_conic_conformal_2sp_belgium(
+ m_ctxt, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_AzimuthalEquidistant(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_azimuthal_equidistant(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_GuamProjection(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_guam_projection(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Bonne(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_bonne(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_LambertCylindricalEqualAreaSpherical(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_lambert_cylindrical_equal_area_spherical(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_LambertCylindricalEqualArea(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_lambert_cylindrical_equal_area(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_CassiniSoldner(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_cassini_soldner(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EquidistantConic(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_equidistant_conic(
+ m_ctxt, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EckertI(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_eckert_i(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EckertII(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_eckert_ii(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EckertIII(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_eckert_iii(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EckertIV(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_eckert_iv(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EckertV(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_eckert_v(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EckertVI(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_eckert_vi(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EquidistantCylindrical(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_equidistant_cylindrical(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_EquidistantCylindricalSpherical(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_equidistant_cylindrical_spherical(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Gall(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_gall(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_GoodeHomolosine(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_goode_homolosine(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_InterruptedGoodeHomolosine(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_interrupted_goode_homolosine(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_GeostationarySatelliteSweepX(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_geostationary_satellite_sweep_x(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_GeostationarySatelliteSweepY(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_geostationary_satellite_sweep_y(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Gnomonic(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_gnomonic(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_HotineObliqueMercatorVariantA(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, 0, "Degree",
- 0.0174532925199433, "Metre", 1.0);
+ proj_obj_create_conversion_hotine_oblique_mercator_variant_a(
+ m_ctxt, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
+ "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_HotineObliqueMercatorVariantB(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, 0, "Degree",
- 0.0174532925199433, "Metre", 1.0);
+ proj_obj_create_conversion_hotine_oblique_mercator_variant_b(
+ m_ctxt, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
+ "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_HotineObliqueMercatorTwoPointNaturalOrigin(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, 0, 0, "Degree",
- 0.0174532925199433, "Metre", 1.0);
+ proj_obj_create_conversion_hotine_oblique_mercator_two_point_natural_origin(
+ m_ctxt, 0, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
+ "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_InternationalMapWorldPolyconic(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_international_map_world_polyconic(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_KrovakNorthOriented(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_krovak_north_oriented(
+ m_ctxt, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Krovak(
- geogCRS, nullptr, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_krovak(
+ m_ctxt, 0, 0, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
+ 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_LambertAzimuthalEqualArea(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_lambert_azimuthal_equal_area(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_MillerCylindrical(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_miller_cylindrical(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_MercatorVariantA(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_mercator_variant_a(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_MercatorVariantB(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_mercator_variant_b(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_PopularVisualisationPseudoMercator(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_popular_visualisation_pseudo_mercator(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Mollweide(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_mollweide(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_NewZealandMappingGrid(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_new_zealand_mapping_grid(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_ObliqueStereographic(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_oblique_stereographic(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Orthographic(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_orthographic(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_AmericanPolyconic(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_american_polyconic(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_PolarStereographicVariantA(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_polar_stereographic_variant_a(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_PolarStereographicVariantB(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_polar_stereographic_variant_b(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Robinson(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_robinson(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Sinusoidal(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_sinusoidal(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_Stereographic(
- geogCRS, nullptr, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ auto projCRS = proj_obj_create_conversion_stereographic(
+ m_ctxt, 0, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_VanDerGrinten(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_van_der_grinten(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_WagnerI(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_wagner_i(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_WagnerII(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_wagner_ii(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_WagnerIII(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_wagner_iii(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_WagnerIV(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_wagner_iv(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_WagnerV(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_wagner_v(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_WagnerVI(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_wagner_vi(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_WagnerVII(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_wagner_vii(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
auto projCRS =
- proj_obj_create_projected_crs_QuadrilateralizedSphericalCube(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433,
- "Metre", 1.0);
+ proj_obj_create_conversion_quadrilateralized_spherical_cube(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_SphericalCrossTrackHeight(
- geogCRS, nullptr, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_spherical_cross_track_height(
+ m_ctxt, 0, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
{
- auto projCRS = proj_obj_create_projected_crs_EqualEarth(
- geogCRS, nullptr, 0, 0, 0, "Degree", 0.0174532925199433, "Metre",
- 1.0);
+ auto projCRS = proj_obj_create_conversion_equal_earth(
+ m_ctxt, 0, 0, 0, "Degree", 0.0174532925199433, "Metre", 1.0);
ObjectKeeper keeper_projCRS(projCRS);
ASSERT_NE(projCRS, nullptr);
}
/* END: Generated by scripts/create_c_api_projections.py*/
}
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_cs_get_axis_info) {
+ {
+ auto crs = proj_obj_create_from_database(
+ m_ctxt, "EPSG", "4326", PJ_OBJ_CATEGORY_CRS, false, nullptr);
+ ASSERT_NE(crs, nullptr);
+ ObjectKeeper keeper(crs);
+
+ auto cs = proj_obj_crs_get_coordinate_system(m_ctxt, crs);
+ ASSERT_NE(cs, nullptr);
+ ObjectKeeper keeperCs(cs);
+
+ EXPECT_EQ(proj_obj_cs_get_type(m_ctxt, cs), PJ_CS_TYPE_ELLIPSOIDAL);
+
+ EXPECT_EQ(proj_obj_cs_get_axis_count(m_ctxt, cs), 2);
+
+ EXPECT_FALSE(proj_obj_cs_get_axis_info(m_ctxt, cs, -1, nullptr, nullptr,
+ nullptr, nullptr, nullptr));
+
+ EXPECT_FALSE(proj_obj_cs_get_axis_info(m_ctxt, cs, 2, nullptr, nullptr,
+ nullptr, nullptr, nullptr));
+
+ EXPECT_TRUE(proj_obj_cs_get_axis_info(m_ctxt, cs, 0, nullptr, nullptr,
+ nullptr, nullptr, nullptr));
+
+ const char *name = nullptr;
+ const char *abbrev = nullptr;
+ const char *direction = nullptr;
+ double unitConvFactor = 0.0;
+ const char *unitName = nullptr;
+
+ EXPECT_TRUE(proj_obj_cs_get_axis_info(m_ctxt, cs, 0, &name, &abbrev,
+ &direction, &unitConvFactor,
+ &unitName));
+ ASSERT_NE(name, nullptr);
+ ASSERT_NE(abbrev, nullptr);
+ ASSERT_NE(direction, nullptr);
+ ASSERT_NE(unitName, nullptr);
+ EXPECT_EQ(std::string(name), "Geodetic latitude");
+ EXPECT_EQ(std::string(abbrev), "Lat");
+ EXPECT_EQ(std::string(direction), "north");
+ EXPECT_EQ(unitConvFactor, 0.017453292519943295) << unitConvFactor;
+ EXPECT_EQ(std::string(unitName), "degree");
+ }
+
+ // Non CRS object
+ {
+ auto obj = proj_obj_create_from_database(
+ m_ctxt, "EPSG", "1170", PJ_OBJ_CATEGORY_COORDINATE_OPERATION, false,
+ nullptr);
+ ASSERT_NE(obj, nullptr);
+ ObjectKeeper keeper(obj);
+ EXPECT_EQ(proj_obj_crs_get_coordinate_system(m_ctxt, obj), nullptr);
+
+ EXPECT_EQ(proj_obj_cs_get_type(m_ctxt, obj), PJ_CS_TYPE_UNKNOWN);
+
+ EXPECT_EQ(proj_obj_cs_get_axis_count(m_ctxt, obj), -1);
+
+ EXPECT_FALSE(proj_obj_cs_get_axis_info(m_ctxt, obj, 0, nullptr, nullptr,
+ nullptr, nullptr, nullptr));
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_context_get_database_metadata) {
+ EXPECT_TRUE(proj_context_get_database_metadata(m_ctxt, "IGNF.VERSION") !=
+ nullptr);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_clone) {
+ auto obj =
+ proj_obj_create_from_proj_string(m_ctxt, "+proj=longlat", nullptr);
+ ObjectKeeper keeper(obj);
+ ASSERT_NE(obj, nullptr);
+
+ auto clone = proj_obj_clone(m_ctxt, obj);
+ ObjectKeeper keeperClone(clone);
+ ASSERT_NE(clone, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(obj, clone, PJ_COMP_STRICT));
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_crs_alter_geodetic_crs) {
+ auto projCRS = proj_obj_create_from_wkt(
+ m_ctxt,
+ createProjectedCRS()->exportToWKT(WKTFormatter::create().get()).c_str(),
+ nullptr);
+ ObjectKeeper keeper(projCRS);
+ ASSERT_NE(projCRS, nullptr);
+
+ auto newGeodCRS =
+ proj_obj_create_from_proj_string(m_ctxt, "+proj=longlat", nullptr);
+ ObjectKeeper keeper_newGeodCRS(newGeodCRS);
+ ASSERT_NE(newGeodCRS, nullptr);
+
+ auto geodCRS = proj_obj_crs_get_geodetic_crs(m_ctxt, projCRS);
+ ObjectKeeper keeper_geodCRS(geodCRS);
+ ASSERT_NE(geodCRS, nullptr);
+
+ auto geodCRSAltered =
+ proj_obj_crs_alter_geodetic_crs(m_ctxt, geodCRS, newGeodCRS);
+ ObjectKeeper keeper_geodCRSAltered(geodCRSAltered);
+ ASSERT_NE(geodCRSAltered, nullptr);
+ EXPECT_TRUE(
+ proj_obj_is_equivalent_to(geodCRSAltered, newGeodCRS, PJ_COMP_STRICT));
+
+ auto projCRSAltered =
+ proj_obj_crs_alter_geodetic_crs(m_ctxt, projCRS, newGeodCRS);
+ ObjectKeeper keeper_projCRSAltered(projCRSAltered);
+ ASSERT_NE(projCRSAltered, nullptr);
+
+ EXPECT_EQ(proj_obj_get_type(projCRSAltered), PJ_OBJ_TYPE_PROJECTED_CRS);
+
+ auto projCRSAltered_geodCRS =
+ proj_obj_crs_get_geodetic_crs(m_ctxt, projCRSAltered);
+ ObjectKeeper keeper_projCRSAltered_geodCRS(projCRSAltered_geodCRS);
+ ASSERT_NE(projCRSAltered_geodCRS, nullptr);
+
+ EXPECT_TRUE(proj_obj_is_equivalent_to(projCRSAltered_geodCRS, newGeodCRS,
+ PJ_COMP_STRICT));
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_crs_alter_cs_angular_unit) {
+ auto crs = proj_obj_create_from_wkt(
+ m_ctxt,
+ GeographicCRS::EPSG_4326->exportToWKT(WKTFormatter::create().get())
+ .c_str(),
+ nullptr);
+ ObjectKeeper keeper(crs);
+ ASSERT_NE(crs, nullptr);
+
+ auto alteredCRS =
+ proj_obj_crs_alter_cs_angular_unit(m_ctxt, crs, "my unit", 2);
+ ObjectKeeper keeper_alteredCRS(alteredCRS);
+ ASSERT_NE(alteredCRS, nullptr);
+
+ auto cs = proj_obj_crs_get_coordinate_system(m_ctxt, alteredCRS);
+ ASSERT_NE(cs, nullptr);
+ ObjectKeeper keeperCs(cs);
+ double unitConvFactor = 0.0;
+ const char *unitName = nullptr;
+
+ EXPECT_TRUE(proj_obj_cs_get_axis_info(m_ctxt, cs, 0, nullptr, nullptr,
+ nullptr, &unitConvFactor, &unitName));
+ ASSERT_NE(unitName, nullptr);
+ EXPECT_EQ(unitConvFactor, 2) << unitConvFactor;
+ EXPECT_EQ(std::string(unitName), "my unit");
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_crs_alter_cs_linear_unit) {
+ auto crs = proj_obj_create_from_wkt(
+ m_ctxt,
+ createProjectedCRS()->exportToWKT(WKTFormatter::create().get()).c_str(),
+ nullptr);
+ ObjectKeeper keeper(crs);
+ ASSERT_NE(crs, nullptr);
+
+ auto alteredCRS =
+ proj_obj_crs_alter_cs_linear_unit(m_ctxt, crs, "my unit", 2);
+ ObjectKeeper keeper_alteredCRS(alteredCRS);
+ ASSERT_NE(alteredCRS, nullptr);
+
+ auto cs = proj_obj_crs_get_coordinate_system(m_ctxt, alteredCRS);
+ ASSERT_NE(cs, nullptr);
+ ObjectKeeper keeperCs(cs);
+ double unitConvFactor = 0.0;
+ const char *unitName = nullptr;
+
+ EXPECT_TRUE(proj_obj_cs_get_axis_info(m_ctxt, cs, 0, nullptr, nullptr,
+ nullptr, &unitConvFactor, &unitName));
+ ASSERT_NE(unitName, nullptr);
+ EXPECT_EQ(unitConvFactor, 2) << unitConvFactor;
+ EXPECT_EQ(std::string(unitName), "my unit");
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_crs_alter_parameters_linear_unit) {
+ auto crs = proj_obj_create_from_wkt(
+ m_ctxt,
+ createProjectedCRS()->exportToWKT(WKTFormatter::create().get()).c_str(),
+ nullptr);
+ ObjectKeeper keeper(crs);
+ ASSERT_NE(crs, nullptr);
+
+ {
+ auto alteredCRS = proj_obj_crs_alter_parameters_linear_unit(
+ m_ctxt, crs, "my unit", 2, false);
+ ObjectKeeper keeper_alteredCRS(alteredCRS);
+ ASSERT_NE(alteredCRS, nullptr);
+
+ auto wkt = proj_obj_as_wkt(m_ctxt, alteredCRS, PJ_WKT2_2018, nullptr);
+ ASSERT_NE(wkt, nullptr);
+ EXPECT_TRUE(std::string(wkt).find("500000") != std::string::npos)
+ << wkt;
+ EXPECT_TRUE(std::string(wkt).find("\"my unit\",2") != std::string::npos)
+ << wkt;
+ }
+
+ {
+ auto alteredCRS = proj_obj_crs_alter_parameters_linear_unit(
+ m_ctxt, crs, "my unit", 2, true);
+ ObjectKeeper keeper_alteredCRS(alteredCRS);
+ ASSERT_NE(alteredCRS, nullptr);
+
+ auto wkt = proj_obj_as_wkt(m_ctxt, alteredCRS, PJ_WKT2_2018, nullptr);
+ ASSERT_NE(wkt, nullptr);
+ EXPECT_TRUE(std::string(wkt).find("250000") != std::string::npos)
+ << wkt;
+ EXPECT_TRUE(std::string(wkt).find("\"my unit\",2") != std::string::npos)
+ << wkt;
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_create_engineering_crs) {
+
+ auto crs = proj_obj_create_engineering_crs(m_ctxt, "name");
+ ObjectKeeper keeper(crs);
+ ASSERT_NE(crs, nullptr);
+ auto wkt = proj_obj_as_wkt(m_ctxt, crs, PJ_WKT1_GDAL, nullptr);
+ ASSERT_NE(wkt, nullptr);
+ EXPECT_EQ(std::string(wkt), "LOCAL_CS[\"name\"]") << wkt;
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_alter_name) {
+
+ auto cs = proj_obj_create_ellipsoidal_2D_cs(
+ m_ctxt, PJ_ELLPS2D_LONGITUDE_LATITUDE, nullptr, 0);
+ ObjectKeeper keeper_cs(cs);
+ ASSERT_NE(cs, nullptr);
+
+ auto obj = proj_obj_create_geographic_crs(
+ m_ctxt, "WGS 84", "World Geodetic System 1984", "WGS 84", 6378137,
+ 298.257223563, "Greenwich", 0.0, "Degree", 0.0174532925199433, cs);
+ ObjectKeeper keeper(obj);
+ ASSERT_NE(obj, nullptr);
+
+ auto alteredObj = proj_obj_alter_name(m_ctxt, obj, "new name");
+ ObjectKeeper keeper_alteredObj(alteredObj);
+ ASSERT_NE(alteredObj, nullptr);
+
+ EXPECT_EQ(std::string(proj_obj_get_name(alteredObj)), "new name");
+}
+
+// ---------------------------------------------------------------------------
+
+TEST_F(CApi, proj_obj_create_projected_crs) {
+
+ PJ_PARAM_DESCRIPTION param;
+ param.name = "param name";
+ param.auth_name = nullptr;
+ param.code = nullptr;
+ param.value = 0.99;
+ param.unit_name = nullptr;
+ param.unit_conv_factor = 1.0;
+ param.unit_type = PJ_UT_SCALE;
+
+ auto conv = proj_obj_create_conversion(m_ctxt, "conv", "conv auth",
+ "conv code", "method", "method auth",
+ "method code", 1, &param);
+ ObjectKeeper keeper_conv(conv);
+ ASSERT_NE(conv, nullptr);
+
+ auto geog_cs = proj_obj_create_ellipsoidal_2D_cs(
+ m_ctxt, PJ_ELLPS2D_LONGITUDE_LATITUDE, nullptr, 0);
+ ObjectKeeper keeper_geog_cs(geog_cs);
+ ASSERT_NE(geog_cs, nullptr);
+
+ auto geogCRS = proj_obj_create_geographic_crs(
+ m_ctxt, "WGS 84", "World Geodetic System 1984", "WGS 84", 6378137,
+ 298.257223563, "Greenwich", 0.0, "Degree", 0.0174532925199433, geog_cs);
+ ObjectKeeper keeper_geogCRS(geogCRS);
+ ASSERT_NE(geogCRS, nullptr);
+
+ auto cs = proj_obj_create_cartesian_2D_cs(
+ m_ctxt, PJ_CART2D_EASTING_NORTHING, nullptr, 0);
+ ObjectKeeper keeper_cs(cs);
+ ASSERT_NE(cs, nullptr);
+
+ auto projCRS =
+ proj_obj_create_projected_crs(m_ctxt, "my CRS", geogCRS, conv, cs);
+ ObjectKeeper keeper_projCRS(projCRS);
+ ASSERT_NE(projCRS, nullptr);
+}
+
} // namespace
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp
index 55df5875..3f044de0 100644
--- a/test/unit/test_crs.cpp
+++ b/test/unit/test_crs.cpp
@@ -1107,6 +1107,9 @@ TEST(crs, geocentricCRS_as_WKT1_GDAL) {
" AUTHORITY[\"EPSG\",\"8901\"]],\n"
" UNIT[\"metre\",1,\n"
" AUTHORITY[\"EPSG\",\"9001\"]],\n"
+ " AXIS[\"Geocentric X\",OTHER],\n"
+ " AXIS[\"Geocentric Y\",OTHER],\n"
+ " AXIS[\"Geocentric Z\",NORTH],\n"
" AUTHORITY[\"EPSG\",\"4328\"]]");
}
@@ -1213,6 +1216,23 @@ TEST(crs, geodeticcrs_identify_no_db) {
EXPECT_EQ(res.front().first.get(), GeographicCRS::EPSG_4326.get());
EXPECT_EQ(res.front().second, 25);
}
+
+ {
+ // WKT1 identification
+ auto obj =
+ WKTParser()
+ .attachDatabaseContext(DatabaseContext::create())
+ .createFromWKT(
+ "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\","
+ "6378137,298.257223563]],PRIMEM[\"Greenwich\",0],"
+ "UNIT[\"Degree\",0.0174532925199433]]");
+ auto crs = nn_dynamic_pointer_cast<GeodeticCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ auto res = crs->identify(nullptr);
+ ASSERT_EQ(res.size(), 1);
+ EXPECT_EQ(res.front().first.get(), GeographicCRS::EPSG_4326.get());
+ EXPECT_EQ(res.front().second, 100);
+ }
}
// ---------------------------------------------------------------------------
@@ -1665,6 +1685,60 @@ TEST(crs, projectedCRS_as_WKT1_ESRI) {
// ---------------------------------------------------------------------------
+TEST(crs, projectedCRS_with_ESRI_code_as_WKT1_ESRI) {
+ auto dbContext = DatabaseContext::create();
+ auto crs = AuthorityFactory::create(dbContext, "ESRI")
+ ->createProjectedCRS("102113");
+
+ // Comes literally from the text_definition column of
+ // projected_crs table
+ auto esri_wkt =
+ "PROJCS[\"WGS_1984_Web_Mercator\","
+ "GEOGCS[\"GCS_WGS_1984_Major_Auxiliary_Sphere\","
+ "DATUM[\"D_WGS_1984_Major_Auxiliary_Sphere\","
+ "SPHEROID[\"WGS_1984_Major_Auxiliary_Sphere\",6378137.0,0.0]],"
+ "PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],"
+ "PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0.0],"
+ "PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],"
+ "PARAMETER[\"Standard_Parallel_1\",0.0],UNIT[\"Meter\",1.0]]";
+
+ EXPECT_EQ(
+ crs->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_ESRI, dbContext)
+ .get()),
+ esri_wkt);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(crs, projectedCRS_from_WKT1_ESRI_as_WKT1_ESRI) {
+ auto dbContext = DatabaseContext::create();
+ // Comes literally from the text_definition column of
+ // projected_crs table
+ auto esri_wkt =
+ "PROJCS[\"WGS_1984_Web_Mercator\","
+ "GEOGCS[\"GCS_WGS_1984_Major_Auxiliary_Sphere\","
+ "DATUM[\"D_WGS_1984_Major_Auxiliary_Sphere\","
+ "SPHEROID[\"WGS_1984_Major_Auxiliary_Sphere\",6378137.0,0.0]],"
+ "PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],"
+ "PROJECTION[\"Mercator\"],PARAMETER[\"False_Easting\",0.0],"
+ "PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",0.0],"
+ "PARAMETER[\"Standard_Parallel_1\",0.0],UNIT[\"Meter\",1.0]]";
+
+ auto obj =
+ WKTParser().attachDatabaseContext(dbContext).createFromWKT(esri_wkt);
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+
+ EXPECT_EQ(
+ crs->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_ESRI, dbContext)
+ .get()),
+ esri_wkt);
+}
+
+// ---------------------------------------------------------------------------
+
TEST(crs, projectedCRS_as_PROJ_string) {
auto crs = createProjected();
EXPECT_EQ(crs->exportToPROJString(PROJStringFormatter::create().get()),
@@ -1890,6 +1964,93 @@ TEST(crs, projectedCRS_identify_db) {
EXPECT_EQ(res.front().second, 70);
}
{
+ // Identify from a WKT1 string wit explicit correct axis order
+ auto obj = WKTParser().attachDatabaseContext(dbContext).createFromWKT(
+ "PROJCS[\"ETRS89 / UTM zone 32N (N-E)\",GEOGCS[\"ETRS89\","
+ "DATUM[\"European_Terrestrial_Reference_System_1989\","
+ "SPHEROID[\"GRS 1980\",6378137,298.257222101]],"
+ "PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433]],"
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",9],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1],"
+ "AXIS[\"Northing\",NORTH],AXIS[\"Easting\",EAST]]");
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ auto res = crs->identify(factoryEPSG);
+ ASSERT_EQ(res.size(), 1);
+ EXPECT_EQ(res.front().first->getEPSGCode(), 3044);
+ EXPECT_EQ(res.front().second, 100);
+ }
+ {
+ // Identify from a WKT1 string wit wrong axis order
+ auto obj = WKTParser().attachDatabaseContext(dbContext).createFromWKT(
+ "PROJCS[\"ETRS89 / UTM zone 32N (N-E)\",GEOGCS[\"ETRS89\","
+ "DATUM[\"European_Terrestrial_Reference_System_1989\","
+ "SPHEROID[\"GRS 1980\",6378137,298.257222101]],"
+ "PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433]],"
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",9],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1],"
+ "AXIS[\"Easting\",EAST], AXIS[\"Northing\",NORTH]]");
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ auto res = crs->identify(factoryEPSG);
+ ASSERT_EQ(res.size(), 1);
+ EXPECT_EQ(res.front().first->getEPSGCode(), 3044);
+ EXPECT_EQ(res.front().second, 25);
+ }
+ {
+ // Identify from a WKT1 string, without explicit axis
+ auto obj = WKTParser().attachDatabaseContext(dbContext).createFromWKT(
+ "PROJCS[\"ETRS89 / UTM zone 32N (N-E)\",GEOGCS[\"ETRS89\","
+ "DATUM[\"European_Terrestrial_Reference_System_1989\","
+ "SPHEROID[\"GRS 1980\",6378137,298.257222101]],"
+ "PRIMEM[\"Greenwich\",0],UNIT[\"degree\",0.0174532925199433]],"
+ "PROJECTION[\"Transverse_Mercator\"],"
+ "PARAMETER[\"latitude_of_origin\",0],"
+ "PARAMETER[\"central_meridian\",9],"
+ "PARAMETER[\"scale_factor\",0.9996],"
+ "PARAMETER[\"false_easting\",500000],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"metre\",1]]");
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ auto res = crs->identify(factoryEPSG);
+ ASSERT_EQ(res.size(), 1);
+ EXPECT_EQ(res.front().first->getEPSGCode(), 3044);
+ EXPECT_EQ(res.front().second, 100);
+ }
+ {
+ // Identify from a WKT ESRI with bad PROJCS and GEOGCS names.
+ auto obj = WKTParser().attachDatabaseContext(dbContext).createFromWKT(
+ "PROJCS[\"Lambert Conformal Conic\",GEOGCS[\"grs80\","
+ "DATUM[\"D_North_American_1983\","
+ "SPHEROID[\"Geodetic_Reference_System_1980\","
+ "6378137,298.257222101]],PRIMEM[\"Greenwich\",0],"
+ "UNIT[\"Degree\",0.017453292519943295]],"
+ "PROJECTION[\"Lambert_Conformal_Conic\"],"
+ "PARAMETER[\"standard_parallel_1\",34.33333333333334],"
+ "PARAMETER[\"standard_parallel_2\",36.16666666666666],"
+ "PARAMETER[\"latitude_of_origin\",33.75],"
+ "PARAMETER[\"central_meridian\",-79],"
+ "PARAMETER[\"false_easting\",609601.22],"
+ "PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1]]");
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ auto res = crs->identify(factoryEPSG);
+ ASSERT_EQ(res.size(), 1);
+ EXPECT_EQ(res.front().first->getEPSGCode(), 32119);
+ EXPECT_EQ(res.front().second, 70);
+ }
+ {
// No equivalent CRS to input one in result set
auto obj =
PROJStringParser().createFromPROJString("+proj=tmerc +datum=WGS84");
@@ -3407,6 +3568,40 @@ TEST(crs, boundCRS_identify_db) {
"NZGD2000 to WGS 84 (1)");
EXPECT_EQ(res.front().second, 50);
}
+
+ {
+ // WKT has EPSG code but the definition doesn't match with the official
+ // one (namely linear units are different)
+ // https://github.com/OSGeo/gdal/issues/990
+ // Also test that we can handle the synthetic Null geographic offset
+ // between NAD83 and WGS84
+ auto obj = WKTParser().attachDatabaseContext(dbContext).createFromWKT(
+ "PROJCS[\"NAD83 / Ohio North\",GEOGCS[\"NAD83\","
+ "DATUM[\"North_American_Datum_1983\",SPHEROID[\"GRS 1980\","
+ "6378137,298.257222101,AUTHORITY[\"EPSG\",\"7019\"]],"
+ "TOWGS84[0,0,0,0,0,0,0],AUTHORITY[\"EPSG\",\"6269\"]],"
+ "PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],"
+ "UNIT[\"degree\",0.0174532925199433, AUTHORITY[\"EPSG\",\"9122\"]],"
+ "AUTHORITY[\"EPSG\",\"4269\"]],"
+ "PROJECTION[\"Lambert_Conformal_Conic_2SP\"],"
+ "PARAMETER[\"standard_parallel_1\",41.7],"
+ "PARAMETER[\"standard_parallel_2\",40.43333333333333],"
+ "PARAMETER[\"latitude_of_origin\",39.66666666666666],"
+ "PARAMETER[\"central_meridian\",-82.5],"
+ "PARAMETER[\"false_easting\",1968503.937007874],"
+ "PARAMETER[\"false_northing\",0],"
+ "UNIT[\"International Foot\",0.3048,AUTHORITY[\"EPSG\",\"9002\"]],"
+ "AXIS[\"X\",EAST],AXIS[\"Y\",NORTH],AUTHORITY[\"EPSG\",\"32122\"]"
+ "]");
+ auto crs = nn_dynamic_pointer_cast<BoundCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ auto res = crs->identify(factoryEPSG);
+ ASSERT_EQ(res.size(), 1);
+ EXPECT_EQ(res.front().second, 25);
+ auto wkt = crs->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_GDAL).get());
+ EXPECT_TRUE(wkt.find("32122") != std::string::npos) << wkt;
+ }
}
// ---------------------------------------------------------------------------
@@ -4662,3 +4857,136 @@ TEST(crs, crs_stripVerticalComponent) {
EXPECT_EQ(projCRS->coordinateSystem()->axisList().size(), 2);
}
}
+
+// ---------------------------------------------------------------------------
+
+TEST(crs, crs_alterGeodeticCRS) {
+
+ {
+ auto crs = GeographicCRS::EPSG_4326->alterGeodeticCRS(
+ GeographicCRS::EPSG_4979);
+ EXPECT_TRUE(crs->isEquivalentTo(GeographicCRS::EPSG_4979.get()));
+ }
+
+ {
+ auto crs =
+ createProjected()->alterGeodeticCRS(GeographicCRS::EPSG_4979);
+ auto projCRS = dynamic_cast<ProjectedCRS *>(crs.get());
+ ASSERT_TRUE(projCRS != nullptr);
+ EXPECT_TRUE(
+ projCRS->baseCRS()->isEquivalentTo(GeographicCRS::EPSG_4979.get()));
+ }
+
+ {
+ auto crs =
+ createCompoundCRS()->alterGeodeticCRS(GeographicCRS::EPSG_4979);
+ auto compoundCRS = dynamic_cast<CompoundCRS *>(crs.get());
+ ASSERT_TRUE(compoundCRS != nullptr);
+ EXPECT_TRUE(compoundCRS->componentReferenceSystems()[0]
+ ->extractGeographicCRS()
+ ->isEquivalentTo(GeographicCRS::EPSG_4979.get()));
+ }
+
+ {
+ auto crs =
+ createVerticalCRS()->alterGeodeticCRS(GeographicCRS::EPSG_4979);
+ EXPECT_TRUE(crs->isEquivalentTo(createVerticalCRS().get()));
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(crs, crs_alterCSLinearUnit) {
+
+ {
+ auto crs =
+ createProjected()->alterCSLinearUnit(UnitOfMeasure("my unit", 2));
+ auto projCRS = dynamic_cast<ProjectedCRS *>(crs.get());
+ ASSERT_TRUE(projCRS != nullptr);
+ auto cs = projCRS->coordinateSystem();
+ ASSERT_EQ(cs->axisList().size(), 2U);
+ EXPECT_EQ(cs->axisList()[0]->unit().name(), "my unit");
+ EXPECT_EQ(cs->axisList()[0]->unit().conversionToSI(), 2);
+ EXPECT_EQ(cs->axisList()[1]->unit().name(), "my unit");
+ EXPECT_EQ(cs->axisList()[1]->unit().conversionToSI(), 2);
+ }
+
+ {
+ auto crs = GeodeticCRS::EPSG_4978->alterCSLinearUnit(
+ UnitOfMeasure("my unit", 2));
+ auto geodCRS = dynamic_cast<GeodeticCRS *>(crs.get());
+ ASSERT_TRUE(geodCRS != nullptr);
+ auto cs =
+ dynamic_cast<CartesianCS *>(geodCRS->coordinateSystem().get());
+ ASSERT_EQ(cs->axisList().size(), 3U);
+ EXPECT_EQ(cs->axisList()[0]->unit().name(), "my unit");
+ EXPECT_EQ(cs->axisList()[0]->unit().conversionToSI(), 2);
+ EXPECT_EQ(cs->axisList()[1]->unit().name(), "my unit");
+ EXPECT_EQ(cs->axisList()[1]->unit().conversionToSI(), 2);
+ EXPECT_EQ(cs->axisList()[2]->unit().name(), "my unit");
+ EXPECT_EQ(cs->axisList()[2]->unit().conversionToSI(), 2);
+ }
+
+ {
+ auto crs = GeographicCRS::EPSG_4979->alterCSLinearUnit(
+ UnitOfMeasure("my unit", 2));
+ auto geogCRS = dynamic_cast<GeographicCRS *>(crs.get());
+ ASSERT_TRUE(geogCRS != nullptr);
+ auto cs = geogCRS->coordinateSystem();
+ ASSERT_EQ(cs->axisList().size(), 3U);
+ EXPECT_NE(cs->axisList()[0]->unit().name(), "my unit");
+ EXPECT_NE(cs->axisList()[0]->unit().conversionToSI(), 2);
+ EXPECT_NE(cs->axisList()[1]->unit().name(), "my unit");
+ EXPECT_NE(cs->axisList()[1]->unit().conversionToSI(), 2);
+ EXPECT_EQ(cs->axisList()[2]->unit().name(), "my unit");
+ EXPECT_EQ(cs->axisList()[2]->unit().conversionToSI(), 2);
+ }
+
+ {
+ auto crs =
+ createVerticalCRS()->alterCSLinearUnit(UnitOfMeasure("my unit", 2));
+ auto vertCRS = dynamic_cast<VerticalCRS *>(crs.get());
+ ASSERT_TRUE(vertCRS != nullptr);
+ auto cs = vertCRS->coordinateSystem();
+ ASSERT_EQ(cs->axisList().size(), 1U);
+ EXPECT_EQ(cs->axisList()[0]->unit().name(), "my unit");
+ EXPECT_EQ(cs->axisList()[0]->unit().conversionToSI(), 2);
+ }
+
+ {
+ // Not implemented on compoundCRS
+ auto crs =
+ createCompoundCRS()->alterCSLinearUnit(UnitOfMeasure("my unit", 2));
+ EXPECT_TRUE(createCompoundCRS()->isEquivalentTo(crs.get()));
+ }
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(crs, alterParametersLinearUnit) {
+ {
+ auto crs = createProjected()->alterParametersLinearUnit(
+ UnitOfMeasure("my unit", 2), false);
+ auto wkt =
+ crs->exportToWKT(&WKTFormatter::create()->setMultiLine(false));
+ EXPECT_TRUE(wkt.find("PARAMETER[\"Longitude of natural origin\",3") !=
+ std::string::npos)
+ << wkt;
+ EXPECT_TRUE(
+ wkt.find(
+ "PARAMETER[\"False easting\",500000,UNIT[\"my unit\",2]") !=
+ std::string::npos)
+ << wkt;
+ }
+ {
+ auto crs = createProjected()->alterParametersLinearUnit(
+ UnitOfMeasure("my unit", 2), true);
+ auto wkt =
+ crs->exportToWKT(&WKTFormatter::create()->setMultiLine(false));
+ EXPECT_TRUE(
+ wkt.find(
+ "PARAMETER[\"False easting\",250000,UNIT[\"my unit\",2]") !=
+ std::string::npos)
+ << wkt;
+ }
+}
diff --git a/test/unit/test_factory.cpp b/test/unit/test_factory.cpp
index 739bb729..7cdb0b40 100644
--- a/test/unit/test_factory.cpp
+++ b/test/unit/test_factory.cpp
@@ -2703,6 +2703,13 @@ TEST(factory, createObjectsFromName) {
.size(),
1);
+ // Deprecated object (but without explicit deprecated)
+ EXPECT_EQ(
+ factoryEPSG
+ ->createObjectsFromName("NAD27(CGQ77) / SCoPQ zone 2", {}, false, 2)
+ .size(),
+ 1);
+
const auto types = std::vector<AuthorityFactory::ObjectType>{
AuthorityFactory::ObjectType::PRIME_MERIDIAN,
AuthorityFactory::ObjectType::ELLIPSOID,
@@ -2729,4 +2736,14 @@ TEST(factory, createObjectsFromName) {
factory->createObjectsFromName("i_dont_exist", types, false, 1);
}
+// ---------------------------------------------------------------------------
+
+TEST(factory, getMetadata) {
+ auto ctxt = DatabaseContext::create();
+ EXPECT_EQ(ctxt->getMetadata("i_do_not_exist"), nullptr);
+ const char *IGNF_VERSION = ctxt->getMetadata("IGNF.VERSION");
+ ASSERT_TRUE(IGNF_VERSION != nullptr);
+ EXPECT_EQ(std::string(IGNF_VERSION), "3.0.2");
+}
+
} // namespace
diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp
index 26597f09..606d57a3 100644
--- a/test/unit/test_io.cpp
+++ b/test/unit/test_io.cpp
@@ -119,6 +119,11 @@ TEST(io, wkt_parsing) {
str = "A[" + str + "]";
}
EXPECT_THROW(WKTNode::createFrom(str), ParsingException);
+
+ {
+ auto wkt = "A[\"a\",B[\"b\",C[\"c\"]],D[\"d\"]]";
+ EXPECT_EQ(WKTNode::createFrom(wkt)->toString(), wkt);
+ }
}
// ---------------------------------------------------------------------------
@@ -401,6 +406,33 @@ TEST(wkt_parse, wkt1_EPSG_4326) {
// ---------------------------------------------------------------------------
+TEST(wkt_parse, wkt1_EPSG_4267) {
+ auto obj =
+ WKTParser()
+ .attachDatabaseContext(DatabaseContext::create())
+ .createFromWKT(
+ "GEOGCS[\"NAD27\","
+ " DATUM[\"North_American_Datum_1927\","
+ " SPHEROID[\"Clarke 1866\",6378206.4,294.978698213898,"
+ " AUTHORITY[\"EPSG\",\"7008\"]],"
+ " AUTHORITY[\"EPSG\",\"6267\"]],"
+ " PRIMEM[\"Greenwich\",0,"
+ " AUTHORITY[\"EPSG\",\"8901\"]],"
+ " UNIT[\"degree\",0.0174532925199433,"
+ " AUTHORITY[\"EPSG\",\"9122\"]],"
+ " AUTHORITY[\"EPSG\",\"4267\"]]");
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+
+ auto datum = crs->datum();
+ ASSERT_EQ(datum->identifiers().size(), 1);
+ EXPECT_EQ(datum->identifiers()[0]->code(), "6267");
+ EXPECT_EQ(*(datum->identifiers()[0]->codeSpace()), "EPSG");
+ EXPECT_EQ(datum->nameStr(), "North American Datum 1927");
+}
+
+// ---------------------------------------------------------------------------
+
TEST(wkt_parse, wkt1_EPSG_4807_grad_mess) {
auto obj = WKTParser().createFromWKT(
"GEOGCS[\"NTF (Paris)\",\n"
@@ -493,6 +525,9 @@ TEST(wkt_parse, wkt1_geocentric_with_PROJ4_extension) {
" SPHEROID[\"WGS84\",6378137,298.257223563]],\n"
" PRIMEM[\"Greenwich\",0],\n"
" UNIT[\"Meter\",1],\n"
+ " AXIS[\"Geocentric X\",OTHER],\n"
+ " AXIS[\"Geocentric Y\",OTHER],\n"
+ " AXIS[\"Geocentric Z\",NORTH],\n"
" EXTENSION[\"PROJ4\",\"+proj=geocent +foo=bar +wktext\"]]";
auto obj = WKTParser().createFromWKT(wkt);
@@ -768,6 +803,28 @@ TEST(wkt_parse, wkt1_geocentric) {
// ---------------------------------------------------------------------------
+TEST(wkt_parse, wkt1_geocentric_with_z_OTHER) {
+ auto wkt = "GEOCCS[\"WGS 84 (geocentric)\",\n"
+ " DATUM[\"WGS_1984\",\n"
+ " SPHEROID[\"WGS 84\",6378137,298.257223563,\n"
+ " AUTHORITY[\"EPSG\",\"7030\"]],\n"
+ " AUTHORITY[\"EPSG\",\"6326\"]],\n"
+ " PRIMEM[\"Greenwich\",0,\n"
+ " AUTHORITY[\"EPSG\",\"8901\"]],\n"
+ " UNIT[\"metre\",1,\n"
+ " AUTHORITY[\"EPSG\",9001]],\n"
+ " AXIS[\"Geocentric X\",OTHER],\n"
+ " AXIS[\"Geocentric Y\",OTHER],\n"
+ " AXIS[\"Geocentric Z\",OTHER],\n"
+ " AUTHORITY[\"EPSG\",\"4328\"]]";
+ auto obj = WKTParser().createFromWKT(wkt);
+ auto crs = nn_dynamic_pointer_cast<GeodeticCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ checkGeocentric(crs);
+}
+
+// ---------------------------------------------------------------------------
+
static void checkProjected(ProjectedCRSPtr crs, bool checkEPSGCodes = true) {
EXPECT_EQ(crs->nameStr(), "WGS 84 / UTM zone 31N");
ASSERT_EQ(crs->identifiers().size(), 1);
@@ -966,6 +1023,33 @@ TEST(wkt_parse, wkt1_projected_with_PROJ4_extension) {
// ---------------------------------------------------------------------------
+TEST(wkt_parse, wkt1_Mercator_1SP_with_latitude_origin_0) {
+ auto wkt = "PROJCS[\"unnamed\",\n"
+ " GEOGCS[\"WGS 84\",\n"
+ " DATUM[\"unknown\",\n"
+ " SPHEROID[\"WGS84\",6378137,298.257223563]],\n"
+ " PRIMEM[\"Greenwich\",0],\n"
+ " UNIT[\"degree\",0.0174532925199433]],\n"
+ " PROJECTION[\"Mercator_1SP\"],\n"
+ " PARAMETER[\"latitude_of_origin\",0],\n"
+ " PARAMETER[\"central_meridian\",0],\n"
+ " PARAMETER[\"scale_factor\",1],\n"
+ " PARAMETER[\"false_easting\",0],\n"
+ " PARAMETER[\"false_northing\",0],\n"
+ " UNIT[\"Meter\",1],\n"
+ " AXIS[\"Easting\",EAST],\n"
+ " AXIS[\"Northing\",NORTH]]";
+ auto obj = WKTParser().createFromWKT(wkt);
+
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ auto got_wkt = crs->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_GDAL).get());
+ EXPECT_TRUE(got_wkt.find("Mercator_1SP") != std::string::npos) << got_wkt;
+}
+
+// ---------------------------------------------------------------------------
+
TEST(wkt_parse, wkt1_krovak_south_west) {
auto wkt =
"PROJCS[\"S-JTSK / Krovak\","
@@ -2641,9 +2725,10 @@ TEST(wkt_parse, LOCAL_CS_short) {
// ---------------------------------------------------------------------------
-TEST(wkt_parse, LOCAL_CS_long_one_aix) {
+TEST(wkt_parse, LOCAL_CS_long_one_axis) {
auto wkt = "LOCAL_CS[\"Engineering CRS\",\n"
" LOCAL_DATUM[\"Engineering datum\",12345],\n"
+ " UNIT[\"meter\",1],\n"
" AXIS[\"height\",up]]";
auto obj = WKTParser().createFromWKT(wkt);
@@ -2661,6 +2746,7 @@ TEST(wkt_parse, LOCAL_CS_long_one_aix) {
TEST(wkt_parse, LOCAL_CS_long_two_axis) {
auto wkt = "LOCAL_CS[\"Engineering CRS\",\n"
" LOCAL_DATUM[\"Engineering datum\",12345],\n"
+ " UNIT[\"meter\",1],\n"
" AXIS[\"Easting\",EAST],\n"
" AXIS[\"Northing\",NORTH]]";
@@ -4139,7 +4225,7 @@ TEST(wkt_parse, invalid_GEOGCS) {
TEST(wkt_parse, invalid_UNIT) {
std::string startWKT("GEODCRS[\"x\",DATUM[\"x\",SPHEROID[\"x\",1,0.5]],CS["
"ellipsoidal,2],AXIS[\"latitude\",north],AXIS["
- "\"longitude\",east,");
+ "\"longitude\",east],");
EXPECT_NO_THROW(WKTParser().createFromWKT(
startWKT + "UNIT[\"degree\",0.0174532925199433]]]"));
@@ -4228,31 +4314,35 @@ TEST(wkt_parse, invalid_CS_of_GEODCRS) {
// CS: OK
EXPECT_NO_THROW(WKTParser().createFromWKT(
startWKT + ",CS[ellipsoidal,2],AXIS[\"latitude\",north],AXIS["
- "\"longitude\",east]]"));
+ "\"longitude\",east],UNIT[\"degree\",0.0174532925199433]]"));
// CS: Cartesian with 2 axis unexpected
- EXPECT_THROW(WKTParser().createFromWKT(startWKT +
- ",CS[Cartesian,2],AXIS[\"latitude\","
- "north],AXIS[\"longitude\",east]]"),
+ EXPECT_THROW(WKTParser().createFromWKT(
+ startWKT + ",CS[Cartesian,2],AXIS[\"latitude\","
+ "north],AXIS[\"longitude\",east],"
+ "UNIT[\"degree\",0.0174532925199433]]"),
ParsingException);
// CS: missing axis
EXPECT_THROW(WKTParser().createFromWKT(
- startWKT + ",CS[ellipsoidal,2],AXIS[\"latitude\",north]]"),
+ startWKT + ",CS[ellipsoidal,2],AXIS[\"latitude\",north],"
+ "UNIT[\"degree\",0.0174532925199433]]"),
ParsingException);
// not enough children in AXIS
EXPECT_THROW(
WKTParser().createFromWKT(
startWKT +
- ",CS[ellipsoidal,2],AXIS[\"latitude\",north],AXIS[\"longitude\"]]"),
+ ",CS[ellipsoidal,2],AXIS[\"latitude\",north],AXIS[\"longitude\"],"
+ "UNIT[\"degree\",0.0174532925199433]]"),
ParsingException);
// not enough children in ORDER
EXPECT_THROW(WKTParser().createFromWKT(
startWKT +
",CS[ellipsoidal,2],AXIS[\"latitude\",north,ORDER[]],AXIS["
- "\"longitude\",east]]"),
+ "\"longitude\",east],"
+ "UNIT[\"degree\",0.0174532925199433]]"),
ParsingException);
// invalid value in ORDER
@@ -4260,7 +4350,7 @@ TEST(wkt_parse, invalid_CS_of_GEODCRS) {
WKTParser().createFromWKT(
startWKT +
",CS[ellipsoidal,2],AXIS[\"latitude\",north,ORDER[\"x\"]],AXIS["
- "\"longitude\",east]]"),
+ "\"longitude\",east],UNIT[\"degree\",0.0174532925199433]]"),
ParsingException);
// unexpected ORDER value
@@ -4268,7 +4358,7 @@ TEST(wkt_parse, invalid_CS_of_GEODCRS) {
WKTParser().createFromWKT(
startWKT +
",CS[ellipsoidal,2],AXIS[\"latitude\",north,ORDER[2]],AXIS["
- "\"longitude\",east]]"),
+ "\"longitude\",east],UNIT[\"degree\",0.0174532925199433]]"),
ParsingException);
// Invalid CS type
@@ -4794,7 +4884,8 @@ TEST(wkt_parse, invalid_DerivedGeographicCRS) {
" METHOD[\"bar\"]],\n"
" CS[ellipsoidal,2],\n"
" AXIS[\"latitude\",north],\n"
- " AXIS[\"longitude\",east]]"));
+ " AXIS[\"longitude\",east],\n"
+ " UNIT[\"degree\",0.0174532925199433]]"));
// Missing DERIVINGCONVERSION
EXPECT_THROW(
@@ -4805,7 +4896,8 @@ TEST(wkt_parse, invalid_DerivedGeographicCRS) {
" ELLIPSOID[\"WGS 84\",6378137,298.257223563]]],\n"
" CS[ellipsoidal,2],\n"
" AXIS[\"latitude\",north],\n"
- " AXIS[\"longitude\",east]]"),
+ " AXIS[\"longitude\",east],\n"
+ " UNIT[\"degree\",0.0174532925199433]]"),
ParsingException);
// Missing CS
@@ -4982,18 +5074,20 @@ TEST(wkt_parse, invalid_LOCAL_CS) {
TEST(wkt_parse, invalid_ParametricCRS) {
- EXPECT_NO_THROW(
- WKTParser().createFromWKT("PARAMETRICCRS[\"name\",\n"
- " PDATUM[\"name\"],\n"
- " CS[parametric,1],\n"
- " AXIS[\"time (T)\",future]]"));
+ EXPECT_NO_THROW(WKTParser().createFromWKT(
+ "PARAMETRICCRS[\"name\",\n"
+ " PDATUM[\"name\"],\n"
+ " CS[parametric,1],\n"
+ " AXIS[\"pressure (hPa)\",up,\n"
+ " PARAMETRICUNIT[\"HectoPascal\",100]]]"));
// Missing PDATUM
- EXPECT_THROW(
- WKTParser().createFromWKT("PARAMETRICCRS[\"name\",\n"
- " CS[parametric,1],\n"
- " AXIS[\"time (T)\",future]]"),
- ParsingException);
+ EXPECT_THROW(WKTParser().createFromWKT(
+ "PARAMETRICCRS[\"name\",\n"
+ " CS[parametric,1],\n"
+ " AXIS[\"pressure (hPa)\",up,\n"
+ " PARAMETRICUNIT[\"HectoPascal\",100]]]"),
+ ParsingException);
// Missing CS
EXPECT_THROW(WKTParser().createFromWKT("PARAMETRICCRS[\"name\",\n"
@@ -5001,13 +5095,15 @@ TEST(wkt_parse, invalid_ParametricCRS) {
ParsingException);
// Invalid number of axis for CS
- EXPECT_THROW(
- WKTParser().createFromWKT("PARAMETRICCRS[\"name\",\n"
- " PDATUM[\"name\"],\n"
- " CS[parametric,2],\n"
- " AXIS[\"time (T)\",future],\n"
- " AXIS[\"time (T)\",future]]"),
- ParsingException);
+ EXPECT_THROW(WKTParser().createFromWKT(
+ "PARAMETRICCRS[\"name\",\n"
+ " PDATUM[\"name\"],\n"
+ " CS[parametric,2],\n"
+ " AXIS[\"pressure (hPa)\",up,\n"
+ " PARAMETRICUNIT[\"HectoPascal\",100]]"
+ " AXIS[\"pressure (hPa)\",up,\n"
+ " PARAMETRICUNIT[\"HectoPascal\",100]]]"),
+ ParsingException);
// Invalid CS type
EXPECT_THROW(
@@ -5034,7 +5130,8 @@ TEST(wkt_parse, invalid_DERIVEDPROJCRS) {
" METHOD[\"PROJ unimplemented\"]],\n"
" CS[Cartesian,2],\n"
" AXIS[\"(E)\",east],\n"
- " AXIS[\"(N)\",north]]"));
+ " AXIS[\"(N)\",north],\n"
+ " UNIT[\"metre\",1]]"));
EXPECT_THROW(
WKTParser().createFromWKT("DERIVEDPROJCRS[\"derived projectedCRS\",\n"
@@ -5042,7 +5139,8 @@ TEST(wkt_parse, invalid_DERIVEDPROJCRS) {
" METHOD[\"PROJ unimplemented\"]],\n"
" CS[Cartesian,2],\n"
" AXIS[\"(E)\",east],\n"
- " AXIS[\"(N)\",north]]"),
+ " AXIS[\"(N)\",north],\n"
+ " UNIT[\"metre\",1]]"),
ParsingException);
// Missing DERIVINGCONVERSION
@@ -5058,7 +5156,8 @@ TEST(wkt_parse, invalid_DERIVEDPROJCRS) {
" METHOD[\"PROJ unimplemented\"]]],\n"
" CS[Cartesian,2],\n"
" AXIS[\"(E)\",east],\n"
- " AXIS[\"(N)\",north]]"),
+ " AXIS[\"(N)\",north],\n"
+ " UNIT[\"metre\",1]]"),
ParsingException);
// Missing CS
@@ -5087,7 +5186,8 @@ TEST(wkt_parse, invalid_DerivedVerticalCRS) {
" DERIVINGCONVERSION[\"unnamed\",\n"
" METHOD[\"PROJ unimplemented\"]],\n"
" CS[vertical,1],\n"
- " AXIS[\"gravity-related height (H)\",up]]"));
+ " AXIS[\"gravity-related height (H)\",up],\n"
+ " UNIT[\"metre\",1]]"));
// Missing DERIVINGCONVERSION
EXPECT_THROW(WKTParser().createFromWKT(
@@ -5095,7 +5195,8 @@ TEST(wkt_parse, invalid_DerivedVerticalCRS) {
" BASEVERTCRS[\"ODN height\",\n"
" VDATUM[\"Ordnance Datum Newlyn\"]],\n"
" CS[vertical,1],\n"
- " AXIS[\"gravity-related height (H)\",up]]"),
+ " AXIS[\"gravity-related height (H)\",up],\n"
+ " UNIT[\"metre\",1]]"),
ParsingException);
// Missing CS
@@ -5115,7 +5216,8 @@ TEST(wkt_parse, invalid_DerivedVerticalCRS) {
" DERIVINGCONVERSION[\"unnamed\",\n"
" METHOD[\"PROJ unimplemented\"]],\n"
" CS[parametric,1],\n"
- " AXIS[\"gravity-related height (H)\",up]]"),
+ " AXIS[\"gravity-related height (H)\",up],\n"
+ " UNIT[\"metre\",1]]"),
ParsingException);
}
@@ -5381,6 +5483,20 @@ TEST(io, projstringformatter_cart_grs80_wgs84) {
// ---------------------------------------------------------------------------
+TEST(io, projstringformatter_axisswap_unitconvert_axisswap) {
+ auto fmt = PROJStringFormatter::create();
+ fmt->addStep("axisswap");
+ fmt->addParam("order", "2,1");
+ fmt->addStep("unitconvert");
+ fmt->addParam("xy_in", "rad");
+ fmt->addParam("xy_out", "deg");
+ fmt->addStep("axisswap");
+ fmt->addParam("order", "2,1");
+ EXPECT_EQ(fmt->toString(), "+proj=unitconvert +xy_in=rad +xy_out=deg");
+}
+
+// ---------------------------------------------------------------------------
+
TEST(io, projparse_longlat) {
auto expected = "GEODCRS[\"unknown\",\n"
@@ -5672,23 +5788,33 @@ TEST(io, projparse_longlat_a_f_non_zero) {
PROJStringParser().createFromPROJString("+proj=longlat +a=2 +f=0.5");
auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
ASSERT_TRUE(crs != nullptr);
- WKTFormatterNNPtr f(WKTFormatter::create());
- f->simulCurNodeHasId();
- crs->exportToWKT(f.get());
- auto expected = "GEODCRS[\"unknown\",\n"
- " DATUM[\"unknown\",\n"
- " ELLIPSOID[\"unknown\",2,2,\n"
- " LENGTHUNIT[\"metre\",1]]],\n"
- " PRIMEM[\"Reference meridian\",0,\n"
- " ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
- " CS[ellipsoidal,2],\n"
- " AXIS[\"longitude\",east,\n"
- " ORDER[1],\n"
- " ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
- " AXIS[\"latitude\",north,\n"
- " ORDER[2],\n"
- " ANGLEUNIT[\"degree\",0.0174532925199433]]]";
- EXPECT_EQ(f->toString(), expected);
+ EXPECT_EQ(crs->ellipsoid()->semiMajorAxis().getSIValue(), 2);
+ auto rf = crs->ellipsoid()->computedInverseFlattening();
+ EXPECT_EQ(rf, 2) << rf;
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(io, projparse_longlat_a_e) {
+ auto obj =
+ PROJStringParser().createFromPROJString("+proj=longlat +a=2 +e=0.5");
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_EQ(crs->ellipsoid()->semiMajorAxis().getSIValue(), 2);
+ auto rf = crs->ellipsoid()->computedInverseFlattening();
+ EXPECT_NEAR(rf, 7.46410161513775, 1e-14) << rf;
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(io, projparse_longlat_a_es) {
+ auto obj =
+ PROJStringParser().createFromPROJString("+proj=longlat +a=2 +es=0.5");
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_EQ(crs->ellipsoid()->semiMajorAxis().getSIValue(), 2);
+ auto rf = crs->ellipsoid()->computedInverseFlattening();
+ EXPECT_EQ(rf, 3.4142135623730958) << rf;
}
// ---------------------------------------------------------------------------
@@ -5697,23 +5823,31 @@ TEST(io, projparse_longlat_R) {
auto obj = PROJStringParser().createFromPROJString("+proj=longlat +R=2");
auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
ASSERT_TRUE(crs != nullptr);
- WKTFormatterNNPtr f(WKTFormatter::create());
- f->simulCurNodeHasId();
- crs->exportToWKT(f.get());
- auto expected = "GEODCRS[\"unknown\",\n"
- " DATUM[\"unknown\",\n"
- " ELLIPSOID[\"unknown\",2,0,\n"
- " LENGTHUNIT[\"metre\",1]]],\n"
- " PRIMEM[\"Reference meridian\",0,\n"
- " ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
- " CS[ellipsoidal,2],\n"
- " AXIS[\"longitude\",east,\n"
- " ORDER[1],\n"
- " ANGLEUNIT[\"degree\",0.0174532925199433]],\n"
- " AXIS[\"latitude\",north,\n"
- " ORDER[2],\n"
- " ANGLEUNIT[\"degree\",0.0174532925199433]]]";
- EXPECT_EQ(f->toString(), expected);
+ EXPECT_TRUE(crs->ellipsoid()->isSphere());
+ EXPECT_EQ(crs->ellipsoid()->semiMajorAxis().getSIValue(), 2);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(io, projparse_longlat_a) {
+ auto obj = PROJStringParser().createFromPROJString("+proj=longlat +a=2");
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_TRUE(crs->ellipsoid()->isSphere());
+ EXPECT_EQ(crs->ellipsoid()->semiMajorAxis().getSIValue(), 2);
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(io, projparse_longlat_a_override_ellps) {
+ auto obj = PROJStringParser().createFromPROJString(
+ "+proj=longlat +a=2 +ellps=WGS84");
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_TRUE(!crs->ellipsoid()->isSphere());
+ EXPECT_EQ(crs->ellipsoid()->semiMajorAxis().getSIValue(), 2);
+ EXPECT_EQ(crs->ellipsoid()->computedInverseFlattening(), 298.25722356300003)
+ << crs->ellipsoid()->computedInverseFlattening();
}
// ---------------------------------------------------------------------------
@@ -7433,18 +7567,48 @@ TEST(io, projparse_projected_title) {
// ---------------------------------------------------------------------------
TEST(io, projparse_init) {
+ auto dbContext = DatabaseContext::create();
+
+ // Not allowed in non-compatibillity mode
+ EXPECT_THROW(PROJStringParser().createFromPROJString("init=epsg:4326"),
+ ParsingException);
+
+ {
+ // EPSG:4326 is normally latitude-longitude order with degree,
+ // but in compatibillity mode it will be long-lat radian
+ auto obj = createFromUserInput("init=epsg:4326", dbContext, true);
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_TRUE(crs->coordinateSystem()->isEquivalentTo(
+ EllipsoidalCS::createLongitudeLatitude(UnitOfMeasure::RADIAN)
+ .get()));
+ }
{
- auto obj = PROJStringParser().createFromPROJString("init=epsg:4326");
+ // EPSG:3040 is normally northing-easting order, but in compatibillity
+ // mode it will be easting-northing
+ auto obj = createFromUserInput("init=epsg:3040", dbContext, true);
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_TRUE(crs->coordinateSystem()->isEquivalentTo(
+ CartesianCS::createEastingNorthing(UnitOfMeasure::METRE).get()));
+ }
+
+ {
+ auto obj =
+ PROJStringParser().createFromPROJString("init=ITRF2000:ITRF2005");
auto co = nn_dynamic_pointer_cast<CoordinateOperation>(obj);
ASSERT_TRUE(co != nullptr);
EXPECT_EQ(co->exportToPROJString(PROJStringFormatter::create().get()),
- "+init=epsg:4326");
+ "+proj=helmert +x=-0.0001 +y=0.0008 +z=0.0058 +rx=0 +ry=0 "
+ "+rz=0 +s=-0.0004 +dx=0.0002 +dy=-0.0001 +dz=0.0018 +drx=0 "
+ "+dry=0 +drz=0 +ds=-8e-06 +t_epoch=2000 "
+ "+convention=position_vector");
}
{
- auto obj = PROJStringParser().createFromPROJString(
- "title=mytitle init=epsg:4326 ellps=WGS84");
+ auto obj = createFromUserInput(
+ "title=mytitle init=epsg:4326 ellps=WGS84", dbContext, true);
auto co = nn_dynamic_pointer_cast<CoordinateOperation>(obj);
ASSERT_TRUE(co != nullptr);
EXPECT_EQ(co->nameStr(), "mytitle");
@@ -7453,13 +7617,24 @@ TEST(io, projparse_init) {
}
{
- auto obj = PROJStringParser().createFromPROJString(
- "proj=pipeline step init=epsg:4326 step proj=longlat");
+ auto obj = createFromUserInput(
+ "proj=pipeline step init=epsg:4326 step proj=longlat", dbContext,
+ true);
auto co = nn_dynamic_pointer_cast<CoordinateOperation>(obj);
ASSERT_TRUE(co != nullptr);
EXPECT_EQ(co->exportToPROJString(PROJStringFormatter::create().get()),
"+proj=pipeline +step +init=epsg:4326 +step +proj=longlat");
}
+
+ {
+ auto obj = createFromUserInput(
+ "init=epsg:4326 proj=longlat ellps=GRS80", dbContext, true);
+ auto crs = nn_dynamic_pointer_cast<GeographicCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_EQ(crs->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=pipeline +step +proj=longlat +ellps=GRS80 "
+ "+step +proj=unitconvert +xy_in=rad +xy_out=deg");
+ }
}
// ---------------------------------------------------------------------------
@@ -7491,10 +7666,6 @@ TEST(io, projparse_errors) {
EXPECT_THROW(PROJStringParser().createFromPROJString(
"proj=pipeline step init=epsg:4326 init=epsg:4326"),
ParsingException);
-
- EXPECT_THROW(PROJStringParser().createFromPROJString(
- "proj=pipeline step init=epsg:4326 proj=longlat"),
- ParsingException);
}
// ---------------------------------------------------------------------------
@@ -7532,9 +7703,6 @@ TEST(io, projparse_longlat_errors) {
PROJStringParser().createFromPROJString("+proj=longlat +R=invalid"),
ParsingException);
- EXPECT_THROW(PROJStringParser().createFromPROJString("+proj=longlat +a=1"),
- ParsingException);
-
EXPECT_THROW(PROJStringParser().createFromPROJString("+proj=longlat +b=1"),
ParsingException);
@@ -7607,6 +7775,7 @@ TEST(io, createFromUserInput) {
EXPECT_NO_THROW(createFromUserInput("+proj=longlat", nullptr));
EXPECT_NO_THROW(createFromUserInput("EPSG:4326", dbContext));
+ EXPECT_NO_THROW(createFromUserInput("epsg:4326", dbContext));
EXPECT_NO_THROW(
createFromUserInput("urn:ogc:def:crs:EPSG::4326", dbContext));
EXPECT_NO_THROW(createFromUserInput(
diff --git a/test/unit/test_operation.cpp b/test/unit/test_operation.cpp
index e62eddf9..057f1717 100644
--- a/test/unit/test_operation.cpp
+++ b/test/unit/test_operation.cpp
@@ -1142,6 +1142,36 @@ TEST(operation, transformation_createTOWGS84) {
// ---------------------------------------------------------------------------
+TEST(operation, createAxisOrderReversal) {
+
+ auto latLongDeg = GeographicCRS::create(
+ PropertyMap(), GeodeticReferenceFrame::EPSG_6326,
+ EllipsoidalCS::createLatitudeLongitude(UnitOfMeasure::DEGREE));
+ auto longLatDeg = GeographicCRS::create(
+ PropertyMap(), GeodeticReferenceFrame::EPSG_6326,
+ EllipsoidalCS::createLongitudeLatitude(UnitOfMeasure::DEGREE));
+ {
+ auto op = CoordinateOperationFactory::create()->createOperation(
+ latLongDeg, longLatDeg);
+ ASSERT_TRUE(op != nullptr);
+ EXPECT_EQ(op->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=axisswap +order=2,1");
+ }
+ {
+ auto longLatRad = GeographicCRS::create(
+ PropertyMap(), GeodeticReferenceFrame::EPSG_6326,
+ EllipsoidalCS::createLongitudeLatitude(UnitOfMeasure::RADIAN));
+ auto op = CoordinateOperationFactory::create()->createOperation(
+ longLatRad, latLongDeg);
+ ASSERT_TRUE(op != nullptr);
+ EXPECT_EQ(op->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=pipeline +step +proj=axisswap +order=2,1 "
+ "+step +proj=unitconvert +xy_in=rad +xy_out=deg");
+ }
+}
+
+// ---------------------------------------------------------------------------
+
TEST(operation, utm_export) {
auto conv = Conversion::createUTM(PropertyMap(), 1, false);
EXPECT_EQ(conv->exportToPROJString(PROJStringFormatter::create().get()),
@@ -2986,6 +3016,29 @@ TEST(operation, webmerc_import_from_GDAL_wkt1) {
// ---------------------------------------------------------------------------
+TEST(operation, webmerc_import_from_GDAL_wkt1_with_EPSG_code) {
+
+ auto projCRS = ProjectedCRS::create(
+ PropertyMap()
+ .set(IdentifiedObject::NAME_KEY, "Pseudo-Mercator")
+ .set(Identifier::CODESPACE_KEY, "EPSG")
+ .set(Identifier::CODE_KEY, "3857"),
+ GeographicCRS::EPSG_4326,
+ Conversion::createPopularVisualisationPseudoMercator(
+ PropertyMap(), Angle(0), Angle(0), Length(0), Length(0)),
+ CartesianCS::createEastingNorthing(UnitOfMeasure::METRE));
+
+ auto wkt1 = projCRS->exportToWKT(
+ WKTFormatter::create(WKTFormatter::Convention::WKT1_GDAL).get());
+ EXPECT_TRUE(wkt1.find("3857") != std::string::npos) << wkt1;
+ auto obj = WKTParser().createFromWKT(wkt1);
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+ EXPECT_EQ(crs->identifiers().size(), 1);
+}
+
+// ---------------------------------------------------------------------------
+
TEST(operation, webmerc_import_from_GDAL_wkt1_EPSG_3785_deprecated) {
auto wkt1 =
@@ -3134,6 +3187,44 @@ TEST(operation, webmerc_import_from_WKT2_EPSG_3785_deprecated) {
// ---------------------------------------------------------------------------
+TEST(operation, webmerc_import_from_broken_esri_WGS_84_Pseudo_Mercator) {
+
+ // Likely the result of a broken export of GDAL morphToESRI()
+ auto wkt1 = "PROJCS[\"WGS_84_Pseudo_Mercator\",GEOGCS[\"GCS_WGS_1984\","
+ "DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\","
+ "6378137,298.257223563]],PRIMEM[\"Greenwich\",0],"
+ "UNIT[\"Degree\",0.017453292519943295]],"
+ "PROJECTION[\"Mercator\"],PARAMETER[\"central_meridian\",0],"
+ "PARAMETER[\"false_easting\",0],"
+ "PARAMETER[\"false_northing\",0],UNIT[\"Meter\",1],"
+ "PARAMETER[\"standard_parallel_1\",0.0]]";
+
+ auto obj = WKTParser().createFromWKT(wkt1);
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
+ ASSERT_TRUE(crs != nullptr);
+
+ auto convGot = crs->derivingConversion();
+
+ EXPECT_EQ(convGot->exportToWKT(WKTFormatter::create().get()),
+ "CONVERSION[\"unnamed\",\n"
+ " METHOD[\"Popular Visualisation Pseudo Mercator\",\n"
+ " ID[\"EPSG\",1024]],\n"
+ " PARAMETER[\"Latitude of natural origin\",0,\n"
+ " ANGLEUNIT[\"degree\",0.0174532925199433],\n"
+ " ID[\"EPSG\",8801]],\n"
+ " PARAMETER[\"Longitude of natural origin\",0,\n"
+ " ANGLEUNIT[\"degree\",0.0174532925199433],\n"
+ " ID[\"EPSG\",8802]],\n"
+ " PARAMETER[\"False easting\",0,\n"
+ " LENGTHUNIT[\"metre\",1],\n"
+ " ID[\"EPSG\",8806]],\n"
+ " PARAMETER[\"False northing\",0,\n"
+ " LENGTHUNIT[\"metre\",1],\n"
+ " ID[\"EPSG\",8807]]]");
+}
+
+// ---------------------------------------------------------------------------
+
TEST(operation, mollweide_export) {
auto conv = Conversion::createMollweide(PropertyMap(), Angle(1), Length(2),
@@ -4215,7 +4306,7 @@ TEST(operation, geogCRS_to_geogCRS_context_ntv1_ntv2_ctable2) {
authFactory->createCoordinateReferenceSystem("4267"), // NAD27
authFactory->createCoordinateReferenceSystem("4269"), // NAD83
ctxt);
- ASSERT_EQ(list.size(), 6);
+ ASSERT_EQ(list.size(), 7);
EXPECT_EQ(list[0]->exportToPROJString(PROJStringFormatter::create().get()),
"+proj=pipeline +step +proj=axisswap +order=2,1 +step "
"+proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=hgridshift "
@@ -4447,6 +4538,38 @@ TEST(operation, geogCRS_to_geogCRS_CH1903_to_CH1903plus_context) {
// ---------------------------------------------------------------------------
+TEST(operation, geogCRS_to_geogCRS_init_IGNF_to_init_IGNF_context) {
+
+ auto dbContext = DatabaseContext::create();
+
+ auto sourceCRS_obj = PROJStringParser()
+ .attachDatabaseContext(dbContext)
+ .setUsePROJ4InitRules(true)
+ .createFromPROJString("+init=IGNF:NTFG");
+ auto sourceCRS = nn_dynamic_pointer_cast<CRS>(sourceCRS_obj);
+ ASSERT_TRUE(sourceCRS != nullptr);
+
+ auto targetCRS_obj = PROJStringParser()
+ .attachDatabaseContext(dbContext)
+ .setUsePROJ4InitRules(true)
+ .createFromPROJString("+init=IGNF:RGF93G");
+ auto targetCRS = nn_dynamic_pointer_cast<CRS>(targetCRS_obj);
+ ASSERT_TRUE(targetCRS != nullptr);
+
+ auto authFactory = AuthorityFactory::create(dbContext, std::string());
+ auto ctxt = CoordinateOperationContext::create(authFactory, nullptr, 0.0);
+ auto list = CoordinateOperationFactory::create()->createOperations(
+ NN_CHECK_ASSERT(sourceCRS), NN_CHECK_ASSERT(targetCRS), ctxt);
+ ASSERT_EQ(list.size(), 1);
+
+ EXPECT_EQ(list[0]->nameStr(),
+ "NOUVELLE TRIANGULATION DE LA FRANCE (NTF) vers RGF93 (ETRS89)");
+ EXPECT_EQ(list[0]->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=hgridshift +grids=ntf_r93.gsb");
+}
+
+// ---------------------------------------------------------------------------
+
TEST(operation, geogCRS_to_geogCRS_3D) {
auto geogcrs_m_obj =
@@ -5080,6 +5203,83 @@ TEST(operation, boundCRS_of_geogCRS_to_unrelated_geogCRS) {
// ---------------------------------------------------------------------------
+TEST(operation, createOperation_boundCRS_identified_by_datum) {
+ auto objSrc =
+ PROJStringParser().createFromPROJString("+proj=longlat +datum=WGS84");
+ auto src = nn_dynamic_pointer_cast<GeographicCRS>(objSrc);
+ ASSERT_TRUE(src != nullptr);
+
+ auto objDest = PROJStringParser().createFromPROJString(
+ "+proj=utm +zone=32 +a=6378249.2 +b=6356515 "
+ "+towgs84=-263.0,6.0,431.0 +no_defs");
+ auto dest = nn_dynamic_pointer_cast<BoundCRS>(objDest);
+ ASSERT_TRUE(dest != nullptr);
+
+ auto op = CoordinateOperationFactory::create()->createOperation(
+ NN_CHECK_ASSERT(src), NN_CHECK_ASSERT(dest));
+ ASSERT_TRUE(op != nullptr);
+ EXPECT_EQ(op->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad "
+ "+step +proj=cart +ellps=WGS84 "
+ "+step +proj=helmert +x=263 +y=-6 +z=-431 "
+ "+step +inv +proj=cart +ellps=clrk80ign "
+ "+step +proj=utm +zone=32 +ellps=clrk80ign");
+
+ auto authFactory =
+ AuthorityFactory::create(DatabaseContext::create(), std::string());
+ auto ctxt = CoordinateOperationContext::create(authFactory, nullptr, 0.0);
+ auto list = CoordinateOperationFactory::create()->createOperations(
+ NN_CHECK_ASSERT(src), NN_CHECK_ASSERT(dest), ctxt);
+ ASSERT_EQ(list.size(), 1U);
+ EXPECT_TRUE(list[0]->isEquivalentTo(op.get()));
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(operation, boundCRS_of_clrk_66_geogCRS_to_nad83_geogCRS) {
+ auto objSrc = PROJStringParser().createFromPROJString(
+ "+proj=latlong +ellps=clrk66 +nadgrids=ntv1_can.dat,conus");
+ auto src = nn_dynamic_pointer_cast<CRS>(objSrc);
+ ASSERT_TRUE(src != nullptr);
+
+ auto objDest =
+ PROJStringParser().createFromPROJString("+proj=latlong +datum=NAD83");
+ auto dest = nn_dynamic_pointer_cast<CRS>(objDest);
+ ASSERT_TRUE(dest != nullptr);
+
+ auto op = CoordinateOperationFactory::create()->createOperation(
+ NN_CHECK_ASSERT(src), NN_CHECK_ASSERT(dest));
+ ASSERT_TRUE(op != nullptr);
+ EXPECT_EQ(op->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad "
+ "+step +proj=hgridshift +grids=ntv1_can.dat,conus "
+ "+step +proj=unitconvert +xy_in=rad +xy_out=deg");
+}
+
+// ---------------------------------------------------------------------------
+
+TEST(operation, boundCRS_of_clrk_66_projCRS_to_nad83_geogCRS) {
+ auto objSrc = PROJStringParser().createFromPROJString(
+ "+proj=utm +zone=17 +ellps=clrk66 +nadgrids=ntv1_can.dat,conus");
+ auto src = nn_dynamic_pointer_cast<CRS>(objSrc);
+ ASSERT_TRUE(src != nullptr);
+
+ auto objDest =
+ PROJStringParser().createFromPROJString("+proj=latlong +datum=NAD83");
+ auto dest = nn_dynamic_pointer_cast<CRS>(objDest);
+ ASSERT_TRUE(dest != nullptr);
+
+ auto op = CoordinateOperationFactory::create()->createOperation(
+ NN_CHECK_ASSERT(src), NN_CHECK_ASSERT(dest));
+ ASSERT_TRUE(op != nullptr);
+ EXPECT_EQ(op->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=pipeline +step +inv +proj=utm +zone=17 +ellps=clrk66 "
+ "+step +proj=hgridshift +grids=ntv1_can.dat,conus "
+ "+step +proj=unitconvert +xy_in=rad +xy_out=deg");
+}
+
+// ---------------------------------------------------------------------------
+
TEST(operation, boundCRS_of_projCRS_to_geogCRS) {
auto utm31 = ProjectedCRS::create(
PropertyMap(), GeographicCRS::EPSG_4807,
@@ -5834,6 +6034,25 @@ TEST(operation, createOperation_on_crs_with_canonical_bound_crs) {
// ---------------------------------------------------------------------------
+TEST(operation, createOperation_fallback_to_proj4_strings) {
+ auto objDest = PROJStringParser().createFromPROJString(
+ "+proj=longlat +geoc +ellps=WGS84");
+ auto dest = nn_dynamic_pointer_cast<GeographicCRS>(objDest);
+ ASSERT_TRUE(dest != nullptr);
+
+ auto op = CoordinateOperationFactory::create()->createOperation(
+ GeographicCRS::EPSG_4326, NN_CHECK_ASSERT(dest));
+ ASSERT_TRUE(op != nullptr);
+ EXPECT_EQ(op->exportToPROJString(PROJStringFormatter::create().get()),
+ "+proj=pipeline +step +proj=axisswap +order=2,1 "
+ "+step +proj=unitconvert +xy_in=deg +xy_out=rad "
+ "+step +inv +proj=longlat +datum=WGS84 "
+ "+step +proj=longlat +geoc +ellps=WGS84 "
+ "+step +proj=unitconvert +xy_in=rad +xy_out=deg");
+}
+
+// ---------------------------------------------------------------------------
+
TEST(operation, mercator_variant_A_to_variant_B) {
auto projCRS = ProjectedCRS::create(
PropertyMap(), GeographicCRS::EPSG_4326,