From ec3fdd00f133736560f807765dd73367c85f4bdc Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Tue, 19 May 2020 12:42:50 +0200 Subject: WKT1 ingestion: fix ingestion of COMPD_CS with ellipsoidal vertical datum and non metre units (contributes to fixes #2232) --- include/proj/crs.hpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/proj/crs.hpp b/include/proj/crs.hpp index 7aa74c41..bbdc9565 100644 --- a/include/proj/crs.hpp +++ b/include/proj/crs.hpp @@ -68,6 +68,12 @@ using BoundCRSPtr = std::shared_ptr; /** Non-null shared pointer of BoundCRS */ using BoundCRSNNPtr = util::nn; +class CompoundCRS; +/** Shared pointer of CompoundCRS */ +using CompoundCRSPtr = std::shared_ptr; +/** Non-null shared pointer of CompoundCRS */ +using CompoundCRSNNPtr = util::nn; + // --------------------------------------------------------------------------- class CRS; @@ -141,7 +147,12 @@ class PROJ_GCC_DLL CRS : public common::ObjectUsage, PROJ_INTERNAL CRSNNPtr allowNonConformantWKT1Export() const; PROJ_INTERNAL CRSNNPtr - attachOriginalVertCRS(const VerticalCRSNNPtr &vertCRS) const; + attachOriginalCompoundCRS(const CompoundCRSNNPtr &compoundCRS) const; + + PROJ_INTERNAL CRSNNPtr promoteTo3D( + const std::string &newName, const io::DatabaseContextPtr &dbContext, + const cs::CoordinateSystemAxisNNPtr &verticalAxisIfNotAlreadyPresent) + const; //! @endcond @@ -855,12 +866,6 @@ class PROJ_GCC_DLL InvalidCompoundCRSException : public util::Exception { // --------------------------------------------------------------------------- -class CompoundCRS; -/** Shared pointer of CompoundCRS */ -using CompoundCRSPtr = std::shared_ptr; -/** Non-null shared pointer of CompoundCRS */ -using CompoundCRSNNPtr = util::nn; - /** \brief A coordinate reference system describing the position of points * through two or more independent single coordinate reference systems. * -- cgit v1.2.3