\hypertarget{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{}\doxysection{osgeo\+::proj\+::crs\+::Projected\+CRS Class Reference}
\label{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}\index{osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}}


A derived coordinate reference system which has a geodetic (usually geographic) coordinate reference system as its base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, thereby inheriting a geodetic reference frame, and is converted using a map projection.  




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



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


Collaboration diagram for osgeo\+::proj\+::crs\+::Projected\+CRS\+:
% FIG 1
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{Geodetic\+CRSNNPtr}} \& \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a755cae001313d3d599e579e8af96daea}{base\+CRS}} ()
\begin{DoxyCompactList}\small\item\em Return the base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} (a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{Geodetic\+CRS}}, which is generally a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{Geographic\+CRS}}) of the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{Projected\+CRS}}. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs\+::\+Cartesian\+CSNNPtr}} \& \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a575b384cd5d8e26e7672361698a5f103}{coordinate\+System}} ()
\begin{DoxyCompactList}\small\item\em Return the \mbox{\hyperlink{classosgeo_1_1proj_1_1cs_1_1CartesianCS}{cs\+::\+Cartesian\+CS}} 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_a474c5a3d69a0c2f1e16aa1e78022a8fd}{Projected\+CRSNNPtr}}, int $>$ $>$ \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a2b45773fde8d65046f9cc4908aa49fa3}{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}\item 
\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{Projected\+CRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_ac6447441de147e0d94737b111fb97a73}{demote\+To2D}} (const std\+::string \&new\+Name, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io\+::\+Database\+Context\+Ptr}} \&db\+Context) const
\begin{DoxyCompactList}\small\item\em Return a variant of this \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} \char`\"{}demoted\char`\"{} to a 2D one, if not already the case. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{Projected\+CRSNNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_ad17e8f9f645a7992bfd74f4ace7de15a}{create}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{Geodetic\+CRSNNPtr}} \&base\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation\+::\+Conversion\+NNPtr}} \&deriving\+Conversion\+In, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs\+::\+Cartesian\+CSNNPtr}} \&cs\+In)
\begin{DoxyCompactList}\small\item\em Instantiate a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{Projected\+CRS}} from a base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, a deriving \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Conversion}{operation\+::\+Conversion}} and a coordinate system. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
A derived coordinate reference system which has a geodetic (usually geographic) coordinate reference system as its base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, thereby inheriting a geodetic reference frame, and is converted using a map projection. 

It has a Cartesian coordinate system, usually two-\/dimensional but may be three-\/dimensional; in the 3D case the base geographic CRSs ellipsoidal height is passed through unchanged and forms the vertical axis of the projected \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}\textquotesingle{}s Cartesian coordinate system.

\begin{DoxyRemark}{Remarks}
Implements \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{Projected\+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_1ProjectedCRS_a755cae001313d3d599e579e8af96daea}\label{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a755cae001313d3d599e579e8af96daea}} 
\index{osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}!baseCRS@{baseCRS}}
\index{baseCRS@{baseCRS}!osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}}
\doxysubsubsection{\texorpdfstring{baseCRS()}{baseCRS()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{Geodetic\+CRSNNPtr}} \& osgeo\+::proj\+::crs\+::\+Projected\+CRS\+::base\+CRS (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} (a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{Geodetic\+CRS}}, which is generally a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{Geographic\+CRS}}) of the \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{Projected\+CRS}}. 

\begin{DoxyReturn}{Returns}
the base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a575b384cd5d8e26e7672361698a5f103}\label{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a575b384cd5d8e26e7672361698a5f103}} 
\index{osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}!coordinateSystem@{coordinateSystem}}
\index{coordinateSystem@{coordinateSystem}!osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}}
\doxysubsubsection{\texorpdfstring{coordinateSystem()}{coordinateSystem()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs\+::\+Cartesian\+CSNNPtr}} \& osgeo\+::proj\+::crs\+::\+Projected\+CRS\+::coordinate\+System (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



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

\begin{DoxyReturn}{Returns}
a Cartesian\+CS 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_ad17e8f9f645a7992bfd74f4ace7de15a}\label{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_ad17e8f9f645a7992bfd74f4ace7de15a}} 
\index{osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}!create@{create}}
\index{create@{create}!osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}}
\doxysubsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{Projected\+CRSNNPtr}} osgeo\+::proj\+::crs\+::\+Projected\+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_1crs_a853cc8ce6a9586cf08f48ab058f0ff3e}{Geodetic\+CRSNNPtr}} \&}]{base\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a4cec974a8b9f98f8567889e5ad653f5c}{operation\+::\+Conversion\+NNPtr}} \&}]{deriving\+Conversion\+In,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1cs_a1f4598c456807d419f078661d38190f6}{cs\+::\+Cartesian\+CSNNPtr}} \&}]{cs\+In }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{Projected\+CRS}} from a base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, a deriving \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Conversion}{operation\+::\+Conversion}} and a coordinate system. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}}. At minimum the name should be defined. \\
\hline
{\em base\+CRSIn} & The base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeodeticCRS}{Geodetic\+CRS}} that is generally a \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{Geographic\+CRS}}. \\
\hline
{\em deriving\+Conversion\+In} & The deriving \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Conversion}{operation\+::\+Conversion}} (typically using a map projection method) \\
\hline
{\em cs\+In} & The coordniate system. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS}{Projected\+CRS}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_ac6447441de147e0d94737b111fb97a73}\label{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_ac6447441de147e0d94737b111fb97a73}} 
\index{osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}!demoteTo2D@{demoteTo2D}}
\index{demoteTo2D@{demoteTo2D}!osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}}
\doxysubsubsection{\texorpdfstring{demoteTo2D()}{demoteTo2D()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{Projected\+CRSNNPtr}} osgeo\+::proj\+::crs\+::\+Projected\+CRS\+::demote\+To2D (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{new\+Name,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{io\+::\+Database\+Context\+Ptr}} \&}]{db\+Context }\end{DoxyParamCaption}) const}



Return a variant of this \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} \char`\"{}demoted\char`\"{} to a 2D one, if not already the case. 


\begin{DoxyParams}{Parameters}
{\em new\+Name} & Name of the new \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. If empty, \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1IdentifiedObject_a2294fccce17a073461428e6b229ea8d8}{name\+Str()}} will be used. \\
\hline
{\em db\+Context} & Database context to look for potentially already registered 2D \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}. May be nullptr. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} demoted to 2D, or the current one if already 2D or not applicable. 
\end{DoxyReturn}
\begin{DoxySince}{Since}
6.\+3 
\end{DoxySince}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a2b45773fde8d65046f9cc4908aa49fa3}\label{classosgeo_1_1proj_1_1crs_1_1ProjectedCRS_a2b45773fde8d65046f9cc4908aa49fa3}} 
\index{osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}!identify@{identify}}
\index{identify@{identify}!osgeo::proj::crs::ProjectedCRS@{osgeo::proj::crs::ProjectedCRS}}
\doxysubsubsection{\texorpdfstring{identify()}{identify()}}
{\footnotesize\ttfamily std\+::list$<$ std\+::pair$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a474c5a3d69a0c2f1e16aa1e78022a8fd}{Projected\+CRSNNPtr}}, int $>$ $>$ osgeo\+::proj\+::crs\+::\+Projected\+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 either hard-\/coded, or 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. The list is sorted by decreasing confidence.

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 base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}}, conversion and coordinate system), but the names are not equivalent. 60\% means that \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} have strong similarity (equivalent base datum, conversion and coordinate system), but the names are not equivalent. 50\% means that \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{CRS}} have similarity (equivalent base ellipsoid and conversion), but the coordinate system do not match (e.\+g. different axis ordering or axis unit). 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.

For the purpose of this function, equivalence is tested with the \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1IComparable_af198b4ab092a20e3a5495308d68d7140a352a077a1d586615ec044fc01f820e78}{util\+::\+IComparable\+::\+Criterion\+::\+EQUIVALENT\+\_\+\+EXCEPT\+\_\+\+AXIS\+\_\+\+ORDER\+\_\+\+GEOGCRS}}, that is to say that the axis order of the base \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1GeographicCRS}{Geographic\+CRS}} is ignored.


\begin{DoxyParams}{Parameters}
{\em authority\+Factory} & Authority factory (or null, but degraded functionality) \\
\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}


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}
