diff --git a/.github/workflows/doc_build.yml b/.github/workflows/doc_build.yml index 85f9369702..2a3f4257e1 100644 --- a/.github/workflows/doc_build.yml +++ b/.github/workflows/doc_build.yml @@ -12,12 +12,34 @@ jobs: steps: - name: Checkout uses: actions/checkout@v2 - - uses: conda-incubator/setup-miniconda@v2 + + - name: Install PROJ build dependencies + run: | + DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \ + cmake g++ sqlite3 pkg-config libsqlite3-dev libtiff-dev libcurl4-openssl-dev + + - name: Build PROJ + run: | + mkdir build + cd build + cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/proj + make -j$(nproc) + sudo mkdir -p /opt/proj + sudo make install + cd .. + + - name: Install plot dependencies + uses: conda-incubator/setup-miniconda@v2 with: environment-file: docs/plot/environment.yml + - name: Plot working-directory: ./docs/plot - run: ./plot.py plotdefs.json images/ + run: | + export PATH=/opt/proj/bin:$PATH + export LD_LIBRARY_PATH=/opt/proj/lib + export PROJ_LIB=/opt/proj/share/proj + ./plot.py plotdefs.json images/ - uses: actions/upload-artifact@v2 with: diff --git a/docs/plot/environment.yml b/docs/plot/environment.yml index e6d0f9d410..d8b27fa16a 100644 --- a/docs/plot/environment.yml +++ b/docs/plot/environment.yml @@ -5,5 +5,4 @@ dependencies: - descartes - geojson - matplotlib - - proj - shapely < 1.8 diff --git a/docs/plot/plotdefs.json b/docs/plot/plotdefs.json index 1e9c05ee70..a6d70273e1 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/news.rst b/docs/source/news.rst index 7a6503cb7b..cad77ea30b 100644 --- a/docs/source/news.rst +++ b/docs/source/news.rst @@ -292,8 +292,6 @@ Bug fixes * :c:func:`createOperations()`: fix incorrect height transformation between 3D promoted RGF93 and CH1903+ (`#2555 `_) - ->>>>>>> Stashed changes 8.0.0 Release Notes ++++++++++++++++++++++++++++++++++++++++ *March 1st 2021* 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 0000000000..2e03a67bfa Binary files /dev/null and b/docs/source/operations/projections/images/grieger_triptychial.png 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 646e4f805b..0000000000 Binary files a/docs/source/operations/projections/images/peirce_q.png and /dev/null 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 0000000000..b8a849675b Binary files /dev/null and b/docs/source/operations/projections/images/peirce_q_diamond.png 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 0000000000..615c2abf01 Binary files /dev/null and b/docs/source/operations/projections/images/peirce_q_horizontal.png 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 0000000000..485b23a1af Binary files /dev/null and b/docs/source/operations/projections/images/peirce_q_square.png differ diff --git a/docs/source/operations/projections/peirce_q.rst b/docs/source/operations/projections/peirce_q.rst index 86445ea198..cf97293280 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= + + 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= + + 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 389ca05466..4150fff2ee 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 6e3e5aa85a..713d2581fd 100644 --- a/test/gie/peirce_q.gie +++ b/test/gie/peirce_q.gie @@ -1,1184 +1,1008 @@ ------------------------------------------------------------ -# 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