diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-09-18 13:13:47 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2021-09-18 13:13:47 +0200 |
| commit | 527e1eb983955a82b87003d6c369c931a3ca0e36 (patch) | |
| tree | a66543ba0e904341abbf0eed8165f5c940a4f21c /src/iso19111/crs.cpp | |
| parent | 438ead90d3502f1bf2cb6ed466e75661f33c9445 (diff) | |
| download | PROJ-527e1eb983955a82b87003d6c369c931a3ca0e36.tar.gz PROJ-527e1eb983955a82b87003d6c369c931a3ca0e36.zip | |
Optimize pipelines of planetary CRS (geocentric latitude, west-positive longitude)
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( |
