diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-01-22 14:36:16 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-01-22 14:36:16 +0100 |
| commit | b172b29fa0e1dac18270b41dde81df2759521c16 (patch) | |
| tree | cab080da91a3f7733ed44cf952eb32d8f61f67a4 /src/4D_api.cpp | |
| parent | c048292f3b8e408e6a81700a74d9b44d532227ac (diff) | |
| download | PROJ-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.cpp | 7 |
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) |
