\hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{}\doxysection{osgeo\+::proj\+::io\+::PROJString\+Formatter Class Reference}
\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}\index{osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}}


Formatter to PROJ strings.  




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

\doxysubsection*{Public Types}
\begin{DoxyCompactItemize}
\item 
enum class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13}{Convention}} \{ \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13a475fc81228e34a4715d2d28f4d7f2851}{PROJ\+\_\+5}}
, \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13ae3bec874928ae377030a07a550bdc7eb}{PROJ\+\_\+4}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a5d46759bd52450e609a4e5831eee7f9a}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a5d46759bd52450e609a4e5831eee7f9a}} 
\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}} \& {\bfseries set\+Multi\+Line} (bool multi\+Line) noexcept
\begin{DoxyCompactList}\small\item\em Whether to use multi line output or not. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_ae81090abb460dcb15d4b2fd23c27c7f6}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_ae81090abb460dcb15d4b2fd23c27c7f6}} 
\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}} \& {\bfseries set\+Indentation\+Width} (int width) noexcept
\begin{DoxyCompactList}\small\item\em Set number of spaces for each indentation level (defaults to 2). \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_acae95c7bda35eb46abc040431af65a45}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_acae95c7bda35eb46abc040431af65a45}} 
\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter}{PROJString\+Formatter}} \& {\bfseries set\+Max\+Line\+Length} (int max\+Line\+Length) noexcept
\begin{DoxyCompactList}\small\item\em Set the maximum size of a line (when multiline output is enable). Can be set to 0 for unlimited length. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a5cb516d00bea6c6a55affe42ea067024}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a5cb516d00bea6c6a55affe42ea067024}} 
void {\bfseries set\+Use\+Approx\+TMerc} (bool flag)
\begin{DoxyCompactList}\small\item\em Set whether approximate Transverse Mercator or UTM should be used. \end{DoxyCompactList}\item 
\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_ae824b9e803186029d4fe51a80bf4bcc5}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_ae824b9e803186029d4fe51a80bf4bcc5}} 
const std\+::string \& {\bfseries to\+String} () const
\begin{DoxyCompactList}\small\item\em Returns the PROJ string. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a33fa50ad8d2ecdd6f1f6037a3cb00011}{PROJString\+Formatter\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a0d456c69a6eb6f6c18ca1a27e9db62b0}{create}} (\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13}{Convention}} convention\+In=\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13a475fc81228e34a4715d2d28f4d7f2851}{Convention\+::\+PROJ\+\_\+5}}, \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{Database\+Context\+Ptr}} db\+Context=nullptr)
\begin{DoxyCompactList}\small\item\em Constructs a new formatter. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Formatter to PROJ strings. 

An instance of this class can only be used by a single thread at a time. 

\doxysubsection{Member Enumeration Documentation}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13}} 
\index{osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}!Convention@{Convention}}
\index{Convention@{Convention}!osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}}
\doxysubsubsection{\texorpdfstring{Convention}{Convention}}
{\footnotesize\ttfamily enum class \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13}{osgeo\+::proj\+::io\+::\+PROJString\+Formatter\+::\+Convention}}\hspace{0.3cm}{\ttfamily [strong]}}

PROJ variant. \begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{PROJ\_5@{PROJ\_5}!osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}}\index{osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}!PROJ\_5@{PROJ\_5}}}\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13a475fc81228e34a4715d2d28f4d7f2851}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13a475fc81228e34a4715d2d28f4d7f2851}} 
PROJ\+\_\+5&PROJ v5 (or later versions) string. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PROJ\_4@{PROJ\_4}!osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}}\index{osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}!PROJ\_4@{PROJ\_4}}}\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13ae3bec874928ae377030a07a550bdc7eb}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13ae3bec874928ae377030a07a550bdc7eb}} 
PROJ\+\_\+4&PROJ v4 string as output by GDAL export\+To\+Proj4() \\
\hline

\end{DoxyEnumFields}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a0d456c69a6eb6f6c18ca1a27e9db62b0}\label{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a0d456c69a6eb6f6c18ca1a27e9db62b0}} 
\index{osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}!create@{create}}
\index{create@{create}!osgeo::proj::io::PROJStringFormatter@{osgeo::proj::io::PROJStringFormatter}}
\doxysubsubsection{\texorpdfstring{create()}{create()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_a33fa50ad8d2ecdd6f1f6037a3cb00011}{PROJString\+Formatter\+NNPtr}} osgeo\+::proj\+::io\+::\+PROJString\+Formatter\+::create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13}{Convention}}}]{convention\+In = {\ttfamily \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13a475fc81228e34a4715d2d28f4d7f2851}{Convention\+::\+PROJ\+\_\+5}}},  }\item[{\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1io_ac071e92c14195058e37bcd4c7b75b42f}{Database\+Context\+Ptr}}}]{db\+Context = {\ttfamily nullptr} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Constructs a new formatter. 

A formatter can be used only once (its internal state is mutated)

Its default behavior can be adjusted with the different setters.


\begin{DoxyParams}{Parameters}
{\em convention\+In} & PROJ string flavor. Defaults to \mbox{\hyperlink{classosgeo_1_1proj_1_1io_1_1PROJStringFormatter_a797997db6984aa2bad279abb0010ff13a475fc81228e34a4715d2d28f4d7f2851}{Convention\+::\+PROJ\+\_\+5}} \\
\hline
{\em db\+Context} & Database context (can help to find alternative grid names). May be nullptr \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new formatter. 
\end{DoxyReturn}


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