aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-10-06 22:15:31 +0200
committerEven Rouault <even.rouault@spatialys.com>2020-10-08 17:31:56 +0200
commitb5369cc79eccc625419d37bb97a5361731fd8f0f (patch)
tree73bea46ce8b3daf40e65b538f4bc15149ac99756 /include
parentfece8a6c6e2e5eebeac6f9b4fc47ca830f2e3a3a (diff)
downloadPROJ-b5369cc79eccc625419d37bb97a5361731fd8f0f.tar.gz
PROJ-b5369cc79eccc625419d37bb97a5361731fd8f0f.zip
Add a AuthorityFactory::createDatumEnsemble() method, and make it inherit from ObjectUsage
as mandated by ISO 19111:2019
Diffstat (limited to 'include')
-rw-r--r--include/proj/datum.hpp2
-rw-r--r--include/proj/io.hpp8
2 files changed, 9 insertions, 1 deletions
diff --git a/include/proj/datum.hpp b/include/proj/datum.hpp
index f1d45c6b..35b8576e 100644
--- a/include/proj/datum.hpp
+++ b/include/proj/datum.hpp
@@ -125,7 +125,7 @@ using DatumEnsembleNNPtr = util::nn<DatumEnsemblePtr>;
*
* \remark Implements DatumEnsemble from \ref ISO_19111_2019
*/
-class PROJ_GCC_DLL DatumEnsemble final : public common::IdentifiedObject,
+class PROJ_GCC_DLL DatumEnsemble final : public common::ObjectUsage,
public io::IJSONExportable {
public:
//! @cond Doxygen_Suppress
diff --git a/include/proj/io.hpp b/include/proj/io.hpp
index 19ed292d..b4db0ef7 100644
--- a/include/proj/io.hpp
+++ b/include/proj/io.hpp
@@ -71,6 +71,10 @@ class Datum;
using DatumPtr = std::shared_ptr<Datum>;
using DatumNNPtr = util::nn<DatumPtr>;
+class DatumEnsemble;
+using DatumEnsemblePtr = std::shared_ptr<DatumEnsemble>;
+using DatumEnsembleNNPtr = util::nn<DatumEnsemblePtr>;
+
class Ellipsoid;
using EllipsoidPtr = std::shared_ptr<Ellipsoid>;
using EllipsoidNNPtr = util::nn<EllipsoidPtr>;
@@ -930,6 +934,10 @@ class PROJ_GCC_DLL AuthorityFactory {
PROJ_DLL datum::DatumNNPtr createDatum(const std::string &code) const;
+ PROJ_DLL datum::DatumEnsembleNNPtr
+ createDatumEnsemble(const std::string &code,
+ const std::string &type = std::string()) const;
+
PROJ_DLL datum::GeodeticReferenceFrameNNPtr
createGeodeticDatum(const std::string &code) const;