aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2018-12-22 16:53:11 +0100
committerEven Rouault <even.rouault@spatialys.com>2018-12-22 16:53:11 +0100
commit14481b2f63ec8830ed23b18711637ad8066661f5 (patch)
treed0806f1a9ddb7aa587ccd96bf7bd5b6f6f7dc875
parent0d706c2c8b703c0720f8fce120542e6f650ac6d7 (diff)
downloadPROJ-14481b2f63ec8830ed23b18711637ad8066661f5.tar.gz
PROJ-14481b2f63ec8830ed23b18711637ad8066661f5.zip
exportToWKT1 of projected CRS: do not output AXIS of base CRS even when OutputAxisRule::YES
-rw-r--r--src/crs.cpp3
-rw-r--r--test/unit/test_crs.cpp5
2 files changed, 8 insertions, 0 deletions
diff --git a/src/crs.cpp b/src/crs.cpp
index 55539e18..a05470ff 100644
--- a/src/crs.cpp
+++ b/src/crs.cpp
@@ -2686,7 +2686,10 @@ void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const {
l_baseCRS->primeMeridian()->_exportToWKT(formatter);
formatter->endNode();
} else {
+ const auto oldAxisOutputRule = formatter->outputAxis();
+ formatter->setOutputAxis(io::WKTFormatter::OutputAxisRule::NO);
l_baseCRS->_exportToWKT(formatter);
+ formatter->setOutputAxis(oldAxisOutputRule);
}
formatter->pushAxisLinearUnit(
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp
index f221038a..6eb0602e 100644
--- a/test/unit/test_crs.cpp
+++ b/test/unit/test_crs.cpp
@@ -1702,6 +1702,11 @@ TEST(crs, projectedCRS_as_WKT1_GDAL) {
crs->exportToWKT(
WKTFormatter::create(WKTFormatter::Convention::WKT1_GDAL).get()),
expected);
+
+ EXPECT_EQ(crs->exportToWKT(
+ &(WKTFormatter::create(WKTFormatter::Convention::WKT1_GDAL)
+ ->setOutputAxis(WKTFormatter::OutputAxisRule::YES))),
+ expected);
}
// ---------------------------------------------------------------------------