diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2022-02-14 20:40:25 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-02-14 20:40:25 +0100 |
| commit | d4deb549982a16c0b7b324739af781d2779f2324 (patch) | |
| tree | 0ac30dd48e217392fcf1b3937e025adaa81b9730 /src/iso19111/io.cpp | |
| parent | f67c82912fde55a58d565697263306c840b3efd4 (diff) | |
| parent | df9e2fe519d97139a8264057d96b034788e8e8e7 (diff) | |
| download | PROJ-d4deb549982a16c0b7b324739af781d2779f2324.tar.gz PROJ-d4deb549982a16c0b7b324739af781d2779f2324.zip | |
Merge pull request #3055 from rouault/over_fix
Better deal with importing strings like '+init=epsg:XXXX +over' (refs MapServer/MapServer#6478)
Diffstat (limited to 'src/iso19111/io.cpp')
| -rw-r--r-- | src/iso19111/io.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp index a7fedb91..f047ef3e 100644 --- a/src/iso19111/io.cpp +++ b/src/iso19111/io.cpp @@ -10489,9 +10489,12 @@ PROJStringParser::createFromPROJString(const std::string &projString) { auto crs = dynamic_cast<CRS *>(obj.get()); bool hasSignificantParamValues = false; + bool hasOver = false; for (const auto &kv : d->steps_[0].paramValues) { - if (!((kv.key == "type" && kv.value == "crs") || - kv.key == "wktext" || kv.key == "no_defs")) { + if (kv.key == "over") { + hasOver = true; + } else if (!((kv.key == "type" && kv.value == "crs") || + kv.key == "wktext" || kv.key == "no_defs")) { hasSignificantParamValues = true; break; } @@ -10502,6 +10505,9 @@ PROJStringParser::createFromPROJString(const std::string &projString) { properties.set(IdentifiedObject::NAME_KEY, d->title_.empty() ? crs->nameStr() : d->title_); + if (hasOver) { + properties.set("OVER", true); + } const auto &extent = getExtent(crs); if (extent) { properties.set( |
