aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/coordinateoperation.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-29 23:11:51 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-29 23:11:51 +0100
commitb5910bb07cf5db052705affe82a5a2267c732ce9 (patch)
tree963bbd5cd88d3c5f8b0bc1de760b400491cf60fc /src/iso19111/coordinateoperation.cpp
parent0ee297eaef992265e8ccbf2cd4f8bde9a217a9fe (diff)
downloadPROJ-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.cpp16
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::