aboutsummaryrefslogtreecommitdiff
path: root/include/proj/coordinateoperation.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/proj/coordinateoperation.hpp')
-rw-r--r--include/proj/coordinateoperation.hpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/include/proj/coordinateoperation.hpp b/include/proj/coordinateoperation.hpp
index 7ade26f2..2f6095f7 100644
--- a/include/proj/coordinateoperation.hpp
+++ b/include/proj/coordinateoperation.hpp
@@ -116,7 +116,8 @@ using CoordinateOperationNNPtr = util::nn<CoordinateOperationPtr>;
* \remark Implements CoordinateOperation from \ref ISO_19111_2019
*/
class PROJ_GCC_DLL CoordinateOperation : public common::ObjectUsage,
- public io::IPROJStringExportable {
+ public io::IPROJStringExportable,
+ public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~CoordinateOperation() override;
@@ -291,6 +292,7 @@ struct MethodMapping;
*/
class PROJ_GCC_DLL GeneralParameterValue : public util::BaseObject,
public io::IWKTExportable,
+ public io::IJSONExportable,
public util::IComparable {
public:
//! @cond Doxygen_Suppress
@@ -299,6 +301,9 @@ class PROJ_GCC_DLL GeneralParameterValue : public util::BaseObject,
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
const override = 0; // throw(io::FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override = 0; // throw(FormattingException)
+
PROJ_INTERNAL bool _isEquivalentTo(
const util::IComparable *other,
util::IComparable::Criterion criterion =
@@ -442,6 +447,9 @@ class PROJ_GCC_DLL OperationParameterValue final
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 =
@@ -481,7 +489,8 @@ using OperationMethodNNPtr = util::nn<OperationMethodPtr>;
*
* \remark Implements OperationMethod from \ref ISO_19111_2019
*/
-class PROJ_GCC_DLL OperationMethod : public common::IdentifiedObject {
+class PROJ_GCC_DLL OperationMethod : public common::IdentifiedObject,
+ public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~OperationMethod() override;
@@ -507,6 +516,9 @@ class PROJ_GCC_DLL OperationMethod : public common::IdentifiedObject {
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 =
@@ -1315,6 +1327,9 @@ class PROJ_GCC_DLL Conversion : public SingleOperation {
_exportToPROJString(io::PROJStringFormatter *formatter)
const override; // throw(FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_INTERNAL const char *getESRIMethodName() const;
PROJ_INTERNAL const char *getWKT1GDALMethodName() const;
@@ -1535,6 +1550,9 @@ class PROJ_GCC_DLL Transformation : public SingleOperation {
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 TransformationNNPtr shallowClone() const;
//! @endcond
@@ -1640,6 +1658,9 @@ class PROJ_GCC_DLL ConcatenatedOperation final : public CoordinateOperation {
util::IComparable::Criterion criterion =
util::IComparable::Criterion::STRICT) const override;
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_INTERNAL static void
fixStepsDirection(const crs::CRSNNPtr &concatOpSourceCRS,
const crs::CRSNNPtr &concatOpTargetCRS,