aboutsummaryrefslogtreecommitdiff
path: root/include/proj/coordinatesystem.hpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-07-06 17:06:23 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-07-08 00:05:00 +0200
commitece151aed1b4bf2634de5759f37fd7bc005e8313 (patch)
tree8e2e38daaffc878cc3ba673857e66274555e3dcc /include/proj/coordinatesystem.hpp
parent17f0b0b3bc65ffba39bf6f22a12b2cc7fcb9bafd (diff)
downloadPROJ-ece151aed1b4bf2634de5759f37fd7bc005e8313.tar.gz
PROJ-ece151aed1b4bf2634de5759f37fd7bc005e8313.zip
CRS JSON: export GeographicCRS and Projected CRS
Diffstat (limited to 'include/proj/coordinatesystem.hpp')
-rw-r--r--include/proj/coordinatesystem.hpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/proj/coordinatesystem.hpp b/include/proj/coordinatesystem.hpp
index ea1c1f99..ffb908fc 100644
--- a/include/proj/coordinatesystem.hpp
+++ b/include/proj/coordinatesystem.hpp
@@ -165,8 +165,8 @@ using CoordinateSystemAxisNNPtr = util::nn<CoordinateSystemAxisPtr>;
*
* \remark Implements CoordinateSystemAxis from \ref ISO_19111_2019
*/
-class PROJ_GCC_DLL CoordinateSystemAxis final
- : public common::IdentifiedObject {
+class PROJ_GCC_DLL CoordinateSystemAxis final : public common::IdentifiedObject,
+ public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~CoordinateSystemAxis() override;
@@ -201,6 +201,9 @@ class PROJ_GCC_DLL CoordinateSystemAxis 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 static std::string normalizeAxisName(const std::string &str);
PROJ_INTERNAL static CoordinateSystemAxisNNPtr
@@ -235,7 +238,8 @@ class PROJ_GCC_DLL CoordinateSystemAxis final
*
* \remark Implements CoordinateSystem from \ref ISO_19111_2019
*/
-class PROJ_GCC_DLL CoordinateSystem : public common::IdentifiedObject {
+class PROJ_GCC_DLL CoordinateSystem : public common::IdentifiedObject,
+ public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
PROJ_DLL ~CoordinateSystem() override;
@@ -251,6 +255,9 @@ class PROJ_GCC_DLL CoordinateSystem : public common::IdentifiedObject {
_exportToWKT(io::WKTFormatter *formatter)
const override; // throw(io::FormattingException)
+ PROJ_INTERNAL void _exportToJSON(io::JSONFormatter *formatter)
+ const override; // throw(FormattingException)
+
PROJ_INTERNAL virtual std::string getWKT2Type(bool) const = 0;
PROJ_INTERNAL bool