aboutsummaryrefslogtreecommitdiff
path: root/src/4D_api.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-01-22 14:36:16 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-01-22 14:36:16 +0100
commitb172b29fa0e1dac18270b41dde81df2759521c16 (patch)
treecab080da91a3f7733ed44cf952eb32d8f61f67a4 /src/4D_api.cpp
parentc048292f3b8e408e6a81700a74d9b44d532227ac (diff)
downloadPROJ-b172b29fa0e1dac18270b41dde81df2759521c16.tar.gz
PROJ-b172b29fa0e1dac18270b41dde81df2759521c16.zip
ISO19111 PROJ string parser: discard parameters not recognized by PROJ
Diffstat (limited to 'src/4D_api.cpp')
-rw-r--r--src/4D_api.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/4D_api.cpp b/src/4D_api.cpp
index 642fbb1f..9f88730b 100644
--- a/src/4D_api.cpp
+++ b/src/4D_api.cpp
@@ -456,6 +456,9 @@ Returns 1 on success, 0 on failure
/* Swap axes? */
p = pj_param_exists (P->params, "axis");
+ const bool disable_grid_presence_check = pj_param_exists (
+ P->params, "disable_grid_presence_check") != nullptr;
+
/* Don't axisswap if data are already in "enu" order */
if (p && (0!=strcmp ("enu", p->param))) {
char *def = static_cast<char*>(malloc (100+strlen(P->axis)));
@@ -471,7 +474,7 @@ Returns 1 on success, 0 on failure
/* Geoid grid(s) given? */
p = pj_param_exists (P->params, "geoidgrids");
- if (p && strlen (p->param) > strlen ("geoidgrids=")) {
+ if (!disable_grid_presence_check && p && strlen (p->param) > strlen ("geoidgrids=")) {
char *gridnames = p->param + strlen ("geoidgrids=");
char *def = static_cast<char*>(malloc (100+2*strlen(gridnames)));
if (nullptr==def)
@@ -487,7 +490,7 @@ Returns 1 on success, 0 on failure
/* Datum shift grid(s) given? */
p = pj_param_exists (P->params, "nadgrids");
- if (p && strlen (p->param) > strlen ("nadgrids=")) {
+ if (!disable_grid_presence_check && p && strlen (p->param) > strlen ("nadgrids=")) {
char *gridnames = p->param + strlen ("nadgrids=");
char *def = static_cast<char*>(malloc (100+2*strlen(gridnames)));
if (nullptr==def)