\hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{}\doxysection{osgeo\+::proj\+::crs\+::Vertical\+CRS Class Reference}
\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}


A coordinate reference system having a vertical reference frame and a one-\/dimensional vertical coordinate system used for recording gravity-\/related heights or depths.  




{\ttfamily \#include $<$crs.\+hpp$>$}



Inheritance diagram for osgeo\+::proj\+::crs\+::Vertical\+CRS\+:
% FIG 0


Collaboration diagram for osgeo\+::proj\+::crs\+::Vertical\+CRS\+:
% FIG 1
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{datum\+::\+Vertical\+Reference\+Frame\+Ptr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a18776060c6d575c3c44025cb14657902}{datum}} () const
\begin{DoxyCompactList}\small\item\em Return the \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{datum\+::\+Vertical\+Reference\+Frame}} associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs\+::\+Vertical\+CSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a728ac448b7650aa19d86c09ad5ab0afe}{coordinate\+System}} () const
\begin{DoxyCompactList}\small\item\em Return the \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1VerticalCS}{cs\+::\+Vertical\+CS}} associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. \end{DoxyCompactList}\item 
const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{operation\+::\+Transformation\+NNPtr}} $>$ \& \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a5300fc4ea4df172608d0858f9572b932}{geoid\+Model}} ()
\begin{DoxyCompactList}\small\item\em Return the geoid model associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. \end{DoxyCompactList}\item 
const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_ae82770649d9af3bc667593cee7c9dad3}{operation\+::\+Point\+Motion\+Operation\+NNPtr}} $>$ \& \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a799afacb8b5c52b90061c56c7ba58235}{velocity\+Model}} ()
\begin{DoxyCompactList}\small\item\em Return the velocity model associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. \end{DoxyCompactList}\item 
std\+::list$<$ std\+::pair$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{Vertical\+CRSNNPtr}}, int $>$ $>$ \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a7d336269d4211c9a86cc25cb9fadee02}{identify}} (const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io\+::\+Authority\+Factory\+Ptr}} \&authority\+Factory) const
\begin{DoxyCompactList}\small\item\em Identify the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} with reference CRSs. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{Vertical\+CRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_afe0749d41bf2f8ea3ac28d99b8a53c57}{create}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af502d3b268b44aa5325b489a26e8f6a7}{datum\+::\+Vertical\+Reference\+Frame\+NNPtr}} \&datum\+In, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs\+::\+Vertical\+CSNNPtr}} \&cs\+In)
\begin{DoxyCompactList}\small\item\em Instantiate a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{Vertical\+CRS}} from a \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{datum\+::\+Vertical\+Reference\+Frame}} and a \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1VerticalCS}{cs\+::\+Vertical\+CS}}. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{Vertical\+CRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a08e38eb2ae7b28b47fb0119d0e60eedb}{create}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{datum\+::\+Vertical\+Reference\+Frame\+Ptr}} \&datum\+In, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum\+::\+Datum\+Ensemble\+Ptr}} \&datum\+Ensemble\+In, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs\+::\+Vertical\+CSNNPtr}} \&cs\+In)
\begin{DoxyCompactList}\small\item\em Instantiate a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{Vertical\+CRS}} from a \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{datum\+::\+Vertical\+Reference\+Frame}} or \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{datum\+::\+Datum\+Ensemble}} and a \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1VerticalCS}{cs\+::\+Vertical\+CS}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
A coordinate reference system having a vertical reference frame and a one-\/dimensional vertical coordinate system used for recording gravity-\/related heights or depths. 

Vertical CRSs make use of the direction of gravity to define the concept of height or depth, but the relationship with gravity may not be straightforward. If the vertical reference frame is dynamic or if the vertical \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} has an association to a velocity model then the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} is dynamic, else it is static.

\begin{DoxyNote}{Note}
Ellipsoidal heights cannot be captured in a vertical coordinate reference system. They exist only as an inseparable part of a 3D coordinate tuple defined in a geographic 3D coordinate reference system.
\end{DoxyNote}
\begin{DoxyRemark}{Remarks}
Implements \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{Vertical\+CRS}} from \mbox{\hyperlink{general_doc_ISO_19111_2019}{ISO 19111\+:2019}} 
\end{DoxyRemark}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a728ac448b7650aa19d86c09ad5ab0afe}\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a728ac448b7650aa19d86c09ad5ab0afe}} 
\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}!coordinateSystem@{coordinateSystem}}
\index{coordinateSystem@{coordinateSystem}!osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}
\doxysubsubsection{\texorpdfstring{coordinateSystem()}{coordinateSystem()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs\+::\+Vertical\+CSNNPtr}} osgeo\+::proj\+::crs\+::\+Vertical\+CRS\+::coordinate\+System (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Return the \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1VerticalCS}{cs\+::\+Vertical\+CS}} associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. 

\begin{DoxyReturn}{Returns}
a Vertical\+CS. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_afe0749d41bf2f8ea3ac28d99b8a53c57}\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_afe0749d41bf2f8ea3ac28d99b8a53c57}} 
\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}!create@{create}}
\index{create@{create}!osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{Vertical\+CRSNNPtr}} osgeo\+::proj\+::crs\+::\+Vertical\+CRS\+::create (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&}]{properties,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_af502d3b268b44aa5325b489a26e8f6a7}{datum\+::\+Vertical\+Reference\+Frame\+NNPtr}} \&}]{datum\+In,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs\+::\+Vertical\+CSNNPtr}} \&}]{cs\+In }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{Vertical\+CRS}} from a \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{datum\+::\+Vertical\+Reference\+Frame}} and a \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1VerticalCS}{cs\+::\+Vertical\+CS}}. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}}. At minimum the name should be defined. The GEOID\+\_\+\+MODEL property can be set to a Transformation\+NNPtr object. \\
\hline
{\em datum\+In} & The datum of the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. \\
\hline
{\em cs\+In} & a Vertical\+CS. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{Vertical\+CRS}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a08e38eb2ae7b28b47fb0119d0e60eedb}\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a08e38eb2ae7b28b47fb0119d0e60eedb}} 
\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}!create@{create}}
\index{create@{create}!osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{Vertical\+CRSNNPtr}} osgeo\+::proj\+::crs\+::\+Vertical\+CRS\+::create (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&}]{properties,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{datum\+::\+Vertical\+Reference\+Frame\+Ptr}} \&}]{datum\+In,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3d78f84b55b215bf4486be9e0257bb2d}{datum\+::\+Datum\+Ensemble\+Ptr}} \&}]{datum\+Ensemble\+In,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a30dfac01ab6a2a195f29250deecd0c23}{cs\+::\+Vertical\+CSNNPtr}} \&}]{cs\+In }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{Vertical\+CRS}} from a \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{datum\+::\+Vertical\+Reference\+Frame}} or \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1DatumEnsemble}{datum\+::\+Datum\+Ensemble}} and a \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1VerticalCS}{cs\+::\+Vertical\+CS}}. 

One and only one of datum or datum\+Ensemble should be set to a non-\/null value.


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}}. At minimum the name should be defined. The GEOID\+\_\+\+MODEL property can be set to a Transformation\+NNPtr object. \\
\hline
{\em datum\+In} & The datum of the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, or nullptr \\
\hline
{\em datum\+Ensemble\+In} & The datum ensemble of the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, or nullptr. \\
\hline
{\em cs\+In} & a Vertical\+CS. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1VerticalCRS}{Vertical\+CRS}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a18776060c6d575c3c44025cb14657902}\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a18776060c6d575c3c44025cb14657902}} 
\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}!datum@{datum}}
\index{datum@{datum}!osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}
\doxysubsubsection{\texorpdfstring{datum()}{datum()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1datum_a3adfcef105a4fc87eeec694256088ba0}{datum\+::\+Vertical\+Reference\+Frame\+Ptr}} osgeo\+::proj\+::crs\+::\+Vertical\+CRS\+::datum (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const}



Return the \mbox{\hyperlink{classosgeo_1_1proj_1_1datum_1_1VerticalReferenceFrame}{datum\+::\+Vertical\+Reference\+Frame}} associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. 

\begin{DoxyReturn}{Returns}
a Vertical\+Reference\+Frame. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a5300fc4ea4df172608d0858f9572b932}\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a5300fc4ea4df172608d0858f9572b932}} 
\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}!geoidModel@{geoidModel}}
\index{geoidModel@{geoidModel}!osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}
\doxysubsubsection{\texorpdfstring{geoidModel()}{geoidModel()}}
{\footnotesize\ttfamily const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{operation\+::\+Transformation\+NNPtr}} $>$ \& osgeo\+::proj\+::crs\+::\+Vertical\+CRS\+::geoid\+Model (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the geoid model associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. 

Geoid height model or height correction model linked to a geoid-\/based vertical \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}.

\begin{DoxyReturn}{Returns}
a geoid model. might be null 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a7d336269d4211c9a86cc25cb9fadee02}\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a7d336269d4211c9a86cc25cb9fadee02}} 
\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}!identify@{identify}}
\index{identify@{identify}!osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}
\doxysubsubsection{\texorpdfstring{identify()}{identify()}}
{\footnotesize\ttfamily std\+::list$<$ std\+::pair$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_ab9fe189646e058eda1e7dd16edf16468}{Vertical\+CRSNNPtr}}, int $>$ $>$ osgeo\+::proj\+::crs\+::\+Vertical\+CRS\+::identify (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{io\+::\+Authority\+Factory\+Ptr}} \&}]{authority\+Factory }\end{DoxyParamCaption}) const}



Identify the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} with reference CRSs. 

The candidate CRSs are looked in the database when authority\+Factory is not null.

Note that the implementation uses a set of heuristics to have a good compromise of successful identifications over execution time. It might miss legitimate matches in some circumstances.

The method returns a list of matching reference \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, and the percentage (0-\/100) of confidence in the match. 100\% means that the name of the reference entry perfectly matches the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} name, and both are equivalent. In which case a single result is returned. 90\% means that \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} are equivalent, but the names are not exactly the same. 70\% means that \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} are equivalent (equivalent datum and coordinate system), but the names are not equivalent. 25\% means that the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} are not equivalent, but there is some similarity in the names.


\begin{DoxyParams}{Parameters}
{\em authority\+Factory} & Authority factory (if null, will return an empty list) \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a list of matching reference \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, and the percentage (0-\/100) of confidence in the match. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a799afacb8b5c52b90061c56c7ba58235}\label{classosgeo_1_1proj_1_1crs_1_1VerticalCRS_a799afacb8b5c52b90061c56c7ba58235}} 
\index{osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}!velocityModel@{velocityModel}}
\index{velocityModel@{velocityModel}!osgeo::proj::crs::VerticalCRS@{osgeo::proj::crs::VerticalCRS}}
\doxysubsubsection{\texorpdfstring{velocityModel()}{velocityModel()}}
{\footnotesize\ttfamily const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_ae82770649d9af3bc667593cee7c9dad3}{operation\+::\+Point\+Motion\+Operation\+NNPtr}} $>$ \& osgeo\+::proj\+::crs\+::\+Vertical\+CRS\+::velocity\+Model (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the velocity model associated with the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. 

\begin{DoxyReturn}{Returns}
a velocity model. might be null. 
\end{DoxyReturn}


The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
include/proj/crs.\+hpp\item 
src/iso19111/crs.\+cpp\end{DoxyCompactItemize}
