aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/coordinateoperation.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-05-14 17:04:26 +0200
committerEven Rouault <even.rouault@spatialys.com>2020-05-14 18:55:41 +0200
commit69ee50ca36316dd5429b212e7217def4e9ee1dcc (patch)
treec86b225f69fa39cff10255ebc3330388707cef62 /src/iso19111/coordinateoperation.cpp
parent70424a9a17dbfae28dac287831a06f3aee8d2725 (diff)
downloadPROJ-69ee50ca36316dd5429b212e7217def4e9ee1dcc.tar.gz
PROJ-69ee50ca36316dd5429b212e7217def4e9ee1dcc.zip
Grid listing from a CoordinateOperation: take into account several grid names separated by comma (e.g. '+grids=foo1.gtx,foo2.gtx')
Diffstat (limited to 'src/iso19111/coordinateoperation.cpp')
-rw-r--r--src/iso19111/coordinateoperation.cpp20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/iso19111/coordinateoperation.cpp b/src/iso19111/coordinateoperation.cpp
index 0f5e4c4d..6e62dbb5 100644
--- a/src/iso19111/coordinateoperation.cpp
+++ b/src/iso19111/coordinateoperation.cpp
@@ -2043,15 +2043,19 @@ SingleOperation::gridsNeeded(const io::DatabaseContextPtr &databaseContext,
if (opParamvalue) {
const auto &value = opParamvalue->parameterValue();
if (value->type() == ParameterValue::Type::FILENAME) {
- GridDescription desc;
- desc.shortName = value->valueFile();
- if (databaseContext) {
- databaseContext->lookForGridInfo(
- desc.shortName, considerKnownGridsAsAvailable,
- desc.fullName, desc.packageName, desc.url,
- desc.directDownload, desc.openLicense, desc.available);
+ const auto gridNames = split(value->valueFile(), ",");
+ for (const auto &gridName : gridNames) {
+ GridDescription desc;
+ desc.shortName = gridName;
+ if (databaseContext) {
+ databaseContext->lookForGridInfo(
+ desc.shortName, considerKnownGridsAsAvailable,
+ desc.fullName, desc.packageName, desc.url,
+ desc.directDownload, desc.openLicense,
+ desc.available);
+ }
+ res.insert(desc);
}
- res.insert(desc);
}
}
}