aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-12-21 19:39:10 +0100
committerGitHub <noreply@github.com>2021-12-21 19:39:10 +0100
commitc8346e9f0a17d08b68935afde791611c50b07e0e (patch)
tree2f7d41b6d83efc6329898aac5eec4cd073ddcfd5
parent247a79e6c7e425573900821c218c10ec2a272f97 (diff)
parentd5d60b7154d149de797737ecd96fde56bfecb7c2 (diff)
downloadPROJ-c8346e9f0a17d08b68935afde791611c50b07e0e.tar.gz
PROJ-c8346e9f0a17d08b68935afde791611c50b07e0e.zip
Merge pull request #2991 from OSGeo/backport-2978-to-8.2
[Backport 8.2] Fix and additional options for Peirce Quincuncial projections
-rw-r--r--docs/plot/plotdefs.json39
-rw-r--r--docs/source/operations/projections/images/grieger_triptychial.pngbin0 -> 603219 bytes
-rw-r--r--docs/source/operations/projections/images/peirce_q.pngbin375467 -> 0 bytes
-rw-r--r--docs/source/operations/projections/images/peirce_q_diamond.pngbin0 -> 394555 bytes
-rw-r--r--docs/source/operations/projections/images/peirce_q_horizontal.pngbin0 -> 568102 bytes
-rw-r--r--docs/source/operations/projections/images/peirce_q_square.pngbin0 -> 587992 bytes
-rw-r--r--docs/source/operations/projections/peirce_q.rst79
-rw-r--r--src/projections/adams.cpp150
-rw-r--r--test/gie/peirce_q.gie2168
9 files changed, 1256 insertions, 1180 deletions
diff --git a/docs/plot/plotdefs.json b/docs/plot/plotdefs.json
index 1e9c05ee..a6d70273 100644
--- a/docs/plot/plotdefs.json
+++ b/docs/plot/plotdefs.json
@@ -1051,13 +1051,46 @@
"type": "poly"
},
{
- "filename": "peirce_q.png",
+ "filename": "peirce_q_square.png",
"latmax": 90,
- "latmin": 0,
+ "latmin": -90,
+ "lonmax": 180,
+ "lonmin": -180,
+ "name": "peirce_q_square",
+ "projstring": "+proj=peirce_q +lon_0=25 +type=square",
+ "res": "low",
+ "type": "poly"
+ },
+ {
+ "filename": "peirce_q_diamond.png",
+ "latmax": 90,
+ "latmin": -90,
"lonmax": 180,
"lonmin": -180,
"name": "peirce_q",
- "projstring": "+proj=peirce_q",
+ "projstring": "+proj=peirce_q +lon_0=25 +type=diamond",
+ "res": "low",
+ "type": "poly"
+ },
+ {
+ "filename": "peirce_q_horizontal.png",
+ "latmax": 90,
+ "latmin": -90,
+ "lonmax": 180,
+ "lonmin": -180,
+ "name": "peirce_q_horizontal",
+ "projstring": "+proj=peirce_q +lon_0=25 +type=horizontal",
+ "res": "low",
+ "type": "line"
+ },
+ {
+ "filename": "grieger_triptychial.png",
+ "latmax": 90,
+ "latmin": -90,
+ "lonmax": 180,
+ "lonmin": -180,
+ "name": "grieger_triptychial",
+ "projstring": "+proj=pipeline +step +proj=ob_tran +o_proj=peirce_q +o_lat_p=-45 +o_lon_p=45 +type=horizontal +scrollx=-0.25 +step +proj=affine +s11=-1 +s12=0 +s21=0 +s22=-1",
"res": "low",
"type": "poly"
},
diff --git a/docs/source/operations/projections/images/grieger_triptychial.png b/docs/source/operations/projections/images/grieger_triptychial.png
new file mode 100644
index 00000000..2e03a67b
--- /dev/null
+++ b/docs/source/operations/projections/images/grieger_triptychial.png
Binary files differ
diff --git a/docs/source/operations/projections/images/peirce_q.png b/docs/source/operations/projections/images/peirce_q.png
deleted file mode 100644
index 646e4f80..00000000
--- a/docs/source/operations/projections/images/peirce_q.png
+++ /dev/null
Binary files differ
diff --git a/docs/source/operations/projections/images/peirce_q_diamond.png b/docs/source/operations/projections/images/peirce_q_diamond.png
new file mode 100644
index 00000000..b8a84967
--- /dev/null
+++ b/docs/source/operations/projections/images/peirce_q_diamond.png
Binary files differ
diff --git a/docs/source/operations/projections/images/peirce_q_horizontal.png b/docs/source/operations/projections/images/peirce_q_horizontal.png
new file mode 100644
index 00000000..615c2abf
--- /dev/null
+++ b/docs/source/operations/projections/images/peirce_q_horizontal.png
Binary files differ
diff --git a/docs/source/operations/projections/images/peirce_q_square.png b/docs/source/operations/projections/images/peirce_q_square.png
new file mode 100644
index 00000000..485b23a1
--- /dev/null
+++ b/docs/source/operations/projections/images/peirce_q_square.png
Binary files differ
diff --git a/docs/source/operations/projections/peirce_q.rst b/docs/source/operations/projections/peirce_q.rst
index 86445ea1..cf972932 100644
--- a/docs/source/operations/projections/peirce_q.rst
+++ b/docs/source/operations/projections/peirce_q.rst
@@ -4,6 +4,23 @@
Peirce Quincuncial
********************************************************************************
+The Peirce Quincuncial projection is a conformal map projection
+that transforms the circle of the northern hemisphere into a square,
+and the southern hemisphere split into four triangles arranged
+around the square to form a quincunx. The resulting projection
+is a regular diamond shape or can be rotated to form a square.
+The resulting tile can be infinitely tessellated. Though this implementation
+defaults to a central meridian of 0, it is more common to use a central
+meridian of around 25 to optimise the distortions. Peirce's original
+published map from 1879 used a central meridian of approx -70.
+The diamond and square versions can be produced using the
+``+type=diamond`` and ``+type=square`` options respectively.
+This implementation includes an alternative lateral projection
+which places hemispheres side-by-side (``+type=horizontal`` or
+``+type=vertical``). Combined with a general oblique transformation,
+this can be used to produced a Grieger Triptychial projection
+(see example below).
+
+---------------------+----------------------------------------------------------+
| **Classification** | Miscellaneous |
+---------------------+----------------------------------------------------------+
@@ -21,12 +38,33 @@ Peirce Quincuncial
+---------------------+----------------------------------------------------------+
-.. figure:: ./images/peirce_q.png
+.. figure:: ./images/peirce_q_square.png
+ :width: 500 px
+ :align: center
+ :alt: Peirce Quincuncial (Square)
+
+ proj-string: ``+proj=peirce_q +lon_0=25 +type=square``
+
+.. figure:: ./images/peirce_q_diamond.png
+ :width: 500 px
+ :align: center
+ :alt: Peirce Quincuncial (Diamond)
+
+ proj-string: ``+proj=peirce_q +lon_0=25 +type=diamond``
+
+.. figure:: ./images/peirce_q_horizontal.png
+ :width: 500 px
+ :align: center
+ :alt: Peirce Quincuncial (Horizontal)
+
+ proj-string: ``+proj=peirce_q +lon_0=25 +type=horizontal``
+
+.. figure:: ./images/grieger_triptychial.png
:width: 500 px
:align: center
- :alt: Peirce Quincuncial
+ :alt: Grieger Triptychial
- proj-string: ``+proj=peirce_q``
+ proj-string: ``+proj=pipeline +step +proj=ob_tran +o_proj=peirce_q +o_lat_p=-45 +o_lon_p=45 +o_type=horizontal +o_scrollx=-0.25 +step +proj=affine +s11=-1 +s12=0 +s21=0 +s22=-1``
Parameters
################################################################################
@@ -35,6 +73,41 @@ Parameters
.. include:: ../options/lon_0.rst
+.. option:: +type=square/diamond/horizontal/vertical/nhemisphere/shemisphere
+
+ .. versionadded:: 8.2.1
+
+ *Defaults to diamond.*
+
+ Indicates the type of transformation applied to the southern hemisphere:
+ ``square`` and ``diamond`` represent the traditional quincuncial form suggested
+ by Peirce with the southern hemisphere divided into 4 triangles and reflected
+ outward from the northern hemisphere. The ``square`` type is rotated by 45
+ degrees to produce the conventional square presentation. The origin lies at
+ the centre of the square or diamond.
+
+ By contrast, the ``horizontal`` and ``vertical`` forms reflect the southern
+ hemisphere laterally across the x or y axis respectively to produce a rectangular
+ form. The origin lies at the centre of the rectangle.
+
+ The other two types, ``nhemisphere`` and ``shemisphere``, discard latitudes of less
+ than 0 or more than 0, respectively, to allow single hemispheres to be selected.
+ The origin lies at the centre of the square or diamond.
+
+.. option:: +scrollx=<value>
+
+ For ``horizontal`` type allows a scalar circular scroll of resulting x coordinates
+ to shift sections of the projection to the other horizontal side of the map.
+
+ *Defaults to 0.0. Must be a scale between -1.0 and 1.0.*
+
+.. option:: +scrolly=<value>
+
+ For ``vertical`` type allows a scalar circular scroll of resulting y coordinates
+ to shift sections of the projection to the other vertical side of the map.
+
+ *Defaults to 0.0. Must be a scale between -1.0 and 1.0.*
+
.. include:: ../options/R.rst
.. include:: ../options/x_0.rst
diff --git a/src/projections/adams.cpp b/src/projections/adams.cpp
index 389ca054..4150fff2 100644
--- a/src/projections/adams.cpp
+++ b/src/projections/adams.cpp
@@ -6,9 +6,21 @@
* PROJ by Kristian Evers. Original code found in file src/proj_guyou.c, see
* https://github.com/rouault/libproj4/blob/master/libproject-1.01/src/proj_guyou.c
* for reference.
+* Fix for Peirce Quincuncial projection to diamond or square by Toby C. Wilkinson to
+* correctly flip out southern hemisphere into the four triangles of Peirce's
+* quincunx. The fix inspired by a similar rotate and translate solution applied
+* by Jonathan Feinberg for cartopy, see
+* https://github.com/jonathf/cartopy/blob/8172cac7fc45cafc86573d408ce85b74258a9c28/lib/cartopy/peircequincuncial.py
+* Added original code for horizontal and vertical arrangement of hemispheres by Toby
+* C. Wilkinson to allow creation of lateral quincuncial projections, such as Grieger's
+* Triptychial, see, e.g.:
+* - Grieger, B. (2020). “Optimized global map projections for specific applications:
+* the triptychial projection and the Spilhaus projection”. EGU2020-9885.
+* https://doi.org/10.5194/egusphere-egu2020-9885
*
* Copyright (c) 2005, 2006, 2009 Gerald I. Evenden
* Copyright (c) 2020 Kristian Evers
+* Copyright (c) 2021 Toby C Wilkinson
*
* Related material
* ----------------
@@ -48,8 +60,20 @@ enum projection_type {
ADAMS_WS2,
};
+enum peirce_type {
+ PEIRCE_Q_SQUARE,
+ PEIRCE_Q_DIAMOND,
+ PEIRCE_Q_NHEMISPHERE,
+ PEIRCE_Q_SHEMISPHERE,
+ PEIRCE_Q_HORIZONTAL,
+ PEIRCE_Q_VERTICAL,
+};
+
struct pj_opaque {
projection_type mode;
+ peirce_type pqtype;
+ double scrollx = 0.0;
+ double scrolly = 0.0;
};
} // anonymous namespace
@@ -118,9 +142,18 @@ static PJ_XY adams_forward(PJ_LP lp, PJ *P) {
}
break;
case PEIRCE_Q: {
- if( lp.phi < -TOL ) {
+ /* lam0 - note that the original Peirce model used a central meridian of around -70deg, but the default within proj is +lon0=0 */
+ if (Q->pqtype == PEIRCE_Q_NHEMISPHERE) {
+ if( lp.phi < -TOL ) {
+ proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
+ return proj_coord_error().xy;
+ }
+ }
+ if (Q->pqtype == PEIRCE_Q_SHEMISPHERE) {
+ if( lp.phi > -TOL ) {
proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN);
return proj_coord_error().xy;
+ }
}
const double sl = sin(lp.lam);
const double cl = cos(lp.lam);
@@ -173,7 +206,71 @@ static PJ_XY adams_forward(PJ_LP lp, PJ *P) {
xy.x = ell_int_5(m);
xy.y = ell_int_5(n);
- if (Q->mode == ADAMS_HEMI || Q->mode == ADAMS_WS2) { /* rotate by 45deg. */
+ if (Q->mode == PEIRCE_Q) {
+ /* Constant complete elliptic integral of the first kind with m=0.5, calculated using https://docs.scipy.org/doc/scipy/reference/generated/scipy.special.ellipk.html . Used as basic as scaled shift distance */
+ constexpr double shd = 1.8540746773013719 * 2;
+
+ /* For square and diamond Quincuncial projections, spin out southern hemisphere to triangular segments of quincunx (before rotation for square)*/
+ if( Q->pqtype == PEIRCE_Q_SQUARE || ( Q->pqtype == PEIRCE_Q_DIAMOND )) {
+ if (lp.phi < 0.) { /* fold out segments */
+ if (lp.lam < ( -0.75 * M_PI )) xy.y = shd - xy.y; /* top left segment, shift up and reflect y */
+ if ( (lp.lam < (-0.25 * M_PI)) && (lp.lam >= ( -0.75 * M_PI ))) xy.x = - shd - xy.x; /* left segment, shift left and reflect x */
+ if ( (lp.lam < (0.25 * M_PI)) && (lp.lam >= ( -0.25 * M_PI ))) xy.y = - shd - xy.y; /* bottom segment, shift down and reflect y */
+ if ( (lp.lam < (0.75 * M_PI)) && (lp.lam >= ( 0.25 * M_PI ))) xy.x = shd - xy.x; /* right segment, shift right and reflect x */
+ if (lp.lam >= (0.75 * M_PI)) xy.y = shd - xy.y; /* top right segment, shift up and reflect y */
+ }
+ }
+
+ /* For square types rotate xy by 45 deg */
+ if( Q->pqtype == PEIRCE_Q_SQUARE ) {
+ const double temp = xy.x;
+ xy.x = RSQRT2 * (xy.x - xy.y);
+ xy.y = RSQRT2 * (temp + xy.y);
+ }
+
+ /* For rectangle Quincuncial projs, spin out southern hemisphere to east (horizontal) or north (vertical) after rotation */
+ if( Q->pqtype == PEIRCE_Q_HORIZONTAL ) {
+ if (lp.phi < 0.) {
+ xy.x = shd - xy.x; /* reflect x to east */
+ }
+ xy.x = xy.x - (shd / 2); /* shift everything so origin is in middle of two hemispheres */
+ }
+ if( Q->pqtype == PEIRCE_Q_VERTICAL ) {
+ if (lp.phi < 0.) {
+ xy.y = shd - xy.y; /* reflect y to north */
+ }
+ xy.y = xy.y - (shd / 2); /* shift everything so origin is in middle of two hemispheres */
+ }
+
+ //if o_scrollx param present, scroll x
+ if (!(Q->scrollx == 0.0) && (Q->pqtype == PEIRCE_Q_HORIZONTAL) ) {
+ double xscale = 2.0;
+ double xthresh = shd / 2;
+ xy.x = xy.x + (Q->scrollx * (xthresh * 2 * xscale)); /*shift relative to proj width*/
+ if(xy.x >= (xthresh * xscale)) {
+ xy.x = xy.x - (shd * xscale);
+ }
+ else if (xy.x < -(xthresh * xscale)) {
+ xy.x = xy.x + (shd * xscale);
+ }
+ }
+
+ //if o_scrolly param present, scroll y
+ if (!(Q->scrolly == 0.0) && (Q->pqtype == PEIRCE_Q_VERTICAL)) {
+ double yscale = 2.0;
+ double ythresh = shd / 2;
+ xy.y = xy.y + (Q->scrolly * (ythresh * 2 * yscale)); /*shift relative to proj height*/
+ if(xy.y >= (ythresh * yscale)) {
+ xy.y = xy.y - (shd * yscale);
+ }
+ else if (xy.y < -(ythresh * yscale)) {
+ xy.y = xy.y + (shd * yscale);
+ }
+ }
+
+ }
+
+ if (Q->mode == ADAMS_HEMI || Q->mode == ADAMS_WS2 ) { /* rotate by 45deg. */
const double temp = xy.x;
xy.x = RSQRT2 * (xy.x - xy.y);
xy.y = RSQRT2 * (temp + xy.y);
@@ -218,6 +315,55 @@ static PJ *setup(PJ *P, projection_type mode) {
if( mode == ADAMS_WS2 )
P->inv = adams_inverse;
+ if( mode == PEIRCE_Q) {
+ // Quincuncial projections type options: square, diamond, hemisphere, horizontal (rectangle) or vertical (rectangle)
+ const char* pqtype = pj_param (P->ctx, P->params, "stype").s;
+
+ if (!pqtype) pqtype = "diamond"; /* default if type value not supplied */
+
+ if (strcmp(pqtype, "square") == 0) {
+ Q->pqtype = PEIRCE_Q_SQUARE;
+ }
+ else if (strcmp(pqtype, "diamond") == 0) {
+ Q->pqtype = PEIRCE_Q_DIAMOND;
+ }
+ else if (strcmp(pqtype, "nhemisphere") == 0) {
+ Q->pqtype = PEIRCE_Q_NHEMISPHERE;
+ }
+ else if (strcmp(pqtype, "shemisphere") == 0) {
+ Q->pqtype = PEIRCE_Q_SHEMISPHERE;
+ }
+ else if (strcmp(pqtype, "horizontal") == 0) {
+ Q->pqtype = PEIRCE_Q_HORIZONTAL;
+ if (pj_param(P->ctx, P->params, "tscrollx").i) {
+ double scrollx;
+ scrollx = pj_param(P->ctx, P->params, "dscrollx").f;
+ if (scrollx > 1 || scrollx < -1) {
+ proj_log_error(P, _("Invalid value for scrollx: |scrollx| should between -1 and 1"));
+ return pj_default_destructor (P, PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE);
+ }
+ Q->scrollx = scrollx;
+ }
+ }
+ else if (strcmp(pqtype, "vertical") == 0) {
+ Q->pqtype = PEIRCE_Q_VERTICAL;
+ if (pj_param(P->ctx, P->params, "tscrolly").i) {
+ double scrolly;
+ scrolly = pj_param(P->ctx, P->params, "dscrolly").f;
+ if (scrolly > 1 || scrolly < -1) {
+ proj_log_error(P, _("Invalid value for scrolly: |scrolly| should between -1 and 1"));
+ return pj_default_destructor (P, PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE);
+ }
+ Q->scrolly = scrolly;
+ }
+ }
+ else {
+ proj_log_error (P, _("peirce_q: invalid value for 'type' parameter"));
+ return pj_default_destructor (P, PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE);
+ }
+
+ }
+
return P;
}
diff --git a/test/gie/peirce_q.gie b/test/gie/peirce_q.gie
index 6e3e5aa8..713d2581 100644
--- a/test/gie/peirce_q.gie
+++ b/test/gie/peirce_q.gie
@@ -1,1184 +1,1008 @@
<gie-strict>
------------------------------------------------------------
-# This gie file was automatically generated using libproject
-# where the peirce_q code was adapted from
+# This gie file was originally automatically generated using libproject
+# from where the peirce_q code was adapted
------------------------------------------------------------
------------------------------------------------------------
-operation +proj=peirce_q +R=6370997
-tolerance 1 mm
+# These test values were selected from 60 points
+# based on the from the original libproj test. Note that
+# Peirce_q distances include considerable distortion away
+# from axes, a feature of the projection to allow
+# tesselation but means that there is no uniform scale
+# across the coordinate space, so tolerance can be high.
------------------------------------------------------------
-accept -179.6126302052 -90.2440064745
-expect failure errno coord_transfm_invalid_coord
-accept -169.8486692749 -89.5742075028
-expect failure errno coord_transfm_outside_projection_domain
-
-accept 0.8029310185 0.0770204080
-expect 126271.599 -11800190.331
-
-accept 10.4039225583 0.4678017615
-expect 1654342.902 -11736218.953
-
-accept 20.1885538890 0.6609073519
-expect 3318491.908 -11693237.489
-
-accept 30.1473858039 1.3709510608
-expect 5289002.508 -11506346.346
-
-accept 40.7606589378 1.9578421427
-expect 8258689.000 -11029960.786
-
-accept 50.1092944931 2.8010900055
-expect 10801034.365 -7875011.311
-
-accept 60.5676526817 3.7028946306
-expect 11007593.043 -5094809.219
-
-accept 70.5968539480 4.3245439293
-expect 11044064.999 -3155211.535
-
-accept 80.4881718070 5.0780710013
-expect 10992465.900 -1497326.929
-
-accept 90.6645971194 5.3926299181
-expect 10965428.366 103595.479
-
-accept 100.5335887669 5.8542606324
-expect 10861672.750 1657001.733
-
-accept 110.9291972459 6.2990280991
-expect 10672196.470 3397952.514
-
-accept 120.0790491477 7.0823311491
-expect 10270637.377 5120872.514
-
-accept 130.3329625769 7.3412132458
-expect 9412638.590 7463993.084
-
-accept 140.2549860329 7.4626803389
-expect 7301822.893 9458937.708
-
-accept 150.0537093567 7.9179476654
-expect 5057117.946 10104054.363
-
-accept 160.1405976425 8.6930315989
-expect 3165304.159 10271134.317
-
-accept 170.2079322950 9.0062758655
-expect 1515310.400 10361296.943
-
-accept 180.5993739938 9.5803022433
-expect -91680.822 10312510.221
-
-accept -179.5577512797 0.2591595800
-expect -69545.033 11771548.346
-
-accept -169.0227750031 0.3652463080
-expect -1747811.246 11752665.519
-
-accept -159.4376727529 0.7656104980
-expect -3385798.037 11673600.792
-
-accept -149.2741657967 1.5491463064
-expect -5417070.815 11460389.467
-
-accept -139.2711616992 1.8500491429
-expect -8255261.505 11073725.178
-
-accept -129.3330823067 2.6349927389
-expect -10900448.656 7701699.509
-
-accept -119.5082504931 3.4994609966
-expect -11049671.017 5115598.247
-
-accept -109.2931439911 3.6891057402
-expect -11157453.002 3142053.555
-
-accept -99.8407407848 4.1824893773
-expect -11135325.617 1554226.249
-
-accept -89.5669975127 4.9365585696
-expect -11036926.334 -67589.940
-
-accept -79.5218750034 4.9495009225
-expect -11008316.880 -1653309.320
-
-accept -69.0168831389 5.5894909216
-expect -10798379.334 -3419143.193
-
-accept -59.5599704846 5.8102085739
-expect -10524988.311 -5247375.061
-
-accept -49.7454924868 6.6679091876
-expect -9596577.593 -7534942.461
-
-accept -39.1852204464 7.0588604257
-expect -7211414.638 -9628508.756
-
-accept -29.7368984206 7.6291996199
-expect -5027469.369 -10172303.878
-
-accept -19.6981623325 8.4709189271
-expect -3142233.466 -10312940.882
-
-accept -9.2523426445 8.6051784068
-expect -1433665.109 -10429544.751
-
-accept 0.6764042311 8.9497659877
-expect 103827.129 -10410372.228
-
-accept 10.7411038686 9.0297941157
-expect 1664839.604 -10348985.920
-
-accept 20.1574157681 9.9126164170
-expect 3188740.887 -10053595.505
-
-accept 30.0309404035 10.0651957141
-expect 4967385.825 -9669471.351
-
-accept 40.3981563078 10.3501936528
-expect 7068306.094 -8709880.163
-
-accept 50.6817570577 10.8979194189
-expect 8731644.600 -6774700.815
-
-accept 60.7819505599 10.9392498771
-expect 9542720.153 -4766323.985
-
-accept 70.7869347176 11.6964370985
-expect 9772713.206 -2986601.820
-
-accept 80.8676335305 12.3308253723
-expect 9841995.189 -1380803.182
-
-accept 90.1450864953 13.2267538054
-expect 9750200.723 21650.628
-
-accept 100.0952013246 13.4725079963
-expect 9652290.513 1514624.402
-
-accept 110.4538378192 14.1945360587
-expect 9319976.065 3117143.786
-
-accept 120.6865382639 14.5625552153
-expect 8784974.891 4814101.092
-
-accept 130.9357836469 15.4954722296
-expect 7670308.594 6488531.467
-
-accept 140.6164343058 16.4954338025
-expect 6115462.077 7683228.346
-
-accept 150.3163052109 17.2964708014
-expect 4464659.921 8373811.114
-
-accept 160.5644471707 18.0174909521
-expect 2830599.888 8731770.401
-
-accept 170.1193723592 18.2944971001
-expect 1414584.294 8910361.466
-
-accept 180.0665468289 18.7754264157
-expect -9431.378 8909235.014
-
-accept -179.2400553700 10.6370048371
-expect -115504.609 10148725.712
-
-accept -169.7015902178 11.3909498307
-expect -1570759.602 9977579.851
-
-accept -159.7035003507 11.7525027269
-expect -3164508.125 9735067.908
-
-accept -149.8107451818 12.6584112496
-expect -4847832.664 9164279.540
-
-accept -139.3507442923 13.2418770616
-expect -6731168.845 8104988.746
-
-accept -129.2846798895 14.0852637093
-expect -8115614.318 6381977.261
-
-accept -119.7227618352 14.2270947133
-expect -8905390.171 4668150.014
-
-accept -109.0777673038 15.0423112384
-expect -9221792.069 2871571.847
-
-accept -99.5163365964 15.7772026395
-expect -9301350.620 1397516.441
-
-accept -89.3503538671 16.5516951824
-expect -9243569.563 -94181.125
-
-accept -79.8142429694 17.2425868932
-expect -9066653.641 -1475220.157
-
-accept -69.0665222592 18.1714295426
-expect -8655499.864 -3051697.072
-
-accept -59.0064692740 18.3748306195
-expect -8107550.213 -4598502.136
-
-accept -49.1979879081 18.9971582481
-expect -7124905.684 -6037259.461
-
-accept -39.0745211306 19.5805859744
-expect -5721211.186 -7221425.772
-
-accept -29.7307700275 20.0409012995
-expect -4287878.187 -7920272.663
-
-accept -19.4645612052 20.5263059305
-expect -2745430.102 -8337657.721
-
-accept -9.9280602370 20.6969136713
-expect -1382528.623 -8546466.605
-
-accept 0.9738128835 21.3362427076
-expect 134047.879 -8527599.883
-
-accept 10.9751112570 22.1428651256
-expect 1502024.802 -8312633.579
-
-accept 20.9770606594 22.6207315066
-expect 2878258.867 -7961118.457
-
-accept 30.0181234252 22.8191803924
-expect 4137578.520 -7468872.027
-
-accept 40.1623307346 23.4343700311
-expect 5449679.289 -6550855.202
-
-accept 50.6903720127 23.7323985408
-expect 6592452.063 -5310034.806
-
-accept 60.8882210835 24.6809154242
-expect 7247127.602 -3885824.644
-
-accept 70.6217499143 24.7399205434
-expect 7703350.619 -2572585.693
-
-accept 80.1466494296 25.5574002683
-expect 7830124.449 -1286002.231
-
-accept 90.8041528679 26.2538798685
-expect 7810710.864 103717.876
-
-accept 100.9258403016 26.3115620306
-expect 7701744.206 1410810.991
-
-accept 110.6938365336 26.8636801269
-expect 7343510.853 2657916.573
-
-accept 120.2460911467 27.6842940318
-expect 6745332.030 3825132.508
-
-accept 130.0223801851 28.1211698891
-expect 5947300.609 4945558.006
-
-accept 140.5157157401 28.3236296672
-expect 4865533.278 5968952.198
-
-accept 150.7787840919 29.1891500860
-expect 3596413.025 6598522.874
-
-accept 160.9572505276 29.4317787696
-expect 2342517.218 7037712.044
-
-accept 170.1050144369 30.0759718416
-expect 1204135.469 7183554.454
-
-accept 180.4341349002 30.2507520934
-expect -52666.979 7243010.150
-
-accept -179.2164407005 20.2364122673
-expect -109262.930 8690861.635
-
-accept -169.3929922603 20.7766977704
-expect -1476453.320 8523407.491
-
-accept -159.9577803834 20.8318227446
-expect -2817460.317 8270094.129
-
-accept -149.2134319065 21.8166726652
-expect -4317906.418 7571748.126
-
-accept -139.2333298599 22.1519052827
-expect -5668271.133 6667971.586
-
-accept -129.4434415015 22.4927434202
-expect -6753666.072 5457869.325
-
-accept -119.3208025384 22.7362632693
-expect -7525686.000 4045478.411
-
-accept -109.4860788671 23.3718602628
-expect -7903342.747 2640717.241
-
-accept -99.8216948913 23.5992467484
-expect -8116891.843 1317511.955
-
-accept -89.8619593059 24.2963143647
-expect -8094338.981 -18296.505
-
-accept -79.7398896740 25.1613353713
-expect -7880761.153 -1346962.896
-
-accept -69.1226449610 25.4941314107
-expect -7536009.009 -2741494.291
-
-accept -59.6667490752 25.5114201387
-expect -7049226.182 -3990150.886
-
-accept -49.8155768605 25.9052273257
-expect -6216998.209 -5190708.061
-
-accept -39.9338589810 26.7533535272
-expect -5074077.312 -6129805.940
-
-accept -29.3707059847 27.1227181201
-expect -3754506.006 -6878273.643
-
-accept -19.7965608231 27.5566434582
-expect -2513414.732 -7277524.287
-
-accept -9.1337497784 28.3802002164
-expect -1142181.584 -7436067.683
-
-accept 0.4266125912 29.1903154482
-expect 52639.797 -7392420.091
-
-accept 10.6518749594 29.9266493204
-expect 1299475.809 -7191036.438
-
-accept 20.8234426132 30.8944028559
-expect 2495627.426 -6767707.811
-
-accept 30.2386622340 31.6612396237
-expect 3545650.403 -6205050.228
-
-accept 40.2185271171 31.9934448616
-expect 4585283.766 -5458969.862
-
-accept 50.3754306995 32.9690383763
-expect 5391831.205 -4433626.042
-
-accept 60.5969838604 33.1506719100
-expect 6057636.800 -3351546.520
-
-accept 70.7010584744 33.3808841132
-expect 6482471.065 -2211297.612
-
-accept 80.6563771031 33.4591522299
-expect 6722418.070 -1072701.243
-
-accept 90.9385497238 33.7836031774
-expect 6751586.253 107207.933
-
-accept 100.2589551079 33.8952203703
-expect 6647180.765 1168329.029
-
-accept 110.6618571451 33.9250102053
-expect 6360025.253 2341140.991
-
-accept 120.1034867747 34.2795045114
-expect 5872511.155 3350516.784
-
-accept 130.9974936159 34.7148416244
-expect 5083818.214 4399379.777
-
-accept 140.3808086417 35.2982413100
-expect 4217488.106 5123331.565
-
-accept 150.1864429686 35.9121152797
-expect 3210016.283 5681585.841
-
-accept 160.2783533851 36.0061960010
-expect 2147425.311 6116063.058
-
-accept 170.3464094109 36.6597991365
-expect 1043903.568 6282557.707
-
-accept 180.6366259482 36.7021344698
-expect -68897.179 6354475.491
-
-accept -179.5125231908 30.9027583128
-expect -58509.713 7151582.363
-
-accept -169.6858002252 31.0300863637
-expect -1235278.074 7042426.851
-
-accept -159.9447845353 31.4526202308
-expect -2380175.277 6719379.042
-
-accept -149.0439552623 31.7366648793
-expect -3620770.291 6152099.632
-
-accept -139.5056340183 31.8012708387
-expect -4631485.190 5458946.018
-
-accept -129.1158727941 32.0798256007
-expect -5537372.543 4465988.909
-
-accept -119.6490604754 32.1840354536
-expect -6170391.770 3443730.581
-
-accept -109.4423793788 32.2222541247
-expect -6635535.801 2275928.750
-
-accept -99.0285922562 33.1529866712
-expect -6769509.574 1042275.666
-
-accept -89.5622487446 33.4278348335
-expect -6801118.316 -50320.306
-
-accept -79.4265839032 34.3479907621
-expect -6579677.966 -1194109.216
-
-accept -69.4889301726 35.0877626174
-expect -6209979.238 -2272643.823
-
-accept -59.1224902397 36.0136675285
-expect -5610071.698 -3310797.555
-
-accept -49.9367534943 36.4567184703
-expect -4960199.281 -4152070.178
-
-accept -39.4111372677 37.0505802027
-expect -4040232.233 -4941261.801
-
-accept -29.3713144594 37.9274621353
-expect -3032770.817 -5454124.499
-
-accept -19.5668135476 38.3685655493
-expect -2031003.306 -5811910.007
-
-accept -9.7491233344 38.9378701453
-expect -1007442.076 -5977360.650
-
-accept 0.8622031889 39.4415703876
-expect 88379.557 -5987528.789
-
-accept 10.0117830535 39.4704924350
-expect 1023185.907 -5902808.656
-
-accept 20.8516713156 40.3217300172
-expect 2073159.738 -5518046.723
-
-accept 30.1881462885 41.1649305124
-expect 2896422.920 -5021679.548
-
-accept 40.6158017067 41.2668869361
-expect 3766423.497 -4403538.963
-
-accept 50.6663962436 41.8145718714
-expect 4429299.118 -3617969.405
-
-accept 60.8020204949 41.8507425013
-expect 4988392.263 -2764143.928
-
-accept 70.5520292152 42.4076257440
-expect 5300632.954 -1849767.020
-
-accept 80.2059801656 42.7150670786
-expect 5483358.618 -933723.700
-
-accept 90.9659016052 43.4387731582
-expect 5463216.808 90877.306
-
-accept 100.1869388806 44.4281083880
-expect 5257677.840 933928.941
-
-accept 110.4394817223 45.3719572658
-expect 4903233.647 1811728.300
-
-accept 120.9482259904 46.3095671501
-expect 4392824.940 2621137.908
-
-accept 130.8162258489 46.8389002757
-expect 3825642.666 3299310.225
-
-accept 140.6210873096 47.4683887790
-expect 3149600.783 3844247.382
-
-accept 150.4305142921 48.1544601382
-expect 2398348.504 4245827.810
-
-accept 160.8877492450 48.6878394728
-expect 1563162.264 4539717.762
-
-accept 170.7272348106 48.7392462477
-expect 766085.879 4727784.808
-
-accept 180.9065664436 49.6442456075
-expect -73421.121 4673519.924
-
-accept -179.0794197048 40.3989805398
-expect -92512.389 5860742.149
-
-accept -169.4347697573 40.6507113252
-expect -1053024.009 5738799.953
-
-accept -159.4336382957 41.4726138590
-expect -1994505.462 5382315.906
-
-accept -149.6845924429 42.1755846206
-expect -2841003.576 4896393.947
-
-accept -139.0824916301 42.6819151060
-expect -3664971.849 4237445.141
-
-accept -129.0754320784 43.3229738638
-expect -4286625.073 3470462.740
-
-accept -119.2393735583 43.6370260969
-expect -4776350.502 2654742.877
-
-accept -109.3217038272 44.4666565583
-expect -5048023.210 1752892.319
-
-accept -99.3255098753 44.7679817789
-expect -5227047.233 848726.253
-
-accept -89.7764730312 45.5018898713
-expect -5198172.967 -20057.012
-
-accept -79.5353334709 45.7685962964
-expect -5083288.033 -929467.139
-
-accept -69.0718810032 45.9838493795
-expect -4813750.233 -1826309.761
-
-accept -59.3556493684 46.0125094250
-expect -4440005.038 -2616877.222
-
-accept -49.2142158210 46.6634604652
-expect -3844757.644 -3312112.227
-
-accept -39.3062403768 47.4174427736
-expect -3148819.924 -3853377.045
-
-accept -29.4049522923 47.6072813039
-expect -2419917.121 -4314138.067
-
-accept -19.1482774338 47.9956412106
-expect -1594003.361 -4622071.070
-
-accept -9.1315568223 48.1278660203
-expect -766275.709 -4805818.808
-
-accept 0.4153859078 48.1462235111
-expect 34953.283 -4862098.365
-
-accept 10.8599902732 48.7053238375
-expect 896852.544 -4709769.158
-
-accept 20.9936732297 49.5975055054
-expect 1671396.890 -4379391.192
-
-accept 30.4256590453 50.1878385263
-expect 2332889.636 -3985666.678
-
-accept 40.4931194144 50.8780272780
-expect 2942688.712 -3449767.113
-
-accept 50.7741734827 51.3599500746
-expect 3467071.513 -2826820.123
-
-accept 60.2781061695 51.6118224546
-expect 3857758.290 -2195773.442
-
-accept 70.7654997102 52.0878142710
-expect 4132816.981 -1435722.452
-
-accept 80.1701221530 52.5801462136
-expect 4248321.221 -732473.837
-
-accept 90.5420449691 53.1991574600
-expect 4233452.675 39857.221
-
-accept 100.2760613062 53.7141154417
-expect 4105319.956 741098.122
-
-accept 110.0218216002 54.0611681921
-expect 3883623.020 1410411.877
-
-accept 120.4032139940 54.3299171566
-expect 3539729.318 2072655.595
-
-accept 130.8767418931 55.0564101319
-expect 3036123.582 2626326.412
-
-accept 140.5226584521 55.6173050886
-expect 2507420.872 3046348.705
-
-accept 150.2494873799 55.7484095137
-expect 1946440.957 3411755.995
-
-accept 160.1667453237 56.2439007664
-expect 1308431.839 3637178.225
-
-accept 170.5406153511 56.2807888374
-expect 632249.754 3806788.257
-
-accept 180.9484142577 56.5920285675
-expect -63036.610 3820143.972
-
-accept -179.8252105152 50.3122605835
-expect -13910.692 4590658.048
-
-accept -169.6875500931 50.9229084511
-expect -803908.829 4444321.084
-
-accept -159.5136874408 51.7696653393
-expect -1539333.953 4138130.676
-
-accept -149.1254486900 51.9570206249
-expect -2251472.296 3775880.229
-
-accept -139.1605927481 52.9408405178
-expect -2795016.998 3235944.059
-
-accept -129.7287317001 53.4367920050
-expect -3242194.395 2692101.735
-
-accept -119.9649423621 53.9443264874
-expect -3596671.668 2068926.558
-
-accept -109.5630693489 53.9819580222
-expect -3903827.825 1382457.577
-
-accept -99.8817875863 54.7649176797
-expect -3983584.837 691301.160
-
-accept -89.1784274626 54.9368914952
-expect -4020855.915 -57431.650
-
-accept -79.2765579469 55.0727576338
-expect -3936307.809 -742737.145
-
-accept -69.6805389128 55.6355837510
-expect -3695500.920 -1364642.398
-
-accept -59.5021094291 56.4588884339
-expect -3311443.580 -1947296.263
-
-accept -49.2808341846 57.3212148180
-expect -2833756.712 -2437986.588
-
-accept -39.1586656817 57.5436725826
-expect -2342646.461 -2878283.894
-
-accept -29.4523014888 58.0001641759
-expect -1795171.307 -3183582.226
-
-accept -19.9277171335 58.4194386263
-expect -1225852.149 -3387913.589
-
-accept -9.5806844723 59.2077113032
-expect -582500.754 -3458515.175
-
-accept 0.3977305045 60.1379071414
-expect 23526.790 -3395981.697
-
-accept 10.2918128158 60.8071435604
-expect 591643.026 -3263854.009
-
-accept 20.4193595919 61.6254420080
-expect 1122557.290 -3019076.246
-
-accept 30.6366859975 62.1797037299
-expect 1607593.420 -2716291.317
-
-accept 40.9088626798 63.0703152560
-expect 1998265.629 -2306572.562
-
-accept 50.4300990955 63.6142160066
-expect 2303336.285 -1903014.203
-
-accept 60.1622816747 64.5088625068
-expect 2500763.218 -1433628.689
-
-accept 70.9921360313 64.7758684697
-expect 2695599.132 -927850.065
-
-accept 80.8073249468 65.2990657211
-expect 2753685.107 -445250.152
-
-accept 90.2712457666 65.7543439665
-expect 2736344.656 12943.301
-
-accept 100.7483383521 66.3935053815
-expect 2615679.673 496171.728
-
-accept 110.6705840721 67.2436586937
-expect 2399213.345 904734.128
-
-accept 120.6655900290 67.6765888459
-expect 2162894.489 1282103.313
-
-accept 130.1492662162 67.9026862604
-expect 1902102.582 1604359.059
-
-accept 140.3856862091 68.7446662625
-expect 1524612.577 1842173.731
-
-accept 150.1458413829 69.0204664285
-expect 1174271.230 2046391.753
-
-accept 160.7850402383 69.0482697319
-expect 775129.314 2224812.839
-
-accept 170.8246011181 69.6254738131
-expect 364941.747 2260258.690
-
-accept 180.4518823138 70.5965270071
-expect -17173.378 2178172.598
-
-accept -179.9876986310 60.6091111079
-expect -715.774 3340139.049
-
-accept -169.8532628530 61.4875679720
-expect -569311.790 3186036.303
-
-accept -159.1232601685 61.9472442128
-expect -1133148.246 2974496.072
-
-accept -149.3842684566 62.4000932078
-expect -1593380.590 2694462.326
-
-accept -139.8796959182 63.2514603859
-expect -1952550.194 2317564.131
-
-accept -129.5642582380 64.2450799838
-expect -2246445.234 1855678.711
-
-accept -119.2337815198 65.0009618130
-expect -2465513.912 1379139.865
-
-accept -109.7691071522 65.4874639890
-expect -2604974.017 935619.128
-
-accept -99.3676723769 65.7146786293
-expect -2704608.647 445815.650
-
-accept -89.9457798009 66.6243783750
-expect -2635429.616 -2492.139
-
-accept -79.6828211596 66.6930768940
-expect -2585162.560 -470286.026
-
-accept -69.3873523407 67.2180865776
-expect -2402895.218 -903346.503
-
-accept -59.6906523151 67.7550940411
-expect -2162985.293 -1264049.139
-
-accept -49.3101326045 68.5959116878
-expect -1826219.494 -1570114.574
-
-accept -39.0040378634 69.1320184757
-expect -1476840.856 -1823658.182
-
-accept -29.4940260301 69.3047039200
-expect -1145303.021 -2025272.774
-
-accept -19.1515872064 69.5377941701
-expect -754245.420 -2172528.145
-
-accept -9.0637893779 69.8408771013
-expect -356654.693 -2236564.590
-
-accept 0.5515373299 70.0447905489
-expect 21567.521 -2241303.982
-
-accept 10.1700921734 70.6028677464
-expect 384374.744 -2143367.053
-
-accept 20.7317527805 71.2517449744
-expect 744477.291 -1967342.463
-
-accept 30.9044361009 71.9788550294
-expect 1037711.852 -1733792.649
-
-accept 40.2486033983 72.2783477062
-expect 1283478.115 -1516239.657
-
-accept 50.4061071436 73.2593092255
-expect 1444796.717 -1194938.407
-
-accept 60.5223542382 74.0594072923
-expect 1553145.054 -877857.888
-
-accept 70.5247783397 74.2344245414
-expect 1663267.456 -588117.346
-
-accept 80.8931788778 74.8817087175
-expect 1669547.857 -267590.611
-
-accept 90.1609932467 75.2058107438
-expect 1654185.439 4647.518
-
-accept 100.3674890573 75.3663491908
-expect 1609351.610 294397.550
-
-accept 110.0039646264 75.5835412853
-expect 1514328.280 551245.928
-
-accept 120.0632009934 76.1256853382
-expect 1341803.754 776631.615
-
-accept 130.2142100689 76.3411285668
-expect 1165360.969 985288.439
-
-accept 140.5198242090 76.9957223877
-expect 923363.299 1120933.679
-
-accept 150.0340680138 77.5942825866
-expect 691710.450 1199757.983
-
-accept 160.9706746004 78.3364607392
-expect 424317.587 1230303.917
-
-accept 170.0816362419 79.0913184910
-expect 209556.904 1198476.280
-
-accept 180.3978079476 79.2045699717
-expect -8358.768 1203921.718
-
-accept -179.2332724818 70.8217746040
-expect -28794.102 2152288.771
-
-accept -169.5176471284 71.1203473182
-expect -385300.560 2083069.218
-
-accept -159.9563893280 71.5181717183
-expect -710378.634 1947553.989
-
-accept -149.0505215958 71.5881068470
-expect -1061988.104 1771210.577
-
-accept -139.1100287608 72.5807306253
-expect -1277834.987 1475741.385
-
-accept -129.9709382253 73.2388486277
-expect -1438683.111 1205915.797
-
-accept -119.6844932150 73.8160145972
-expect -1573951.284 897126.809
-
-accept -109.8345424025 73.8347251512
-expect -1702179.619 613905.025
-
-accept -99.2835557046 74.0204664516
-expect -1764976.830 288463.510
-
-accept -89.2216597269 74.5188445720
-expect -1731756.190 -23523.456
-
-accept -79.7589672970 75.0775591038
-expect -1642126.088 -296646.706
-
-accept -69.0878388988 75.7810900644
-expect -1484559.295 -567218.284
-
-accept -59.3247479059 76.5851745566
-expect -1288854.484 -764485.021
-
-accept -49.7332410095 76.8525626993
-expect -1120459.070 -949090.375
-
-accept -39.7902268868 77.0657936158
-expect -924365.019 -1109855.476
-
-accept -29.5786392941 77.4214739702
-expect -693182.417 -1221318.529
-
-accept -19.7666667754 78.0413206451
-expect -451330.570 -1255957.457
-
-accept -9.6576498712 78.3724141539
-expect -217639.667 -1278987.496
-
-accept 0.2731990430 79.0490755914
-expect 5823.674 -1221382.922
-
-accept 10.9115419099 79.7152157770
-expect 217055.691 -1125960.003
-
-accept 20.6686695701 80.2190912972
-expect 384807.532 -1020066.488
-
-accept 30.7420972758 80.5901686038
-expect 536058.050 -901323.330
-
-accept 40.1587481091 80.8732058507
-expect 655875.165 -777259.989
-
-accept 50.1425480782 81.1493341375
-expect 756982.361 -631979.343
-
-accept 60.0418495746 81.7235540513
-expect 798729.196 -460366.461
-
-accept 70.9517084975 81.7646094071
-expect 867084.737 -299376.406
-
-accept 80.2673626123 82.0774651726
-expect 869650.853 -149160.761
-
-accept 90.1847984189 82.9573597164
-expect 784087.778 2528.945
-
-accept 100.2900049661 82.9758741105
-expect 769447.863 139692.984
-
-accept 110.4406311958 83.6703375043
-expect 660181.036 246051.497
-
-accept 120.0306342887 84.1458591355
-expect 564056.734 326060.104
-
-accept 130.8429657164 84.7838043163
-expect 439087.136 379584.726
-
-accept 140.6238695736 85.0584267328
-expect 348809.612 425008.756
-
-accept 150.8488588999 85.8764976286
-expect 223444.702 400609.153
-
-accept 160.0892658295 86.6749495622
-expect 125948.505 347725.418
-
-accept 170.3972098164 87.6222109978
-expect 44112.341 260730.618
-
-accept 180.8251491673 88.1624187726
-expect -2942.818 204325.951
-
-accept -179.6781897656 80.2037554010
-expect -6132.922 1091930.449
-
-accept -169.7457470308 80.8291135169
-expect -181918.689 1005612.756
-
-accept -159.0356668575 81.1080880332
-expect -354464.518 925142.572
-
-accept -149.1801567104 81.9039079110
-expect -461999.277 774404.752
-
-accept -139.9441274111 81.9375301219
-expect -577886.620 687337.291
-
-accept -129.0389509286 82.0450858330
-expect -688150.306 558027.079
-
-accept -119.8816416620 82.4716641364
-expect -726871.074 417657.990
-
-accept -109.1075270009 83.1137986376
-expect -724396.500 250950.336
-
-accept -99.9257499180 83.4566939283
-expect -717471.083 125550.545
-
-accept -89.0573293217 84.4434879006
-expect -618256.359 -10172.886
-
-accept -79.5929376881 85.3043180275
-expect -513833.791 -94371.521
-
-accept -69.5559477498 86.1396663773
-expect -402364.746 -149990.300
-
-accept -59.8534622821 86.5475878933
-expect -332067.478 -192853.274
-
-accept -49.2576732486 87.1201530883
-expect -242669.763 -209041.019
-
-accept -39.2971859805 87.7263086098
-expect -160144.563 -195678.032
-
-accept -29.0813763037 87.9348644439
-expect -111625.270 -200704.524
-
-accept -19.4396463843 88.0342289982
-expect -72754.782 -206143.007
-
-accept -9.7516556210 88.1219978123
-expect -35373.393 -205825.391
-
-accept 0.1013548430 88.3489971789
-expect 324.776 -183595.480
-
-accept 10.5287559337 88.4377558420
-expect 31744.468 -170799.377
-
-accept 20.4860411777 89.2164911270
-expect 30491.422 -81613.623
-
-accept 30.5303411995 89.7622494101
-expect 13429.693 -22771.512
-
-accept 40.0593735791 90.6542378643
-expect failure errno coord_transfm_invalid_coord
-
-accept 50.0020623503 91.1469954761
-expect failure errno coord_transfm_invalid_coord
-
-accept 60.8522213793 91.6903429214
-expect failure errno coord_transfm_invalid_coord
-
-accept 70.7535252886 92.4836618501
-expect failure errno coord_transfm_invalid_coord
-
-accept 80.1051275124 92.9389937571
-expect failure errno coord_transfm_invalid_coord
-
-accept 90.4124853570 93.5341249190
-expect failure errno coord_transfm_invalid_coord
-
-accept 100.7024119502 93.5550590372
-expect failure errno coord_transfm_invalid_coord
-
-accept 110.8115837786 93.7909664255
-expect failure errno coord_transfm_invalid_coord
-
-accept 120.6013207533 93.8492870154
-expect failure errno coord_transfm_invalid_coord
-
-accept 130.7349056594 94.3767135242
-expect failure errno coord_transfm_invalid_coord
-
-accept 140.9588399299 94.8671896725
-expect failure errno coord_transfm_invalid_coord
-
-accept 150.0262851842 95.3534968784
-expect failure errno coord_transfm_invalid_coord
-
-accept 160.4280397748 95.5380581127
-expect failure errno coord_transfm_invalid_coord
-
-accept 170.7651411492 95.6370520364
-expect failure errno coord_transfm_invalid_coord
-
-accept 180.0448345846 96.2732937318
-expect failure errno coord_transfm_invalid_coord
-
-accept -179.8257499571 89.6174371357
-expect -129.372 42538.994
-
-accept -169.2875892301 90.5843674190
-expect failure errno coord_transfm_invalid_coord
-
-accept -159.8023916584 91.1545744228
-expect failure errno coord_transfm_invalid_coord
-
-accept -149.1639625275 92.0870993705
-expect failure errno coord_transfm_invalid_coord
-
-accept -139.8013904331 92.8786158281
-expect failure errno coord_transfm_invalid_coord
-
-accept -129.1637359401 92.9919538772
-expect failure errno coord_transfm_invalid_coord
-
-accept -119.8393027005 93.1739711428
-expect failure errno coord_transfm_invalid_coord
-
-accept -109.3406602631 94.1639584700
-expect failure errno coord_transfm_invalid_coord
-
-accept -99.0695417625 95.1551429476
-expect failure errno coord_transfm_invalid_coord
-
-accept -89.0610247556 95.6178466298
-expect failure errno coord_transfm_invalid_coord
-
-accept -79.4516859556 96.0205106534
-expect failure errno coord_transfm_invalid_coord
-
-accept -69.8082104896 96.1879870093
-expect failure errno coord_transfm_invalid_coord
-
-accept -59.8296737152 96.7698954045
-expect failure errno coord_transfm_invalid_coord
-
-accept -49.8769972300 97.2097042960
-expect failure errno coord_transfm_invalid_coord
-
-accept -39.9274760034 97.5295561660
-expect failure errno coord_transfm_invalid_coord
-
-accept -29.8470989427 97.6781116960
-expect failure errno coord_transfm_invalid_coord
-
-accept -19.4625703588 98.0419802761
-expect failure errno coord_transfm_invalid_coord
-
-accept -9.0210837473 98.0868081244
-expect failure errno coord_transfm_invalid_coord
-
-accept 0.9799321756 98.5464017880
-expect failure errno coord_transfm_invalid_coord
-
-accept 10.0429624590 98.7459055217
-expect failure errno coord_transfm_invalid_coord
-
-accept 20.2792585617 99.0223555196
-expect failure errno coord_transfm_invalid_coord
-
-accept 30.0602725080 100.0053623620
-expect failure errno coord_transfm_invalid_coord
-
-accept 40.2383571525 100.9390147017
-expect failure errno coord_transfm_invalid_coord
-
-accept 50.7977119707 101.0770157329
-expect failure errno coord_transfm_invalid_coord
-
-accept 60.1464549470 101.4743886273
-expect failure errno coord_transfm_invalid_coord
-
-accept 70.3854313326 101.6912083253
-expect failure errno coord_transfm_invalid_coord
-
-accept 80.4259639014 102.1177916319
-expect failure errno coord_transfm_invalid_coord
-
-accept 90.8059360471 102.5951916979
-expect failure errno coord_transfm_invalid_coord
-
-accept 100.0616865688 102.7748252495
-expect failure errno coord_transfm_invalid_coord
-
-accept 110.4583416539 103.6248728355
-expect failure errno coord_transfm_invalid_coord
-
-accept 120.9751205255 103.7983620507
-expect failure errno coord_transfm_invalid_coord
-
-accept 130.7919815186 104.0148850515
-expect failure errno coord_transfm_invalid_coord
-
-accept 140.6325380833 104.1792511999
-expect failure errno coord_transfm_invalid_coord
-
-accept 150.5737064232 105.0050682525
-expect failure errno coord_transfm_invalid_coord
+------------------------------------------------------------
+operation +proj=peirce_q +R=6370997 +type=square
+tolerance 10 mm
+------------------------------------------------------------
-accept 160.8571448065 105.0125232729
-expect failure errno coord_transfm_invalid_coord
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect -16684778.66 16659858.26
+accept -139.6233037328 -87.8821294926
+expect -16686136.62 16470363.98
+accept -119.6070748182 -86.3003323104
+expect -16595886.22 -16308355.92
+accept -99.5789095738 -85.2121814625
+expect -16396383.18 -16271023.42
+accept -79.2799350968 -83.8692118030
+expect -16141287.47 -16320788.59
+accept -59.1007316490 -82.6429522913
+expect -15910611.60 -16505541.92
+accept -39.7694988813 -81.1240616181
+expect 15720298.10 -16614965.01
+accept -19.4219986373 -80.4596653260
+expect 15746034.38 -16246050.72
+accept 0.0372192405 -79.1830001774
+expect 15852642.31 -15851534.09
+accept 10.8072116146 -78.5286202425
+expect 15985877.10 -15646515.07
+accept 30.6949420481 -77.5251356225
+expect 16361000.46 -15355648.15
+accept 50.8838172783 -77.2075414406
+expect 16558682.76 15284231.71
+accept 70.9123606882 -75.6020670736
+expect 16001764.31 15257501.18
+accept 90.9423960847 -75.1187688922
+expect 15509280.35 15547980.96
+accept 110.1071594840 -74.5087602471
+expect 15133049.74 15975564.05
+accept 130.0104641839 -73.3709657282
+expect 14849947.11 16543126.46
+accept 150.5931126765 -73.1105693985
+expect -14882991.09 16196524.65
+accept 170.3454770498 -72.3687427114
+expect -15093352.82 15561916.35
+accept -179.4283603569 -79.2780817976
+expect -15868107.22 15851237.11
+accept -159.6140419013 -78.9064235928
+expect -16189722.98 15580148.89
+accept -139.5485387788 -78.1437071317
+expect -16600189.56 15386190.03
+accept -119.3040589991 -77.1517896758
+expect -16316973.21 -15323941.76
+accept -99.1733290138 -76.2249333909
+expect -15804208.98 -15457233.95
+accept -79.5627247417 -75.2438944725
+expect -15346437.66 -15769094.64
+accept -59.2065888779 -74.4787205556
+expect -15021689.81 -16278889.61
+accept -39.4027491539 -73.6693258790
+expect 14885488.22 -16526762.78
+accept -19.3829588944 -72.8068670782
+expect 14968262.72 -15872213.73
+accept 0.5951648774 -71.1110965727
+expect 15222108.42 -15190983.68
+accept 10.0089578122 -71.1061903043
+expect 15489314.77 -14968374.05
+accept 30.2470524798 -69.7155529444
+expect 16124447.67 -14500816.44
+accept 50.0855077954 -69.3112248587
+expect 16498844.48 14388231.66
+accept 70.3496352985 -68.4437853274
+expect 15666358.72 14513249.85
+accept 90.4893702644 -66.7652070914
+expect 14837383.82 14868997.15
+accept 110.3952984186 -65.8768496172
+expect 14229937.28 15571030.23
+accept 130.3231133025 -64.8242212878
+expect 13868599.66 16472840.15
+accept 150.8384853690 -63.8483921906
+expect -13857834.28 15896552.84
+accept 170.7991687984 -62.8345530934
+expect -14209244.97 14904320.39
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect -1542258.49 1501537.48
+accept -159.9563893280 71.5181717183
+expect -1879442.18 874815.08
+accept -139.1100287608 72.5807306253
+expect -1947072.52 139940.96
+accept -119.6844932150 73.8160145972
+expect -1747316.08 -478587.18
+accept -99.2835557046 74.0204664516
+expect -1452001.59 -1044052.58
+accept -79.7589672970 75.0775591038
+expect -951397.60 -1370919.39
+accept -59.3247479059 76.5851745566
+expect -370785.20 -1451930.29
+accept -39.7902268868 77.0657936158
+expect 131161.56 -1438411.11
+accept -19.7666667754 78.0413206451
+expect 568957.13 -1207234.94
+accept 0.2731990430 79.0490755914
+expect 867766.11 -859530.19
+accept 10.9115419099 79.7152157770
+expect 949655.50 -642692.40
+accept 30.7420972758 80.5901686038
+expect 1016382.12 -258281.56
+accept 50.1425480782 81.1493341375
+expect 982144.24 88390.48
+accept 70.9517084975 81.7646094071
+expect 824812.58 401430.41
+accept 90.1847984189 82.9573597164
+expect 552645.55 556222.02
+accept 110.4406311958 83.6703375043
+expect 292833.81 640803.17
+accept 130.8429657164 84.7838043163
+expect 42074.56 578888.43
+accept 150.8488588999 85.8764976286
+expect -125274.18 441272.71
+accept 170.3972098164 87.6222109978
+expect -153172.25 215556.52
+
+ ------------------------------------------------------------
+ operation +proj=peirce_q +R=6370997 +type=diamond
+ tolerance 10 mm
+ ------------------------------------------------------------
+
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect -17621.38 23578218.89
+accept -139.6233037328 -87.8821294926
+expect -152574.30 23445186.42
+accept -119.6070748182 -86.3003323104
+expect -23266812.75 203314.63
+accept -99.5789095738 -85.2121814625
+expect -23099344.73 88642.74
+accept -79.2799350968 -83.8692118030
+expect -22954154.12 -126926.46
+accept -59.1007316490 -82.6429522913
+expect -22921681.97 -420679.26
+accept -39.7694988813 -81.1240616181
+expect -632625.04 -22864483.82
+accept -19.4219986373 -80.4596653260
+expect -353564.94 -22621820.31
+accept 0.0372192405 -79.1830001774
+expect 783.63 -22418238.13
+accept 10.8072116146 -78.5286202425
+expect 239965.19 -22367479.01
+accept 30.6949420481 -77.5251356225
+expect 710891.44 -22427057.31
+accept 50.8838172783 -77.2075414406
+expect 22516340.76 -901172.98
+accept 70.9123606882 -75.6020670736
+expect 22103638.61 -526273.50
+accept 90.9423960847 -75.1187688922
+expect 21960800.08 27365.47
+accept 110.1071594840 -74.5087602471
+expect 21997111.76 595747.59
+accept 130.0104641839 -73.3709657282
+expect 22198255.20 1197258.60
+accept 150.5931126765 -73.1105693985
+expect 928808.49 21976536.34
+accept 170.3454770498 -72.3687427114
+expect 331324.45 21676548.71
+accept -179.4283603569 -79.2780817976
+expect -11928.97 22428963.47
+accept -159.6140419013 -78.9064235928
+expect -431033.97 22464691.83
+accept -139.5485387788 -78.1437071317
+expect -858427.30 22617785.91
+accept -119.3040589991 -77.1517896758
+expect -22373505.54 702179.27
+accept -99.1733290138 -76.2249333909
+expect -22105178.28 245348.39
+accept -79.5627247417 -75.2438944725
+expect -22002003.89 -298863.61
+accept -59.2065888779 -74.4787205556
+expect -22132851.96 -888974.50
+accept -39.4027491539 -73.6693258790
+expect -1160556.37 -22211815.70
+accept -19.3829588944 -72.8068670782
+expect -639189.89 -21807510.03
+accept 0.5951648774 -71.1110965727
+expect 22008.52 -21505303.66
+accept 10.0089578122 -71.1061903043
+expect 368360.71 -21536838.30
+accept 30.2470524798 -69.7155529444
+expect 1148080.66 -21655331.93
+accept 50.0855077954 -69.3112248587
+expect 21840460.99 -1492428.63
+accept 70.3496352985 -68.4437853274
+expect 21340205.88 -815371.10
+accept 90.4893702644 -66.7652070914
+expect 21005583.43 22354.00
+accept 110.3952984186 -65.8768496172
+expect 21072466.21 948295.92
+accept 130.3231133025 -64.8242212878
+expect 21454637.84 1841476.11
+accept 150.8384853690 -63.8483921906
+expect 1441591.72 21039528.90
+accept 170.7991687984 -62.8345530934
+expect 491492.54 20586399.49
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect -28794.10 2152288.77
+accept -159.9563893280 71.5181717183
+expect -710378.63 1947553.99
+accept -139.1100287608 72.5807306253
+expect -1277834.99 1475741.38
+accept -119.6844932150 73.8160145972
+expect -1573951.28 897126.81
+accept -99.2835557046 74.0204664516
+expect -1764976.83 288463.51
+accept -79.7589672970 75.0775591038
+expect -1642126.09 -296646.71
+accept -59.3247479059 76.5851745566
+expect -1288854.48 -764485.02
+accept -39.7902268868 77.0657936158
+expect -924365.02 -1109855.48
+accept -19.7666667754 78.0413206451
+expect -451330.57 -1255957.46
+accept 0.2731990430 79.0490755914
+expect 5823.67 -1221382.92
+accept 10.9115419099 79.7152157770
+expect 217055.69 -1125960.00
+accept 30.7420972758 80.5901686038
+expect 536058.05 -901323.33
+accept 50.1425480782 81.1493341375
+expect 756982.36 -631979.34
+accept 70.9517084975 81.7646094071
+expect 867084.74 -299376.41
+accept 90.1847984189 82.9573597164
+expect 784087.78 2528.94
+accept 110.4406311958 83.6703375043
+expect 660181.04 246051.50
+accept 130.8429657164 84.7838043163
+expect 439087.14 379584.73
+accept 150.8488588999 85.8764976286
+expect 223444.70 400609.15
+accept 170.3972098164 87.6222109978
+expect 44112.34 260730.62
-accept 170.6832502669 105.0174505020
-expect failure errno coord_transfm_invalid_coord
+------------------------------------------------------------
+operation +proj=peirce_q +R=6370997 +type=horizontal
+tolerance 10 mm
+------------------------------------------------------------
-accept 180.7137917600 105.8174218935
-expect failure errno coord_transfm_invalid_coord
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect 11829925.59 46389.53
+accept -139.6233037328 -87.8821294926
+expect 11964878.50 179422.00
+accept -119.6070748182 -86.3003323104
+expect 12170099.87 203314.63
+accept -99.5789095738 -85.2121814625
+expect 12337567.89 88642.74
+accept -79.2799350968 -83.8692118030
+expect 12482758.50 -126926.46
+accept -59.1007316490 -82.6429522913
+expect 12515230.65 -420679.26
+accept -39.7694988813 -81.1240616181
+expect 12444929.25 -760124.60
+accept -19.4219986373 -80.4596653260
+expect 12165869.15 -1002788.10
+accept 0.0372192405 -79.1830001774
+expect 11811520.58 -1206370.29
+accept 10.8072116146 -78.5286202425
+expect 11572339.01 -1257129.40
+accept 30.6949420481 -77.5251356225
+expect 11101412.77 -1197551.10
+accept 50.8838172783 -77.2075414406
+expect 10704036.55 -901172.98
+accept 70.9123606882 -75.6020670736
+expect 10291334.40 -526273.50
+accept 90.9423960847 -75.1187688922
+expect 10148495.87 27365.47
+accept 110.1071594840 -74.5087602471
+expect 10184807.56 595747.59
+accept 130.0104641839 -73.3709657282
+expect 10385951.00 1197258.60
+accept 150.5931126765 -73.1105693985
+expect 10883495.72 1648072.07
+accept 170.3454770498 -72.3687427114
+expect 11480979.75 1948059.70
+accept -179.4283603569 -79.2780817976
+expect 11824233.18 1195644.94
+accept -159.6140419013 -78.9064235928
+expect 12243338.18 1159916.58
+accept -139.5485387788 -78.1437071317
+expect 12670731.51 1006822.50
+accept -119.3040589991 -77.1517896758
+expect 13063407.08 702179.27
+accept -99.1733290138 -76.2249333909
+expect 13331734.34 245348.39
+accept -79.5627247417 -75.2438944725
+expect 13434908.73 -298863.61
+accept -59.2065888779 -74.4787205556
+expect 13304060.66 -888974.50
+accept -39.4027491539 -73.6693258790
+expect 12972860.58 -1412792.72
+accept -19.3829588944 -72.8068670782
+expect 12451494.09 -1817098.38
+accept 0.5951648774 -71.1110965727
+expect 11790295.69 -2119304.75
+accept 10.0089578122 -71.1061903043
+expect 11443943.49 -2087770.11
+accept 30.2470524798 -69.7155529444
+expect 10664223.55 -1969276.48
+accept 50.0855077954 -69.3112248587
+expect 10028156.79 -1492428.63
+accept 70.3496352985 -68.4437853274
+expect 9527901.67 -815371.10
+accept 90.4893702644 -66.7652070914
+expect 9193279.23 22354.00
+accept 110.3952984186 -65.8768496172
+expect 9260162.01 948295.92
+accept 130.3231133025 -64.8242212878
+expect 9642333.63 1841476.11
+accept 150.8384853690 -63.8483921906
+expect 10370712.49 2585079.51
+accept 170.7991687984 -62.8345530934
+expect 11320811.66 3038208.93
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect -11841098.31 2152288.77
+accept -159.9563893280 71.5181717183
+expect -12522682.84 1947553.99
+accept -139.1100287608 72.5807306253
+expect -13090139.19 1475741.38
+accept -119.6844932150 73.8160145972
+expect -13386255.49 897126.81
+accept -99.2835557046 74.0204664516
+expect -13577281.04 288463.51
+accept -79.7589672970 75.0775591038
+expect -13454430.30 -296646.71
+accept -59.3247479059 76.5851745566
+expect -13101158.69 -764485.02
+accept -39.7902268868 77.0657936158
+expect -12736669.23 -1109855.48
+accept -19.7666667754 78.0413206451
+expect -12263634.78 -1255957.46
+accept 0.2731990430 79.0490755914
+expect -11806480.53 -1221382.92
+accept 10.9115419099 79.7152157770
+expect -11595248.52 -1125960.00
+accept 30.7420972758 80.5901686038
+expect -11276246.16 -901323.33
+accept 50.1425480782 81.1493341375
+expect -11055321.85 -631979.34
+accept 70.9517084975 81.7646094071
+expect -10945219.47 -299376.41
+accept 90.1847984189 82.9573597164
+expect -11028216.43 2528.94
+accept 110.4406311958 83.6703375043
+expect -11152123.17 246051.50
+accept 130.8429657164 84.7838043163
+expect -11373217.07 379584.73
+accept 150.8488588999 85.8764976286
+expect -11588859.50 400609.15
+accept 170.3972098164 87.6222109978
+expect -11768191.87 260730.62
+
+ ------------------------------------------------------------
+ operation +proj=peirce_q +R=6370997 +type=horizontal +scrollx=0.75
+ tolerance 10 mm
+ ------------------------------------------------------------
+
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect 17621.38 46389.53
+accept -139.6233037328 -87.8821294926
+expect 152574.30 179422.00
+accept -119.6070748182 -86.3003323104
+expect 357795.67 203314.63
+accept -99.5789095738 -85.2121814625
+expect 525263.69 88642.74
+accept -79.2799350968 -83.8692118030
+expect 670454.30 -126926.46
+accept -59.1007316490 -82.6429522913
+expect 702926.44 -420679.26
+accept -39.7694988813 -81.1240616181
+expect 632625.04 -760124.60
+accept -19.4219986373 -80.4596653260
+expect 353564.94 -1002788.10
+accept 0.0372192405 -79.1830001774
+expect -783.63 -1206370.29
+accept 10.8072116146 -78.5286202425
+expect -239965.19 -1257129.40
+accept 30.6949420481 -77.5251356225
+expect -710891.44 -1197551.10
+accept 50.8838172783 -77.2075414406
+expect -1108267.66 -901172.98
+accept 70.9123606882 -75.6020670736
+expect -1520969.81 -526273.50
+accept 90.9423960847 -75.1187688922
+expect -1663808.33 27365.47
+accept 110.1071594840 -74.5087602471
+expect -1627496.65 595747.59
+accept 130.0104641839 -73.3709657282
+expect -1426353.21 1197258.60
+accept 150.5931126765 -73.1105693985
+expect -928808.49 1648072.07
+accept 170.3454770498 -72.3687427114
+expect -331324.45 1948059.70
+accept -179.4283603569 -79.2780817976
+expect 11928.97 1195644.94
+accept -159.6140419013 -78.9064235928
+expect 431033.97 1159916.58
+accept -139.5485387788 -78.1437071317
+expect 858427.30 1006822.50
+accept -119.3040589991 -77.1517896758
+expect 1251102.88 702179.27
+accept -99.1733290138 -76.2249333909
+expect 1519430.13 245348.39
+accept -79.5627247417 -75.2438944725
+expect 1622604.52 -298863.61
+accept -59.2065888779 -74.4787205556
+expect 1491756.45 -888974.50
+accept -39.4027491539 -73.6693258790
+expect 1160556.37 -1412792.72
+accept -19.3829588944 -72.8068670782
+expect 639189.89 -1817098.38
+accept 0.5951648774 -71.1110965727
+expect -22008.52 -2119304.75
+accept 10.0089578122 -71.1061903043
+expect -368360.71 -2087770.11
+accept 30.2470524798 -69.7155529444
+expect -1148080.66 -1969276.48
+accept 50.0855077954 -69.3112248587
+expect -1784147.42 -1492428.63
+accept 70.3496352985 -68.4437853274
+expect -2284402.54 -815371.10
+accept 90.4893702644 -66.7652070914
+expect -2619024.98 22354.00
+accept 110.3952984186 -65.8768496172
+expect -2552142.20 948295.92
+accept 130.3231133025 -64.8242212878
+expect -2169970.58 1841476.11
+accept 150.8384853690 -63.8483921906
+expect -1441591.72 2585079.51
+accept 170.7991687984 -62.8345530934
+expect -491492.54 3038208.93
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect 23595814.31 2152288.77
+accept -159.9563893280 71.5181717183
+expect 22914229.78 1947553.99
+accept -139.1100287608 72.5807306253
+expect 22346773.43 1475741.38
+accept -119.6844932150 73.8160145972
+expect 22050657.13 897126.81
+accept -99.2835557046 74.0204664516
+expect 21859631.58 288463.51
+accept -79.7589672970 75.0775591038
+expect 21982482.33 -296646.71
+accept -59.3247479059 76.5851745566
+expect 22335753.93 -764485.02
+accept -39.7902268868 77.0657936158
+expect 22700243.39 -1109855.48
+accept -19.7666667754 78.0413206451
+expect 23173277.84 -1255957.46
+accept 0.2731990430 79.0490755914
+expect -23618784.74 -1221382.92
+accept 10.9115419099 79.7152157770
+expect -23407552.72 -1125960.00
+accept 30.7420972758 80.5901686038
+expect -23088550.36 -901323.33
+accept 50.1425480782 81.1493341375
+expect -22867626.05 -631979.34
+accept 70.9517084975 81.7646094071
+expect -22757523.68 -299376.41
+accept 90.1847984189 82.9573597164
+expect -22840520.64 2528.94
+accept 110.4406311958 83.6703375043
+expect -22964427.38 246051.50
+accept 130.8429657164 84.7838043163
+expect -23185521.28 379584.73
+accept 150.8488588999 85.8764976286
+expect -23401163.71 400609.15
+accept 170.3972098164 87.6222109978
+expect -23580496.07 260730.62
+
+ ------------------------------------------------------------
+ operation +proj=peirce_q +R=6370997 +type=vertical
+ tolerance 10 mm
+ ------------------------------------------------------------
+
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect -17621.38 11765914.68
+accept -139.6233037328 -87.8821294926
+expect -152574.30 11632882.21
+accept -119.6070748182 -86.3003323104
+expect -357795.67 11608989.58
+accept -99.5789095738 -85.2121814625
+expect -525263.69 11723661.47
+accept -79.2799350968 -83.8692118030
+expect -670454.30 11939230.67
+accept -59.1007316490 -82.6429522913
+expect -702926.44 12232983.46
+accept -39.7694988813 -81.1240616181
+expect -632625.04 12572428.81
+accept -19.4219986373 -80.4596653260
+expect -353564.94 12815092.31
+accept 0.0372192405 -79.1830001774
+expect 783.63 13018674.49
+accept 10.8072116146 -78.5286202425
+expect 239965.19 13069433.61
+accept 30.6949420481 -77.5251356225
+expect 710891.44 13009855.31
+accept 50.8838172783 -77.2075414406
+expect 1108267.66 12713477.19
+accept 70.9123606882 -75.6020670736
+expect 1520969.81 12338577.71
+accept 90.9423960847 -75.1187688922
+expect 1663808.33 11784938.74
+accept 110.1071594840 -74.5087602471
+expect 1627496.65 11216556.62
+accept 130.0104641839 -73.3709657282
+expect 1426353.21 10615045.61
+accept 150.5931126765 -73.1105693985
+expect 928808.49 10164232.13
+accept 170.3454770498 -72.3687427114
+expect 331324.45 9864244.50
+accept -179.4283603569 -79.2780817976
+expect -11928.97 10616659.27
+accept -159.6140419013 -78.9064235928
+expect -431033.97 10652387.63
+accept -139.5485387788 -78.1437071317
+expect -858427.30 10805481.70
+accept -119.3040589991 -77.1517896758
+expect -1251102.88 11110124.94
+accept -99.1733290138 -76.2249333909
+expect -1519430.13 11566955.81
+accept -79.5627247417 -75.2438944725
+expect -1622604.52 12111167.82
+accept -59.2065888779 -74.4787205556
+expect -1491756.45 12701278.71
+accept -39.4027491539 -73.6693258790
+expect -1160556.37 13225096.92
+accept -19.3829588944 -72.8068670782
+expect -639189.89 13629402.59
+accept 0.5951648774 -71.1110965727
+expect 22008.52 13931608.96
+accept 10.0089578122 -71.1061903043
+expect 368360.71 13900074.32
+accept 30.2470524798 -69.7155529444
+expect 1148080.66 13781580.69
+accept 50.0855077954 -69.3112248587
+expect 1784147.42 13304732.84
+accept 70.3496352985 -68.4437853274
+expect 2284402.54 12627675.31
+accept 90.4893702644 -66.7652070914
+expect 2619024.98 11789950.21
+accept 110.3952984186 -65.8768496172
+expect 2552142.20 10864008.28
+accept 130.3231133025 -64.8242212878
+expect 2169970.58 9970828.10
+accept 150.8384853690 -63.8483921906
+expect 1441591.72 9227224.69
+accept 170.7991687984 -62.8345530934
+expect 491492.54 8774095.28
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect -28794.10 -9660015.44
+accept -159.9563893280 71.5181717183
+expect -710378.63 -9864750.22
+accept -139.1100287608 72.5807306253
+expect -1277834.99 -10336562.82
+accept -119.6844932150 73.8160145972
+expect -1573951.28 -10915177.40
+accept -99.2835557046 74.0204664516
+expect -1764976.83 -11523840.70
+accept -79.7589672970 75.0775591038
+expect -1642126.09 -12108950.91
+accept -59.3247479059 76.5851745566
+expect -1288854.48 -12576789.23
+accept -39.7902268868 77.0657936158
+expect -924365.02 -12922159.68
+accept -19.7666667754 78.0413206451
+expect -451330.57 -13068261.66
+accept 0.2731990430 79.0490755914
+expect 5823.67 -13033687.13
+accept 10.9115419099 79.7152157770
+expect 217055.69 -12938264.21
+accept 30.7420972758 80.5901686038
+expect 536058.05 -12713627.54
+accept 50.1425480782 81.1493341375
+expect 756982.36 -12444283.55
+accept 70.9517084975 81.7646094071
+expect 867084.74 -12111680.61
+accept 90.1847984189 82.9573597164
+expect 784087.78 -11809775.26
+accept 110.4406311958 83.6703375043
+expect 660181.04 -11566252.71
+accept 130.8429657164 84.7838043163
+expect 439087.14 -11432719.48
+accept 150.8488588999 85.8764976286
+expect 223444.70 -11411695.05
+accept 170.3972098164 87.6222109978
+expect 44112.34 -11551573.59
+
+ ------------------------------------------------------------
+ operation +proj=peirce_q +R=6370997 +type=vertical +scrolly=-0.25
+ tolerance 10 mm
+ ------------------------------------------------------------
+
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect -17621.38 -46389.53
+accept -139.6233037328 -87.8821294926
+expect -152574.30 -179422.00
+accept -119.6070748182 -86.3003323104
+expect -357795.67 -203314.63
+accept -99.5789095738 -85.2121814625
+expect -525263.69 -88642.74
+accept -79.2799350968 -83.8692118030
+expect -670454.30 126926.46
+accept -59.1007316490 -82.6429522913
+expect -702926.44 420679.26
+accept -39.7694988813 -81.1240616181
+expect -632625.04 760124.60
+accept -19.4219986373 -80.4596653260
+expect -353564.94 1002788.10
+accept 0.0372192405 -79.1830001774
+expect 783.63 1206370.29
+accept 10.8072116146 -78.5286202425
+expect 239965.19 1257129.40
+accept 30.6949420481 -77.5251356225
+expect 710891.44 1197551.10
+accept 50.8838172783 -77.2075414406
+expect 1108267.66 901172.98
+accept 70.9123606882 -75.6020670736
+expect 1520969.81 526273.50
+accept 90.9423960847 -75.1187688922
+expect 1663808.33 -27365.47
+accept 110.1071594840 -74.5087602471
+expect 1627496.65 -595747.59
+accept 130.0104641839 -73.3709657282
+expect 1426353.21 -1197258.60
+accept 150.5931126765 -73.1105693985
+expect 928808.49 -1648072.07
+accept 170.3454770498 -72.3687427114
+expect 331324.45 -1948059.70
+accept -179.4283603569 -79.2780817976
+expect -11928.97 -1195644.94
+accept -159.6140419013 -78.9064235928
+expect -431033.97 -1159916.58
+accept -139.5485387788 -78.1437071317
+expect -858427.30 -1006822.50
+accept -119.3040589991 -77.1517896758
+expect -1251102.88 -702179.27
+accept -99.1733290138 -76.2249333909
+expect -1519430.13 -245348.39
+accept -79.5627247417 -75.2438944725
+expect -1622604.52 298863.61
+accept -59.2065888779 -74.4787205556
+expect -1491756.45 888974.50
+accept -39.4027491539 -73.6693258790
+expect -1160556.37 1412792.72
+accept -19.3829588944 -72.8068670782
+expect -639189.89 1817098.38
+accept 0.5951648774 -71.1110965727
+expect 22008.52 2119304.75
+accept 10.0089578122 -71.1061903043
+expect 368360.71 2087770.11
+accept 30.2470524798 -69.7155529444
+expect 1148080.66 1969276.48
+accept 50.0855077954 -69.3112248587
+expect 1784147.42 1492428.63
+accept 70.3496352985 -68.4437853274
+expect 2284402.54 815371.10
+accept 90.4893702644 -66.7652070914
+expect 2619024.98 -22354.00
+accept 110.3952984186 -65.8768496172
+expect 2552142.20 -948295.92
+accept 130.3231133025 -64.8242212878
+expect 2169970.58 -1841476.11
+accept 150.8384853690 -63.8483921906
+expect 1441591.72 -2585079.51
+accept 170.7991687984 -62.8345530934
+expect 491492.54 -3038208.93
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect -28794.10 -21472319.64
+accept -159.9563893280 71.5181717183
+expect -710378.63 -21677054.43
+accept -139.1100287608 72.5807306253
+expect -1277834.99 -22148867.03
+accept -119.6844932150 73.8160145972
+expect -1573951.28 -22727481.60
+accept -99.2835557046 74.0204664516
+expect -1764976.83 -23336144.90
+accept -79.7589672970 75.0775591038
+expect -1642126.09 23327961.71
+accept -59.3247479059 76.5851745566
+expect -1288854.48 22860123.39
+accept -39.7902268868 77.0657936158
+expect -924365.02 22514752.94
+accept -19.7666667754 78.0413206451
+expect -451330.57 22368650.96
+accept 0.2731990430 79.0490755914
+expect 5823.67 22403225.49
+accept 10.9115419099 79.7152157770
+expect 217055.69 22498648.41
+accept 30.7420972758 80.5901686038
+expect 536058.05 22723285.08
+accept 50.1425480782 81.1493341375
+expect 756982.36 22992629.07
+accept 70.9517084975 81.7646094071
+expect 867084.74 23325232.01
+accept 90.1847984189 82.9573597164
+expect 784087.78 -23622079.47
+accept 110.4406311958 83.6703375043
+expect 660181.04 -23378556.92
+accept 130.8429657164 84.7838043163
+expect 439087.14 -23245023.69
+accept 150.8488588999 85.8764976286
+expect 223444.70 -23223999.26
+accept 170.3972098164 87.6222109978
+expect 44112.34 -23363877.80
+
+ ------------------------------------------------------------
+ operation +proj=peirce_q +R=6370997 +type=nhemisphere
+ tolerance 10 mm
+ ------------------------------------------------------------
+
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect failure errno coord_transfm_outside_projection_domain
+accept -139.6233037328 -87.8821294926
+expect failure errno coord_transfm_outside_projection_domain
+accept -119.6070748182 -86.3003323104
+expect failure errno coord_transfm_outside_projection_domain
+accept -99.5789095738 -85.2121814625
+expect failure errno coord_transfm_outside_projection_domain
+accept -79.2799350968 -83.8692118030
+expect failure errno coord_transfm_outside_projection_domain
+accept -59.1007316490 -82.6429522913
+expect failure errno coord_transfm_outside_projection_domain
+accept -39.7694988813 -81.1240616181
+expect failure errno coord_transfm_outside_projection_domain
+accept -19.4219986373 -80.4596653260
+expect failure errno coord_transfm_outside_projection_domain
+accept 0.0372192405 -79.1830001774
+expect failure errno coord_transfm_outside_projection_domain
+accept 10.8072116146 -78.5286202425
+expect failure errno coord_transfm_outside_projection_domain
+accept 30.6949420481 -77.5251356225
+expect failure errno coord_transfm_outside_projection_domain
+accept 50.8838172783 -77.2075414406
+expect failure errno coord_transfm_outside_projection_domain
+accept 70.9123606882 -75.6020670736
+expect failure errno coord_transfm_outside_projection_domain
+accept 90.9423960847 -75.1187688922
+expect failure errno coord_transfm_outside_projection_domain
+accept 110.1071594840 -74.5087602471
+expect failure errno coord_transfm_outside_projection_domain
+accept 130.0104641839 -73.3709657282
+expect failure errno coord_transfm_outside_projection_domain
+accept 150.5931126765 -73.1105693985
+expect failure errno coord_transfm_outside_projection_domain
+accept 170.3454770498 -72.3687427114
+expect failure errno coord_transfm_outside_projection_domain
+accept -179.4283603569 -79.2780817976
+expect failure errno coord_transfm_outside_projection_domain
+accept -159.6140419013 -78.9064235928
+expect failure errno coord_transfm_outside_projection_domain
+accept -139.5485387788 -78.1437071317
+expect failure errno coord_transfm_outside_projection_domain
+accept -119.3040589991 -77.1517896758
+expect failure errno coord_transfm_outside_projection_domain
+accept -99.1733290138 -76.2249333909
+expect failure errno coord_transfm_outside_projection_domain
+accept -79.5627247417 -75.2438944725
+expect failure errno coord_transfm_outside_projection_domain
+accept -59.2065888779 -74.4787205556
+expect failure errno coord_transfm_outside_projection_domain
+accept -39.4027491539 -73.6693258790
+expect failure errno coord_transfm_outside_projection_domain
+accept -19.3829588944 -72.8068670782
+expect failure errno coord_transfm_outside_projection_domain
+accept 0.5951648774 -71.1110965727
+expect failure errno coord_transfm_outside_projection_domain
+accept 10.0089578122 -71.1061903043
+expect failure errno coord_transfm_outside_projection_domain
+accept 30.2470524798 -69.7155529444
+expect failure errno coord_transfm_outside_projection_domain
+accept 50.0855077954 -69.3112248587
+expect failure errno coord_transfm_outside_projection_domain
+accept 70.3496352985 -68.4437853274
+expect failure errno coord_transfm_outside_projection_domain
+accept 90.4893702644 -66.7652070914
+expect failure errno coord_transfm_outside_projection_domain
+accept 110.3952984186 -65.8768496172
+expect failure errno coord_transfm_outside_projection_domain
+accept 130.3231133025 -64.8242212878
+expect failure errno coord_transfm_outside_projection_domain
+accept 150.8384853690 -63.8483921906
+expect failure errno coord_transfm_outside_projection_domain
+accept 170.7991687984 -62.8345530934
+expect failure errno coord_transfm_outside_projection_domain
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect -28794.10 2152288.77
+accept -159.9563893280 71.5181717183
+expect -710378.63 1947553.99
+accept -139.1100287608 72.5807306253
+expect -1277834.99 1475741.38
+accept -119.6844932150 73.8160145972
+expect -1573951.28 897126.81
+accept -99.2835557046 74.0204664516
+expect -1764976.83 288463.51
+accept -79.7589672970 75.0775591038
+expect -1642126.09 -296646.71
+accept -59.3247479059 76.5851745566
+expect -1288854.48 -764485.02
+accept -39.7902268868 77.0657936158
+expect -924365.02 -1109855.48
+accept -19.7666667754 78.0413206451
+expect -451330.57 -1255957.46
+accept 0.2731990430 79.0490755914
+expect 5823.67 -1221382.92
+accept 10.9115419099 79.7152157770
+expect 217055.69 -1125960.00
+accept 30.7420972758 80.5901686038
+expect 536058.05 -901323.33
+accept 50.1425480782 81.1493341375
+expect 756982.36 -631979.34
+accept 70.9517084975 81.7646094071
+expect 867084.74 -299376.41
+accept 90.1847984189 82.9573597164
+expect 784087.78 2528.94
+accept 110.4406311958 83.6703375043
+expect 660181.04 246051.50
+accept 130.8429657164 84.7838043163
+expect 439087.14 379584.73
+accept 150.8488588999 85.8764976286
+expect 223444.70 400609.15
+accept 170.3972098164 87.6222109978
+expect 44112.34 260730.62
+
+ ------------------------------------------------------------
+ operation +proj=peirce_q +R=6370997 +type=shemisphere
+ tolerance 10 mm
+ ------------------------------------------------------------
+
+accept -179.6126302052 -90.2440064745
+expect failure errno coord_transfm_invalid_coord
+accept -159.2003712209 -89.5537263306
+expect -17621.38 46389.53
+accept -139.6233037328 -87.8821294926
+expect -152574.30 179422.00
+accept -119.6070748182 -86.3003323104
+expect -357795.67 203314.63
+accept -99.5789095738 -85.2121814625
+expect -525263.69 88642.74
+accept -79.2799350968 -83.8692118030
+expect -670454.30 -126926.46
+accept -59.1007316490 -82.6429522913
+expect -702926.44 -420679.26
+accept -39.7694988813 -81.1240616181
+expect -632625.04 -760124.60
+accept -19.4219986373 -80.4596653260
+expect -353564.94 -1002788.10
+accept 0.0372192405 -79.1830001774
+expect 783.63 -1206370.29
+accept 10.8072116146 -78.5286202425
+expect 239965.19 -1257129.40
+accept 30.6949420481 -77.5251356225
+expect 710891.44 -1197551.10
+accept 50.8838172783 -77.2075414406
+expect 1108267.66 -901172.98
+accept 70.9123606882 -75.6020670736
+expect 1520969.81 -526273.50
+accept 90.9423960847 -75.1187688922
+expect 1663808.33 27365.47
+accept 110.1071594840 -74.5087602471
+expect 1627496.65 595747.59
+accept 130.0104641839 -73.3709657282
+expect 1426353.21 1197258.60
+accept 150.5931126765 -73.1105693985
+expect 928808.49 1648072.07
+accept 170.3454770498 -72.3687427114
+expect 331324.45 1948059.70
+accept -179.4283603569 -79.2780817976
+expect -11928.97 1195644.94
+accept -159.6140419013 -78.9064235928
+expect -431033.97 1159916.58
+accept -139.5485387788 -78.1437071317
+expect -858427.30 1006822.50
+accept -119.3040589991 -77.1517896758
+expect -1251102.88 702179.27
+accept -99.1733290138 -76.2249333909
+expect -1519430.13 245348.39
+accept -79.5627247417 -75.2438944725
+expect -1622604.52 -298863.61
+accept -59.2065888779 -74.4787205556
+expect -1491756.45 -888974.50
+accept -39.4027491539 -73.6693258790
+expect -1160556.37 -1412792.72
+accept -19.3829588944 -72.8068670782
+expect -639189.89 -1817098.38
+accept 0.5951648774 -71.1110965727
+expect 22008.52 -2119304.75
+accept 10.0089578122 -71.1061903043
+expect 368360.71 -2087770.11
+accept 30.2470524798 -69.7155529444
+expect 1148080.66 -1969276.48
+accept 50.0855077954 -69.3112248587
+expect 1784147.42 -1492428.63
+accept 70.3496352985 -68.4437853274
+expect 2284402.54 -815371.10
+accept 90.4893702644 -66.7652070914
+expect 2619024.98 22354.00
+accept 110.3952984186 -65.8768496172
+expect 2552142.20 948295.92
+accept 130.3231133025 -64.8242212878
+expect 2169970.58 1841476.11
+accept 150.8384853690 -63.8483921906
+expect 1441591.72 2585079.51
+accept 170.7991687984 -62.8345530934
+expect 491492.54 3038208.93
+accept 170.6832502669 -105.0174505020
+expect failure errno coord_transfm_invalid_coord
+accept 180.7137917600 105.8174218935
+expect failure errno coord_transfm_invalid_coord
+accept -179.2332724818 70.8217746040
+expect failure errno coord_transfm_outside_projection_domain
+accept -159.9563893280 71.5181717183
+expect failure errno coord_transfm_outside_projection_domain
+accept -139.1100287608 72.5807306253
+expect failure errno coord_transfm_outside_projection_domain
+accept -119.6844932150 73.8160145972
+expect failure errno coord_transfm_outside_projection_domain
+accept -99.2835557046 74.0204664516
+expect failure errno coord_transfm_outside_projection_domain
+accept -79.7589672970 75.0775591038
+expect failure errno coord_transfm_outside_projection_domain
+accept -59.3247479059 76.5851745566
+expect failure errno coord_transfm_outside_projection_domain
+accept -39.7902268868 77.0657936158
+expect failure errno coord_transfm_outside_projection_domain
+accept -19.7666667754 78.0413206451
+expect failure errno coord_transfm_outside_projection_domain
+accept 0.2731990430 79.0490755914
+expect failure errno coord_transfm_outside_projection_domain
+accept 10.9115419099 79.7152157770
+expect failure errno coord_transfm_outside_projection_domain
+accept 30.7420972758 80.5901686038
+expect failure errno coord_transfm_outside_projection_domain
+accept 50.1425480782 81.1493341375
+expect failure errno coord_transfm_outside_projection_domain
+accept 70.9517084975 81.7646094071
+expect failure errno coord_transfm_outside_projection_domain
+accept 90.1847984189 82.9573597164
+expect failure errno coord_transfm_outside_projection_domain
+accept 110.4406311958 83.6703375043
+expect failure errno coord_transfm_outside_projection_domain
+accept 130.8429657164 84.7838043163
+expect failure errno coord_transfm_outside_projection_domain
+accept 150.8488588999 85.8764976286
+expect failure errno coord_transfm_outside_projection_domain
+accept 170.3972098164 87.6222109978
+expect failure errno coord_transfm_outside_projection_domain
</gie-strict>