aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/crs.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-03-25 11:44:05 +0000
committerEven Rouault <even.rouault@spatialys.com>2019-03-25 12:05:40 +0000
commit78fc3263edb399e32f62f06b68dcaf6191fd515f (patch)
treeba3d8b5ee32dcfa46cc3fe7403e11fca0718788e /src/iso19111/crs.cpp
parent6b99f76ccd422691fd2618535256818a4df719a4 (diff)
downloadPROJ-78fc3263edb399e32f62f06b68dcaf6191fd515f.tar.gz
PROJ-78fc3263edb399e32f62f06b68dcaf6191fd515f.zip
WKT2_2018: always export ID in base crs node, even if there is one on upper node
This is a particular logic allowed by paragraph 7.3.3 Identifier of OGC 18-010r6
Diffstat (limited to 'src/iso19111/crs.cpp')
-rw-r--r--src/iso19111/crs.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/iso19111/crs.cpp b/src/iso19111/crs.cpp
index 57d29828..4941ce4f 100644
--- a/src/iso19111/crs.cpp
+++ b/src/iso19111/crs.cpp
@@ -2433,7 +2433,8 @@ void DerivedCRS::baseExportToWKT(io::WKTFormatter *formatter,
!l_baseCRS->identifiers().empty());
formatter->addQuotedString(l_baseCRS->nameStr());
l_baseCRS->exportDatumOrDatumEnsembleToWkt(formatter);
- if (formatter->use2018Keywords() && formatter->outputId()) {
+ if (formatter->use2018Keywords() &&
+ !(formatter->idOnTopLevelOnly() && formatter->topLevelHasId())) {
l_baseCRS->formatID(formatter);
}
formatter->endNode();
@@ -2674,7 +2675,8 @@ void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const {
geodeticCRSAxisList[0]->unit()._exportToWKT(formatter);
}
l_baseCRS->primeMeridian()->_exportToWKT(formatter);
- if (formatter->use2018Keywords() && formatter->outputId()) {
+ if (formatter->use2018Keywords() &&
+ !(formatter->idOnTopLevelOnly() && formatter->topLevelHasId())) {
l_baseCRS->formatID(formatter);
}
formatter->endNode();