aboutsummaryrefslogtreecommitdiff
path: root/include/proj/crs.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/proj/crs.hpp')
-rw-r--r--include/proj/crs.hpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/include/proj/crs.hpp b/include/proj/crs.hpp
index 33bf3b61..702b2d36 100644
--- a/include/proj/crs.hpp
+++ b/include/proj/crs.hpp
@@ -211,7 +211,8 @@ using GeodeticCRSNNPtr = util::nn<GeodeticCRSPtr>;
* \remark Implements GeodeticCRS from \ref ISO_19111_2019
*/
class PROJ_GCC_DLL GeodeticCRS : virtual public SingleCRS,
- public io::IPROJStringExportable {
+ public io::IPROJStringExportable,
+ public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~GeodeticCRS() override;
@@ -273,6 +274,9 @@ class PROJ_GCC_DLL GeodeticCRS : virtual public SingleCRS,
PROJ_INTERNAL void _exportToPROJString(io::PROJStringFormatter *formatter)
const override; // throw(FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_INTERNAL bool
_isEquivalentTo(const util::IComparable *other,
util::IComparable::Criterion criterion =
@@ -353,6 +357,9 @@ class PROJ_GCC_DLL GeographicCRS : public GeodeticCRS {
PROJ_INTERNAL void _exportToPROJString(io::PROJStringFormatter *formatter)
const override; // throw(FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_DLL bool
is2DPartOf3D(util::nn<const GeographicCRS *> other) PROJ_PURE_DECL;
@@ -546,7 +553,8 @@ using ProjectedCRSNNPtr = util::nn<ProjectedCRSPtr>;
* \remark Implements ProjectedCRS from \ref ISO_19111_2019
*/
class PROJ_GCC_DLL ProjectedCRS final : public DerivedCRS,
- public io::IPROJStringExportable {
+ public io::IPROJStringExportable,
+ public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~ProjectedCRS() override;
@@ -573,6 +581,9 @@ class PROJ_GCC_DLL ProjectedCRS final : public DerivedCRS,
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_FOR_TEST ProjectedCRSNNPtr alterParametersLinearUnit(
const common::UnitOfMeasure &unit, bool convertToNewUnit) const;
@@ -965,6 +976,9 @@ class PROJ_GCC_DLL DerivedGeodeticCRS final : public GeodeticCRS,
//! @cond Doxygen_Suppress
void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
//! @endcond
protected:
@@ -1034,6 +1048,9 @@ class PROJ_GCC_DLL DerivedGeographicCRS final : public GeographicCRS,
//! @cond Doxygen_Suppress
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
//! @endcond
protected: