aboutsummaryrefslogtreecommitdiff
path: root/src/projections/robin.cpp
diff options
context:
space:
mode:
authorMartin Raspaud <martin.raspaud@smhi.se>2020-04-14 22:09:40 +0200
committerGitHub <noreply@github.com>2020-04-14 22:09:40 +0200
commit767a9976587491f3a90b744376f8d5601c803e4b (patch)
treeb10c1bf55fb09a6775015afea268f825f967388d /src/projections/robin.cpp
parent5d94742cd774b5e6f8d45043a01f8c69dcbbe73c (diff)
downloadPROJ-767a9976587491f3a90b744376f8d5601c803e4b.tar.gz
PROJ-767a9976587491f3a90b744376f8d5601c803e4b.zip
Robinson inverse projection: error on out of domain values (#2151)
Diffstat (limited to 'src/projections/robin.cpp')
-rw-r--r--src/projections/robin.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/projections/robin.cpp b/src/projections/robin.cpp
index 3c4d9f07..8b646502 100644
--- a/src/projections/robin.cpp
+++ b/src/projections/robin.cpp
@@ -142,6 +142,10 @@ static PJ_LP robin_s_inverse (PJ_XY xy, PJ *P) { /* Spheroidal, invers
lp.phi = (5 * i + t) * DEG_TO_RAD;
if (xy.y < 0.) lp.phi = -lp.phi;
lp.lam /= V(X[i], t);
+ if( fabs(lp.lam) > M_PI ) {
+ proj_errno_set(P, PJD_ERR_LAT_OR_LON_EXCEED_LIMIT);
+ lp = proj_coord_error().lp;
+ }
}
return lp;
}
@@ -155,4 +159,3 @@ PJ *PROJECTION(robin) {
return P;
}
-