aboutsummaryrefslogtreecommitdiff
path: root/src/iso19111/io.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/iso19111/io.cpp')
-rw-r--r--src/iso19111/io.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp
index 9d9fa4a3..ebec053a 100644
--- a/src/iso19111/io.cpp
+++ b/src/iso19111/io.cpp
@@ -3944,9 +3944,18 @@ VerticalReferenceFrameNNPtr WKTParser::Private::buildVerticalReferenceFrame(
modelName);
}
- // WKT1 VERT_DATUM has a datum type after the datum name that we ignore.
- return VerticalReferenceFrame::create(buildProperties(node),
- getAnchor(node));
+ // WKT1 VERT_DATUM has a datum type after the datum name
+ const auto *nodeP = node->GP();
+ const std::string &name(nodeP->value());
+ auto &props = buildProperties(node);
+ if (ci_equal(name, WKTConstants::VERT_DATUM)) {
+ const auto &children = nodeP->children();
+ if (children.size() >= 2) {
+ props.set("VERT_DATUM_TYPE", children[1]->GP()->value());
+ }
+ }
+
+ return VerticalReferenceFrame::create(props, getAnchor(node));
}
// ---------------------------------------------------------------------------