diff options
Diffstat (limited to 'src/io.cpp')
| -rw-r--r-- | src/io.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -61,6 +61,7 @@ #include "proj_constants.h" #include "pj_wkt1_parser.h" +#include "pj_wkt2_parser.h" // PROJ include order is sensitive // clang-format off @@ -1782,6 +1783,12 @@ UnitOfMeasure WKTParser::Private::buildUnitInSubNode(const WKTNodeNNPtr &node, return buildUnit(unitNode, UnitOfMeasure::Type::TIME); } } + { + auto &unitNode = nodeP->lookForChild(WKTConstants::TEMPORALQUANTITY); + if (!isNull(unitNode)) { + return buildUnit(unitNode, UnitOfMeasure::Type::TIME); + } + } { auto &unitNode = nodeP->lookForChild(WKTConstants::PARAMETRICUNIT); @@ -4366,6 +4373,12 @@ BaseObjectNNPtr WKTParser::createFromWKT(const std::string &wkt) { if (!errorMsg.empty()) { d->emitRecoverableAssertion(errorMsg); } + } else if (dialect == WKTGuessedDialect::WKT2_2015 || + dialect == WKTGuessedDialect::WKT2_2018) { + auto errorMsg = pj_wkt2_parse(wkt); + if (!errorMsg.empty()) { + d->emitRecoverableAssertion(errorMsg); + } } return obj; |
