From b5910bb07cf5db052705affe82a5a2267c732ce9 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sat, 29 Dec 2018 23:11:51 +0100 Subject: Operation filtering: do not remove Null transformation that may be useful --- src/iso19111/coordinateoperation.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src') 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:: -- cgit v1.2.3