diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-02-10 17:51:13 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2021-02-10 17:51:13 +0100 |
| commit | 836af9dcf12c3870e8a412c97f6968b69c4b3bad (patch) | |
| tree | 9365b058b3a1a3ac0148b13a9623460a9beff6ad /src/iso19111/crs.cpp | |
| parent | a7f6b407446b35a50b5601650aed993c706fe8ee (diff) | |
| download | PROJ-836af9dcf12c3870e8a412c97f6968b69c4b3bad.tar.gz PROJ-836af9dcf12c3870e8a412c97f6968b69c4b3bad.zip | |
Fix handling of +proj=ob_tran +o_proj=longlat combined with +over (fixes #2510)
Diffstat (limited to 'src/iso19111/crs.cpp')
| -rw-r--r-- | src/iso19111/crs.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/iso19111/crs.cpp b/src/iso19111/crs.cpp index 9d58f733..1ac60d88 100644 --- a/src/iso19111/crs.cpp +++ b/src/iso19111/crs.cpp @@ -5757,11 +5757,17 @@ void DerivedGeographicCRS::_exportToPROJString( { const auto &l_conv = derivingConversionRef(); const auto &methodName = l_conv->method()->nameStr(); - if (methodName == "PROJ ob_tran o_proj=longlat" || - methodName == "PROJ ob_tran o_proj=lonlat" || - methodName == "PROJ ob_tran o_proj=latlong" || - methodName == "PROJ ob_tran o_proj=latlon" || - ci_equal(methodName, + + for (const char *substr : + {"PROJ ob_tran o_proj=longlat", "PROJ ob_tran o_proj=lonlat", + "PROJ ob_tran o_proj=latlon", "PROJ ob_tran o_proj=latlong"}) { + if (starts_with(methodName, substr)) { + l_conv->_exportToPROJString(formatter); + return; + } + } + + if (ci_equal(methodName, PROJ_WKT2_NAME_METHOD_POLE_ROTATION_GRIB_CONVENTION)) { l_conv->_exportToPROJString(formatter); return; |
