diff options
| author | Even Rouault <even.rouault@mines-paris.org> | 2018-12-03 17:20:48 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-03 17:20:48 +0100 |
| commit | d0506e19a71888f7f0c3aa8618d919624e754c4d (patch) | |
| tree | 4468cd5ef29f3f7f6ce2ed950b5d1938cfbf84b5 | |
| parent | 4794d755a8dea4f4501c61e896e1829bb720e69a (diff) | |
| parent | ba111ac8323ff194039a06db87d1fb17ed8175b3 (diff) | |
| download | PROJ-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
97 files changed, 10245 insertions, 23345 deletions
@@ -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 ¶meters = 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 ¶m = parameters[index]; const auto ¶m_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 ¶mValue = 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) { @@ -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; -} @@ -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 ¶mValue, + 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 ¶mValue, // --------------------------------------------------------------------------- -static double getNumericValue(const std::string ¶mValue, - 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) @@ -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, ¶m); + 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, |
