aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Knudsen <busstoptaktik@users.noreply.github.com>2017-10-12 16:42:44 +0200
committerGitHub <noreply@github.com>2017-10-12 16:42:44 +0200
commit56157fbf874b9e84bf2c543ab201a3eea8aafe7c (patch)
tree4eb5f15521a4311abdf60b259514aae07bd707b2
parent8b5e349093bc3b0e405898bb0789fe48cd9ac0e8 (diff)
parent48bfa6121fd19718b93d9ed9e09ddaed0739fadf (diff)
downloadPROJ-56157fbf874b9e84bf2c543ab201a3eea8aafe7c.tar.gz
PROJ-56157fbf874b9e84bf2c543ab201a3eea8aafe7c.zip
Merge pull request #593 from busstoptaktik/gie
[WIP, RFC] Move regression tests out from the main code base
-rw-r--r--appveyor.yml1
-rw-r--r--src/CMakeLists.txt26
-rw-r--r--src/Makefile.am14
-rw-r--r--src/bin_gie.cmake9
-rw-r--r--src/gie.c712
-rw-r--r--src/makefile.vc9
-rw-r--r--src/optargpm.h52
-rw-r--r--src/proj_strtod.c52
-rw-r--r--test/gie/builtins.gie4678
-rwxr-xr-xtravis/install.sh3
10 files changed, 5510 insertions, 46 deletions
diff --git a/appveyor.yml b/appveyor.yml
index d878c73d..3e8980dc 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -57,6 +57,7 @@ test_script:
- echo "Contents of current directory:"
- dir
- proj.exe -VC
+ - gie.exe ..\test\gie\builtins.gie
deploy: off
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 788273a9..494eef9b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -3,11 +3,12 @@
include(lib_proj.cmake)
# configure executable build
-option(BUILD_CCT "Build cct (coordinate conversion and transformation tool)" ON)
-option(BUILD_CS2CS "Build cs2cs (coordinate systems to coordinate systems translation tool)" ON)
-option(BUILD_PROJ "Build proj (cartographic projection tool : latlong <-> projected coordinates" ON)
-option(BUILD_GEOD "Build geod (computation of geodesic lines)" ON)
-option(BUILD_NAD2BIN "Build nad2bin (format conversion tool) " ON)
+option(BUILD_CCT "Build cct (coordinate conversion and transformation tool)" ON)
+option(BUILD_CS2CS "Build cs2cs (coordinate systems to coordinate systems translation tool)" ON)
+option(BUILD_GEOD "Build geod (computation of geodesic lines)" ON)
+option(BUILD_GIE "Build gie (geospatial integrity investigation environment - a PROJ.4 test tool)" ON)
+option(BUILD_NAD2BIN "Build nad2bin (format conversion tool)" ON)
+option(BUILD_PROJ "Build proj (cartographic projection tool : latlong <-> projected coordinates)" ON)
if(NOT MSVC)
if (NOT APPLE)
@@ -33,11 +34,6 @@ if(BUILD_CS2CS)
set(BIN_TARGETS ${BIN_TARGETS} cs2cs)
endif(BUILD_CS2CS)
-if(BUILD_PROJ)
- include(bin_proj.cmake)
- set(BIN_TARGETS ${BIN_TARGETS} binproj)
-endif(BUILD_PROJ)
-
if(BUILD_GEOD)
include(bin_geod.cmake)
include(bin_geodtest.cmake)
@@ -49,6 +45,16 @@ if(BUILD_NAD2BIN)
set(BIN_TARGETS ${BIN_TARGETS} nad2bin)
endif(BUILD_NAD2BIN)
+if(BUILD_PROJ)
+ include(bin_proj.cmake)
+ set(BIN_TARGETS ${BIN_TARGETS} binproj)
+endif(BUILD_PROJ)
+
+if(BUILD_GIE)
+ include(bin_gie.cmake)
+ set(BIN_TARGETS ${BIN_TARGETS} gie)
+endif(BUILD_GIE)
+
if (MSVC OR CMAKE_CONFIGURATION_TYPES)
if(BIN_TARGETS)
# Add _d suffix for your debug versions of the tools
diff --git a/src/Makefile.am b/src/Makefile.am
index 25b7456c..a039151d 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,6 @@
AM_CFLAGS = @C_WFLAGS@
-bin_PROGRAMS = proj nad2bin geod cs2cs cct
+bin_PROGRAMS = proj nad2bin geod cs2cs gie cct
EXTRA_PROGRAMS = multistresstest test228
TESTS = geodtest
@@ -12,7 +12,7 @@ AM_CPPFLAGS = -DPROJ_LIB=\"$(pkgdatadir)\" \
include_HEADERS = proj.h proj_api.h projects.h geodesic.h \
org_proj4_Projections.h org_proj4_PJ.h
-EXTRA_DIST = makefile.vc proj.def bin_cct.cmake bin_cs2cs.cmake \
+EXTRA_DIST = makefile.vc proj.def bin_cct.cmake bin_gie.cmake bin_cs2cs.cmake \
bin_geod.cmake bin_nad2bin.cmake bin_proj.cmake \
lib_proj.cmake CMakeLists.txt bin_geodtest.cmake geodtest.c
@@ -21,15 +21,19 @@ cs2cs_SOURCES = cs2cs.c gen_cheb.c p_series.c
cct_SOURCES = cct.c proj_strtod.c optargpm.h
nad2bin_SOURCES = nad2bin.c
geod_SOURCES = geod.c geod_set.c geod_interface.c geod_interface.h
+
+gie_SOURCES = gie.c proj_strtod.c optargpm.h
multistresstest_SOURCES = multistresstest.c
test228_SOURCES = test228.c
geodtest_SOURCES = geodtest.c
-proj_LDADD = libproj.la
-cs2cs_LDADD = libproj.la
cct_LDADD = libproj.la
-nad2bin_LDADD = libproj.la
+cs2cs_LDADD = libproj.la
geod_LDADD = libproj.la
+proj_LDADD = libproj.la
+nad2bin_LDADD = libproj.la
+
+gie_LDADD = libproj.la
multistresstest_LDADD = libproj.la @THREAD_LIB@
test228_LDADD = libproj.la @THREAD_LIB@
geodtest_LDADD = libproj.la
diff --git a/src/bin_gie.cmake b/src/bin_gie.cmake
new file mode 100644
index 00000000..ca6dde0e
--- /dev/null
+++ b/src/bin_gie.cmake
@@ -0,0 +1,9 @@
+set(GIE_SRC gie.c proj_strtod.c)
+set(GIE_INCLUDE optargpm.h)
+
+source_group("Source Files\\Bin" FILES ${GIE_SRC})
+
+add_executable(gie ${GIE_SRC} ${GIE_INCLUDE})
+target_link_libraries(gie ${PROJ_LIBRARIES})
+install(TARGETS gie
+ RUNTIME DESTINATION ${BINDIR})
diff --git a/src/gie.c b/src/gie.c
new file mode 100644
index 00000000..91af00b9
--- /dev/null
+++ b/src/gie.c
@@ -0,0 +1,712 @@
+/***********************************************************************
+
+ gie - The Geospatial Integrity Investigation Environment
+
+************************************************************************
+
+The Geospatial Integrity Investigation Environment "gie" is a modest
+regression testing environment for the PROJ.4 transformation library.
+
+Its primary design goal was to be able to replace those thousands of
+lines of regression testing code that are (at time of writing) part
+of PROJ.4, while not requiring any other kind of tooling than the same
+C compiler already employed for compiling the library.
+
+The basic functionality of the gie command language is implemented
+through just 3 command verbs:
+
+OPERATION, which defines the PROJ.4 operation to test,
+ACCEPT, which defines the input coordinate to read, and
+EXPECT, which defines the result to expect.
+
+E.g:
+
+operation +proj=utm +zone=32 +ellps=GRS80
+accept 12 55
+expect 691_875.632_14 6_098_907.825_05
+
+Note that gie accepts the underscore ("_") as a thousands separator.
+It is not required (in fact, it is entirely ignored by the input
+routine), but it significantly improves the readability of the very
+long strings of numbers typically required in projected coordinates.
+
+By default, gie considers the EXPECTation met, if the result comes to
+within 0.5 mm of the expected. This default can be changed using the
+TOLERANCE command verb (and yes, I know, linguistically speaking, both
+"operation" and "tolerance" are nouns, not verbs). See the first
+few hundred lines of the "builtins.gie" test file for more details of
+the command verbs available (verbs of both the VERBal and NOUNistic
+persuation).
+
+--
+
+But more importantly than being an acronym for "Geospatial Integrity
+Investigation Environment", gie were also the initials, user id, and
+USGS email address of Gerald Ian Evenden (1935--2016), the geospatial
+visionary, who, already in the 1980s, started what was to become the
+PROJ.4 of today.
+
+Gerald's clear vision was that map projections are *just special
+functions*. Some of them rather complex, most of them of two variables,
+but all of them *just special functions*, and not particularly more
+special than the sin(), cos(), tan(), and hypot() already available in
+the C standard library.
+
+And hence, *they should not be particularly much harder to use*, for a
+programmer, than the sin()s, tan()s and hypot()s so readily available.
+
+Gerald's ingenuity also showed in the implementation of the vision,
+where he devised a highly comprehensible, yet simple, system of key-value
+pairs for parameterising a map projection, and the highly flexible
+PJ struct, storing run-time compiled versions of those key-value pairs,
+hence making a map projection function call, pj_fwd(PJ, point), as easy
+as a traditional function call like hypot(x,y).
+
+While today, we may have more formally well defined metadata systems
+(most prominent the OGC WKT representation), nothing comes close being
+as easily readable ("human compatible") as Gerald's key-value system.
+This system in particular, and the PROJ.4 system in general, was
+Gerald's great gift to anyone using and/or communicating about geodata.
+
+It is only reasonable to name a program keeping an eye on the integrity
+of the PROJ.4 system in honour of Gerald. So in honour, and hopefully
+also in the spirit, of Gerald Ian Evenden (1935--2016), this is the
+Geospatial Integrity Investigation Environment.
+
+************************************************************************
+
+Thomas Knudsen, thokn@sdfe.dk, 2017-10-01/2017-10-08
+
+************************************************************************
+
+* 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 "optargpm.h"
+
+#include <proj.h>
+#include "proj_internal.h"
+#include "projects.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+
+#include <string.h>
+#include <ctype.h>
+
+#include <math.h>
+#include <errno.h>
+
+
+
+/* from proj_strtod.c */
+double proj_strtod(const char *str, char **endptr);
+double proj_atof(const char *str);
+
+int main(int argc, char **argv);
+
+static int process_file (char *fname);
+static int errmsg (int errlev, char *msg, ...);
+static int get_inp (FILE *f, char *inp, int size);
+static int get_cmnd (char *inp, char *cmnd, int len);
+static char *get_args (char *inp);
+static int dispatch (char *cmnd, char *args);
+
+
+
+#define SKIP -1
+
+typedef struct {
+ char operation[10000];
+ PJ *P;
+ PJ_COORD a, b, c, e;
+ PJ_DIRECTION dir;
+ int verbosity;
+ int nargs;
+ int op_id;
+ int op_ok, op_ko;
+ int total_ok, total_ko;
+ int grand_ok, grand_ko;
+ double tolerance;
+ char *curr_file;
+ FILE *fout;
+} gie_ctx;
+
+gie_ctx T = {{""}, 0, {{0,0,0,0}}, {{0,0,0,0}}, {{0,0,0,0}}, {{0,0,0,0}}, PJ_FWD, 1, 0, 0,0,0,0,0,0,0, 0.0005, 0, 0};
+
+OPTARGS *o;
+
+
+
+size_t tol_lineno = 0;
+size_t lineno = 0;
+size_t level = 0;
+char delim[] = {"-------------------------------------------------------------------------------\n"};
+char DELIM[] = {"===============================================================================\n"};
+
+
+#define CMDLEN 25000
+
+int nfiles = 0;
+
+
+static const char usage[] = {
+ "--------------------------------------------------------------------------------\n"
+ "Usage: %s [-options]... infile...\n"
+ "--------------------------------------------------------------------------------\n"
+ "Options:\n"
+ "--------------------------------------------------------------------------------\n"
+ " -h Help: print this usage information\n"
+ " -o /path/to/file Specify output file name\n"
+ " -v Verbose: Provide non-essential informational output.\n"
+ " Repeat -v for more verbosity (e.g. -vv)\n"
+ " -q Quiet: Opposite of verbose. In quiet mode not even errors\n"
+ " are reported. Only interaction is through the return code\n"
+ " (0 on success, non-zero indicates number of FAILED tests)\n"
+ "--------------------------------------------------------------------------------\n"
+ "Long Options:\n"
+ "--------------------------------------------------------------------------------\n"
+ " --output Alias for -o\n"
+ " --verbose Alias for -v\n"
+ " --help Alias for -h\n"
+ "--------------------------------------------------------------------------------\n"
+ "Examples:\n"
+ "--------------------------------------------------------------------------------\n"
+ "1. Run all tests in file \"corner-cases.gie\", providing much extra information\n"
+ " gie -vvvv corner-cases.gie\n"
+ "2. Run all tests in files \"foo\" and \"bar\", providing info on failures only\n"
+ " gie foo bar\n"
+ "--------------------------------------------------------------------------------\n"
+};
+
+int main (int argc, char **argv) {
+ int i;
+ const char *longflags[] = {"v=verbose", "q=quiet", "h=help", 0};
+ const char *longkeys[] = {"o=output", 0};
+
+ o = opt_parse (argc, argv, "hvq", "o", longflags, longkeys);
+ if (0==o)
+ return 0;
+
+ if (opt_given (o, "h")) {
+ printf (usage, o->progname);
+ return 0;
+ }
+
+
+
+ T.verbosity = opt_given (o, "q");
+ if (T.verbosity)
+ T.verbosity = -1;
+ if (T.verbosity != -1)
+ T.verbosity = opt_given (o, "v") + 1;
+
+ T.fout = stdout;
+ if (opt_given (o, "o"))
+ T.fout = fopen (opt_arg (o, "output"), "rt");
+ if (0==T.fout) {
+ fprintf (stderr, "%s: Cannot open '%s' for output\n", o->progname, opt_arg (o, "output"));
+ free (o);
+ return 1;
+ }
+
+ if (0==o->fargc) {
+ if (T.verbosity==-1)
+ return -1;
+ fprintf (T.fout, "Nothing to do\n");
+ return 0;
+ }
+
+ for (i = 0; i < o->fargc; i++)
+ process_file (o->fargv[i]);
+
+ if (T.verbosity > 0) {
+ if (o->fargc > 1)
+ fprintf (T.fout, "%sGrand total: %d. Success: %d, Failure: %d\n", delim, T.grand_ok+T.grand_ko, T.grand_ok, T.grand_ko);
+ fprintf (T.fout, "%s", delim);
+ }
+ else
+ if (T.grand_ko)
+ fprintf (T.fout, "Failures: %d", T.grand_ko);
+
+ if (stdout != T.fout)
+ fclose (T.fout);
+
+ free (o);
+ return T.grand_ko;
+}
+
+
+
+
+
+static int process_file (char *fname) {
+ FILE *f;
+ char inp[CMDLEN];
+ char cmnd[1000];
+ char *args;
+
+ lineno = level = 0;
+ T.op_ok = T.total_ok = 0;
+ T.op_ko = T.total_ko = 0;
+
+ f = fopen (fname, "rt");
+ if (0==f) {
+ if (T.verbosity > 0) {
+ fprintf (T.fout, "%sCannot open spec'd input file '%s' - bye!\n", delim, fname);
+ return 2;
+ }
+ errmsg (2, "Cannot open spec'd input file '%s' - bye!\n", fname);
+ }
+ if (T.verbosity > 0)
+ fprintf (T.fout, "%sReading file '%s'\n", delim, fname);
+ T.curr_file = fname;
+ while (get_inp(f, inp, CMDLEN)) {
+ int len;
+
+ if (feof(f))
+ break;
+ len = get_cmnd (inp, cmnd, 1000);
+ if (len>=999) {
+ errmsg (2, "Command verb too long: '%s' - bye!\n", cmnd);
+ proj_destroy (T.P);
+ T.P = 0;
+ return 0;
+
+ }
+ args = get_args (inp);
+ if (SKIP==dispatch (cmnd, args))
+ return proj_destroy (T.P), T.P = 0, 0;
+ }
+ fclose (f);
+
+ T.grand_ok += T.total_ok;
+ T.grand_ko += T.total_ko;
+ if (T.verbosity > 0)
+ fprintf (T.fout, "%stotal: %2d tests succeeded, %2d tests %s\n", delim, T.total_ok, T.total_ko, T.total_ko? "FAILED!": "failed.");
+
+ if (level==0)
+ return errmsg (-3, "File '%s':Missing 'BEGIN' cmnd - bye!\n", fname);
+ if (level && level%2)
+ return errmsg (-4, "File '%s':Missing 'END' cmnd - bye!\n", fname);
+ return 0;
+}
+
+
+
+
+
+
+static int banner (char *args) {
+ char dots[] = {"..."}, nodots[] = {""}, *thedots = nodots;
+ if (T.total_ko > 0 && T.op_ko==0)
+ printf ("\n\n");
+ if (strlen(args) > 70)
+ thedots = dots;
+ fprintf (T.fout, "%s%-70.70s%s\n", delim, args, thedots);
+ return 0;
+}
+
+
+
+
+
+
+static int tolerance (char *args) {
+ char *endp = args;
+ T.tolerance = proj_strtod (endp, &endp);
+ if (HUGE_VAL==T.tolerance) {
+ T.tolerance = 0.0005;
+ return 1;
+ }
+ while (isspace (*endp))
+ endp++;
+
+ if (0==strcmp(endp, "km"))
+ T.tolerance *= 1000;
+ else if (0==strcmp(endp, "m"))
+ T.tolerance *= 1;
+ else if (0==strcmp(endp, "dm"))
+ T.tolerance /= 10;
+ else if (0==strcmp(endp, "cm"))
+ T.tolerance /= 100;
+ else if (0==strcmp(endp, "mm"))
+ T.tolerance /= 1000;
+ else if (0==strcmp(endp, "um"))
+ T.tolerance /= 1e6;
+ else if (0==strcmp(endp, "nm"))
+ T.tolerance /= 1e9;
+ else
+ T.tolerance /= 1000; /* If no unit, assume mm */
+ return 0;
+}
+
+
+static int direction (char *args) {
+ char *endp = args;
+ while (isspace (*endp))
+ endp++;
+ switch (*endp) {
+ case 'F':
+ case 'f':
+ T.dir = PJ_FWD;
+ break;
+ case 'I':
+ case 'i':
+ case 'R':
+ case 'r':
+ T.dir = PJ_INV;
+ break;
+ default:
+ return 1;
+ }
+ return 0;
+}
+
+
+
+
+static void finish_previous_operation (char *args) {
+ if (T.verbosity > 1 && T.op_id > 1 && T.op_ok+T.op_ko)
+ fprintf (T.fout, "%s %d tests succeeded, %d tests %s\n", delim, T.op_ok, T.op_ko, T.op_ko? "FAILED!": "failed.");
+ (void) args;
+}
+
+static int operation (char *args) {
+ T.op_id++;
+ strcpy (&(T.operation[0]), args);
+ if (T.verbosity > 1) {
+ finish_previous_operation (args);
+ banner (args);
+ }
+ /* if (0==T.op_ko)
+ printf ("%d\n", (int) tol_lineno); */
+ T.op_ok = 0;
+ T.op_ko = 0;
+
+ direction ("forward");
+ tolerance ("0.5");
+
+ if (T.P)
+ proj_destroy (T.P);
+ T.P = proj_create (0, args);
+ if (0==T.P)
+ return errmsg(3, "Invalid operation definition!\n");
+ return 0;
+}
+
+
+static PJ_COORD torad_if_needed (PJ *P, PJ_DIRECTION dir, PJ_COORD a) {
+ enum pj_io_units u = P->left;
+ PJ_COORD c;
+ if (dir==PJ_INV)
+ u = P->right;
+ if (u==PJ_IO_UNITS_CLASSIC || u==PJ_IO_UNITS_METERS)
+ return a;
+
+ c.lpz.lam = proj_torad (T.a.lpz.lam);
+ c.lpz.phi = proj_torad (T.a.lpz.phi);
+ c.v[2] = T.a.v[2];
+ c.v[3] = T.a.v[3];
+
+ return c;
+}
+
+
+static int accept (char *args) {
+ int n, i;
+ char *endp = args;
+ T.a = proj_coord (0,0,0,0);
+ n = 4;
+ for (i = 0; i < 4; i++) {
+ T.a.v[i] = proj_strtod (endp, &endp);
+ if (HUGE_VAL==T.a.v[i]) {
+ n--;
+ T.a.v[i] = 0;
+ }
+ }
+ T.a = torad_if_needed (T.P, T.dir, T.a);
+ if (T.verbosity > 3)
+ printf ("# %s", args);
+ return 0;
+}
+
+
+
+static int roundtrip (char *args) {
+ int ntrips;
+ double d, r, ans;
+ char *endp;
+ ans = proj_strtod (args, &endp);
+ ntrips = (int) (ans==HUGE_VAL? 100: fabs(ans));
+ d = proj_strtod (endp, &endp);
+ d = d==HUGE_VAL? T.tolerance: d / 1000;
+ r = proj_roundtrip (T.P, PJ_FWD, ntrips, T.a);
+ if (r > d) {
+ if (T.verbosity > -1) {
+ if (0==T.op_ko && T.verbosity < 2)
+ banner (T.operation);
+ fprintf (T.fout, "%s", T.op_ko? " -----\n": delim);
+ fprintf (T.fout, " FAILURE in %s(%d):\n", opt_strip_path (T.curr_file), (int) lineno);
+ fprintf (T.fout, " roundtrip deivation: %.3f mm, expected: %.3f mm\n", 1000*r, 1000*d);
+ }
+ T.op_ko++;
+ T.total_ko++;
+ }
+ return 0;
+}
+
+static int expect (char *args) {
+ double d;
+ enum pj_io_units unit;
+ char *endp = args;
+ int i;
+
+ T.e = proj_coord (0,0,0,0);
+ T.b = proj_coord (0,0,0,0);
+ T.nargs = 4;
+ for (i = 0; i < 4; i++) {
+ T.e.v[i] = proj_strtod (endp, &endp);
+ if (HUGE_VAL==T.e.v[i]) {
+ T.nargs--;
+ T.e.v[i] = 0;
+ }
+ }
+ T.e = torad_if_needed (T.P, T.dir==PJ_FWD? PJ_INV:PJ_FWD, T.e);
+
+ T.b = proj_trans_coord (T.P, T.dir, T.a);
+ T.b = torad_if_needed (T.P, T.dir==PJ_FWD? PJ_INV:PJ_FWD, T.b);
+
+ if (T.nargs < 2) {
+ T.op_ko++;
+ T.total_ko++;
+ if (T.verbosity > -1) {
+ if (0==T.op_ko && T.verbosity < 2)
+ banner (T.operation);
+ fprintf (T.fout, "%s", T.op_ko? " -----\n": delim);
+ fprintf (T.fout, " FAILURE in %s(%d):\n Too few args: %s\n", opt_strip_path (T.curr_file), (int) lineno, args);
+ }
+ return 1;
+ }
+
+ unit = T.dir==PJ_FWD? T.P->right: T.P->left;
+ if (PJ_IO_UNITS_CLASSIC==unit)
+ unit = PJ_IO_UNITS_METERS;
+
+ if (unit==PJ_IO_UNITS_RADIANS)
+ d = proj_lp_dist (T.P, T.b.lp, T.e.lp);
+ else
+ d = proj_xyz_dist (T.b.xyz, T.e.xyz);
+
+ if (d > T.tolerance) {
+ if (d > 10)
+ d = 9.999999;
+ if (T.verbosity > -1) {
+ if (0==T.op_ko && T.verbosity < 2)
+ banner (T.operation);
+ fprintf (T.fout, "%s", T.op_ko? " -----\n": delim);
+
+ fprintf (T.fout, " FAILURE in %s(%d):\n", opt_strip_path (T.curr_file), (int) lineno);
+ fprintf (T.fout, " expected: %s\n", args);
+ fprintf (T.fout, " got: %.9f %.9f", T.b.xy.x, T.b.xy.y);
+ if (T.nargs > 2)
+ fprintf (T.fout, " %.9f", T.b.xyz.z);
+ if (T.nargs > 3)
+ fprintf (T.fout, " %.9f", T.b.xyzt.t);
+ fprintf (T.fout, "\n");
+ fprintf (T.fout, " deviation: %.3f mm, expected: %.3f mm\n", 1000*d, 1000*T.tolerance);
+ }
+ T.op_ko++;
+ T.total_ko++;
+ }
+ else {
+ T.op_ok++;
+ T.total_ok++;
+ }
+ return 0;
+}
+
+
+
+
+
+
+static int verbose (char *args) {
+ int i = (int) proj_atof (args);
+
+ /* if -q/--quiet flag has been given, we do nothing */
+ if (T.verbosity < 0)
+ return 0;
+
+ if (strlen (args))
+ T.verbosity = i;
+ else
+ T.verbosity++;
+ return 0;
+}
+
+static int comment (char *args) {
+ (void) args;
+ return 0;
+}
+
+
+static int echo (char *args) {
+ fprintf (T.fout, "%s\n", args);
+ return 0;
+}
+
+
+
+static int dispatch (char *cmnd, char *args) {
+ if (0==level%2) {
+ if (0==strcmp (cmnd, "BEGIN"))
+ level++;
+ return 0;
+ }
+ if (0==strcmp (cmnd, "OPERATION")) return operation (args);
+ if (0==strcmp (cmnd, "operation")) return operation (args);
+ if (0==strcmp (cmnd, "ACCEPT")) return accept (args);
+ if (0==strcmp (cmnd, "accept")) return accept (args);
+ if (0==strcmp (cmnd, "EXPECT")) return expect (args);
+ if (0==strcmp (cmnd, "expect")) return expect (args);
+ if (0==strcmp (cmnd, "ROUNDTRIP")) return roundtrip (args);
+ if (0==strcmp (cmnd, "roundtrip")) return roundtrip (args);
+ if (0==strcmp (cmnd, "BANNER")) return banner (args);
+ if (0==strcmp (cmnd, "banner")) return banner (args);
+ if (0==strcmp (cmnd, "VERBOSE")) return verbose (args);
+ if (0==strcmp (cmnd, "verbose")) return verbose (args);
+ if (0==strcmp (cmnd, "DIRECTION")) return direction (args);
+ if (0==strcmp (cmnd, "direction")) return direction (args);
+ if (0==strcmp (cmnd, "TOLERANCE")) return tolerance (args);
+ if (0==strcmp (cmnd, "tolerance")) return tolerance (args);
+ if (0==strcmp (cmnd, "ECHO")) return echo (args);
+ if (0==strcmp (cmnd, "echo")) return echo (args);
+ if (0==strcmp (cmnd, "END")) return finish_previous_operation (args), level++, 0;
+ if ('#'==cmnd[0]) return comment (args);
+ return 0;
+}
+
+
+
+
+
+
+
+
+static int errmsg (int errlev, char *msg, ...) {
+ va_list args;
+ va_start(args, msg);
+ vfprintf(stdout, msg, args);
+ va_end(args);
+ if (errlev)
+ errno = errlev;
+ return errlev;
+}
+
+#define skipspace(f, c) \
+ do { \
+ while (isspace (c=fgetc(f)) && !feof(f)){ \
+ if ('\n'==c) lineno++; \
+ } \
+ if (feof(f)) \
+ break; \
+ } while (ungetc(c, f), 0)
+
+#define skipline(f, c) \
+ do { \
+ while ((c=fgetc(f)) && !feof(f)) { \
+ if ((c=='\r') || (c=='\n')) \
+ break; \
+ } \
+ skipspace (f, c); \
+ } while (0)
+
+
+/* skip whitespace at continuation line */
+#define continuation(f, buf, c) \
+ if ((c=='\r')||(c=='\n')) { \
+ if (c=='\n') lineno++; \
+ next--; \
+ while (isspace (c=fgetc(f)) && !feof(f)); \
+ }
+
+static int get_inp (FILE *f, char *inp, int size) {
+ char *next;
+ int c = 0, esc;
+ char *endp = inp + size - 2;
+
+ skipspace (f, c);
+
+ for (c = esc = 0, next = inp; !feof(f); ) {
+ c = fgetc(f);
+ if (esc) {
+ continuation (f, next, c);
+ esc = 0;
+ /* handle escape sequences here */
+ switch (c) {
+ case '\\': c = '\\'; break;
+ default: (void) c;
+ }
+ }
+ if (c=='\r')
+ break;
+ if (c=='\n') {
+ lineno++;
+ break;
+ }
+
+ *next++ = (char) c;
+ if ('\\'==c)
+ esc = 1;
+ if (feof(f) || (next==endp))
+ break;
+ }
+ *(next) = 0;
+ return (int) strlen(inp);
+}
+
+static int get_cmnd (char *inp, char *cmnd, int len) {
+ cmnd[0] = 0;
+ while (isspace(*inp++));
+ inp--;
+ while (len-- && !isspace(*inp) && *inp)
+ *cmnd++ = *inp++;
+ *cmnd = 0;
+ return len;
+}
+
+static char *get_args (char *inp) {
+ char *args = inp;
+ while (isspace(*args++))
+ if (0==*args)
+ return args;
+ while (!isspace(*++args))
+ if (0==*args)
+ return args;
+ while (isspace(*args++))
+ if (0==*args)
+ return args;
+ return --args;
+}
diff --git a/src/makefile.vc b/src/makefile.vc
index ac5acf15..fdf03bd3 100644
--- a/src/makefile.vc
+++ b/src/makefile.vc
@@ -71,12 +71,15 @@ PROJEXE_OBJ = proj.obj gen_cheb.obj p_series.obj emess.obj
CS2CSEXE_OBJ = cs2cs.obj gen_cheb.obj p_series.obj emess.obj
GEODEXE_OBJ = geod.obj geod_set.obj geod_interface.obj emess.obj
CCTEXE_OBJ = cct.obj proj_strtod.obj
+GIEEXE_OBJ = gie.obj proj_strtod.obj
+
MULTISTRESSTEST_OBJ = multistresstest.obj
PROJ_DLL = proj$(VERSION).dll
PROJ_EXE = proj.exe
CS2CS_EXE = cs2cs.exe
GEOD_EXE = geod.exe
CCT_EXE = cct.exe
+GIE_EXE = gie.exe
NAD2BIN_EXE = nad2bin.exe
MULTISTRESSTEST_EXE = multistresstest.exe
@@ -85,7 +88,7 @@ CFLAGS = /nologo -I. -DPROJ_LIB=\"$(PROJ_LIB_DIR)\" \
default: all
-all: proj.lib $(PROJ_EXE) $(CS2CS_EXE) $(GEOD_EXE) $(CCT_EXE) $(NAD2BIN_EXE)
+all: proj.lib $(PROJ_EXE) $(CS2CS_EXE) $(GEOD_EXE) $(CCT_EXE) $(GIE_EXE) $(NAD2BIN_EXE)
proj.lib: $(LIBOBJ)
if exist proj.lib del proj.lib
@@ -114,6 +117,10 @@ $(CCT_EXE): $(CCTEXE_OBJ) $(EXE_PROJ)
cl $(CCTEXE_OBJ) $(EXE_PROJ)
if exist $(CCT_EXE).manifest mt -manifest $(CCT_EXE).manifest -outputresource:$(CCT_EXE);1
+$(GIE_EXE): $(GIEEXE_OBJ) $(EXE_PROJ)
+ cl $(GIEEXE_OBJ) $(EXE_PROJ)
+ if exist $(GIE_EXE).manifest mt -manifest $(GIE_EXE).manifest -outputresource:$(GIE_EXE);1
+
$(NAD2BIN_EXE): nad2bin.obj emess.obj $(EXE_PROJ)
cl nad2bin.obj emess.obj $(EXE_PROJ)
diff --git a/src/optargpm.h b/src/optargpm.h
index 6be2c9ef..c47dfec1 100644
--- a/src/optargpm.h
+++ b/src/optargpm.h
@@ -1,6 +1,6 @@
/***********************************************************************
- OPTARGPM - a header-only library for decoding
+ OPTARGPM - a header-only library for decoding
PROJ.4 style command line options
Thomas Knudsen, 2017-09-10
@@ -18,7 +18,7 @@ this is an attempt to catch up and chop the ketchup.
Since optargpm (for "optarg plus minus") does not belong, in any
obvious way, in any systems development library, it is provided as
-a "header only" library.
+a "header only" library.
While this is conventional in C++, it is frowned at in plain C.
But frown away - "header only" has its places, and this is one of
@@ -56,7 +56,7 @@ Supporting a wide range of option syntax, the getoptpm API is somewhat
quirky, but also compact, consisting of one data type, 3(+2) functions,
and one enumeration:
-OPTARGS
+OPTARGS
Housekeeping data type. An instance of OPTARGS is conventionally
called o or opt
opt_parse (opt, argc, argv ...):
@@ -105,7 +105,7 @@ int main(int argc, char **argv) {
FILE *out = stdout;
char *longflags[] = {"v=verbose", "h=help", 0};
char *longkeys[] = {"o=output", "hello", 0};
-
+
o = opt_parse (argc, argv, "hv", "o", longflags, longkeys);
if (0==o)
return 0;
@@ -116,7 +116,7 @@ int main(int argc, char **argv) {
exit (0);
}
- if (opt_given (o, "v"))
+ if (opt_given (o, "v"))
puts ("Feeling chatty today?");
if (opt_given (o, "hello")) {
@@ -126,8 +126,8 @@ int main(int argc, char **argv) {
if (opt_given (o, "o"))
out = fopen (opt_arg (o, "output"), "rt"); // Note: "output" translates to "o" internally
-
- // Setup transformation
+
+ // Setup transformation
P = proj_create_argv (0, o->pargc, o->pargv);
// Loop over all lines of all input files
@@ -207,6 +207,7 @@ static int opt_raise_flag (OPTARGS *opt, int ordinal);
static int opt_ordinal (OPTARGS *opt, char *option);
int opt_given (OPTARGS *opt, char *option);
char *opt_arg (OPTARGS *opt, char *option);
+char *opt_strip_path (char *full_name);
OPTARGS *opt_parse (int argc, char **argv, const char *flags, const char *keys, const char **longflags, const char **longkeys);
#define opt_eof_handler(opt) if (opt_eof (opt)) {continue;} else {;}
@@ -223,7 +224,7 @@ struct OPTARGS {
char *optarg[256]; /* optarg[(int) 'f'] holds a pointer to the argument of option "-f" */
char *flags; /* a list of flag style options supported, e.g. "hv" (help and verbose) */
char *keys; /* a list of key/value style options supported, e.g. "o" (output) */
- const char **longflags; /* long flags, {"help", "verbose"}, or {"h=help", "v=verbose"}, to indicate homologous short options */
+ const char **longflags; /* long flags, {"help", "verbose"}, or {"h=help", "v=verbose"}, to indicate homologous short options */
const char **longkeys; /* e.g. {"output"} or {o=output"} to support --output=/path/to/output-file. In the latter case, */
/* all operations on "--output" gets redirected to "-o", so user code need handle arguments to "-o" only */
};
@@ -264,7 +265,7 @@ int opt_input_loop (OPTARGS *opt, int binary) {
}
opt->record_index = 0;
-
+
/* no input files specified - read from stdin */
if ((0==opt->fargc) && (0==opt->input)) {
opt->input = stdin;
@@ -372,7 +373,8 @@ static int opt_ordinal (OPTARGS *opt, char *option) {
}
}
-
+ /* kill some potential compiler warnings about unused functions */
+ (void) opt_eof (0);
return 0;
}
@@ -397,27 +399,39 @@ char *opt_arg (OPTARGS *opt, char *option) {
return opt->optarg[ordinal];
}
+char *opt_strip_path (char *full_name) {
+ char *last_path_delim, *stripped_name = full_name;
+
+ last_path_delim = strrchr (stripped_name, '\\');
+ if (last_path_delim > stripped_name)
+ stripped_name = last_path_delim + 1;
+
+ last_path_delim = strrchr (stripped_name, '/');
+ if (last_path_delim > stripped_name)
+ stripped_name = last_path_delim + 1;
+ return stripped_name;
+}
/* split command line options into options/flags ("-" style), projdefs ("+" style) and input file args */
OPTARGS *opt_parse (int argc, char **argv, const char *flags, const char *keys, const char **longflags, const char **longkeys) {
int i, j;
OPTARGS *o;
- char *last_path_delim;
-
+
o = (OPTARGS *) calloc (1, sizeof(OPTARGS));
if (0==o)
return 0;
o->argc = argc;
o->argv = argv;
- o->progname = argv[0];
+ o->progname = opt_strip_path (argv[0]);
+/* o->progname = argv[0];
last_path_delim = strrchr (argv[0], '\\');
if (last_path_delim > o->progname)
o->progname = last_path_delim;
last_path_delim = strrchr (argv[0], '/');
if (last_path_delim > o->progname)
o->progname = last_path_delim;
-
+*/
/* Reset all flags */
for (i = 0; i < (int) strlen (flags); i++)
@@ -426,7 +440,7 @@ OPTARGS *opt_parse (int argc, char **argv, const char *flags, const char *keys,
/* Flag args for all argument taking options as "unset" */
for (i = 0; i < (int) strlen (keys); i++)
o->optarg[(int) keys[i]] = argv[0];
-
+
/* Hence, undefined/illegal options have an argument of 0 */
/* long opts are handled similarly, but are mapped to the high bit character range (above 128) */
@@ -444,7 +458,7 @@ OPTARGS *opt_parse (int argc, char **argv, const char *flags, const char *keys,
if (0==strchr (flags, longflags[i][0])) {
fprintf (stderr, "%s: Invalid alias - '%s'. Valid short flags are '%s'\n", o->progname, longflags[i], flags);
free (o);
- return 0;
+ return 0;
}
}
for (i = 0; longkeys && longkeys[i]; i++) {
@@ -456,7 +470,7 @@ OPTARGS *opt_parse (int argc, char **argv, const char *flags, const char *keys,
if (0==strchr (keys, longkeys[i][0])) {
fprintf (stderr, "%s: Invalid alias - '%s'. Valid short flags are '%s'\n", o->progname, longkeys[i], keys);
free (o);
- return 0;
+ return 0;
}
}
@@ -501,7 +515,7 @@ OPTARGS *opt_parse (int argc, char **argv, const char *flags, const char *keys,
char cstring[2], *crepr = cstring;
cstring[0] = (char) c;
cstring[1] = 0;
-
+
/* Long style flags and options (--long_opt_name, --long_opt_namr arg, --long_opt_name=arg) */
if (c== (int)'-') {
@@ -524,7 +538,7 @@ OPTARGS *opt_parse (int argc, char **argv, const char *flags, const char *keys,
o->optarg[c] = equals + 1;
break;
}
-
+
/* "outline" --foo bar style arg */
if (!opt_is_flag (o, c)) {
if ((argc==i + 1) || ('+'==argv[i+1][0]) || ('-'==argv[i+1][0]))
diff --git a/src/proj_strtod.c b/src/proj_strtod.c
index e9942e5c..aa2211f5 100644
--- a/src/proj_strtod.c
+++ b/src/proj_strtod.c
@@ -86,6 +86,7 @@ Thomas Knudsen, thokn@sdfe.dk, 2017-01-17/2017-09-18
***********************************************************************/
+#include <string.h> /* for strchr */
#include <errno.h>
#include <ctype.h>
#include <float.h> /* for HUGE_VAL */
@@ -93,16 +94,18 @@ Thomas Knudsen, thokn@sdfe.dk, 2017-01-17/2017-09-18
double proj_strtod(const char *str, char **endptr);
double proj_atof(const char *str);
-
+
double proj_strtod(const char *str, char **endptr) {
- double number = 0;
+ double number = 0, integral_part = 0;
int exponent = 0;
+ int fraction_is_nonzero = 0;
int sign = 0;
char *p = (char *) str;
int n = 0;
- int num_digits_total = 0;
- int num_digits_after_comma = 0;
+ int num_digits_total = 0;
+ int num_digits_after_comma = 0;
+ int num_prefixed_zeros = 0;
if (0==str) {
errno = EFAULT;
@@ -123,10 +126,10 @@ double proj_strtod(const char *str, char **endptr) {
return HUGE_VAL;
}
- /* Then handle optional prefixed sign */
+ /* Then handle optional prefixed sign and skip prefix zeros */
switch (*p) {
case '-':
- sign = -1, p++; break;
+ sign = -1, p++; break;
case '+':
sign = 1, p++; break;
default:
@@ -138,6 +141,10 @@ double proj_strtod(const char *str, char **endptr) {
return HUGE_VAL;
}
+ /* skip prefixed zeros */
+ while ('0'==*p || '_'==*p)
+ p++;
+
/* Now expect a (potentially zero-length) string of digits */
while (isdigit(*p) || ('_'==*p)) {
if ('_'==*p) {
@@ -148,23 +155,45 @@ double proj_strtod(const char *str, char **endptr) {
p++;
num_digits_total++;
}
-
+ integral_part = number;
+
/* Do we have a fractional part? */
if ('.'==*p) {
p++;
+ /* keep on skipping prefixed zeros (i.e. allow writing 1e-20 */
+ /* as 0.00000000000000000001 without losing precision) */
+ if (0==integral_part)
+ while ('0'==*p || '_'==*p) {
+ if ('0'==*p)
+ num_prefixed_zeros++;
+ p++;
+ }
+
+ /* if the next character is nonnumeric, we have reached the end */
+ if (0==strchr ("0123456789eE+-", *p))
+ return integral_part;
+
while (isdigit(*p) || '_'==*p) {
- if ('_'==*p) {
+ /* Don't let pathologically long fractions destroy precision */
+ if ('_'==*p || num_digits_total > 17) {
p++;
continue;
}
+
number = number * 10. + (*p - '0');
+ if (*p!='0')
+ fraction_is_nonzero = 1;
p++;
num_digits_total++;
num_digits_after_comma++;
}
- exponent = -num_digits_after_comma;
+ /* Avoid having long zero-tails (4321.000...000) destroy precision */
+ if (fraction_is_nonzero)
+ exponent = -(num_digits_after_comma + num_prefixed_zeros);
+ else
+ number = integral_part;
}
/* non-digit */
@@ -221,8 +250,11 @@ double proj_strtod(const char *str, char **endptr) {
return HUGE_VAL;
}
- number *= pow (10, exponent);
+ /* on some platforms pow() is very slow - so don't call it if exponent==0 */
+ if (exponent)
+ number *= pow (10, exponent);
+ /* Did we run into an infinity? */
if (fabs(number) > DBL_MAX)
errno = ERANGE;
diff --git a/test/gie/builtins.gie b/test/gie/builtins.gie
new file mode 100644
index 00000000..26998db6
--- /dev/null
+++ b/test/gie/builtins.gie
@@ -0,0 +1,4678 @@
+BEGIN
+
+===============================================================================
+Albers Equal Area
+ Conic Sph&Ell
+ lat_1= lat_2=
+===============================================================================
+-------------------------------------------------------------------------------
+operation +proj=aea +ellps=GRS80 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222571.608757106 110653.326743030
+accept 2 -1
+expect 222706.306508391 -110484.267144400
+accept -2 1
+expect -222571.608757106 110653.326743030
+accept -2 -1
+expect -222706.306508391 -110484.267144400
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796630 -0.000904370
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796630 -0.000904370
+
+-------------------------------------------------------------------------------
+operation +proj=aea +R=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223334.085170885 111780.431884472
+accept 2 -1
+expect 223470.154991687 -111610.339430990
+accept -2 1
+expect -223334.085170885 111780.431884472
+accept -2 -1
+expect -223470.154991687 -111610.339430990
+
+direction inverse
+accept 200 100
+expect 0.001790494 0.000895246
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790494 0.000895246
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Azimuthal Equidistant
+ Azi, Sph&Ell
+ lat_0 guam
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=aeqd +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222616.522190052 110596.996549550
+accept 2 -1
+expect 222616.522190052 -110596.996549550
+accept -2 1
+expect -222616.522190052 110596.996549550
+accept -2 -1
+expect -222616.522190052 -110596.996549550
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=aeqd +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223379.456047271 111723.757570854
+accept 2 -1
+expect 223379.456047271 -111723.757570854
+accept -2 1
+expect -223379.456047271 111723.757570854
+accept -2 -1
+expect -223379.456047271 -111723.757570854
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Airy
+ Misc Sph, no inv.
+ no_cut lat_b=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=airy +a=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 189109.886908621 94583.752387504
+accept 2 -1
+expect 189109.886908621 -94583.752387504
+accept -2 1
+expect -189109.886908621 94583.752387504
+accept -2 -1
+expect -189109.886908621 -94583.752387504
+
+
+===============================================================================
+Aitoff
+ Misc Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=aitoff +R=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223379.458811696 111706.742883853
+accept 2 -1
+expect 223379.458811696 -111706.742883853
+accept -2 1
+expect -223379.458811696 111706.742883853
+accept -2 -1
+expect -223379.458811696 -111706.742883853
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Mod. Stereographic of Alaska
+ Azi(mod)
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=alsk +ellps=clrk66
+-------------------------------------------------------------------------------
+tolerance 0.00001
+accept -160.000000000 55.000000000
+expect -513253.146950842 -968928.031867943
+accept -160.000000000 70.000000000
+expect -305001.133897637 687494.464958651
+accept -145.000000000 70.000000000
+expect 266454.305088600 683423.477493031
+accept -145.000000000 60.000000000
+expect 389141.322439244 -423913.251230397
+
+direction inverse
+accept -500000.000000000 -950000.000000000
+expect -159.830804303 55.183195262
+accept -305000.000000000 700000.000000000
+expect -160.042203156 70.111086864
+accept 250000.000000000 700000.000000000
+expect -145.381043551 70.163900908
+accept 400000.000000000 -400000.000000000
+expect -144.758985461 60.202929201
+
+-------------------------------------------------------------------------------
+operation +proj=alsk +R=6370997
+-------------------------------------------------------------------------------
+tolerance 0.0001
+accept -160.000000000 55.000000000
+expect -511510.319410844 -967150.991676078
+accept -160.000000000 70.000000000
+expect -303744.771290369 685439.745941123
+accept -145.000000000 70.000000000
+expect 265354.974019663 681386.892874573
+accept -145.000000000 60.000000000
+expect 387711.995394027 -422980.685505463
+
+direction inverse
+accept -500000.000000000 -950000.000000000
+expect -159.854014458 55.165653849
+accept -305000.000000000 700000.000000000
+expect -160.082332372 70.128307618
+accept 250000.000000000 700000.000000000
+expect -145.347827407 70.181566919
+accept 400000.000000000 -400000.000000000
+expect -144.734239827 60.193564733
+
+
+===============================================================================
+Apian Globular I
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=apian +a=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223374.577355253 111701.072127637
+accept 2 -1
+expect 223374.577355253 -111701.072127637
+accept -2 1
+expect -223374.577355253 111701.072127637
+accept -2 -1
+expect -223374.577355253 -111701.072127637
+
+
+===============================================================================
+August Epicycloidal
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=august +a=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223404.978180972 111722.340289763
+accept 2 -1
+expect 223404.978180972 -111722.340289763
+accept -2 1
+expect -223404.978180972 111722.340289763
+accept -2 -1
+expect -223404.978180972 -111722.340289763
+
+
+===============================================================================
+Bacon Globular
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=bacon +a=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223334.132555965 175450.725922666
+accept 2 -1
+expect 223334.132555965 -175450.725922666
+accept -2 1
+expect -223334.132555965 175450.725922666
+accept -2 -1
+expect -223334.132555965 -175450.725922666
+
+
+===============================================================================
+Bipolar conic of western hemisphere
+ Conic Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=bipc +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 2452160.217725756 -14548450.759654747
+accept 2 -1
+expect 2447915.213725341 -14763427.212798730
+accept -2 1
+expect 2021695.522934909 -14540413.695283702
+accept -2 -1
+expect 2018090.503004699 -14755620.651414108
+
+direction inverse
+accept 200 100
+expect -73.038700285 17.248118466
+accept 200 -100
+expect -73.037303739 17.249414978
+accept -200 100
+expect -73.035893173 17.245536403
+accept -200 -100
+expect -73.034496627 17.246832896
+
+-------------------------------------------------------------------------------
+operation +proj=bipc +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 2460565.740974965 -14598319.989330800
+accept 2 -1
+expect 2456306.185935200 -14814033.339502094
+accept -2 1
+expect 2028625.497819099 -14590255.375482792
+accept -2 -1
+expect 2025008.120589143 -14806200.018759441
+
+direction inverse
+accept 200 100
+expect -73.038693105 17.248116270
+accept 200 -100
+expect -73.037301330 17.249408353
+accept -200 100
+expect -73.035895582 17.245543028
+accept -200 -100
+expect -73.034503807 17.246835092
+
+
+===============================================================================
+Boggs Eumorphic
+ PCyl., no inv., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=boggs +a=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 211949.700808182 117720.998305411
+accept 2 -1
+expect 211949.700808182 -117720.998305411
+accept -2 1
+expect -211949.700808182 117720.998305411
+accept -2 -1
+expect -211949.700808182 -117720.998305411
+
+
+===============================================================================
+Bonne (Werner lat_1=90)
+ Conic Sph&Ell
+ lat_1=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=bonne +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222605.296097157 55321.139565495
+accept 2 -1
+expect 222605.296099239 -165827.647799052
+accept -2 1
+expect -222605.296097157 55321.139565495
+accept -2 -1
+expect -222605.296099239 -165827.647799052
+
+direction inverse
+accept 200 100
+expect 0.001796699 0.500904369
+accept 200 -100
+expect 0.001796698 0.499095631
+accept -200 100
+expect -0.001796699 0.500904369
+accept -200 -100
+expect -0.001796698 0.499095631
+
+-------------------------------------------------------------------------------
+operation +proj=bonne +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223368.115572528 55884.555246394
+accept 2 -1
+expect 223368.115574632 -167517.599369694
+accept -2 1
+expect -223368.115572528 55884.555246394
+accept -2 -1
+expect -223368.115574632 -167517.599369694
+
+direction inverse
+accept 200 100
+expect 0.001790562 0.500895246
+accept 200 -100
+expect 0.001790561 0.499104753
+accept -200 100
+expect -0.001790562 0.500895246
+accept -200 -100
+expect -0.001790561 0.499104753
+
+
+===============================================================================
+Cal Coop Ocean Fish Invest Lines/Stations
+ Cyl, Sph&Ell
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=calcofi +ellps=GRS80 +lat_1=0.5 +lat_2=2 +no_defs
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 508.444872150 -1171.764860418
+accept 2 -1
+expect 514.999168152 -1145.821981468
+accept -2 1
+expect 500.685384125 -1131.445377920
+accept -2 -1
+expect 507.369719137 -1106.178201483
+
+direction inverse
+accept 200 100
+expect -110.363307925 12.032056976
+accept 200 -100
+expect -98.455008863 18.698723643
+accept -200 100
+expect -207.447024504 81.314089279
+accept -200 -100
+expect -62.486322854 87.980755945
+
+-------------------------------------------------------------------------------
+operation +proj=calcofi +R=6400000 +lat_1=0.5 +lat_2=2 +no_defs
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 507.090507488 -1164.727375198
+accept 2 -1
+expect 513.686136375 -1138.999268217
+accept -2 1
+expect 499.336261476 -1124.435130997
+accept -2 -1
+expect 506.060570393 -1099.375665067
+
+direction inverse
+accept 200 100
+expect -110.305190410 12.032056976
+accept 200 -100
+expect -98.322360950 18.698723643
+accept -200 100
+expect -207.544906814 81.314089279
+accept -200 -100
+expect -62.576950372 87.980755945
+
+
+===============================================================================
+Cassini
+ Cyl, Sph&Ell
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=cass +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222605.285776991 110642.229253999
+accept 2 -1
+expect 222605.285776991 -110642.229253999
+accept -2 1
+expect -222605.285776991 110642.229253999
+accept -2 -1
+expect -222605.285776991 -110642.229253999
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=cass +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223368.105203484 111769.145040586
+accept 2 -1
+expect 223368.105203484 -111769.145040586
+accept -2 1
+expect -223368.105203484 111769.145040586
+accept -2 -1
+expect -223368.105203484 -111769.145040586
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Central Cylindrical
+ Cyl, Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=cc +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 111712.415540593
+accept 2 -1
+expect 223402.144255274 -111712.415540593
+accept -2 1
+expect -223402.144255274 111712.415540593
+accept -2 -1
+expect -223402.144255274 -111712.415540593
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Equal Area Cylindrical
+ Cyl, Sph&Ell
+ lat_ts=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=cea +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222638.981586547 110568.812396267
+accept 2 -1
+expect 222638.981586547 -110568.812396266
+accept -2 1
+expect -222638.981586547 110568.812396267
+accept -2 -1
+expect -222638.981586547 -110568.812396266
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=cea +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 111695.401198614
+accept 2 -1
+expect 223402.144255274 -111695.401198614
+accept -2 1
+expect -223402.144255274 111695.401198614
+accept -2 -1
+expect -223402.144255274 -111695.401198614
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Chamberlin Trimetric
+ Misc Sph, no inv.
+ lat_1= lon_1= lat_2= lon_2= lat_3= lon_3=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=chamb +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect -27864.779586801 -223364.324593274
+accept 2 -1
+expect -251312.283053493 -223402.145526208
+accept -2 1
+expect -27864.785649105 223364.327328827
+accept -2 -1
+expect -251312.289116443 223402.142197287
+
+
+===============================================================================
+Collignon
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=collg +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 249872.921577930 99423.174788460
+accept 2 -1
+expect 254272.532301245 -98559.307760743
+accept -2 1
+expect -249872.921577930 99423.174788460
+accept -2 -1
+expect -254272.532301245 -98559.307760743
+
+direction inverse
+accept 200 100
+expect 0.001586797 0.001010173
+accept 200 -100
+expect 0.001586769 -0.001010182
+accept -200 100
+expect -0.001586797 0.001010173
+accept -200 -100
+expect -0.001586769 -0.001010182
+
+
+===============================================================================
+Compact Miller
+ Cyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=comill +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 110611.859089459
+accept 2 -1
+expect 223402.144255274 -110611.859089459
+accept -2 1
+expect -223402.144255274 110611.859089459
+accept -2 -1
+expect -223402.144255274 -110611.859089459
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000904107
+accept 200 -100
+expect 0.001790493 -0.000904107
+accept -200 100
+expect -0.001790493 0.000904107
+accept -200 -100
+expect -0.001790493 -0.000904107
+
+
+===============================================================================
+Craster Parabolic (Putnins P4)
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=crast +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 218280.142056781 114306.045604280
+accept 2 -1
+expect 218280.142056781 -114306.045604280
+accept -2 1
+expect -218280.142056781 114306.045604280
+accept -2 -1
+expect -218280.142056781 -114306.045604280
+
+direction inverse
+accept 200 100
+expect 0.001832259 0.000874839
+accept 200 -100
+expect 0.001832259 -0.000874839
+accept -200 100
+expect -0.001832259 0.000874839
+accept -200 -100
+expect -0.001832259 -0.000874839
+
+
+===============================================================================
+Denoyer Semi-Elliptical
+ PCyl., no inv., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=denoy +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223377.422876954 111701.072127637
+accept 2 -1
+expect 223377.422876954 -111701.072127637
+accept -2 1
+expect -223377.422876954 111701.072127637
+accept -2 -1
+expect -223377.422876954 -111701.072127637
+
+
+===============================================================================
+Eckert I
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eck1 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 204680.888202951 102912.178426065
+accept 2 -1
+expect 204680.888202951 -102912.178426065
+accept -2 1
+expect -204680.888202951 102912.178426065
+accept -2 -1
+expect -204680.888202951 -102912.178426065
+
+direction inverse
+accept 200 100
+expect 0.001943415 0.000971702
+accept 200 -100
+expect 0.001943415 -0.000971702
+accept -200 100
+expect -0.001943415 0.000971702
+accept -200 -100
+expect -0.001943415 -0.000971702
+
+
+===============================================================================
+Eckert II
+ PCyl. Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eck2 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 204472.870907960 121633.734975242
+accept 2 -1
+expect 204472.870907960 -121633.734975242
+accept -2 1
+expect -204472.870907960 121633.734975242
+accept -2 -1
+expect -204472.870907960 -121633.734975242
+
+direction inverse
+accept 200 100
+expect 0.001943415 0.000824804
+accept 200 -100
+expect 0.001943415 -0.000824804
+accept -200 100
+expect -0.001943415 0.000824804
+accept -200 -100
+expect -0.001943415 -0.000824804
+
+
+===============================================================================
+Eckert III
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eck3 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 188652.015721538 94328.919337031
+accept 2 -1
+expect 188652.015721538 -94328.919337031
+accept -2 1
+expect -188652.015721538 94328.919337031
+accept -2 -1
+expect -188652.015721538 -94328.919337031
+
+direction inverse
+accept 200 100
+expect 0.002120241 0.001060120
+accept 200 -100
+expect 0.002120241 -0.001060120
+accept -200 100
+expect -0.002120241 0.001060120
+accept -200 -100
+expect -0.002120241 -0.001060120
+
+
+===============================================================================
+Eckert IV
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eck4 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 188646.389356416 132268.540174065
+accept 2 -1
+expect 188646.389356416 -132268.540174065
+accept -2 1
+expect -188646.389356416 132268.540174065
+accept -2 -1
+expect -188646.389356416 -132268.540174065
+
+direction inverse
+accept 200 100
+expect 0.002120241 0.000756015
+accept 200 -100
+expect 0.002120241 -0.000756015
+accept -200 100
+expect -0.002120241 0.000756015
+accept -200 -100
+expect -0.002120241 -0.000756015
+
+
+===============================================================================
+Eckert V
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eck5 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 197031.392134061 98523.198847227
+accept 2 -1
+expect 197031.392134061 -98523.198847227
+accept -2 1
+expect -197031.392134061 98523.198847227
+accept -2 -1
+expect -197031.392134061 -98523.198847227
+
+direction inverse
+accept 200 100
+expect 0.002029979 0.001014989
+accept 200 -100
+expect 0.002029979 -0.001014989
+accept -200 100
+expect -0.002029979 0.001014989
+accept -200 -100
+expect -0.002029979 -0.001014989
+
+
+===============================================================================
+Eckert VI
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eck6 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 197021.605628992 126640.420733174
+accept 2 -1
+expect 197021.605628992 -126640.420733174
+accept -2 1
+expect -197021.605628992 126640.420733174
+accept -2 -1
+expect -197021.605628992 -126640.420733174
+
+direction inverse
+accept 200 100
+expect 0.002029979 0.000789630
+accept 200 -100
+expect 0.002029979 -0.000789630
+accept -200 100
+expect -0.002029979 0.000789630
+accept -200 -100
+expect -0.002029979 -0.000789630
+
+
+===============================================================================
+Equidistant Cylindrical (Plate Caree)
+ Cyl, Sph
+ lat_ts=[, lat_0=0]
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eqc +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 111701.072127637
+accept 2 -1
+expect 223402.144255274 -111701.072127637
+accept -2 1
+expect -223402.144255274 111701.072127637
+accept -2 -1
+expect -223402.144255274 -111701.072127637
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Equidistant Conic
+ Conic, Sph&Ell
+ lat_1= lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=eqdc +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222588.440269286 110659.134907347
+accept 2 -1
+expect 222756.836702042 -110489.578087221
+accept -2 1
+expect -222588.440269286 110659.134907347
+accept -2 -1
+expect -222756.836702042 -110489.578087221
+
+direction inverse
+accept 200 100
+expect 0.001796359 0.000904369
+accept 200 -100
+expect 0.001796358 -0.000904370
+accept -200 100
+expect -0.001796359 0.000904369
+accept -200 -100
+expect -0.001796358 -0.000904370
+
+-------------------------------------------------------------------------------
+operation +proj=eqdc +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223351.088175114 111786.108747174
+accept 2 -1
+expect 223521.200266735 -111615.970741241
+accept -2 1
+expect -223351.088175114 111786.108747174
+accept -2 -1
+expect -223521.200266735 -111615.970741241
+
+direction inverse
+accept 200 100
+expect 0.001790221 0.000895246
+accept 200 -100
+expect 0.001790220 -0.000895247
+accept -200 100
+expect -0.001790221 0.000895246
+accept -200 -100
+expect -0.001790220 -0.000895247
+
+
+===============================================================================
+Euler
+ Conic, Sph
+ lat_1= and lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=euler +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222597.634659108 111404.240549919
+accept 2 -1
+expect 222767.165631876 -111234.676491018
+accept -2 1
+expect -222597.634659108 111404.240549919
+accept -2 -1
+expect -222767.165631876 -111234.676491018
+
+direction inverse
+accept 200 100
+expect 0.001796281 0.000898315
+accept 200 -100
+expect 0.001796279 -0.000898316
+accept -200 100
+expect -0.001796281 0.000898315
+accept -200 -100
+expect -0.001796279 -0.000898316
+
+-------------------------------------------------------------------------------
+operation +proj=euler +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223360.655598694 111786.112389791
+accept 2 -1
+expect 223530.767690316 -111615.967098624
+accept -2 1
+expect -223360.655598694 111786.112389791
+accept -2 -1
+expect -223530.767690316 -111615.967098624
+
+direction inverse
+accept 200 100
+expect 0.001790144 0.000895246
+accept 200 -100
+expect 0.001790143 -0.000895247
+accept -200 100
+expect -0.001790144 0.000895246
+accept -200 -100
+expect -0.001790143 -0.000895247
+
+
+===============================================================================
+Extended Transverse Mercator
+ Cyl, Sph
+ lat_ts=(0)
+lat_0=(0)
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=etmerc +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5 +zone=30
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222650.796797586 110642.229411933
+accept 2 -1
+expect 222650.796797586 -110642.229411933
+accept -2 1
+expect -222650.796797586 110642.229411933
+accept -2 -1
+expect -222650.796797586 -110642.229411933
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+
+===============================================================================
+Fahey
+ Pcyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=fahey +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 182993.344649124 101603.193569884
+accept 2 -1
+expect 182993.344649124 -101603.193569884
+accept -2 1
+expect -182993.344649124 101603.193569884
+accept -2 -1
+expect -182993.344649124 -101603.193569884
+
+direction inverse
+accept 200 100
+expect 0.002185789 0.000984246
+accept 200 -100
+expect 0.002185789 -0.000984246
+accept -200 100
+expect -0.002185789 0.000984246
+accept -200 -100
+expect -0.002185789 -0.000984246
+
+
+===============================================================================
+Foucaut
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=fouc +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222588.120675892 111322.316700694
+accept 2 -1
+expect 222588.120675892 -111322.316700694
+accept -2 1
+expect -222588.120675892 111322.316700694
+accept -2 -1
+expect -222588.120675892 -111322.316700694
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000898315
+accept 200 -100
+expect 0.001796631 -0.000898315
+accept -200 100
+expect -0.001796631 0.000898315
+accept -200 -100
+expect -0.001796631 -0.000898315
+
+-------------------------------------------------------------------------------
+operation +proj=fouc +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223351.109003414 111703.907721713
+accept 2 -1
+expect 223351.109003414 -111703.907721713
+accept -2 1
+expect -223351.109003414 111703.907721713
+accept -2 -1
+expect -223351.109003414 -111703.907721713
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Foucaut Sinusoidal
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=fouc_s +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 111695.401198614
+accept 2 -1
+expect 223402.144255274 -111695.401198614
+accept -2 1
+expect -223402.144255274 111695.401198614
+accept -2 -1
+expect -223402.144255274 -111695.401198614
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Gall (Gall Stereographic)
+ Cyl, Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=gall +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 157969.171134520 95345.249178386
+accept 2 -1
+expect 157969.171134520 -95345.249178386
+accept -2 1
+expect -157969.171134520 95345.249178386
+accept -2 -1
+expect -157969.171134520 -95345.249178386
+
+direction inverse
+accept 200 100
+expect 0.002532140 0.001048847
+accept 200 -100
+expect 0.002532140 -0.001048847
+accept -200 100
+expect -0.002532140 0.001048847
+accept -200 -100
+expect -0.002532140 -0.001048847
+
+
+===============================================================================
+Geocentric
+
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=geocent +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222638.981586547 111319.490793274
+accept 2 -1
+expect 222638.981586547 -111319.490793274
+accept -2 1
+expect -222638.981586547 111319.490793274
+accept -2 -1
+expect -222638.981586547 -111319.490793274
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000898315
+accept 200 -100
+expect 0.001796631 -0.000898315
+accept -200 100
+expect -0.001796631 0.000898315
+accept -200 -100
+expect -0.001796631 -0.000898315
+
+-------------------------------------------------------------------------------
+operation +proj=geocent +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+
+
+===============================================================================
+Geostationary Satellite View
+ Azi, Sph&Ell
+ h=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=geos +ellps=GRS80 +lat_1=0.5 +lat_2=2 +h=35785831
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222527.070365800 110551.303413329
+accept 2 -1
+expect 222527.070365800 -110551.303413329
+accept -2 1
+expect -222527.070365800 110551.303413329
+accept -2 -1
+expect -222527.070365800 -110551.303413329
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=geos +R=6400000 +lat_1=0.5 +lat_2=2 +h=35785831
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223289.457635795 111677.657456537
+accept 2 -1
+expect 223289.457635795 -111677.657456537
+accept -2 1
+expect -223289.457635795 111677.657456537
+accept -2 -1
+expect -223289.457635795 -111677.657456537
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Ginsburg VIII (TsNIIGAiK)
+ PCyl, Sph., no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=gins8 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 194350.250939590 111703.907635335
+accept 2 -1
+expect 194350.250939590 -111703.907635335
+accept -2 1
+expect -194350.250939590 111703.907635335
+accept -2 -1
+expect -194350.250939590 -111703.907635335
+
+
+===============================================================================
+General Sinusoidal Series
+ PCyl, Sph.
+ m= n=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=gn_sinu +a=6400000 +lat_1=0.5 +lat_2=2 +m=1 +n=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223385.132504696 111698.236447187
+accept 2 -1
+expect 223385.132504696 -111698.236447187
+accept -2 1
+expect -223385.132504696 111698.236447187
+accept -2 -1
+expect -223385.132504696 -111698.236447187
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Gnomonic
+ Azi, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=gnom +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223492.924747185 111780.509206593
+accept 2 -1
+expect 223492.924747185 -111780.509206593
+accept -2 1
+expect -223492.924747185 111780.509206593
+accept -2 -1
+expect -223492.924747185 -111780.509206593
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Goode Homolosine
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=goode +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223368.119026632 111701.072127637
+accept 2 -1
+expect 223368.119026632 -111701.072127637
+accept -2 1
+expect -223368.119026632 111701.072127637
+accept -2 -1
+expect -223368.119026632 -111701.072127637
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Mod. Stereographic of 48 U.S.
+ Azi(mod)
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=gs48 +R=6370997
+-------------------------------------------------------------------------------
+tolerance 0.0001
+accept -119.000000000 40.000000000
+expect -1923908.446529346 355874.658944479
+accept -70.000000000 64.000000000
+expect 1354020.375109298 3040846.007866525
+accept -80.000000000 25.000000000
+expect 1625139.160484320 -1413614.894029108
+accept -95.000000000 35.000000000
+expect 90241.658071458 -439595.048485902
+
+direction inverse
+accept -1923000.000000000 355000.000000000
+expect -118.987112613 39.994449789
+accept 1354000.000000000 3040000.000000000
+expect -70.005208999 63.993387836
+accept 1625000.000000000 -1413000.000000000
+expect -80.000346610 25.005602547
+accept 90000.000000000 -439000.000000000
+expect -95.002606473 35.005424705
+
+
+===============================================================================
+Mod. Stereographic of 50 U.S.
+ Azi(mod)
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=gs50 +ellps=clrk66
+-------------------------------------------------------------------------------
+tolerance 0.0001
+accept -160.000000000 65.000000000
+expect -1874628.537740233 2660907.942291015
+accept -130.000000000 45.000000000
+expect -771831.518853336 48465.166491305
+accept -65.000000000 45.000000000
+expect 4030931.833981509 1323687.864777399
+accept -80.000000000 36.000000000
+expect 3450764.261536101 -175619.041820732
+
+direction inverse
+accept -1800000.000000000 2600000.000000000
+expect -157.989285000 64.851559610
+accept -800000.000000000 500000.000000000
+expect -131.171390467 49.084969746
+accept 4000000.000000000 1300000.000000000
+expect -65.491568685 44.992837924
+accept 3900000.000000000 -170000.000000000
+expect -75.550660091 34.191114076
+
+-------------------------------------------------------------------------------
+operation +proj=gs50 +R=6370997
+-------------------------------------------------------------------------------
+tolerance 0.0001
+accept -160.000000000 65.000000000
+expect -1867268.253460009 2656506.230401823
+accept -130.000000000 45.000000000
+expect -769572.189672994 48324.312440864
+accept -65.000000000 45.000000000
+expect 4019393.068680791 1320191.309350289
+accept -80.000000000 36.000000000
+expect 3442685.615172346 -178760.423489429
+
+direction inverse
+accept -1800000.000000000 2600000.000000000
+expect -158.163295045 64.854288365
+accept -800000.000000000 500000.000000000
+expect -131.206816960 49.082915351
+accept 4000000.000000000 1300000.000000000
+expect -65.348945221 44.957292682
+accept 3900000.000000000 -170000.000000000
+expect -75.446820242 34.185406226
+
+
+===============================================================================
+Hammer & Eckert-Greifendorff
+ Misc Sph,
+ W= M=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=hammer +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223373.788703241 111703.907397767
+accept 2 -1
+expect 223373.788703241 -111703.907397767
+accept -2 1
+expect -223373.788703241 111703.907397767
+accept -2 -1
+expect -223373.788703241 -111703.907397767
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Hatano Asymmetrical Equal Area
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=hatano +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 189878.878946528 131409.802440626
+accept 2 -1
+expect 189881.081952445 -131409.142276074
+accept -2 1
+expect -189878.878946528 131409.802440626
+accept -2 -1
+expect -189881.081952445 -131409.142276074
+
+direction inverse
+accept 200 100
+expect 0.002106462 0.000760957
+accept 200 -100
+expect 0.002106462 -0.000760958
+accept -200 100
+expect -0.002106462 0.000760957
+accept -200 -100
+expect -0.002106462 -0.000760958
+
+
+===============================================================================
+HEALPix
+ Sph., Ellps.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=healpix +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222390.103949239 130406.588664482
+accept 2 -1
+expect 222390.103949239 -130406.588664481
+accept -2 1
+expect -222390.103949239 130406.588664482
+accept -2 -1
+expect -222390.103949239 -130406.588664481
+
+direction inverse
+accept 200 100
+expect 0.001798641 0.000766795
+accept 200 -100
+expect 0.001798641 -0.000766795
+accept -200 100
+expect -0.001798641 0.000766795
+accept -200 -100
+expect -0.001798641 -0.000766795
+
+-------------------------------------------------------------------------------
+operation +proj=healpix +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 131588.044441999
+accept 2 -1
+expect 223402.144255274 -131588.044441999
+accept -2 1
+expect -223402.144255274 131588.044441999
+accept -2 -1
+expect -223402.144255274 -131588.044441999
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000759909
+accept 200 -100
+expect 0.001790493 -0.000759909
+accept -200 100
+expect -0.001790493 0.000759909
+accept -200 -100
+expect -0.001790493 -0.000759909
+
+
+===============================================================================
+rHEALPix
+ Sph., Ellps.
+ north_square= south_square=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=rhealpix +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222390.103949239 130406.588664482
+accept 2 -1
+expect 222390.103949239 -130406.588664481
+accept -2 1
+expect -222390.103949239 130406.588664482
+accept -2 -1
+expect -222390.103949239 -130406.588664481
+
+direction inverse
+accept 200 100
+expect 0.001798641 0.000766795
+accept 200 -100
+expect 0.001798641 -0.000766795
+accept -200 100
+expect -0.001798641 0.000766795
+accept -200 -100
+expect -0.001798641 -0.000766795
+
+-------------------------------------------------------------------------------
+operation +proj=rhealpix +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 131588.044441999
+accept 2 -1
+expect 223402.144255274 -131588.044441999
+accept -2 1
+expect -223402.144255274 131588.044441999
+accept -2 -1
+expect -223402.144255274 -131588.044441999
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000759909
+accept 200 -100
+expect 0.001790493 -0.000759909
+accept -200 100
+expect -0.001790493 0.000759909
+accept -200 -100
+expect -0.001790493 -0.000759909
+
+
+===============================================================================
+Interrupted Goode Homolosine
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=igh +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223878.497456271 111701.072127637
+accept 2 -1
+expect 223708.371313058 -111701.072127637
+accept -2 1
+expect -222857.740596992 111701.072127637
+accept -2 -1
+expect -223027.866740205 -111701.072127637
+
+direction inverse
+accept 200 100
+expect 0.001790489 0.000895247
+accept 200 -100
+expect 0.001790491 -0.000895247
+accept -200 100
+expect -0.001790497 0.000895247
+accept -200 -100
+expect -0.001790496 -0.000895247
+
+
+===============================================================================
+International Map of the World Polyconic
+ Mod. Polyconic, Ell
+ lat_1= and lat_2= [lon_1=]
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=imw_p +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222588.441139376 55321.128653810
+accept 2 -1
+expect 222756.906377687 -165827.584288324
+accept -2 1
+expect -222588.441139376 55321.128653810
+accept -2 -1
+expect -222756.906377687 -165827.584288324
+
+direction inverse
+accept 200 100
+expect 0.001796699 0.500904924
+accept 200 -100
+expect 0.001796698 0.499095076
+accept -200 100
+expect -0.001796699 0.500904924
+accept -200 -100
+expect -0.001796698 0.499095076
+
+
+===============================================================================
+Icosahedral Snyder Equal Area
+ Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=isea +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect -1097074.948022474 3442909.309037183
+accept 2 -1
+expect -1097074.948264795 3233611.728585708
+accept -2 1
+expect -1575486.353641554 3442168.342028188
+accept -2 -1
+expect -1575486.353880283 3234352.695594706
+
+
+===============================================================================
+Kavraisky V
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=kav5 +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 200360.905308829 123685.082476998
+accept 2 -1
+expect 200360.905308829 -123685.082476998
+accept -2 1
+expect -200360.905308829 123685.082476998
+accept -2 -1
+expect -200360.905308829 -123685.082476998
+
+direction inverse
+accept 200 100
+expect 0.001996259 0.000808483
+accept 200 -100
+expect 0.001996259 -0.000808483
+accept -200 100
+expect -0.001996259 0.000808483
+accept -200 -100
+expect -0.001996259 -0.000808483
+
+-------------------------------------------------------------------------------
+operation +proj=kav5 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 201047.703110878 124109.050629171
+accept 2 -1
+expect 201047.703110878 -124109.050629171
+accept -2 1
+expect -201047.703110878 124109.050629171
+accept -2 -1
+expect -201047.703110878 -124109.050629171
+
+direction inverse
+accept 200 100
+expect 0.001989440 0.000805721
+accept 200 -100
+expect 0.001989440 -0.000805721
+accept -200 100
+expect -0.001989440 0.000805721
+accept -200 -100
+expect -0.001989440 -0.000805721
+
+
+===============================================================================
+Kavraisky VII
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=kav7 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 193462.974943729 111701.072127637
+accept 2 -1
+expect 193462.974943729 -111701.072127637
+accept -2 1
+expect -193462.974943729 111701.072127637
+accept -2 -1
+expect -193462.974943729 -111701.072127637
+
+direction inverse
+accept 200 100
+expect 0.002067483 0.000895247
+accept 200 -100
+expect 0.002067483 -0.000895247
+accept -200 100
+expect -0.002067483 0.000895247
+accept -200 -100
+expect -0.002067483 -0.000895247
+
+
+===============================================================================
+Krovak
+ PCyl., Ellps.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=krovak +ellps=GRS80 +no_defs
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect -3196535.232563641 -6617878.867551444
+accept 2 -1
+expect -3260035.440552109 -6898873.614878031
+accept -2 1
+expect -3756305.328869175 -6478142.561571511
+accept -2 -1
+expect -3831703.658501982 -6759107.170155395
+
+direction inverse
+accept 200 100
+expect 24.836218919 59.758403933
+accept 200 -100
+expect 24.836315485 59.756888426
+accept -200 100
+expect 24.830447748 59.758403933
+accept -200 -100
+expect 24.830351182 59.756888426
+
+
+===============================================================================
+Laborde
+ Cyl, Sph
+ Special for Madagascar
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=labrd +ellps=GRS80 +lon_0=0.5 +lat_0=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 166973.166090228 -110536.912730266
+accept 2 -1
+expect 166973.168287157 -331761.993650884
+accept -2 1
+expect -278345.500519976 -110469.032642032
+accept -2 -1
+expect -278345.504185270 -331829.870790275
+
+direction inverse
+accept 200 100
+expect 0.501797719 2.000904357
+accept 200 -100
+expect 0.501797717 1.999095641
+accept -200 100
+expect 0.498202281 2.000904357
+accept -200 -100
+expect 0.498202283 1.999095641
+
+
+===============================================================================
+Lambert Azimuthal Equal Area
+ Azi, Sph&Ell
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=laea +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222602.471450095 110589.827224410
+accept 2 -1
+expect 222602.471450095 -110589.827224409
+accept -2 1
+expect -222602.471450095 110589.827224410
+accept -2 -1
+expect -222602.471450095 -110589.827224409
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=laea +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223365.281370125 111716.668072916
+accept 2 -1
+expect 223365.281370125 -111716.668072916
+accept -2 1
+expect -223365.281370125 111716.668072916
+accept -2 -1
+expect -223365.281370125 -111716.668072916
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Lagrange
+ Misc Sph, no inv.
+ W=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=lagrng +a=6400000 +W=2 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 111703.375917226 27929.831908033
+accept 2 -1
+expect 111699.122088816 -83784.178013358
+accept -2 1
+expect -111703.375917226 27929.831908033
+accept -2 -1
+expect -111699.122088816 -83784.178013358
+
+
+===============================================================================
+Larrivee
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=larr +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223393.637624201 111707.215961256
+accept 2 -1
+expect 223393.637624201 -111707.215961256
+accept -2 1
+expect -223393.637624201 111707.215961256
+accept -2 -1
+expect -223393.637624201 -111707.215961256
+
+
+===============================================================================
+Laskowski
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=lask +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 217928.275907355 112144.329220142
+accept 2 -1
+expect 217928.275907355 -112144.329220142
+accept -2 1
+expect -217928.275907355 112144.329220142
+accept -2 -1
+expect -217928.275907355 -112144.329220142
+
+
+===============================================================================
+Lambert Conformal Conic
+ Conic, Sph&Ell
+ lat_1= and lat_2= or lat_0
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=lcc +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222588.439735968 110660.533870800
+accept 2 -1
+expect 222756.879700279 -110532.797660827
+accept -2 1
+expect -222588.439735968 110660.533870800
+accept -2 -1
+expect -222756.879700279 -110532.797660827
+
+direction inverse
+accept 200 100
+expect 0.001796359 0.000904232
+accept 200 -100
+expect 0.001796358 -0.000904233
+accept -200 100
+expect -0.001796359 0.000904232
+accept -200 -100
+expect -0.001796358 -0.000904233
+
+
+===============================================================================
+Lambert Conformal Conic Alternative
+ Conic, Sph&Ell
+ lat_0=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=lcca +ellps=GRS80 +lat_0=1 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222605.285770237 67.806007272
+accept 2 -1
+expect 222740.037637937 -221125.539829602
+accept -2 1
+expect -222605.285770237 67.806007272
+accept -2 -1
+expect -222740.037637937 -221125.539829602
+
+direction inverse
+accept 200 100
+expect 0.001796903 1.000904366
+accept 200 -100
+expect 0.001796902 0.999095633
+accept -200 100
+expect -0.001796903 1.000904366
+accept -200 -100
+expect -0.001796902 0.999095633
+
+
+===============================================================================
+Lambert Equal Area Conic
+ Conic, Sph&Ell
+ lat_1= south
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=leac +ellps=GRS80 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 220685.140542979 112983.500889396
+accept 2 -1
+expect 224553.312279826 -108128.636744873
+accept -2 1
+expect -220685.140542979 112983.500889396
+accept -2 -1
+expect -224553.312279826 -108128.636744873
+
+direction inverse
+accept 200 100
+expect 0.001796645 0.000904352
+accept 200 -100
+expect 0.001796616 -0.000904387
+accept -200 100
+expect -0.001796645 0.000904352
+accept -200 -100
+expect -0.001796616 -0.000904387
+
+-------------------------------------------------------------------------------
+operation +proj=leac +R=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 221432.868592852 114119.454526532
+accept 2 -1
+expect 225331.724127111 -109245.829435056
+accept -2 1
+expect -221432.868592852 114119.454526532
+accept -2 -1
+expect -225331.724127111 -109245.829435056
+
+direction inverse
+accept 200 100
+expect 0.001790507 0.000895229
+accept 200 -100
+expect 0.001790479 -0.000895264
+accept -200 100
+expect -0.001790507 0.000895229
+accept -200 -100
+expect -0.001790479 -0.000895264
+
+
+===============================================================================
+Lee Oblated Stereographic
+ Azi(mod)
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=lee_os +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.0010
+accept 2 1
+expect -25564478.952605054 154490848.828625500
+accept 2 -1
+expect 30115393.938574642 125193997.439701970
+accept -2 1
+expect -31039340.592166007 57678685.044891544
+accept -2 -1
+expect -3088419.939423571 58150091.099111013
+
+direction inverse
+accept 200 100
+expect -164.997479458 -9.998758861
+accept 200 -100
+expect -164.997479439 -10.001241120
+accept -200 100
+expect -165.002520542 -9.998758861
+accept -200 -100
+expect -165.002520561 -10.001241120
+
+
+===============================================================================
+Loximuthal
+ PCyl Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=loxim +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223382.295791339 55850.536063819
+accept 2 -1
+expect 223393.637462243 -167551.608191456
+accept -2 1
+expect -223382.295791339 55850.536063819
+accept -2 -1
+expect -223393.637462243 -167551.608191456
+
+direction inverse
+accept 200 100
+expect 0.001790561 0.500895247
+accept 200 -100
+expect 0.001790561 0.499104753
+accept -200 100
+expect -0.001790561 0.500895247
+accept -200 -100
+expect -0.001790561 0.499104753
+
+
+===============================================================================
+Space oblique for LANDSAT
+ Cyl, Sph&Ell
+ lsat= path=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=lsat +ellps=GRS80 +lat_1=0.5 +lat_2=2 +lsat=1 +path=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 18241950.014558550 9998256.839822935
+accept 2 -1
+expect 18746856.253319457 10215761.669925211
+accept -2 1
+expect 18565503.683633164 9085039.146727053
+accept -2 -1
+expect 19019696.902028911 9247763.039432822
+
+direction inverse
+accept 200 100
+expect 126.000423835 0.001723782
+accept 200 -100
+expect 126.002213738 0.001880155
+accept -200 100
+expect 126.000734469 -0.001880155
+accept -200 -100
+expect 126.002524373 -0.001723782
+
+
+===============================================================================
+McBryde-Thomas Flat-Polar Sine (No. 1)
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=mbt_s +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 204131.517850273 121400.330225508
+accept 2 -1
+expect 204131.517850273 -121400.330225508
+accept -2 1
+expect -204131.517850273 121400.330225508
+accept -2 -1
+expect -204131.517850273 -121400.330225508
+
+direction inverse
+accept 200 100
+expect 0.001959383 0.000823699
+accept 200 -100
+expect 0.001959383 -0.000823699
+accept -200 100
+expect -0.001959383 0.000823699
+accept -200 -100
+expect -0.001959383 -0.000823699
+
+-------------------------------------------------------------------------------
+operation +proj=mbt_s +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 204831.240570992 121816.466696035
+accept 2 -1
+expect 204831.240570992 -121816.466696035
+accept -2 1
+expect -204831.240570992 121816.466696035
+accept -2 -1
+expect -204831.240570992 -121816.466696035
+
+direction inverse
+accept 200 100
+expect 0.001952689 0.000820885
+accept 200 -100
+expect 0.001952689 -0.000820885
+accept -200 100
+expect -0.001952689 0.000820885
+accept -200 -100
+expect -0.001952689 -0.000820885
+
+
+===============================================================================
+McBryde-Thomas Flat-Pole Sine (No. 2)
+ Cyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=mbt_fps +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 198798.176129850 125512.017254531
+accept 2 -1
+expect 198798.176129850 -125512.017254531
+accept -2 1
+expect -198798.176129850 125512.017254531
+accept -2 -1
+expect -198798.176129850 -125512.017254531
+
+direction inverse
+accept 200 100
+expect 0.002011971 0.000796712
+accept 200 -100
+expect 0.002011971 -0.000796712
+accept -200 100
+expect -0.002011971 0.000796712
+accept -200 -100
+expect -0.002011971 -0.000796712
+
+
+===============================================================================
+McBride-Thomas Flat-Polar Parabolic
+ Cyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=mbtfpp +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 206804.786929820 120649.762565793
+accept 2 -1
+expect 206804.786929820 -120649.762565793
+accept -2 1
+expect -206804.786929820 120649.762565793
+accept -2 -1
+expect -206804.786929820 -120649.762565793
+
+direction inverse
+accept 200 100
+expect 0.001933954 0.000828837
+accept 200 -100
+expect 0.001933954 -0.000828837
+accept -200 100
+expect -0.001933954 0.000828837
+accept -200 -100
+expect -0.001933954 -0.000828837
+
+
+===============================================================================
+McBryde-Thomas Flat-Polar Quartic
+ Cyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=mbtfpq +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 209391.854738393 119161.040199055
+accept 2 -1
+expect 209391.854738393 -119161.040199055
+accept -2 1
+expect -209391.854738393 119161.040199055
+accept -2 -1
+expect -209391.854738393 -119161.040199055
+
+direction inverse
+accept 200 100
+expect 0.001910106 0.000839185
+accept 200 -100
+expect 0.001910106 -0.000839185
+accept -200 100
+expect -0.001910106 0.000839185
+accept -200 -100
+expect -0.001910106 -0.000839185
+
+
+===============================================================================
+McBryde-Thomas Flat-Polar Sinusoidal
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=mbtfps +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 204740.117478572 121864.729719340
+accept 2 -1
+expect 204740.117478572 -121864.729719340
+accept -2 1
+expect -204740.117478572 121864.729719340
+accept -2 -1
+expect -204740.117478572 -121864.729719340
+
+direction inverse
+accept 200 100
+expect 0.001953415 0.000820580
+accept 200 -100
+expect 0.001953415 -0.000820580
+accept -200 100
+expect -0.001953415 0.000820580
+accept -200 -100
+expect -0.001953415 -0.000820580
+
+
+===============================================================================
+Mercator
+ Cyl, Sph&Ell
+ lat_ts=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=merc +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222638.981586547 110579.965218250
+accept 2 -1
+expect 222638.981586547 -110579.965218249
+accept -2 1
+expect -222638.981586547 110579.965218250
+accept -2 -1
+expect -222638.981586547 -110579.965218249
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=merc +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 111706.743574944
+accept 2 -1
+expect 223402.144255274 -111706.743574944
+accept -2 1
+expect -223402.144255274 111706.743574944
+accept -2 -1
+expect -223402.144255274 -111706.743574944
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Miller Oblated Stereographic
+ Azi(mod)
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=mil_os +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect -1908527.949594205 -1726237.473061448
+accept 2 -1
+expect -1916673.022918485 -1943133.888125523
+accept -2 1
+expect -2344429.412089623 -1706258.051218912
+accept -2 -1
+expect -2354637.835532999 -1926468.605135417
+
+direction inverse
+accept 200 100
+expect 20.002036394 18.000968347
+accept 200 -100
+expect 20.002036372 17.999031632
+accept -200 100
+expect 19.997963606 18.000968347
+accept -200 -100
+expect 19.997963628 17.999031632
+
+
+===============================================================================
+Miller Cylindrical
+ Cyl, Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=mill +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 111704.701754394
+accept 2 -1
+expect 223402.144255274 -111704.701754396
+accept -2 1
+expect -223402.144255274 111704.701754394
+accept -2 -1
+expect -223402.144255274 -111704.701754396
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Space oblique for MISR
+ Cyl, Sph&Ell
+ path=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=misrsom +ellps=GRS80 +lat_1=0.5 +lat_2=2 +path=1
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 18556630.368369825 9533394.675311271
+accept 2 -1
+expect 19041866.006729737 9707182.175323525
+accept -2 1
+expect 18816810.130184799 8647669.649802955
+accept -2 -1
+expect 19252610.784536730 8778164.085801404
+
+direction inverse
+accept 200 100
+expect 127.759503988 0.001735150
+accept 200 -100
+expect 127.761295471 0.001871966
+accept -200 100
+expect 127.759775774 -0.001871966
+accept -200 -100
+expect 127.761567257 -0.001735150
+
+-------------------------------------------------------------------------------
+operation +proj=misrsom +R=6400000 +lat_1=0.5 +lat_2=2 +path=1
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 18641249.279170386 9563342.532334166
+accept 2 -1
+expect 19130982.461581279 9739539.593504636
+accept -2 1
+expect 18903483.515011538 8675064.500617975
+accept -2 -1
+expect 19343388.399800610 8807471.904068489
+
+direction inverse
+accept 200 100
+expect 127.759505148 0.001716231
+accept 200 -100
+expect 127.761290324 0.001854121
+accept -200 100
+expect 127.759780921 -0.001854121
+accept -200 -100
+expect 127.761566096 -0.001716231
+
+
+===============================================================================
+Mollweide
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=moll +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 201113.698641813 124066.283433860
+accept 2 -1
+expect 201113.698641813 -124066.283433860
+accept -2 1
+expect -201113.698641813 124066.283433860
+accept -2 -1
+expect -201113.698641813 -124066.283433860
+
+direction inverse
+accept 200 100
+expect 0.001988738 0.000806005
+accept 200 -100
+expect 0.001988738 -0.000806005
+accept -200 100
+expect -0.001988738 0.000806005
+accept -200 -100
+expect -0.001988738 -0.000806005
+
+
+===============================================================================
+Murdoch I
+ Conic, Sph
+ lat_1= and lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=murd1 +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222600.813473554 111404.244180546
+accept 2 -1
+expect 222770.349287864 -111234.672856675
+accept -2 1
+expect -222600.813473554 111404.244180546
+accept -2 -1
+expect -222770.349287864 -111234.672856675
+
+direction inverse
+accept 200 100
+expect 0.001796255 0.000898315
+accept 200 -100
+expect 0.001796254 -0.000898316
+accept -200 100
+expect -0.001796255 0.000898315
+accept -200 -100
+expect -0.001796254 -0.000898316
+
+-------------------------------------------------------------------------------
+operation +proj=murd1 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223363.845309492 111786.116032863
+accept 2 -1
+expect 223533.962259251 -111615.963451823
+accept -2 1
+expect -223363.845309492 111786.116032863
+accept -2 -1
+expect -223533.962259251 -111615.963451823
+
+direction inverse
+accept 200 100
+expect 0.001790119 0.000895246
+accept 200 -100
+expect 0.001790118 -0.000895247
+accept -200 100
+expect -0.001790119 0.000895246
+accept -200 -100
+expect -0.001790118 -0.000895247
+
+
+===============================================================================
+Murdoch II
+ Conic, Sph
+ lat_1= and lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=murd2 +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222588.099751230 111426.140027412
+accept 2 -1
+expect 222757.726267018 -111341.431317505
+accept -2 1
+expect -222588.099751230 111426.140027412
+accept -2 -1
+expect -222757.726267018 -111341.431317505
+
+direction inverse
+accept 200 100
+expect 0.001796357 0.000897887
+accept 200 -100
+expect 0.001796356 -0.000897888
+accept -200 100
+expect -0.001796357 0.000897887
+accept -200 -100
+expect -0.001796356 -0.000897888
+
+-------------------------------------------------------------------------------
+operation +proj=murd2 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223351.088007027 111808.086934388
+accept 2 -1
+expect 223521.295969170 -111723.087859673
+accept -2 1
+expect -223351.088007027 111808.086934388
+accept -2 -1
+expect -223521.295969170 -111723.087859673
+
+direction inverse
+accept 200 100
+expect 0.001790221 0.000894820
+accept 200 -100
+expect 0.001790220 -0.000894821
+accept -200 100
+expect -0.001790221 0.000894820
+accept -200 -100
+expect -0.001790220 -0.000894821
+
+
+===============================================================================
+Murdoch III
+ Conic, Sph
+ lat_1= and lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=murd3 +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222600.814077577 111404.246601372
+accept 2 -1
+expect 222770.354733899 -111234.670432178
+accept -2 1
+expect -222600.814077577 111404.246601372
+accept -2 -1
+expect -222770.354733899 -111234.670432178
+
+direction inverse
+accept 200 100
+expect 0.001796255 0.000898315
+accept 200 -100
+expect 0.001796254 -0.000898316
+accept -200 100
+expect -0.001796255 0.000898315
+accept -200 -100
+expect -0.001796254 -0.000898316
+
+-------------------------------------------------------------------------------
+operation +proj=murd3 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223363.845915585 111786.118461987
+accept 2 -1
+expect 223533.967723953 -111615.961019015
+accept -2 1
+expect -223363.845915585 111786.118461987
+accept -2 -1
+expect -223533.967723953 -111615.961019015
+
+direction inverse
+accept 200 100
+expect 0.001790119 0.000895246
+accept 200 -100
+expect 0.001790118 -0.000895247
+accept -200 100
+expect -0.001790119 0.000895246
+accept -200 -100
+expect -0.001790118 -0.000895247
+
+
+===============================================================================
+Natural Earth
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=natearth +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 194507.265257889 112508.737358295
+accept 2 -1
+expect 194507.265257889 -112508.737358295
+accept -2 1
+expect -194507.265257889 112508.737358295
+accept -2 -1
+expect -194507.265257889 -112508.737358295
+
+direction inverse
+accept 200 100
+expect 0.002056383 0.000888824
+accept 200 -100
+expect 0.002056383 -0.000888824
+accept -200 100
+expect -0.002056383 0.000888824
+accept -200 -100
+expect -0.002056383 -0.000888824
+
+
+===============================================================================
+Natural Earth 2
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=natearth2 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 189255.172934731 113022.495810907
+accept 2 -1
+expect 189255.172934731 -113022.495810907
+accept -2 1
+expect -189255.172934731 113022.495810907
+accept -2 -1
+expect -189255.172934731 -113022.495810907
+
+direction inverse
+accept 200 100
+expect 0.002113449 0.000884780
+accept 200 -100
+expect 0.002113449 -0.000884780
+accept -200 100
+expect -0.002113449 0.000884780
+accept -200 -100
+expect -0.002113449 -0.000884780
+
+
+===============================================================================
+Nell
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=nell +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223385.132504696 111698.236447187
+accept 2 -1
+expect 223385.132504696 -111698.236447187
+accept -2 1
+expect -223385.132504696 111698.236447187
+accept -2 -1
+expect -223385.132504696 -111698.236447187
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Nell-Hammer
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=nell_h +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223385.131640953 111698.236533562
+accept 2 -1
+expect 223385.131640953 -111698.236533562
+accept -2 1
+expect -223385.131640953 111698.236533562
+accept -2 -1
+expect -223385.131640953 -111698.236533562
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Nicolosi Globular
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=nicol +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223374.561814140 111732.553988545
+accept 2 -1
+expect 223374.561814140 -111732.553988545
+accept -2 1
+expect -223374.561814140 111732.553988545
+accept -2 -1
+expect -223374.561814140 -111732.553988545
+
+
+===============================================================================
+Near-sided perspective
+ Azi, Sph
+ h=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=nsper +a=6400000 +h=1000000
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222239.816114100 111153.763991925
+accept 2 -1
+expect 222239.816114100 -111153.763991925
+accept -2 1
+expect -222239.816114100 111153.763991925
+accept -2 -1
+expect -222239.816114100 -111153.763991925
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+New Zealand Map Grid
+ fixed Earth
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=nzmg +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.010
+accept 2 1
+expect 3352675144.747425100 -7043205391.100243600
+accept 2 -1
+expect 3691989502.779306400 -6729069415.332104700
+accept -2 1
+expect 4099000768.453238500 -7863208779.667248700
+accept -2 -1
+expect 4466166927.369976000 -7502531736.628604900
+
+direction inverse
+accept 200000.000000000 100000.000000000
+expect 175.482086827 -69.422692183
+accept 200000.000000000 -100000.000000000
+expect 175.756819473 -69.533571088
+accept -200000.000000000 100000.000000000
+expect 134.605119233 -61.459995711
+accept -200000.000000000 -100000.000000000
+expect 134.333684316 -61.621553676
+
+
+===============================================================================
+General Oblique Transformation
+ Misc Sph
+ o_proj= plus parameters for projection
+ o_lat_p= o_lon_p= (new pole) or
+ o_alpha= o_lon_c= o_lat_c= or
+ o_lon_1= o_lat_1= o_lon_2= o_lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=ob_tran +R=6400000 +o_proj=latlon +o_lon_p=20 +o_lat_p=20 +lon_0=180
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect -2.685687214 1.237430235
+accept 2 -1
+expect -2.695406975 1.202683395
+accept -2 1
+expect -2.899366393 1.237430235
+accept -2 -1
+expect -2.889646631 1.202683395
+
+direction inverse
+accept 200 100
+expect 121.551874841 -2.536100157
+accept 200 -100
+expect 63.261184340 17.585319579
+accept -200 100
+expect -141.100733224 26.091712305
+accept -200 -100
+expect -65.862385599 51.830295078
+
+
+===============================================================================
+Oblique Cylindrical Equal Area
+ Cyl, Sphlonc= alpha= or
+ lat_1= lat_2= lon_1= lon_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=ocea +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 19994423.837934088 223322.760576728
+accept 2 -1
+expect 20217962.128015257 223322.760576729
+accept -2 1
+expect 19994423.837934092 -223322.760576727
+accept -2 -1
+expect 20217962.128015265 -223322.760576725
+
+direction inverse
+accept 200 100
+expect 179.999104753 0.001790493
+accept 200 -100
+expect -179.999104753 0.001790493
+accept -200 100
+expect 179.999104753 -0.001790493
+accept -200 -100
+expect -179.999104753 -0.001790493
+
+
+===============================================================================
+Oblated Equal Area
+ Misc Sph
+ n= m= theta=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=oea +a=6400000 +lat_1=0.5 +lat_2=2 +n=1 +m=2 +theta=3
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 228926.872097864 99870.488430076
+accept 2 -1
+expect 217242.584036940 -123247.885607475
+accept -2 1
+expect -217242.584036940 123247.885607475
+accept -2 -1
+expect -228926.872097864 -99870.488430076
+
+direction inverse
+accept 200 100
+expect 0.001741186 0.000987727
+accept 200 -100
+expect 0.001834893 -0.000800312
+accept -200 100
+expect -0.001834893 0.000800312
+accept -200 -100
+expect -0.001741186 -0.000987727
+
+
+===============================================================================
+Oblique Mercator
+ Cyl, Sph&Ell no_rot
+ alpha= [gamma=] [no_off] lonc= or
+ lon_1= lat_1= lon_2= lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=omerc +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222650.796885261 110642.229314984
+accept 2 -1
+expect 222650.796885261 -110642.229314984
+accept -2 1
+expect -222650.796885262 110642.229314984
+accept -2 -1
+expect -222650.796885262 -110642.229314984
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+
+===============================================================================
+Ortelius Oval
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=ortel +a=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223374.577355253 111701.072127637
+accept 2 -1
+expect 223374.577355253 -111701.072127637
+accept -2 1
+expect -223374.577355253 111701.072127637
+accept -2 -1
+expect -223374.577355253 -111701.072127637
+
+
+===============================================================================
+Orthographic
+ Azi, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=ortho +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223322.760576727 111695.401198614
+accept 2 -1
+expect 223322.760576727 -111695.401198614
+accept -2 1
+expect -223322.760576727 111695.401198614
+accept -2 -1
+expect -223322.760576727 -111695.401198614
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Perspective Conic
+ Conic, Sph
+ lat_1= and lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=pconic +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222588.098841617 111416.604770067
+accept 2 -1
+expect 222757.718091090 -111331.881531080
+accept -2 1
+expect -222588.098841617 111416.604770067
+accept -2 -1
+expect -222757.718091090 -111331.881531080
+
+direction inverse
+accept 200 100
+expect 0.001796358 0.000897964
+accept 200 -100
+expect 0.001796356 -0.000897965
+accept -200 100
+expect -0.001796358 0.000897964
+accept -200 -100
+expect -0.001796356 -0.000897965
+
+-------------------------------------------------------------------------------
+operation +proj=pconic +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223351.087094295 111798.518992055
+accept 2 -1
+expect 223521.287765217 -111713.505338457
+accept -2 1
+expect -223351.087094295 111798.518992055
+accept -2 -1
+expect -223521.287765217 -111713.505338457
+
+direction inverse
+accept 200 100
+expect 0.001790221 0.000894897
+accept 200 -100
+expect 0.001790220 -0.000894897
+accept -200 100
+expect -0.001790221 0.000894897
+accept -200 -100
+expect -0.001790220 -0.000894897
+
+
+===============================================================================
+Patterson Cylindrical
+ Cyl.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=patterson +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 113354.250397780
+accept 2 -1
+expect 223402.144255274 -113354.250397780
+accept -2 1
+expect -223402.144255274 113354.250397780
+accept -2 -1
+expect -223402.144255274 -113354.250397780
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000882190
+accept 200 -100
+expect 0.001790493 -0.000882190
+accept -200 100
+expect -0.001790493 0.000882190
+accept -200 -100
+expect -0.001790493 -0.000882190
+
+
+===============================================================================
+Polyconic (American)
+ Conic, Sph&Ell
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=poly +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222605.285770237 110642.194561440
+accept 2 -1
+expect 222605.285770237 -110642.194561440
+accept -2 1
+expect -222605.285770237 110642.194561440
+accept -2 -1
+expect -222605.285770237 -110642.194561440
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=poly +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223368.105210219 111769.110491225
+accept 2 -1
+expect 223368.105210219 -111769.110491225
+accept -2 1
+expect -223368.105210219 111769.110491225
+accept -2 -1
+expect -223368.105210219 -111769.110491225
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Putnins P1
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp1 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 211642.762754160 105831.180787330
+accept 2 -1
+expect 211642.762754160 -105831.180787330
+accept -2 1
+expect -211642.762754160 105831.180787330
+accept -2 -1
+expect -211642.762754160 -105831.180787330
+
+direction inverse
+accept 200 100
+expect 0.001889802 0.000944901
+accept 200 -100
+expect 0.001889802 -0.000944901
+accept -200 100
+expect -0.001889802 0.000944901
+accept -200 -100
+expect -0.001889802 -0.000944901
+
+
+===============================================================================
+Putnins P2
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp2 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 211638.039634339 117895.033043380
+accept 2 -1
+expect 211638.039634339 -117895.033043380
+accept -2 1
+expect -211638.039634339 117895.033043380
+accept -2 -1
+expect -211638.039634339 -117895.033043380
+
+direction inverse
+accept 200 100
+expect 0.001889802 0.000848202
+accept 200 -100
+expect 0.001889802 -0.000848202
+accept -200 100
+expect -0.001889802 0.000848202
+accept -200 -100
+expect -0.001889802 -0.000848202
+
+
+===============================================================================
+Putnins P3
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp3 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 178227.115507794 89124.560786088
+accept 2 -1
+expect 178227.115507794 -89124.560786088
+accept -2 1
+expect -178227.115507794 89124.560786088
+accept -2 -1
+expect -178227.115507794 -89124.560786088
+
+direction inverse
+accept 200 100
+expect 0.002244050 0.001122025
+accept 200 -100
+expect 0.002244050 -0.001122025
+accept -200 100
+expect -0.002244050 0.001122025
+accept -200 -100
+expect -0.002244050 -0.001122025
+
+
+===============================================================================
+Putnins P3'
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp3p +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 178238.118539985 89124.560786088
+accept 2 -1
+expect 178238.118539985 -89124.560786088
+accept -2 1
+expect -178238.118539985 89124.560786088
+accept -2 -1
+expect -178238.118539985 -89124.560786088
+
+direction inverse
+accept 200 100
+expect 0.002244050 0.001122025
+accept 200 -100
+expect 0.002244050 -0.001122025
+accept -200 100
+expect -0.002244050 0.001122025
+accept -200 -100
+expect -0.002244050 -0.001122025
+
+
+===============================================================================
+Putnins P4'
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp4p +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 195241.477349386 127796.782307926
+accept 2 -1
+expect 195241.477349386 -127796.782307926
+accept -2 1
+expect -195241.477349386 127796.782307926
+accept -2 -1
+expect -195241.477349386 -127796.782307926
+
+direction inverse
+accept 200 100
+expect 0.002048528 0.000782480
+accept 200 -100
+expect 0.002048528 -0.000782480
+accept -200 100
+expect -0.002048528 0.000782480
+accept -200 -100
+expect -0.002048528 -0.000782480
+
+
+===============================================================================
+Putnins P5
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp5 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 226367.213380562 113204.568558475
+accept 2 -1
+expect 226367.213380562 -113204.568558475
+accept -2 1
+expect -226367.213380562 113204.568558475
+accept -2 -1
+expect -226367.213380562 -113204.568558475
+
+direction inverse
+accept 200 100
+expect 0.001766713 0.000883357
+accept 200 -100
+expect 0.001766713 -0.000883357
+accept -200 100
+expect -0.001766713 0.000883357
+accept -200 -100
+expect -0.001766713 -0.000883357
+
+
+===============================================================================
+Putnins P5'
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp5p +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 226388.175248756 113204.568558475
+accept 2 -1
+expect 226388.175248756 -113204.568558475
+accept -2 1
+expect -226388.175248756 113204.568558475
+accept -2 -1
+expect -226388.175248756 -113204.568558475
+
+direction inverse
+accept 200 100
+expect 0.001766713 0.000883357
+accept 200 -100
+expect 0.001766713 -0.000883357
+accept -200 100
+expect -0.001766713 0.000883357
+accept -200 -100
+expect -0.001766713 -0.000883357
+
+
+===============================================================================
+Putnins P6
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp6 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 226369.395133403 110218.523796521
+accept 2 -1
+expect 226369.395133403 -110218.523796521
+accept -2 1
+expect -226369.395133403 110218.523796521
+accept -2 -1
+expect -226369.395133403 -110218.523796521
+
+direction inverse
+accept 200 100
+expect 0.001766713 0.000907296
+accept 200 -100
+expect 0.001766713 -0.000907296
+accept -200 100
+expect -0.001766713 0.000907296
+accept -200 -100
+expect -0.001766713 -0.000907296
+
+
+===============================================================================
+Putnins P6'
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=putp6p +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 198034.195132195 125989.475461323
+accept 2 -1
+expect 198034.195132195 -125989.475461323
+accept -2 1
+expect -198034.195132195 125989.475461323
+accept -2 -1
+expect -198034.195132195 -125989.475461323
+
+direction inverse
+accept 200 100
+expect 0.002019551 0.000793716
+accept 200 -100
+expect 0.002019551 -0.000793716
+accept -200 100
+expect -0.002019551 0.000793716
+accept -200 -100
+expect -0.002019551 -0.000793716
+
+
+===============================================================================
+Quartic Authalic
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=qua_aut +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222613.549033097 111318.077887984
+accept 2 -1
+expect 222613.549033097 -111318.077887984
+accept -2 1
+expect -222613.549033097 111318.077887984
+accept -2 -1
+expect -222613.549033097 -111318.077887984
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000898315
+accept 200 -100
+expect 0.001796631 -0.000898315
+accept -200 100
+expect -0.001796631 0.000898315
+accept -200 -100
+expect -0.001796631 -0.000898315
+
+-------------------------------------------------------------------------------
+operation +proj=qua_aut +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223376.624524029 111699.654379186
+accept 2 -1
+expect 223376.624524029 -111699.654379186
+accept -2 1
+expect -223376.624524029 111699.654379186
+accept -2 -1
+expect -223376.624524029 -111699.654379186
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Quadrilateralized Spherical Cube
+ Azi, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=qsc +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 304638.450843852 164123.870923794
+accept 2 -1
+expect 304638.450843852 -164123.870923794
+accept -2 1
+expect -304638.450843852 164123.870923794
+accept -2 -1
+expect -304638.450843852 -164123.870923794
+
+direction inverse
+accept 200 100
+expect 0.001321341 0.000610653
+accept 200 -100
+expect 0.001321341 -0.000610653
+accept -200 100
+expect -0.001321341 0.000610653
+accept -200 -100
+expect -0.001321341 -0.000610653
+
+-------------------------------------------------------------------------------
+operation +proj=qsc +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 305863.792402891 165827.722754715
+accept 2 -1
+expect 305863.792402891 -165827.722754715
+accept -2 1
+expect -305863.792402891 165827.722754715
+accept -2 -1
+expect -305863.792402891 -165827.722754715
+
+direction inverse
+accept 200 100
+expect 0.001316827 0.000604493
+accept 200 -100
+expect 0.001316827 -0.000604493
+accept -200 100
+expect -0.001316827 0.000604493
+accept -200 -100
+expect -0.001316827 -0.000604493
+
+
+===============================================================================
+Robinson
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=robin +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 189588.423282508 107318.530350703
+accept 2 -1
+expect 189588.423282508 -107318.530350703
+accept -2 1
+expect -189588.423282508 107318.530350703
+accept -2 -1
+expect -189588.423282508 -107318.530350703
+
+direction inverse
+accept 200 100
+expect 0.002109689 0.000931806
+accept 200 -100
+expect 0.002109689 -0.000931806
+accept -200 100
+expect -0.002109689 0.000931806
+accept -200 -100
+expect -0.002109689 -0.000931806
+
+
+===============================================================================
+Roussilhe Stereographic
+ Azi., Ellps.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=rouss +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222644.894131617 110611.091868370
+accept 2 -1
+expect 222644.894131617 -110611.091868370
+accept -2 1
+expect -222644.894131617 110611.091868370
+accept -2 -1
+expect -222644.894131617 -110611.091868370
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+
+===============================================================================
+Rectangular Polyconic
+ Conic, Sph., no inv.
+ lat_ts=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=rpoly +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223368.098302014 111769.110486991
+accept 2 -1
+expect 223368.098302014 -111769.110486991
+accept -2 1
+expect -223368.098302014 111769.110486991
+accept -2 -1
+expect -223368.098302014 -111769.110486991
+
+
+===============================================================================
+Sinusoidal (Sanson-Flamsteed)
+ PCyl, Sph&Ell
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=sinu +ellps=GRS80 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222605.299539466 110574.388554153
+accept 2 -1
+expect 222605.299539466 -110574.388554153
+accept -2 1
+expect -222605.299539466 110574.388554153
+accept -2 -1
+expect -222605.299539466 -110574.388554153
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=sinu +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223368.119026632 111701.072127637
+accept 2 -1
+expect 223368.119026632 -111701.072127637
+accept -2 1
+expect -223368.119026632 111701.072127637
+accept -2 -1
+expect -223368.119026632 -111701.072127637
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Swiss. Obl. Mercator
+ Cyl, Ell
+ For CH1903
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=somerc +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222638.981586547 110579.965218249
+accept 2 -1
+expect 222638.981586547 -110579.965218251
+accept -2 1
+expect -222638.981586547 110579.965218249
+accept -2 -1
+expect -222638.981586547 -110579.965218251
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=somerc +R=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223402.144255274 111706.743574944
+accept 2 -1
+expect 223402.144255274 -111706.743574945
+accept -2 1
+expect -223402.144255274 111706.743574944
+accept -2 -1
+expect -223402.144255274 -111706.743574945
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Stereographic
+ Azi, Sph&Ell
+ lat_ts=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=stere +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222644.854550117 110610.883474174
+accept 2 -1
+expect 222644.854550117 -110610.883474174
+accept -2 1
+expect -222644.854550117 110610.883474174
+accept -2 -1
+expect -222644.854550117 -110610.883474174
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=stere +R=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223407.810259507 111737.938996443
+accept 2 -1
+expect 223407.810259507 -111737.938996443
+accept -2 1
+expect -223407.810259507 111737.938996443
+accept -2 -1
+expect -223407.810259507 -111737.938996443
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Oblique Stereographic Alternative
+ Azimuthal, Sph&Ell
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=sterea +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222644.894109198 110611.091871737
+accept 2 -1
+expect 222644.894109198 -110611.091871738
+accept -2 1
+expect -222644.894109198 110611.091871737
+accept -2 -1
+expect -222644.894109198 -110611.091871738
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=sterea +R=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223407.810259507 111737.938996443
+accept 2 -1
+expect 223407.810259507 -111737.938996443
+accept -2 1
+expect -223407.810259507 111737.938996443
+accept -2 -1
+expect -223407.810259507 -111737.938996443
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion)
+ Cyl, Sph&Ell
+ lat_0= lon_0= k_0=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=gstmerc +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223413.466406322 111769.145040586
+accept 2 -1
+expect 223413.466406322 -111769.145040587
+accept -2 1
+expect -223413.466406323 111769.145040586
+accept -2 -1
+expect -223413.466406323 -111769.145040587
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Transverse Central Cylindrical
+ Cyl, Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=tcc +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223458.844192458 111769.145040586
+accept 2 -1
+expect 223458.844192458 -111769.145040586
+accept -2 1
+expect -223458.844192458 111769.145040586
+accept -2 -1
+expect -223458.844192458 -111769.145040586
+
+
+===============================================================================
+Transverse Cylindrical Equal Area
+ Cyl, Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=tcea +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223322.760576727 111769.145040586
+accept 2 -1
+expect 223322.760576727 -111769.145040586
+accept -2 1
+expect -223322.760576727 111769.145040586
+accept -2 -1
+expect -223322.760576727 -111769.145040586
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Times
+ Cyl, Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=times +ellps=sphere
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 0.000000000 0.000000000
+expect 0.000000000 0.000000000
+accept 80.000000000 70.000000000
+expect 5785183.576067096 7615452.066120422
+accept 25.000000000 -10.000000000
+expect 2065971.530107881 -951526.064849459
+accept -35.000000000 20.000000000
+expect -2873054.045485095 1917730.953000521
+accept -45.000000000 -30.000000000
+expect -3651383.203521487 -2914213.457815921
+
+direction inverse
+accept 0.000000000 0.000000000
+expect 0.000000000 0.000000000
+accept 5785183.576067096 7615452.066120422
+expect 80.000000000 70.000000000
+accept 2065971.530107881 -951526.064849459
+expect 25.000000000 -10.000000000
+accept -2873054.045485095 1917730.953000521
+expect -35.000000000 20.000000000
+accept -3651383.203521487 -2914213.457815921
+expect -45.000000000 -30.000000000
+
+
+===============================================================================
+Tissot
+ Conic, Sph
+ lat_1= and lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=tissot +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222641.078699631 54347.828487281
+accept 2 -1
+expect 222810.614513941 -168291.088549939
+accept -2 1
+expect -222641.078699631 54347.828487281
+accept -2 -1
+expect -222810.614513941 -168291.088549939
+
+direction inverse
+accept 200 100
+expect 0.001796281 0.513444955
+accept 200 -100
+expect 0.001796279 0.511648325
+accept -200 100
+expect -0.001796281 0.513444955
+accept -200 -100
+expect -0.001796279 0.511648325
+
+-------------------------------------------------------------------------------
+operation +proj=tissot +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223404.248556849 54534.122161158
+accept 2 -1
+expect 223574.365506608 -168867.957323528
+accept -2 1
+expect -223404.248556849 54534.122161158
+accept -2 -1
+expect -223574.365506608 -168867.957323528
+
+direction inverse
+accept 200 100
+expect 0.001790144 0.513441886
+accept 200 -100
+expect 0.001790143 0.511651393
+accept -200 100
+expect -0.001790144 0.513441886
+accept -200 -100
+expect -0.001790143 0.511651393
+
+
+===============================================================================
+Transverse Mercator
+ Cyl, Sph&Ell
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=tmerc +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222650.796795778 110642.229411927
+accept 2 -1
+expect 222650.796795778 -110642.229411927
+accept -2 1
+expect -222650.796795778 110642.229411927
+accept -2 -1
+expect -222650.796795778 -110642.229411927
+
+direction inverse
+accept 200 100
+expect 0.001796631 0.000904369
+accept 200 -100
+expect 0.001796631 -0.000904369
+accept -200 100
+expect -0.001796631 0.000904369
+accept -200 -100
+expect -0.001796631 -0.000904369
+
+-------------------------------------------------------------------------------
+operation +proj=tmerc +R=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223413.466406322 111769.145040597
+accept 2 -1
+expect 223413.466406322 -111769.145040597
+accept -2 1
+expect -223413.466406322 111769.145040597
+accept -2 -1
+expect -223413.466406322 -111769.145040597
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Two Point Equidistant
+ Misc Sph
+ lat_1= lon_1= lat_2= lon_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=tpeqd +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect -27750.758831679 -222599.403691777
+accept 2 -1
+expect -250434.937024036 -222655.938193266
+accept -2 1
+expect -27750.758831679 222599.403691777
+accept -2 -1
+expect -250434.937024036 222655.938193266
+
+direction inverse
+accept 200 100
+expect -0.000898556 1.251796630
+accept 200 -100
+expect 0.000898556 1.251796630
+accept -200 100
+expect -0.000898554 1.248203369
+accept -200 -100
+expect 0.000898554 1.248203369
+
+-------------------------------------------------------------------------------
+operation +proj=tpeqd +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect -27845.882978485 -223362.430695260
+accept 2 -1
+expect -251293.378764651 -223419.158985908
+accept -2 1
+expect -27845.882978485 223362.430695260
+accept -2 -1
+expect -251293.378764651 223419.158985908
+
+direction inverse
+accept 200 100
+expect -0.000895486 1.251790493
+accept 200 -100
+expect 0.000895486 1.251790493
+accept -200 100
+expect -0.000895485 1.248209507
+accept -200 -100
+expect 0.000895485 1.248209507
+
+
+===============================================================================
+Tilted perspective
+ Azi, Sph
+ tilt= azi= h=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=tpers +a=6400000 +h=1000000 +azi=20
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 170820.288955531 180460.865555805
+accept 2 -1
+expect 246853.941538942 -28439.878035775
+accept -2 1
+expect -246853.941538942 28439.878035775
+accept -2 -1
+expect -170820.288955531 -180460.865555805
+
+direction inverse
+accept 200 100
+expect 0.001988706 0.000228872
+accept 200 -100
+expect 0.001376321 -0.001453641
+accept -200 100
+expect -0.001376321 0.001453641
+accept -200 -100
+expect -0.001988706 -0.000228872
+
+
+===============================================================================
+Universal Polar Stereographic
+ Azi, Sph&Ell
+ south
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=ups +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 2433455.563438467 -10412543.301512826
+accept 2 -1
+expect 2448749.118568199 -10850493.419804076
+accept -2 1
+expect 1566544.436561533 -10412543.301512826
+accept -2 -1
+expect 1551250.881431801 -10850493.419804076
+
+direction inverse
+accept 200 100
+expect -44.998567498 64.918236287
+accept 200 -100
+expect -44.995702709 64.917020251
+accept -200 100
+expect -45.004297076 64.915804281
+accept -200 -100
+expect -45.001432287 64.914588378
+
+
+===============================================================================
+Urmaev V
+ PCyl., Sph., no inv.
+ n= q= alpha=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=urm5 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223393.638433964 111696.818785117
+accept 2 -1
+expect 223393.638433964 -111696.818785117
+accept -2 1
+expect -223393.638433964 111696.818785117
+accept -2 -1
+expect -223393.638433964 -111696.818785117
+
+
+===============================================================================
+Urmaev Flat-Polar Sinusoidal
+ PCyl, Sph.
+ n=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=urmfps +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 196001.708134192 127306.843329993
+accept 2 -1
+expect 196001.708134192 -127306.843329993
+accept -2 1
+expect -196001.708134192 127306.843329993
+accept -2 -1
+expect -196001.708134192 -127306.843329993
+
+direction inverse
+accept 200 100
+expect 0.002040721 0.000785474
+accept 200 -100
+expect 0.002040721 -0.000785474
+accept -200 100
+expect -0.002040721 0.000785474
+accept -200 -100
+expect -0.002040721 -0.000785474
+
+
+===============================================================================
+Universal Transverse Mercator (UTM)
+ Cyl, Sph
+ zone= south
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=utm +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5 +zone=30
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 1057002.405491298 110955.141175949
+accept 2 -1
+expect 1057002.405491298 -110955.141175949
+accept -2 1
+expect 611263.812278905 110547.105696804
+accept -2 -1
+expect 611263.812278905 -110547.105696804
+
+direction inverse
+accept 200 100
+expect -7.486952083 0.000901940
+accept 200 -100
+expect -7.486952083 -0.000901940
+accept -200 100
+expect -7.490535682 0.000901935
+accept -200 -100
+expect -7.490535682 -0.000901935
+
+
+===============================================================================
+van der Grinten (I)
+ Misc Sph
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=vandg +a=6400000 +lat_1=0.5 +lat_2=2 +no_defs
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223395.249543407 111704.596633675
+rem 223395.249543407 111704.596633675 osgeo
+rem 223395.249543407 111704.596633675 debug/bin
+
+
+accept 2 -1
+expect 223395.249543407 -111704.596633675
+accept -2 1
+expect -223395.249543407 111704.596633675
+accept -2 -1
+expect -223395.249543407 -111704.596633675
+
+direction inverse
+accept 200 100
+expect 0.001790494 0.000895247
+accept 200 -100
+expect 0.001790494 -0.000895247
+accept -200 100
+expect -0.001790494 0.000895247
+accept -200 -100
+expect -0.001790494 -0.000895247
+
+
+===============================================================================
+van der Grinten II
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=vandg2 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223395.247850437 111718.491037226
+accept 2 -1
+expect 223395.247850437 -111718.491037226
+accept -2 1
+expect -223395.247850437 111718.491037226
+accept -2 -1
+expect -223395.247850437 -111718.491037226
+
+
+===============================================================================
+van der Grinten III
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=vandg3 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223395.249552831 111704.519904421
+accept 2 -1
+expect 223395.249552831 -111704.519904421
+accept -2 1
+expect -223395.249552831 111704.519904421
+accept -2 -1
+expect -223395.249552831 -111704.519904421
+
+
+===============================================================================
+van der Grinten IV
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=vandg4 +R=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.01
+accept 2 1
+expect 223374.577294355 111701.195484154
+accept 2 -1
+expect 223374.577294355 -111701.195484154
+accept -2 1
+expect -223374.577294355 111701.195484154
+accept -2 -1
+expect -223374.577294355 -111701.195484154
+
+
+===============================================================================
+Vitkovsky I
+ Conic, Sph
+ lat_1= and lat_2=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=vitk1 +ellps=GRS80 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 222607.171211458 111404.251442435
+accept 2 -1
+expect 222776.716709598 -111234.665587445
+accept -2 1
+expect -222607.171211458 111404.251442435
+accept -2 -1
+expect -222776.716709598 -111234.665587445
+
+direction inverse
+accept 200 100
+expect 0.001796204 0.000898315
+accept 200 -100
+expect 0.001796202 -0.000898316
+accept -200 100
+expect -0.001796204 0.000898315
+accept -200 -100
+expect -0.001796202 -0.000898316
+
+-------------------------------------------------------------------------------
+operation +proj=vitk1 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223370.224840471 111786.123319644
+accept 2 -1
+expect 223540.351507255 -111615.956157675
+accept -2 1
+expect -223370.224840471 111786.123319644
+accept -2 -1
+expect -223540.351507255 -111615.956157675
+
+direction inverse
+accept 200 100
+expect 0.001790068 0.000895246
+accept 200 -100
+expect 0.001790066 -0.000895247
+accept -200 100
+expect -0.001790068 0.000895246
+accept -200 -100
+expect -0.001790066 -0.000895247
+
+
+===============================================================================
+Wagner I (Kavraisky VI)
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wag1 +a=6400000 +lat_1=0.5 +lat_2=2 +n=0.5
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 195986.781561158 127310.075060660
+accept 2 -1
+expect 195986.781561158 -127310.075060660
+accept -2 1
+expect -195986.781561158 127310.075060660
+accept -2 -1
+expect -195986.781561158 -127310.075060660
+
+direction inverse
+accept 200 100
+expect 0.002040721 0.000785474
+accept 200 -100
+expect 0.002040721 -0.000785474
+accept -200 100
+expect -0.002040721 0.000785474
+accept -200 -100
+expect -0.002040721 -0.000785474
+
+
+===============================================================================
+Wagner II
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wag2 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 206589.888099962 120778.040357547
+accept 2 -1
+expect 206589.888099962 -120778.040357547
+accept -2 1
+expect -206589.888099962 120778.040357547
+accept -2 -1
+expect -206589.888099962 -120778.040357547
+
+direction inverse
+accept 200 100
+expect 0.001936024 0.000827958
+accept 200 -100
+expect 0.001936024 -0.000827958
+accept -200 100
+expect -0.001936024 0.000827958
+accept -200 -100
+expect -0.001936024 -0.000827958
+
+
+===============================================================================
+Wagner III
+ PCyl., Sph.
+ lat_ts=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wag3 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223387.021718166 111701.072127637
+accept 2 -1
+expect 223387.021718166 -111701.072127637
+accept -2 1
+expect -223387.021718166 111701.072127637
+accept -2 -1
+expect -223387.021718166 -111701.072127637
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Wagner IV
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wag4 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 192801.218662384 129416.216394803
+accept 2 -1
+expect 192801.218662384 -129416.216394803
+accept -2 1
+expect -192801.218662384 129416.216394803
+accept -2 -1
+expect -192801.218662384 -129416.216394803
+
+direction inverse
+accept 200 100
+expect 0.002074503 0.000772683
+accept 200 -100
+expect 0.002074503 -0.000772683
+accept -200 100
+expect -0.002074503 0.000772683
+accept -200 -100
+expect -0.002074503 -0.000772683
+
+
+===============================================================================
+Wagner V
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wag5 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 203227.051925325 138651.631442713
+accept 2 -1
+expect 203227.051925325 -138651.631442713
+accept -2 1
+expect -203227.051925325 138651.631442713
+accept -2 -1
+expect -203227.051925325 -138651.631442713
+
+direction inverse
+accept 200 100
+expect 0.001968072 0.000721216
+accept 200 -100
+expect 0.001968072 -0.000721216
+accept -200 100
+expect -0.001968072 0.000721216
+accept -200 -100
+expect -0.001968072 -0.000721216
+
+
+===============================================================================
+Wagner VI
+ PCyl, Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wag6 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 211652.562164410 105831.180787330
+accept 2 -1
+expect 211652.562164410 -105831.180787330
+accept -2 1
+expect -211652.562164410 105831.180787330
+accept -2 -1
+expect -211652.562164410 -105831.180787330
+
+direction inverse
+accept 200 100
+expect 0.001889802 0.000944901
+accept 200 -100
+expect 0.001889802 -0.000944901
+accept -200 100
+expect -0.001889802 0.000944901
+accept -200 -100
+expect -0.001889802 -0.000944901
+
+
+===============================================================================
+Wagner VII
+ Misc Sph, no inv.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wag7 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 198601.876957312 125637.045714171
+accept 2 -1
+expect 198601.876957312 -125637.045714171
+accept -2 1
+expect -198601.876957312 125637.045714171
+accept -2 -1
+expect -198601.876957312 -125637.045714171
+
+
+===============================================================================
+Werenskiold I
+ PCyl., Sph.
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=weren +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223378.515757634 146214.093042288
+accept 2 -1
+expect 223378.515757634 -146214.093042288
+accept -2 1
+expect -223378.515757634 146214.093042288
+accept -2 -1
+expect -223378.515757634 -146214.093042288
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000683918
+accept 200 -100
+expect 0.001790493 -0.000683918
+accept -200 100
+expect -0.001790493 0.000683918
+accept -200 -100
+expect -0.001790493 -0.000683918
+
+
+===============================================================================
+Winkel I
+ PCyl., Sph.
+ lat_ts=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wink1 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223385.131640953 111701.072127637
+accept 2 -1
+expect 223385.131640953 -111701.072127637
+accept -2 1
+expect -223385.131640953 111701.072127637
+accept -2 -1
+expect -223385.131640953 -111701.072127637
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+
+
+===============================================================================
+Winkel II
+ PCyl., Sph., no inv.
+ lat_1=
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wink2 +a=6400000 +lat_1=0.5 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223387.396433786 124752.032797445
+accept 2 -1
+expect 223387.396433786 -124752.032797445
+accept -2 1
+expect -223387.396433786 124752.032797445
+accept -2 -1
+expect -223387.396433786 -124752.032797445
+
+
+===============================================================================
+Winkel Tripel
+ Misc Sph
+ lat_1
+===============================================================================
+
+-------------------------------------------------------------------------------
+operation +proj=wintri +a=6400000 +lat_1=0 +lat_2=2
+-------------------------------------------------------------------------------
+tolerance 0.00010
+accept 2 1
+expect 223390.801533485 111703.907505745
+accept 2 -1
+expect 223390.801533485 -111703.907505745
+accept -2 1
+expect -223390.801533485 111703.907505745
+accept -2 -1
+expect -223390.801533485 -111703.907505745
+
+direction inverse
+accept 200 100
+expect 0.001790493 0.000895247
+accept 200 -100
+expect 0.001790493 -0.000895247
+accept -200 100
+expect -0.001790493 0.000895247
+accept -200 -100
+expect -0.001790493 -0.000895247
+Internal regression tests done. [Stubs: 0] Total: 151. Failure: 0. Success: 151
+
+END
diff --git a/travis/install.sh b/travis/install.sh
index 51a8ea2f..1247435b 100755
--- a/travis/install.sh
+++ b/travis/install.sh
@@ -81,7 +81,8 @@ if [ $TRAVIS_OS_NAME == "osx" ]; then
make -j3
make check
PROJ_LIB=$GRIDDIR ./src/proj -VC
-
+./src/gie ./test/gie/builtins.gie
+
# install & run the working GIGS test
# create locations that pyproj understands
ln -s src include