diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-09-04 15:46:13 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-09-08 11:11:03 +0200 |
| commit | 024f63731283c0026ad5b4dea4084bc48bbcc6f7 (patch) | |
| tree | 7264a3e7c9f5388a537d0d4dbb31bbeceea720b0 /src/iso19111 | |
| parent | faf7ec2d7f5d489bfd187f1a3408f0f09f94282f (diff) | |
| download | PROJ-024f63731283c0026ad5b4dea4084bc48bbcc6f7.tar.gz PROJ-024f63731283c0026ad5b4dea4084bc48bbcc6f7.zip | |
Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1518)
- C API: PJ_GUESSED_WKT2_2019 is added, PJ_GUESSED_WKT2_2018 aliased to it
- C API: PJ_WKT2_2019[_SIMPLIFIED] is added, PJ_WKT2_2018[_SIMPLIFIED] alias to it
- C++ API: similarly for WKTFormatter::Convention::WKT2_2019[_SIMPLIFIED]
Those above changes should be fully backward API and ABI compatible.
projinfo changes:
- accept WKT2_2019 as value for -o switch. WKT2_2018 is still accepted (undocumented)
- output now uses 'WKT2_2019 string:', so might break scripts that would rely on that.
Other internal code references to WKT2_2018 changes to WKT2_2019, included
in tests.
Diffstat (limited to 'src/iso19111')
| -rw-r--r-- | src/iso19111/c_api.cpp | 12 | ||||
| -rw-r--r-- | src/iso19111/common.cpp | 4 | ||||
| -rw-r--r-- | src/iso19111/coordinateoperation.cpp | 16 | ||||
| -rw-r--r-- | src/iso19111/coordinatesystem.cpp | 14 | ||||
| -rw-r--r-- | src/iso19111/crs.cpp | 34 | ||||
| -rw-r--r-- | src/iso19111/datum.cpp | 10 | ||||
| -rw-r--r-- | src/iso19111/io.cpp | 44 |
7 files changed, 67 insertions, 67 deletions
diff --git a/src/iso19111/c_api.cpp b/src/iso19111/c_api.cpp index 312daeab..53cfa31e 100644 --- a/src/iso19111/c_api.cpp +++ b/src/iso19111/c_api.cpp @@ -360,8 +360,8 @@ PJ_GUESSED_WKT_DIALECT proj_context_guess_wkt_dialect(PJ_CONTEXT *ctx, (void)ctx; assert(wkt); switch (WKTParser().guessDialect(wkt)) { - case WKTParser::WKTGuessedDialect::WKT2_2018: - return PJ_GUESSED_WKT2_2018; + case WKTParser::WKTGuessedDialect::WKT2_2019: + return PJ_GUESSED_WKT2_2019; case WKTParser::WKTGuessedDialect::WKT2_2015: return PJ_GUESSED_WKT2_2015; case WKTParser::WKTGuessedDialect::WKT1_GDAL: @@ -1308,10 +1308,10 @@ const char *proj_as_wkt(PJ_CONTEXT *ctx, const PJ *obj, PJ_WKT_TYPE type, return WKTFormatter::Convention::WKT2_2015; case PJ_WKT2_2015_SIMPLIFIED: return WKTFormatter::Convention::WKT2_2015_SIMPLIFIED; - case PJ_WKT2_2018: - return WKTFormatter::Convention::WKT2_2018; - case PJ_WKT2_2018_SIMPLIFIED: - return WKTFormatter::Convention::WKT2_2018_SIMPLIFIED; + case PJ_WKT2_2019: + return WKTFormatter::Convention::WKT2_2019; + case PJ_WKT2_2019_SIMPLIFIED: + return WKTFormatter::Convention::WKT2_2019_SIMPLIFIED; case PJ_WKT1_GDAL: return WKTFormatter::Convention::WKT1_GDAL; case PJ_WKT1_ESRI: diff --git a/src/iso19111/common.cpp b/src/iso19111/common.cpp index f375ea0a..d7960ee9 100644 --- a/src/iso19111/common.cpp +++ b/src/iso19111/common.cpp @@ -989,7 +989,7 @@ void ObjectDomain::_exportToWKT(WKTFormatter *formatter) const { formatter->startNode(WKTConstants::SCOPE, false); formatter->addQuotedString(*(d->scope_)); formatter->endNode(); - } else if (formatter->use2018Keywords()) { + } else if (formatter->use2019Keywords()) { formatter->startNode(WKTConstants::SCOPE, false); formatter->addQuotedString("unknown"); formatter->endNode(); @@ -1192,7 +1192,7 @@ void ObjectUsage::baseExportToWKT(WKTFormatter *formatter) const { if (isWKT2 && formatter->outputUsage()) { auto l_domains = domains(); if (!l_domains.empty()) { - if (formatter->use2018Keywords()) { + if (formatter->use2019Keywords()) { for (const auto &domain : l_domains) { formatter->startNode(WKTConstants::USAGE, false); domain->_exportToWKT(formatter); diff --git a/src/iso19111/coordinateoperation.cpp b/src/iso19111/coordinateoperation.cpp index e9524163..01707a90 100644 --- a/src/iso19111/coordinateoperation.cpp +++ b/src/iso19111/coordinateoperation.cpp @@ -7943,7 +7943,7 @@ static void exportSourceCRSAndTargetCRSToWKT(const CoordinateOperation *co, assert(l_targetCRS); const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2; const bool canExportCRSId = - (isWKT2 && formatter->use2018Keywords() && + (isWKT2 && formatter->use2019Keywords() && !(formatter->idOnTopLevelOnly() && formatter->topLevelHasId())); const bool hasDomains = !co->domains().empty(); @@ -8000,7 +8000,7 @@ void SingleOperation::exportTransformationToWKT( formatter->addQuotedString(nameStr()); - if (formatter->use2018Keywords()) { + if (formatter->use2019Keywords()) { const auto &version = operationVersion(); if (version.has_value()) { formatter->startNode(io::WKTConstants::VERSION, false); @@ -9405,13 +9405,13 @@ ConcatenatedOperationNNPtr ConcatenatedOperation::create( #ifdef DEBUG_CONCATENATED_OPERATION { auto f(io::WKTFormatter::create( - io::WKTFormatter::Convention::WKT2_2018)); + io::WKTFormatter::Convention::WKT2_2019)); std::cerr << "Source CRS of step " << i << ":" << std::endl; std::cerr << l_sourceCRS->exportToWKT(f.get()) << std::endl; } { auto f(io::WKTFormatter::create( - io::WKTFormatter::Convention::WKT2_2018)); + io::WKTFormatter::Convention::WKT2_2019)); std::cerr << "Target CRS of step " << i - 1 << ":" << std::endl; std::cerr << lastTargetCRS->exportToWKT(f.get()) @@ -9434,7 +9434,7 @@ ConcatenatedOperationNNPtr ConcatenatedOperation::create( #ifdef DEBUG_CONCATENATED_OPERATION { auto f( - io::WKTFormatter::create(io::WKTFormatter::Convention::WKT2_2018)); + io::WKTFormatter::create(io::WKTFormatter::Convention::WKT2_2019)); std::cerr << "ConcatenatedOperation::create()" << std::endl; std::cerr << op->exportToWKT(f.get()) << std::endl; } @@ -9697,16 +9697,16 @@ CoordinateOperationNNPtr ConcatenatedOperation::inverse() const { //! @cond Doxygen_Suppress void ConcatenatedOperation::_exportToWKT(io::WKTFormatter *formatter) const { const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2; - if (!isWKT2 || !formatter->use2018Keywords()) { + if (!isWKT2 || !formatter->use2019Keywords()) { throw io::FormattingException( - "Transformation can only be exported to WKT2:2018"); + "Transformation can only be exported to WKT2:2019"); } formatter->startNode(io::WKTConstants::CONCATENATEDOPERATION, !identifiers().empty()); formatter->addQuotedString(nameStr()); - if (isWKT2 && formatter->use2018Keywords()) { + if (isWKT2 && formatter->use2019Keywords()) { const auto &version = operationVersion(); if (version.has_value()) { formatter->startNode(io::WKTConstants::VERSION, false); diff --git a/src/iso19111/coordinatesystem.cpp b/src/iso19111/coordinatesystem.cpp index 5a852b0d..c58fcaaa 100644 --- a/src/iso19111/coordinatesystem.cpp +++ b/src/iso19111/coordinatesystem.cpp @@ -519,7 +519,7 @@ void CoordinateSystem::_exportToWKT( const auto &l_axisList = axisList(); if (isWKT2) { formatter->startNode(io::WKTConstants::CS_, !identifiers().empty()); - formatter->add(getWKT2Type(formatter->use2018Keywords())); + formatter->add(getWKT2Type(formatter->use2019Keywords())); formatter->add(static_cast<int>(l_axisList.size())); formatter->endNode(); formatter->startNode(std::string(), @@ -1268,8 +1268,8 @@ DateTimeTemporalCS::create(const util::PropertyMap &properties, // --------------------------------------------------------------------------- -std::string DateTimeTemporalCS::getWKT2Type(bool use2018Keywords) const { - return use2018Keywords ? "TemporalDateTime" : "temporal"; +std::string DateTimeTemporalCS::getWKT2Type(bool use2019Keywords) const { + return use2019Keywords ? "TemporalDateTime" : "temporal"; } // --------------------------------------------------------------------------- @@ -1301,8 +1301,8 @@ TemporalCountCS::create(const util::PropertyMap &properties, // --------------------------------------------------------------------------- -std::string TemporalCountCS::getWKT2Type(bool use2018Keywords) const { - return use2018Keywords ? "TemporalCount" : "temporal"; +std::string TemporalCountCS::getWKT2Type(bool use2019Keywords) const { + return use2019Keywords ? "TemporalCount" : "temporal"; } // --------------------------------------------------------------------------- @@ -1334,8 +1334,8 @@ TemporalMeasureCS::create(const util::PropertyMap &properties, // --------------------------------------------------------------------------- -std::string TemporalMeasureCS::getWKT2Type(bool use2018Keywords) const { - return use2018Keywords ? "TemporalMeasure" : "temporal"; +std::string TemporalMeasureCS::getWKT2Type(bool use2019Keywords) const { + return use2019Keywords ? "TemporalMeasure" : "temporal"; } } // namespace cs diff --git a/src/iso19111/crs.cpp b/src/iso19111/crs.cpp index 60b316f1..07f4eb69 100644 --- a/src/iso19111/crs.cpp +++ b/src/iso19111/crs.cpp @@ -1148,7 +1148,7 @@ void GeodeticCRS::_exportToWKT(io::WKTFormatter *formatter) const { const bool isGeographic = dynamic_cast<const GeographicCRS *>(this) != nullptr; formatter->startNode(isWKT2 - ? ((formatter->use2018Keywords() && isGeographic) + ? ((formatter->use2019Keywords() && isGeographic) ? io::WKTConstants::GEOGCRS : io::WKTConstants::GEODCRS) : isGeocentric() ? io::WKTConstants::GEOCCS @@ -2698,11 +2698,11 @@ void DerivedCRS::baseExportToWKT(io::WKTFormatter *formatter, formatter->addQuotedString(nameStr()); const auto &l_baseCRS = d->baseCRS_; - formatter->startNode(baseKeyword, formatter->use2018Keywords() && + formatter->startNode(baseKeyword, formatter->use2019Keywords() && !l_baseCRS->identifiers().empty()); formatter->addQuotedString(l_baseCRS->nameStr()); l_baseCRS->exportDatumOrDatumEnsembleToWkt(formatter); - if (formatter->use2018Keywords() && + if (formatter->use2019Keywords() && !(formatter->idOnTopLevelOnly() && formatter->topLevelHasId())) { l_baseCRS->formatID(formatter); } @@ -2883,9 +2883,9 @@ void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const { const auto &l_coordinateSystem = d->coordinateSystem(); const auto &axisList = l_coordinateSystem->axisList(); - if (axisList.size() == 3 && !(isWKT2 && formatter->use2018Keywords())) { + if (axisList.size() == 3 && !(isWKT2 && formatter->use2019Keywords())) { io::FormattingException::Throw( - "Projected 3D CRS can only be exported since WKT2:2018"); + "Projected 3D CRS can only be exported since WKT2:2019"); } const auto exportAxis = [&l_coordinateSystem, &axisList, &formatter]() { @@ -2962,11 +2962,11 @@ void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const { if (isWKT2) { formatter->startNode( - (formatter->use2018Keywords() && + (formatter->use2019Keywords() && dynamic_cast<const GeographicCRS *>(l_baseCRS.get())) ? io::WKTConstants::BASEGEOGCRS : io::WKTConstants::BASEGEODCRS, - formatter->use2018Keywords() && !l_baseCRS->identifiers().empty()); + formatter->use2019Keywords() && !l_baseCRS->identifiers().empty()); formatter->addQuotedString(l_baseCRS->nameStr()); l_baseCRS->exportDatumOrDatumEnsembleToWkt(formatter); // insert ellipsoidal cs unit when the units of the map @@ -2977,7 +2977,7 @@ void ProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const { geodeticCRSAxisList[0]->unit()._exportToWKT(formatter); } l_baseCRS->primeMeridian()->_exportToWKT(formatter); - if (formatter->use2018Keywords() && + if (formatter->use2019Keywords() && !(formatter->idOnTopLevelOnly() && formatter->topLevelHasId())) { l_baseCRS->formatID(formatter); } @@ -4422,7 +4422,7 @@ void DerivedGeodeticCRS::_exportToWKT(io::WKTFormatter *formatter) const { formatter->addQuotedString(nameStr()); auto l_baseCRS = baseCRS(); - formatter->startNode((formatter->use2018Keywords() && + formatter->startNode((formatter->use2019Keywords() && dynamic_cast<const GeographicCRS *>(l_baseCRS.get())) ? io::WKTConstants::BASEGEOGCRS : io::WKTConstants::BASEGEODCRS, @@ -4560,14 +4560,14 @@ void DerivedGeographicCRS::_exportToWKT(io::WKTFormatter *formatter) const { io::FormattingException::Throw( "DerivedGeographicCRS can only be exported to WKT2"); } - formatter->startNode(formatter->use2018Keywords() + formatter->startNode(formatter->use2019Keywords() ? io::WKTConstants::GEOGCRS : io::WKTConstants::GEODCRS, !identifiers().empty()); formatter->addQuotedString(nameStr()); auto l_baseCRS = baseCRS(); - formatter->startNode((formatter->use2018Keywords() && + formatter->startNode((formatter->use2019Keywords() && dynamic_cast<const GeographicCRS *>(l_baseCRS.get())) ? io::WKTConstants::BASEGEOGCRS : io::WKTConstants::BASEGEODCRS, @@ -4693,9 +4693,9 @@ DerivedProjectedCRSNNPtr DerivedProjectedCRS::create( //! @cond Doxygen_Suppress void DerivedProjectedCRS::_exportToWKT(io::WKTFormatter *formatter) const { const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2; - if (!isWKT2 || !formatter->use2018Keywords()) { + if (!isWKT2 || !formatter->use2019Keywords()) { io::FormattingException::Throw( - "DerivedProjectedCRS can only be exported to WKT2:2018"); + "DerivedProjectedCRS can only be exported to WKT2:2019"); } formatter->startNode(io::WKTConstants::DERIVEDPROJCRS, !identifiers().empty()); @@ -5348,12 +5348,12 @@ const char *DerivedCRSTemplate<DerivedCRSTraits>::className() const { static void DerivedCRSTemplateCheckExportToWKT(io::WKTFormatter *formatter, const std::string &crsName, - bool wkt2_2018_only) { + bool wkt2_2019_only) { const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2; - if (!isWKT2 || (wkt2_2018_only && !formatter->use2018Keywords())) { + if (!isWKT2 || (wkt2_2019_only && !formatter->use2019Keywords())) { io::FormattingException::Throw(crsName + " can only be exported to WKT2" + - (wkt2_2018_only ? ":2018" : "")); + (wkt2_2019_only ? ":2019" : "")); } } @@ -5363,7 +5363,7 @@ template <class DerivedCRSTraits> void DerivedCRSTemplate<DerivedCRSTraits>::_exportToWKT( io::WKTFormatter *formatter) const { DerivedCRSTemplateCheckExportToWKT(formatter, DerivedCRSTraits::CRSName(), - DerivedCRSTraits::wkt2_2018_only); + DerivedCRSTraits::wkt2_2019_only); baseExportToWKT(formatter, DerivedCRSTraits::WKTKeyword(), DerivedCRSTraits::WKTBaseKeyword()); } diff --git a/src/iso19111/datum.cpp b/src/iso19111/datum.cpp index 65905ca9..fffdc022 100644 --- a/src/iso19111/datum.cpp +++ b/src/iso19111/datum.cpp @@ -1416,7 +1416,7 @@ void DynamicGeodeticReferenceFrame::_exportToWKT( io::WKTFormatter *formatter) const // throw(FormattingException) { const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2; - if (isWKT2 && formatter->use2018Keywords()) { + if (isWKT2 && formatter->use2019Keywords()) { formatter->startNode(io::WKTConstants::DYNAMIC, false); formatter->startNode(io::WKTConstants::FRAMEEPOCH, false); formatter->add( @@ -1530,9 +1530,9 @@ void DatumEnsemble::_exportToWKT( io::WKTFormatter *formatter) const // throw(FormattingException) { const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2; - if (!isWKT2 || !formatter->use2018Keywords()) { + if (!isWKT2 || !formatter->use2019Keywords()) { throw io::FormattingException( - "DatumEnsemble can only be exported to WKT2:2018"); + "DatumEnsemble can only be exported to WKT2:2019"); } auto l_datums = datums(); @@ -1941,7 +1941,7 @@ void DynamicVerticalReferenceFrame::_exportToWKT( io::WKTFormatter *formatter) const // throw(FormattingException) { const bool isWKT2 = formatter->version() == io::WKTFormatter::Version::WKT2; - if (isWKT2 && formatter->use2018Keywords()) { + if (isWKT2 && formatter->use2019Keywords()) { formatter->startNode(io::WKTConstants::DYNAMIC, false); formatter->startNode(io::WKTConstants::FRAMEEPOCH, false); formatter->add( @@ -2067,7 +2067,7 @@ void TemporalDatum::_exportToWKT( } formatter->startNode(io::WKTConstants::TDATUM, !identifiers().empty()); formatter->addQuotedString(nameStr()); - if (formatter->use2018Keywords()) { + if (formatter->use2019Keywords()) { formatter->startNode(io::WKTConstants::CALENDAR, false); formatter->addQuotedString(calendar()); formatter->endNode(); diff --git a/src/iso19111/io.cpp b/src/iso19111/io.cpp index 4d8fe285..097bc5b8 100644 --- a/src/iso19111/io.cpp +++ b/src/iso19111/io.cpp @@ -138,7 +138,7 @@ struct WKTFormatter::Private { bool forceUNITKeyword_ = false; bool outputCSUnitOnlyOnceIfSame_ = false; bool primeMeridianInDegree_ = false; - bool use2018Keywords_ = false; + bool use2019Keywords_ = false; bool useESRIDialect_ = false; OutputAxisRule outputAxis_ = WKTFormatter::OutputAxisRule::YES; }; @@ -299,16 +299,16 @@ WKTFormatter::WKTFormatter(Convention convention) : d(internal::make_unique<Private>()) { d->params_.convention_ = convention; switch (convention) { - case Convention::WKT2_2018: - d->params_.use2018Keywords_ = true; + case Convention::WKT2_2019: + d->params_.use2019Keywords_ = true; PROJ_FALLTHROUGH case Convention::WKT2: d->params_.version_ = WKTFormatter::Version::WKT2; d->params_.outputAxisOrder_ = true; break; - case Convention::WKT2_2018_SIMPLIFIED: - d->params_.use2018Keywords_ = true; + case Convention::WKT2_2019_SIMPLIFIED: + d->params_.use2019Keywords_ = true; PROJ_FALLTHROUGH case Convention::WKT2_SIMPLIFIED: d->params_.version_ = WKTFormatter::Version::WKT2; @@ -689,8 +689,8 @@ WKTFormatter::Version WKTFormatter::version() const { // --------------------------------------------------------------------------- -bool WKTFormatter::use2018Keywords() const { - return d->params_.use2018Keywords_; +bool WKTFormatter::use2019Keywords() const { + return d->params_.use2019Keywords_; } // --------------------------------------------------------------------------- @@ -2569,7 +2569,7 @@ WKTParser::Private::buildCS(const WKTNodeNNPtr &node, /* maybe null */ return SphericalCS::create(csMap, axisList[0], axisList[1], axisList[2]); } - } else if (ci_equal(csType, "ordinal")) { // WKT2-2018 + } else if (ci_equal(csType, "ordinal")) { // WKT2-2019 return OrdinalCS::create(csMap, axisList); } else if (ci_equal(csType, "parametric")) { if (axisCount == 1) { @@ -2582,15 +2582,15 @@ WKTParser::Private::buildCS(const WKTNodeNNPtr &node, /* maybe null */ axisList[0]); // FIXME: there are 3 possible subtypes of // TemporalCS } - } else if (ci_equal(csType, "TemporalDateTime")) { // WKT2-2018 + } else if (ci_equal(csType, "TemporalDateTime")) { // WKT2-2019 if (axisCount == 1) { return DateTimeTemporalCS::create(csMap, axisList[0]); } - } else if (ci_equal(csType, "TemporalCount")) { // WKT2-2018 + } else if (ci_equal(csType, "TemporalCount")) { // WKT2-2019 if (axisCount == 1) { return TemporalCountCS::create(csMap, axisList[0]); } - } else if (ci_equal(csType, "TemporalMeasure")) { // WKT2-2018 + } else if (ci_equal(csType, "TemporalMeasure")) { // WKT2-2019 if (axisCount == 1) { return TemporalMeasureCS::create(csMap, axisList[0]); } @@ -2729,7 +2729,7 @@ WKTParser::Private::buildGeodeticCRS(const WKTNodeNNPtr &node) { } else if (ci_equal(nodeName, WKTConstants::GEOGCRS) || ci_equal(nodeName, WKTConstants::GEOGRAPHICCRS) || ci_equal(nodeName, WKTConstants::BASEGEOGCRS)) { - // This is a WKT2-2018 GeographicCRS. An ellipsoidal CS is expected + // This is a WKT2-2019 GeographicCRS. An ellipsoidal CS is expected throw ParsingException(concat("ellipsoidal CS expected, but found ", cs->getWKT2Type(true))); } @@ -2795,7 +2795,7 @@ CRSNNPtr WKTParser::Private::buildDerivedGeodeticCRS(const WKTNodeNNPtr &node) { derivingConversion, NN_NO_CHECK(ellipsoidalCS)); } else if (ci_equal(nodeP->value(), WKTConstants::GEOGCRS)) { - // This is a WKT2-2018 GeographicCRS. An ellipsoidal CS is expected + // This is a WKT2-2019 GeographicCRS. An ellipsoidal CS is expected throw ParsingException(concat("ellipsoidal CS expected, but found ", cs->getWKT2Type(true))); } @@ -4173,8 +4173,8 @@ WKTParser::Private::buildDerivedProjectedCRS(const WKTNodeNNPtr &node) { static bool isGeodeticCRS(const std::string &name) { return ci_equal(name, WKTConstants::GEODCRS) || // WKT2 ci_equal(name, WKTConstants::GEODETICCRS) || // WKT2 - ci_equal(name, WKTConstants::GEOGCRS) || // WKT2 2018 - ci_equal(name, WKTConstants::GEOGRAPHICCRS) || // WKT2 2018 + ci_equal(name, WKTConstants::GEOGCRS) || // WKT2 2019 + ci_equal(name, WKTConstants::GEOGRAPHICCRS) || // WKT2 2019 ci_equal(name, WKTConstants::GEOGCS) || // WKT1 ci_equal(name, WKTConstants::GEOCCS); // WKT1 } @@ -5921,7 +5921,7 @@ BaseObjectNNPtr WKTParser::createFromWKT(const std::string &wkt) { d->emitRecoverableWarning(errorMsg); } } else if (dialect == WKTGuessedDialect::WKT2_2015 || - dialect == WKTGuessedDialect::WKT2_2018) { + dialect == WKTGuessedDialect::WKT2_2019) { auto errorMsg = pj_wkt2_parse(wkt); if (!errorMsg.empty()) { d->emitRecoverableWarning(errorMsg); @@ -5961,7 +5961,7 @@ WKTParser::guessDialect(const std::string &wkt) noexcept { } } - const std::string *const wkt2_2018_only_keywords[] = { + const std::string *const wkt2_2019_only_keywords[] = { &WKTConstants::GEOGCRS, // contained in previous one // &WKTConstants::BASEGEOGCRS, @@ -5971,19 +5971,19 @@ WKTParser::guessDialect(const std::string &wkt) noexcept { &WKTConstants::DERIVEDPROJCRS, &WKTConstants::BASEPROJCRS, &WKTConstants::GEOGRAPHICCRS, &WKTConstants::TRF, &WKTConstants::VRF}; - for (const auto &pointerKeyword : wkt2_2018_only_keywords) { + for (const auto &pointerKeyword : wkt2_2019_only_keywords) { auto pos = ci_find(wkt, *pointerKeyword); if (pos != std::string::npos && wkt[pos + pointerKeyword->size()] == '[') { - return WKTGuessedDialect::WKT2_2018; + return WKTGuessedDialect::WKT2_2019; } } - static const char *const wkt2_2018_only_substrings[] = { + static const char *const wkt2_2019_only_substrings[] = { "CS[TemporalDateTime,", "CS[TemporalCount,", "CS[TemporalMeasure,", }; - for (const auto &substrings : wkt2_2018_only_substrings) { + for (const auto &substrings : wkt2_2019_only_substrings) { if (ci_find(wkt, substrings) != std::string::npos) { - return WKTGuessedDialect::WKT2_2018; + return WKTGuessedDialect::WKT2_2019; } } |
