aboutsummaryrefslogtreecommitdiff
path: root/include/proj/datum.hpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-08-09 17:10:20 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-08-09 17:41:23 +0200
commitf0d766e45640800412c08a7cb9ab4f8823d88d05 (patch)
tree1973086c9f52043d61fb1a71cbbc1c3a794c3afc /include/proj/datum.hpp
parent81bd57dfd8cfae609288643d1b09a4805f1bcded (diff)
downloadPROJ-f0d766e45640800412c08a7cb9ab4f8823d88d05.tar.gz
PROJ-f0d766e45640800412c08a7cb9ab4f8823d88d05.zip
PROJSJON: add import/export of VerticalCRS, CompoundCRS, BoundCRS, Transformation and ConcatenatedOperation
Diffstat (limited to 'include/proj/datum.hpp')
-rw-r--r--include/proj/datum.hpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/include/proj/datum.hpp b/include/proj/datum.hpp
index 00e56a1c..3724bfb1 100644
--- a/include/proj/datum.hpp
+++ b/include/proj/datum.hpp
@@ -61,7 +61,8 @@ namespace datum {
*
* \remark Implements Datum from \ref ISO_19111_2019
*/
-class PROJ_GCC_DLL Datum : public common::ObjectUsage {
+class PROJ_GCC_DLL Datum : public common::ObjectUsage,
+ public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~Datum() override;
@@ -379,8 +380,7 @@ using GeodeticReferenceFrameNNPtr = util::nn<GeodeticReferenceFramePtr>;
*
* \remark Implements GeodeticReferenceFrame from \ref ISO_19111_2019
*/
-class PROJ_GCC_DLL GeodeticReferenceFrame : public Datum,
- public io::IJSONExportable {
+class PROJ_GCC_DLL GeodeticReferenceFrame : public Datum {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~GeodeticReferenceFrame() override;
@@ -566,7 +566,11 @@ class PROJ_GCC_DLL VerticalReferenceFrame : public Datum {
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
- //! @endcond
+
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
+ //! @endcond
protected:
#ifdef DOXYGEN_ENABLED
@@ -680,6 +684,9 @@ class PROJ_GCC_DLL TemporalDatum final : public Datum {
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_INTERNAL bool
_isEquivalentTo(const util::IComparable *other,
util::IComparable::Criterion criterion =
@@ -728,6 +735,9 @@ class PROJ_GCC_DLL EngineeringDatum final : public Datum {
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_INTERNAL bool
_isEquivalentTo(const util::IComparable *other,
util::IComparable::Criterion criterion =
@@ -772,6 +782,9 @@ class PROJ_GCC_DLL ParametricDatum final : public Datum {
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_INTERNAL bool
_isEquivalentTo(const util::IComparable *other,
util::IComparable::Criterion criterion =