diff options
Diffstat (limited to 'src/iso19111/crs.cpp')
| -rw-r--r-- | src/iso19111/crs.cpp | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/iso19111/crs.cpp b/src/iso19111/crs.cpp index 598cedad..a12c6aa0 100644 --- a/src/iso19111/crs.cpp +++ b/src/iso19111/crs.cpp @@ -2073,8 +2073,16 @@ void GeodeticCRS::_exportToPROJString( addGeocentricUnitConversionIntoPROJString(formatter); } else if (isSphericalPlanetocentric()) { if (!formatter->getCRSExport()) { - formatter->addStep("geoc"); - addDatumInfoToPROJString(formatter); + + if (!formatter->omitProjLongLatIfPossible() || + primeMeridian()->longitude().getSIValue() != 0.0 || + !ellipsoid()->isSphere() || + !formatter->getTOWGS84Parameters().empty() || + !formatter->getHDatumExtension().empty()) { + formatter->addStep("geoc"); + addDatumInfoToPROJString(formatter); + } + addAngularUnitConvertAndAxisSwap(formatter); } else { io::FormattingException::Throw( |
