aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Elson <pelson.pub@gmail.com>2018-12-21 14:04:04 +0000
committerPhil Elson <pelson.pub@gmail.com>2018-12-24 07:24:30 +0000
commit5d39ae0bb01d142a69552ce3553dd61b75db4ae8 (patch)
tree6f109a0509e0348dda8e40a6c7ee926a4ef1b988
parentac6f0021a3ce6110e5a0a917aec9c0c614443e84 (diff)
downloadPROJ-5d39ae0bb01d142a69552ce3553dd61b75db4ae8.tar.gz
PROJ-5d39ae0bb01d142a69552ce3553dd61b75db4ae8.zip
Fixed rHealpix projection, closing #1206.
Numerical test results based on function output, rather than mathematical derivation. Verified global coverage with graphical eyeballing through cartopy.
-rw-r--r--src/PJ_healpix.c4
-rw-r--r--test/gie/builtins.gie19
2 files changed, 21 insertions, 2 deletions
diff --git a/src/PJ_healpix.c b/src/PJ_healpix.c
index ee575abf..3a88695f 100644
--- a/src/PJ_healpix.c
+++ b/src/PJ_healpix.c
@@ -499,8 +499,8 @@ static XY combine_caps(double x, double y, int north_square, int south_square,
double a[2];
/* Workaround cppcheck git issue */
double* pa = a;
- pa[0] = -3*M_FORTPI + ((inverse == 0) ? 0 : capmap.cn) *M_HALFPI;
- pa[1] = M_HALFPI;
+ pa[0] = -3*M_FORTPI + ((inverse == 0) ? pole : capmap.cn) *M_HALFPI;
+ pa[1] = ((capmap.region == north) ? 1 : -1) *M_HALFPI;
vector_add(ret_dot, a, vector);
}
diff --git a/test/gie/builtins.gie b/test/gie/builtins.gie
index 1154febc..48be629c 100644
--- a/test/gie/builtins.gie
+++ b/test/gie/builtins.gie
@@ -2006,6 +2006,25 @@ expect -0.001790493 0.000759909
accept -200 -100
expect -0.001790493 -0.000759909
+-------------------------------------------------------------------------------
+operation +proj=rhealpix +south_square=2 +north_square=3
+-------------------------------------------------------------------------------
+tolerance 1 m
+accept 45 50
+expect 10806592 10007554
+accept 45 -50
+expect 5003777 -5802815
+accept 135 50
+expect 15011332 5802815
+
+direction inverse
+accept 10806592 10007554
+expect 45 50
+accept 5003777 -5802815
+expect 45 -50
+accept 15011332 5802815
+expect 135 50
+
===============================================================================
Interrupted Goode Homolosine