\hypertarget{namespaceosgeo_1_1proj_1_1io}{}\doxysection{osgeo\+::proj\+::io Namespace Reference}
\label{namespaceosgeo_1_1proj_1_1io}\index{osgeo::proj::io@{osgeo::proj::io}}


I/O classes.  


\doxysubsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1AuthorityFactory}{Authority\+Factory}}
\begin{DoxyCompactList}\small\item\em Builds object from an authority database. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1DatabaseContext}{Database\+Context}}
\begin{DoxyCompactList}\small\item\em Database context. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1FactoryException}{Factory\+Exception}}
\begin{DoxyCompactList}\small\item\em Exception thrown when a factory can\textquotesingle{}t create an instance of the requested object. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1FormattingException}{Formatting\+Exception}}
\begin{DoxyCompactList}\small\item\em Exception possibly thrown by \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IWKTExportable_a1cff37229c2159fb6bc0579e7c1190ce}{IWKTExportable\+::export\+To\+WKT()}} or \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable_ab592dcf0f32ee2587a782d290aeb0638}{IPROJString\+Exportable\+::export\+To\+PROJString()}}. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IJSONExportable}{IJSONExportable}}
\begin{DoxyCompactList}\small\item\em Interface for an object that can be exported to JSON. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{IPROJString\+Exportable}}
\begin{DoxyCompactList}\small\item\em Interface for an object that can be exported to a PROJ string. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IWKTExportable}{IWKTExportable}}
\begin{DoxyCompactList}\small\item\em Interface for an object that can be exported to WKT. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{JSONFormatter}}
\begin{DoxyCompactList}\small\item\em Formatter to JSON strings. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1NoSuchAuthorityCodeException}{No\+Such\+Authority\+Code\+Exception}}
\begin{DoxyCompactList}\small\item\em Exception thrown when an authority factory can\textquotesingle{}t find the requested authority code. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1ParsingException}{Parsing\+Exception}}
\begin{DoxyCompactList}\small\item\em Exception possibly thrown by \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTNode_aacdf2c4c25dbf1f91a80ce6caccdad5e}{WKTNode\+::create\+From()}} or \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTParser_a8931fbaea1d67eff5098da93b38de6bb}{WKTParser\+::create\+From\+WKT()}}. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}}
\begin{DoxyCompactList}\small\item\em Formatter to PROJ strings. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringParser}{PROJString\+Parser}}
\begin{DoxyCompactList}\small\item\em Parse a PROJ string into the appropriate subclass of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BaseObject}{util\+::\+Base\+Object}}. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{WKTFormatter}}
\begin{DoxyCompactList}\small\item\em Formatter to WKT strings. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTNode}{WKTNode}}
\begin{DoxyCompactList}\small\item\em Node in the tree-\/splitted WKT representation. \end{DoxyCompactList}\item 
class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTParser}{WKTParser}}
\begin{DoxyCompactList}\small\item\em Parse a WKT string into the appropriate subclass of \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1BaseObject}{util\+::\+Base\+Object}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{Database\+Context\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1DatabaseContext}{Database\+Context}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a776e066c227b9607a8c8e9e356bb9c40}{Database\+Context\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{Database\+Context\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a5dc6e0362ef50a2272a337cde9ee3628}{WKTNode\+Ptr}} = std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTNode}{WKTNode}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a0d7db6c3ecf8d65414061530289f4d8b}{WKTNode\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a5dc6e0362ef50a2272a337cde9ee3628}{WKTNode\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ad5ed03672a2bcb1c4619a4184cb2fb45}{WKTFormatter\+Ptr}} = std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{WKTFormatter}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_af24cb641beac0083bd63f376dda49d39}{WKTFormatter\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ad5ed03672a2bcb1c4619a4184cb2fb45}{WKTFormatter\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a954d930eba34fd9810a6221819dfdf18}{PROJString\+Formatter\+Ptr}} = std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a33fa50ad8d2ecdd6f1f6037a3cb00011}{PROJString\+Formatter\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a954d930eba34fd9810a6221819dfdf18}{PROJString\+Formatter\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a9b8654780f8b2b52db09a61a2414f8a0}{JSONFormatter\+Ptr}} = std\+::unique\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{JSONFormatter}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_aadfe1134c05cab65a5117c8576618d21}{JSONFormatter\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a9b8654780f8b2b52db09a61a2414f8a0}{JSONFormatter\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ae83e71c6bfa75d94969eb377fe79b71b}{IPROJString\+Exportable\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{IPROJString\+Exportable}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a1d1c8e11ca802fc03337bd0511512589}{IPROJString\+Exportable\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ae83e71c6bfa75d94969eb377fe79b71b}{IPROJString\+Exportable\+Ptr}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{Authority\+Factory\+Ptr}} = std\+::shared\+\_\+ptr$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1AuthorityFactory}{Authority\+Factory}} $>$
\item 
using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ad1cb39ac0f726c072252289361ef8ff3}{Authority\+Factory\+NNPtr}} = util\+::nn$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{Authority\+Factory\+Ptr}} $>$
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Base\+Object\+NNPtr \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a9ef8f5d0591fa9605b385f8b56ddff0e}{create\+From\+User\+Input}} (const std\+::string \&text, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{Database\+Context\+Ptr}} \&db\+Context, bool use\+PROJ4\+Init\+Rules)
\begin{DoxyCompactList}\small\item\em Instantiate a sub-\/class of Base\+Object from a user specified text. \end{DoxyCompactList}\item 
Base\+Object\+NNPtr \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a4aface81a2bf1ac3d03d84e68db2876b}{create\+From\+User\+Input}} (const std\+::string \&text, PJ\+\_\+\+CONTEXT $\ast$ctx)
\begin{DoxyCompactList}\small\item\em Instantiate a sub-\/class of Base\+Object from a user specified text. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
I/O classes. 

\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io}{osgeo.\+proj.\+io}} namespace. 

\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_ad1cb39ac0f726c072252289361ef8ff3}\label{namespaceosgeo_1_1proj_1_1io_ad1cb39ac0f726c072252289361ef8ff3}} 
\index{osgeo::proj::io@{osgeo::proj::io}!AuthorityFactoryNNPtr@{AuthorityFactoryNNPtr}}
\index{AuthorityFactoryNNPtr@{AuthorityFactoryNNPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{AuthorityFactoryNNPtr}{AuthorityFactoryNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ad1cb39ac0f726c072252289361ef8ff3}{osgeo\+::proj\+::io\+::\+Authority\+Factory\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{Authority\+Factory\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1AuthorityFactory}{Authority\+Factory}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}\label{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}} 
\index{osgeo::proj::io@{osgeo::proj::io}!AuthorityFactoryPtr@{AuthorityFactoryPtr}}
\index{AuthorityFactoryPtr@{AuthorityFactoryPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{AuthorityFactoryPtr}{AuthorityFactoryPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a6700bf116007d342bc35655d54d4c437}{osgeo\+::proj\+::io\+::\+Authority\+Factory\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1AuthorityFactory}{Authority\+Factory}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1AuthorityFactory}{Authority\+Factory}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a776e066c227b9607a8c8e9e356bb9c40}\label{namespaceosgeo_1_1proj_1_1io_a776e066c227b9607a8c8e9e356bb9c40}} 
\index{osgeo::proj::io@{osgeo::proj::io}!DatabaseContextNNPtr@{DatabaseContextNNPtr}}
\index{DatabaseContextNNPtr@{DatabaseContextNNPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{DatabaseContextNNPtr}{DatabaseContextNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a776e066c227b9607a8c8e9e356bb9c40}{osgeo\+::proj\+::io\+::\+Database\+Context\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{Database\+Context\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1DatabaseContext}{Database\+Context}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}\label{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}} 
\index{osgeo::proj::io@{osgeo::proj::io}!DatabaseContextPtr@{DatabaseContextPtr}}
\index{DatabaseContextPtr@{DatabaseContextPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{DatabaseContextPtr}{DatabaseContextPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{osgeo\+::proj\+::io\+::\+Database\+Context\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1DatabaseContext}{Database\+Context}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1DatabaseContext}{Database\+Context}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a1d1c8e11ca802fc03337bd0511512589}\label{namespaceosgeo_1_1proj_1_1io_a1d1c8e11ca802fc03337bd0511512589}} 
\index{osgeo::proj::io@{osgeo::proj::io}!IPROJStringExportableNNPtr@{IPROJStringExportableNNPtr}}
\index{IPROJStringExportableNNPtr@{IPROJStringExportableNNPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{IPROJStringExportableNNPtr}{IPROJStringExportableNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a1d1c8e11ca802fc03337bd0511512589}{osgeo\+::proj\+::io\+::\+IPROJString\+Exportable\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ae83e71c6bfa75d94969eb377fe79b71b}{IPROJString\+Exportable\+Ptr}}$>$}

Non-\/null shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{IPROJString\+Exportable}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_ae83e71c6bfa75d94969eb377fe79b71b}\label{namespaceosgeo_1_1proj_1_1io_ae83e71c6bfa75d94969eb377fe79b71b}} 
\index{osgeo::proj::io@{osgeo::proj::io}!IPROJStringExportablePtr@{IPROJStringExportablePtr}}
\index{IPROJStringExportablePtr@{IPROJStringExportablePtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{IPROJStringExportablePtr}{IPROJStringExportablePtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ae83e71c6bfa75d94969eb377fe79b71b}{osgeo\+::proj\+::io\+::\+IPROJString\+Exportable\+Ptr}} = typedef std\+::shared\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{IPROJString\+Exportable}}$>$}

Shared pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1IPROJStringExportable}{IPROJString\+Exportable}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_aadfe1134c05cab65a5117c8576618d21}\label{namespaceosgeo_1_1proj_1_1io_aadfe1134c05cab65a5117c8576618d21}} 
\index{osgeo::proj::io@{osgeo::proj::io}!JSONFormatterNNPtr@{JSONFormatterNNPtr}}
\index{JSONFormatterNNPtr@{JSONFormatterNNPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{JSONFormatterNNPtr}{JSONFormatterNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_aadfe1134c05cab65a5117c8576618d21}{osgeo\+::proj\+::io\+::\+JSONFormatter\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a9b8654780f8b2b52db09a61a2414f8a0}{JSONFormatter\+Ptr}}$>$}

Non-\/null \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{JSONFormatter}} unique pointer. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a9b8654780f8b2b52db09a61a2414f8a0}\label{namespaceosgeo_1_1proj_1_1io_a9b8654780f8b2b52db09a61a2414f8a0}} 
\index{osgeo::proj::io@{osgeo::proj::io}!JSONFormatterPtr@{JSONFormatterPtr}}
\index{JSONFormatterPtr@{JSONFormatterPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{JSONFormatterPtr}{JSONFormatterPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a9b8654780f8b2b52db09a61a2414f8a0}{osgeo\+::proj\+::io\+::\+JSONFormatter\+Ptr}} = typedef std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{JSONFormatter}}$>$}

\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1JSONFormatter}{JSONFormatter}} unique pointer. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a33fa50ad8d2ecdd6f1f6037a3cb00011}\label{namespaceosgeo_1_1proj_1_1io_a33fa50ad8d2ecdd6f1f6037a3cb00011}} 
\index{osgeo::proj::io@{osgeo::proj::io}!PROJStringFormatterNNPtr@{PROJStringFormatterNNPtr}}
\index{PROJStringFormatterNNPtr@{PROJStringFormatterNNPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{PROJStringFormatterNNPtr}{PROJStringFormatterNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a33fa50ad8d2ecdd6f1f6037a3cb00011}{osgeo\+::proj\+::io\+::\+PROJString\+Formatter\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a954d930eba34fd9810a6221819dfdf18}{PROJString\+Formatter\+Ptr}}$>$}

Non-\/null \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}} unique pointer. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a954d930eba34fd9810a6221819dfdf18}\label{namespaceosgeo_1_1proj_1_1io_a954d930eba34fd9810a6221819dfdf18}} 
\index{osgeo::proj::io@{osgeo::proj::io}!PROJStringFormatterPtr@{PROJStringFormatterPtr}}
\index{PROJStringFormatterPtr@{PROJStringFormatterPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{PROJStringFormatterPtr}{PROJStringFormatterPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a954d930eba34fd9810a6221819dfdf18}{osgeo\+::proj\+::io\+::\+PROJString\+Formatter\+Ptr}} = typedef std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}}$>$}

\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}} unique pointer. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_af24cb641beac0083bd63f376dda49d39}\label{namespaceosgeo_1_1proj_1_1io_af24cb641beac0083bd63f376dda49d39}} 
\index{osgeo::proj::io@{osgeo::proj::io}!WKTFormatterNNPtr@{WKTFormatterNNPtr}}
\index{WKTFormatterNNPtr@{WKTFormatterNNPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{WKTFormatterNNPtr}{WKTFormatterNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_af24cb641beac0083bd63f376dda49d39}{osgeo\+::proj\+::io\+::\+WKTFormatter\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ad5ed03672a2bcb1c4619a4184cb2fb45}{WKTFormatter\+Ptr}}$>$}

Non-\/null \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{WKTFormatter}} unique pointer. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_ad5ed03672a2bcb1c4619a4184cb2fb45}\label{namespaceosgeo_1_1proj_1_1io_ad5ed03672a2bcb1c4619a4184cb2fb45}} 
\index{osgeo::proj::io@{osgeo::proj::io}!WKTFormatterPtr@{WKTFormatterPtr}}
\index{WKTFormatterPtr@{WKTFormatterPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{WKTFormatterPtr}{WKTFormatterPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ad5ed03672a2bcb1c4619a4184cb2fb45}{osgeo\+::proj\+::io\+::\+WKTFormatter\+Ptr}} = typedef std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{WKTFormatter}}$>$}

\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTFormatter}{WKTFormatter}} unique pointer. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a0d7db6c3ecf8d65414061530289f4d8b}\label{namespaceosgeo_1_1proj_1_1io_a0d7db6c3ecf8d65414061530289f4d8b}} 
\index{osgeo::proj::io@{osgeo::proj::io}!WKTNodeNNPtr@{WKTNodeNNPtr}}
\index{WKTNodeNNPtr@{WKTNodeNNPtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{WKTNodeNNPtr}{WKTNodeNNPtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a0d7db6c3ecf8d65414061530289f4d8b}{osgeo\+::proj\+::io\+::\+WKTNode\+NNPtr}} = typedef util\+::nn$<$\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a5dc6e0362ef50a2272a337cde9ee3628}{WKTNode\+Ptr}}$>$}

Non-\/null unique pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTNode}{WKTNode}}. \mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a5dc6e0362ef50a2272a337cde9ee3628}\label{namespaceosgeo_1_1proj_1_1io_a5dc6e0362ef50a2272a337cde9ee3628}} 
\index{osgeo::proj::io@{osgeo::proj::io}!WKTNodePtr@{WKTNodePtr}}
\index{WKTNodePtr@{WKTNodePtr}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{WKTNodePtr}{WKTNodePtr}}
{\footnotesize\ttfamily using \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a5dc6e0362ef50a2272a337cde9ee3628}{osgeo\+::proj\+::io\+::\+WKTNode\+Ptr}} = typedef std\+::unique\+\_\+ptr$<$\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTNode}{WKTNode}}$>$}

Unique pointer of \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1WKTNode}{WKTNode}}. 

\doxysubsection{Function Documentation}
\mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a9ef8f5d0591fa9605b385f8b56ddff0e}\label{namespaceosgeo_1_1proj_1_1io_a9ef8f5d0591fa9605b385f8b56ddff0e}} 
\index{osgeo::proj::io@{osgeo::proj::io}!createFromUserInput@{createFromUserInput}}
\index{createFromUserInput@{createFromUserInput}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{createFromUserInput()}{createFromUserInput()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{structosgeo_1_1proj_1_1util_1_1BaseObjectNNPtr}{util\+::\+Base\+Object\+NNPtr}} osgeo\+::proj\+::io\+::create\+From\+User\+Input (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{text,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{Database\+Context\+Ptr}} \&}]{db\+Context,  }\item[{bool}]{use\+PROJ4\+Init\+Rules }\end{DoxyParamCaption})}



Instantiate a sub-\/class of Base\+Object from a user specified text. 

The text can be a\+: 
\begin{DoxyItemize}
\item WKT string 
\item PROJ string 
\item database code, prefixed by its authority. e.\+g. \char`\"{}\+EPSG\+:4326\char`\"{} 
\item OGC URN. e.\+g. \char`\"{}urn\+:ogc\+:def\+:crs\+:\+EPSG\+::4326\char`\"{}, \char`\"{}urn\+:ogc\+:def\+:coordinate\+Operation\+:\+EPSG\+::1671\char`\"{}, \char`\"{}urn\+:ogc\+:def\+:ellipsoid\+:\+EPSG\+::7001\char`\"{} or \char`\"{}urn\+:ogc\+:def\+:datum\+:\+EPSG\+::6326\char`\"{} 
\item OGC URN combining references for compound coordinate reference systems e.\+g. \char`\"{}urn\+:ogc\+:def\+:crs,crs\+:\+EPSG\+::2393,crs\+:\+EPSG\+::5717\char`\"{} We also accept a custom abbreviated syntax EPSG\+:2393+5717 or ESRI\+:103668+EPSG\+:5703  
\item OGC URN combining references for references for projected or derived CRSs e.\+g. for Projected 3D CRS \char`\"{}\+UTM zone 31\+N / WGS 84 (3\+D)\char`\"{} \char`\"{}urn\+:ogc\+:def\+:crs,crs\+:\+EPSG\+::4979,cs\+:\+PROJ\+::\+ENh,coordinate\+Operation\+:\+EPSG\+::16031\char`\"{}  
\item OGC URN combining references for concatenated operations e.\+g. \char`\"{}urn\+:ogc\+:def\+:coordinate\+Operation,coordinate\+Operation\+:\+EPSG\+::3895,coordinate\+Operation\+:\+EPSG\+::1618\char`\"{} 
\item OGC URL for a single CRS. e.\+g. \char`\"{}http\+://www.\+opengis.\+net/def/crs/\+EPSG/0/4326$<$/li$>$ $<$li$>$\+OGC URL for a compound \+CRS. e.\+g \char`\"{}\href{http://www.opengis.net/def/crs-compound?1=http://www.opengis.net/def/crs/EPSG/0/4326&2=http://www.opengis.net/def/crs/EPSG/0/3855}{\texttt{ http\+://www.\+opengis.\+net/def/crs-\/compound?1=http\+://www.\+opengis.\+net/def/crs/\+EPSG/0/4326\&2=http\+://www.\+opengis.\+net/def/crs/\+EPSG/0/3855}}\char`\"{}$<$/li$>$ $<$li$>$an Object name. e.\+g \char`\"{}WGS 84\char`\"{}, \char`\"{}WGS 84 / UTM zone 31N\char`\"{}. In that case as     uniqueness is not guaranteed, the function may apply heuristics to     determine the appropriate best match.$<$/li$>$ $<$li$>$a compound CRS made from two object names separated with \char`\"{} + \char`\"{}.     e.\+g. \char`\"{}WGS 84 + EGM96 height"{} 
\item PROJJSON string 
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em text} & One of the above mentioned text format \\
\hline
{\em db\+Context} & Database context, or nullptr (in which case database lookups will not work) \\
\hline
{\em use\+PROJ4\+Init\+Rules} & When set to true, init=epsg\+:XXXX syntax will be allowed and will be interpreted according to PROJ.\+4 and PROJ.\+5 rules, that is geodetic\+CRS will have longitude, latitude order and will expect/output coordinates in radians. Projected\+CRS will have easting, northing axis order (except the ones with Transverse Mercator South Orientated projection). In that mode, the epsg\+:XXXX syntax will be also interpreted the same way. \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1ParsingException}{Parsing\+Exception}}} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{namespaceosgeo_1_1proj_1_1io_a4aface81a2bf1ac3d03d84e68db2876b}\label{namespaceosgeo_1_1proj_1_1io_a4aface81a2bf1ac3d03d84e68db2876b}} 
\index{osgeo::proj::io@{osgeo::proj::io}!createFromUserInput@{createFromUserInput}}
\index{createFromUserInput@{createFromUserInput}!osgeo::proj::io@{osgeo::proj::io}}
\doxysubsubsection{\texorpdfstring{createFromUserInput()}{createFromUserInput()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{structosgeo_1_1proj_1_1util_1_1BaseObjectNNPtr}{util\+::\+Base\+Object\+NNPtr}} osgeo\+::proj\+::io\+::create\+From\+User\+Input (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{text,  }\item[{PJ\+\_\+\+CONTEXT $\ast$}]{ctx }\end{DoxyParamCaption})}



Instantiate a sub-\/class of Base\+Object from a user specified text. 

The text can be a\+: 
\begin{DoxyItemize}
\item WKT string 
\item PROJ string 
\item database code, prefixed by its authority. e.\+g. \char`\"{}\+EPSG\+:4326\char`\"{} 
\item OGC URN. e.\+g. \char`\"{}urn\+:ogc\+:def\+:crs\+:\+EPSG\+::4326\char`\"{}, \char`\"{}urn\+:ogc\+:def\+:coordinate\+Operation\+:\+EPSG\+::1671\char`\"{}, \char`\"{}urn\+:ogc\+:def\+:ellipsoid\+:\+EPSG\+::7001\char`\"{} or \char`\"{}urn\+:ogc\+:def\+:datum\+:\+EPSG\+::6326\char`\"{} 
\item OGC URN combining references for compound coordinate reference systems e.\+g. \char`\"{}urn\+:ogc\+:def\+:crs,crs\+:\+EPSG\+::2393,crs\+:\+EPSG\+::5717\char`\"{} We also accept a custom abbreviated syntax EPSG\+:2393+5717  
\item OGC URN combining references for references for projected or derived CRSs e.\+g. for Projected 3D CRS \char`\"{}\+UTM zone 31\+N / WGS 84 (3\+D)\char`\"{} \char`\"{}urn\+:ogc\+:def\+:crs,crs\+:\+EPSG\+::4979,cs\+:\+PROJ\+::\+ENh,coordinate\+Operation\+:\+EPSG\+::16031\char`\"{}  
\item OGC URN combining references for concatenated operations e.\+g. \char`\"{}urn\+:ogc\+:def\+:coordinate\+Operation,coordinate\+Operation\+:\+EPSG\+::3895,coordinate\+Operation\+:\+EPSG\+::1618\char`\"{} 
\item an Object name. e.\+g \char`\"{}\+WGS 84\char`\"{}, \char`\"{}\+WGS 84 / UTM zone 31\+N\char`\"{}. In that case as uniqueness is not guaranteed, the function may apply heuristics to determine the appropriate best match. 
\item a compound CRS made from two object names separated with \char`\"{} + \char`\"{}. e.\+g. \char`\"{}\+WGS 84 + EGM96 height\char`\"{} 
\item PROJJSON string 
\end{DoxyItemize}


\begin{DoxyParams}{Parameters}
{\em text} & One of the above mentioned text format \\
\hline
{\em ctx} & PROJ context \\
\hline
\end{DoxyParams}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1ParsingException}{Parsing\+Exception}}} & \\
\hline
\end{DoxyExceptions}
