diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-12-16 15:23:22 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-12-16 17:50:39 +0100 |
| commit | bd9ecbacf575a1926fb8e223c4add1a4cc45d7f3 (patch) | |
| tree | 770cc59bf111f8b427d9bc14ea7548ff3edbc9b3 /include/proj/datum.hpp | |
| parent | a68c146d7f3c1efb0f42b46c708a0a195e51a2ff (diff) | |
| download | PROJ-bd9ecbacf575a1926fb8e223c4add1a4cc45d7f3.tar.gz PROJ-bd9ecbacf575a1926fb8e223c4add1a4cc45d7f3.zip | |
identify(): take into datum name aliases (fixes #1800)
Diffstat (limited to 'include/proj/datum.hpp')
| -rw-r--r-- | include/proj/datum.hpp | 98 |
1 files changed, 57 insertions, 41 deletions
diff --git a/include/proj/datum.hpp b/include/proj/datum.hpp index e97f1695..6a0db1dc 100644 --- a/include/proj/datum.hpp +++ b/include/proj/datum.hpp @@ -72,14 +72,17 @@ class PROJ_GCC_DLL Datum : public common::ObjectUsage, PROJ_DLL const util::optional<common::DateTime> &publicationDate() const; PROJ_DLL const common::IdentifiedObjectPtr &conventionalRS() const; + //! @cond Doxygen_Suppress + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; + //! @endcond + protected: PROJ_INTERNAL Datum(); - PROJ_INTERNAL bool - __isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const; - #ifdef DOXYGEN_ENABLED std::string *anchorDefinition_; Date *publicationDate_; @@ -211,10 +214,11 @@ class PROJ_GCC_DLL PrimeMeridian final : public common::IdentifiedObject, PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) const override; // throw(io::FormattingException) - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; PROJ_INTERNAL static std::string getPROJStringWellKnownName(const common::Angle &angle); @@ -317,10 +321,11 @@ class PROJ_GCC_DLL Ellipsoid final : public common::IdentifiedObject, PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) const override; // throw(io::FormattingException) - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; PROJ_INTERNAL void _exportToPROJString(io::PROJStringFormatter *formatter) const override; // throw(FormattingException) @@ -419,10 +424,11 @@ class PROJ_GCC_DLL GeodeticReferenceFrame : public Datum { PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) const override; // throw(FormattingException) - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; //! @endcond protected: @@ -440,6 +446,10 @@ class PROJ_GCC_DLL GeodeticReferenceFrame : public Datum { PROJ_INTERNAL static const GeodeticReferenceFrameNNPtr createEPSG_6269(); PROJ_INTERNAL static const GeodeticReferenceFrameNNPtr createEPSG_6326(); + bool hasEquivalentNameToUsingAlias( + const IdentifiedObject *other, + const io::DatabaseContextPtr &dbContext) const override; + private: PROJ_OPAQUE_PRIVATE_DATA GeodeticReferenceFrame(const GeodeticReferenceFrame &other) = delete; @@ -484,10 +494,11 @@ class PROJ_GCC_DLL DynamicGeodeticReferenceFrame final const util::optional<std::string> &deformationModelNameIn); //! @cond Doxygen_Suppress - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) @@ -567,10 +578,11 @@ class PROJ_GCC_DLL VerticalReferenceFrame : public Datum { util::optional<RealizationMethod>()); //! @cond Doxygen_Suppress - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) @@ -630,10 +642,11 @@ class PROJ_GCC_DLL DynamicVerticalReferenceFrame final const util::optional<std::string> &deformationModelNameIn); //! @cond Doxygen_Suppress - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter) const override; // throw(io::FormattingException) @@ -695,10 +708,11 @@ class PROJ_GCC_DLL TemporalDatum final : public Datum { PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) const override; // throw(FormattingException) - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; //! @endcond protected: @@ -746,10 +760,11 @@ class PROJ_GCC_DLL EngineeringDatum final : public Datum { PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) const override; // throw(FormattingException) - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; //! @endcond protected: @@ -793,10 +808,11 @@ class PROJ_GCC_DLL ParametricDatum final : public Datum { PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter) const override; // throw(FormattingException) - PROJ_INTERNAL bool - _isEquivalentTo(const util::IComparable *other, - util::IComparable::Criterion criterion = - util::IComparable::Criterion::STRICT) const override; + PROJ_INTERNAL bool _isEquivalentTo( + const util::IComparable *other, + util::IComparable::Criterion criterion = + util::IComparable::Criterion::STRICT, + const io::DatabaseContextPtr &dbContext = nullptr) const override; //! @endcond protected: |
