aboutsummaryrefslogtreecommitdiff
path: root/include/proj/datum.hpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-12-16 15:23:22 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-12-16 17:50:39 +0100
commitbd9ecbacf575a1926fb8e223c4add1a4cc45d7f3 (patch)
tree770cc59bf111f8b427d9bc14ea7548ff3edbc9b3 /include/proj/datum.hpp
parenta68c146d7f3c1efb0f42b46c708a0a195e51a2ff (diff)
downloadPROJ-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.hpp98
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: