diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2018-12-29 23:11:51 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2018-12-29 23:11:51 +0100 |
| commit | b5910bb07cf5db052705affe82a5a2267c732ce9 (patch) | |
| tree | 963bbd5cd88d3c5f8b0bc1de760b400491cf60fc /src/iso19111/coordinateoperation.cpp | |
| parent | 0ee297eaef992265e8ccbf2cd4f8bde9a217a9fe (diff) | |
| download | PROJ-b5910bb07cf5db052705affe82a5a2267c732ce9.tar.gz PROJ-b5910bb07cf5db052705affe82a5a2267c732ce9.zip | |
Operation filtering: do not remove Null transformation that may be useful
Diffstat (limited to 'src/iso19111/coordinateoperation.cpp')
| -rw-r--r-- | src/iso19111/coordinateoperation.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/src/iso19111/coordinateoperation.cpp b/src/iso19111/coordinateoperation.cpp index 6a3062c5..e9a9f434 100644 --- a/src/iso19111/coordinateoperation.cpp +++ b/src/iso19111/coordinateoperation.cpp @@ -9693,7 +9693,13 @@ struct FilterResults { bool extentContains = extent->contains(NN_NO_CHECK(areaOfInterest)); if (extentContains) { - hasOpThatContainsAreaOfInterest = true; + const auto &name = op->nameStr(); + if (name.find(NULL_GEOGRAPHIC_OFFSET) == + std::string::npos && + name.find(NULL_GEOCENTRIC_TRANSLATION) == + std::string::npos) { + hasOpThatContainsAreaOfInterest = true; + } } if (spatialCriterion == CoordinateOperationContext::SpatialCriterion:: @@ -9722,7 +9728,13 @@ struct FilterResults { !targetCRSExtent || extent->contains(NN_NO_CHECK(targetCRSExtent)); if (extentContainsSource && extentContainsTarget) { - hasOpThatContainsAreaOfInterest = true; + const auto &name = op->nameStr(); + if (name.find(NULL_GEOGRAPHIC_OFFSET) == + std::string::npos && + name.find(NULL_GEOCENTRIC_TRANSLATION) == + std::string::npos) { + hasOpThatContainsAreaOfInterest = true; + } } if (spatialCriterion == CoordinateOperationContext::SpatialCriterion:: |
