diff options
Diffstat (limited to 'src/iso19111/io.cpp')
| -rw-r--r-- | src/iso19111/io.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp index 6a1d7e32..8bfb4395 100644 --- a/src/iso19111/io.cpp +++ b/src/iso19111/io.cpp @@ -3839,6 +3839,12 @@ WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node) { ThrowNotExpectedCSType("Cartesian"); } + if (cartesianCS->axisList().size() == 3 && + baseGeodCRS->coordinateSystem()->axisList().size() == 2) { + baseGeodCRS = NN_NO_CHECK(util::nn_dynamic_pointer_cast<GeodeticCRS>( + baseGeodCRS->promoteTo3D(std::string(), dbContext_))); + } + addExtensionProj4ToProp(nodeP, props); return ProjectedCRS::create(props, baseGeodCRS, conversion, |
