From db10e86c2c4c4606ebf90961483d630ea81f748b Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 10 Jun 2021 19:36:16 +0200 Subject: BoundCRS::identify(): avoid incompatible transformation for WKT1 / TOWGS84 export (fixes OSGeo/gdal#3958) --- src/iso19111/crs.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/iso19111/crs.cpp') diff --git a/src/iso19111/crs.cpp b/src/iso19111/crs.cpp index 51317c18..b0f8a30f 100644 --- a/src/iso19111/crs.cpp +++ b/src/iso19111/crs.cpp @@ -46,6 +46,8 @@ #include "proj/internal/internal.hpp" #include "proj/internal/io_internal.hpp" +#include "operation/oputils.hpp" + #include "proj_constants.h" #include "proj_json_streaming_writer.hpp" @@ -5519,7 +5521,13 @@ BoundCRS::_identify(const io::AuthorityFactoryPtr &authorityFactory) const { auto opNormalized = op->normalizeForVisualization(); std::string opTransfPROJString; bool opTransfPROJStringValid = false; - if (op->nameStr().find("Ballpark geographic") == 0) { + const auto &opName = op->nameStr(); + if (starts_with(opName, + osgeo::proj::operation:: + BALLPARK_GEOCENTRIC_TRANSLATION) || + starts_with( + opName, + osgeo::proj::operation::NULL_GEOGRAPHIC_OFFSET)) { if (refIsNullTransform) { res.emplace_back(create(candidateBaseCRS, d->hubCRS_, -- cgit v1.2.3