\hypertarget{classosgeo_1_1proj_1_1operation_1_1OperationMethod}{}\doxysection{osgeo\+::proj\+::operation\+::Operation\+Method Class Reference}
\label{classosgeo_1_1proj_1_1operation_1_1OperationMethod}\index{osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}}


The method (algorithm or procedure) used to perform the coordinate operation.  




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



Inheritance diagram for osgeo\+::proj\+::operation\+::Operation\+Method\+:
% FIG 0


Collaboration diagram for osgeo\+::proj\+::operation\+::Operation\+Method\+:
% FIG 1
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util\+::optional}}$<$ std\+::string $>$ \& \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ac58c62a75471a0b5f6aca80dbd8ad319}{formula}} ()
\begin{DoxyCompactList}\small\item\em Return the formula(s) or procedure used by this coordinate operation method. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util\+::optional}}$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1metadata_1_1Citation}{metadata\+::\+Citation}} $>$ \& \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a86dbab0a7db73db0035fdb23d8386b4c}{formula\+Citation}} ()
\begin{DoxyCompactList}\small\item\em Return a reference to a publication giving the formula(s) or procedure used by the coordinate operation method. \end{DoxyCompactList}\item 
const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a140356cafb5429481690e410bee303b5}{General\+Operation\+Parameter\+NNPtr}} $>$ \& \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a210eb330b11f636157bd4a83258d47e5}{parameters}} ()
\begin{DoxyCompactList}\small\item\em Return the parameters of this operation method. \end{DoxyCompactList}\item 
int \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ac2aa9680202b0aa0784863854db1c879}{get\+EPSGCode}} ()
\begin{DoxyCompactList}\small\item\em Return the EPSG code, either directly, or through the name. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a131837de25ed01267a434c5e50779c8f}{Operation\+Method\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ae36dcf64f209ccbf540ea005c426f55d}{create}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a140356cafb5429481690e410bee303b5}{General\+Operation\+Parameter\+NNPtr}} $>$ \&\mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a210eb330b11f636157bd4a83258d47e5}{parameters}})
\begin{DoxyCompactList}\small\item\em Instantiate a operation method from a vector of \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1GeneralOperationParameter}{General\+Operation\+Parameter}}. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a131837de25ed01267a434c5e50779c8f}{Operation\+Method\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a46efa344f6910d98b198377774d6313a}{create}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a18a1147d5ec27ef63139b04b864159a4}{Operation\+Parameter\+NNPtr}} $>$ \&\mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a210eb330b11f636157bd4a83258d47e5}{parameters}})
\begin{DoxyCompactList}\small\item\em Instantiate a operation method from a vector of \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationParameter}{Operation\+Parameter}}. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
The method (algorithm or procedure) used to perform the coordinate operation. 

For a projection method, this contains the name of the projection method and the name of the projection parameters.

\begin{DoxyRemark}{Remarks}
Implements \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod}{Operation\+Method}} from \mbox{\hyperlink{general_doc_ISO_19111_2019}{ISO 19111\+:2019}} 
\end{DoxyRemark}


\doxysubsection{Member Function Documentation}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ae36dcf64f209ccbf540ea005c426f55d}\label{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ae36dcf64f209ccbf540ea005c426f55d}} 
\index{osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}!create@{create}}
\index{create@{create}!osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a131837de25ed01267a434c5e50779c8f}{Operation\+Method\+NNPtr}} osgeo\+::proj\+::operation\+::\+Operation\+Method\+::create (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&}]{properties,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a140356cafb5429481690e410bee303b5}{General\+Operation\+Parameter\+NNPtr}} $>$ \&}]{parameters }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a operation method from a vector of \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1GeneralOperationParameter}{General\+Operation\+Parameter}}. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}}. At minimum the name should be defined. \\
\hline
{\em parameters} & Vector of General\+Operation\+Parameter\+NNPtr. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod}{Operation\+Method}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a46efa344f6910d98b198377774d6313a}\label{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a46efa344f6910d98b198377774d6313a}} 
\index{osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}!create@{create}}
\index{create@{create}!osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a131837de25ed01267a434c5e50779c8f}{Operation\+Method\+NNPtr}} osgeo\+::proj\+::operation\+::\+Operation\+Method\+::create (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&}]{properties,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a18a1147d5ec27ef63139b04b864159a4}{Operation\+Parameter\+NNPtr}} $>$ \&}]{parameters }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a operation method from a vector of \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationParameter}{Operation\+Parameter}}. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}}. At minimum the name should be defined. \\
\hline
{\em parameters} & Vector of Operation\+Parameter\+NNPtr. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod}{Operation\+Method}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ac58c62a75471a0b5f6aca80dbd8ad319}\label{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ac58c62a75471a0b5f6aca80dbd8ad319}} 
\index{osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}!formula@{formula}}
\index{formula@{formula}!osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}}
\doxysubsubsection{\texorpdfstring{formula()}{formula()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util\+::optional}}$<$ std\+::string $>$ \& osgeo\+::proj\+::operation\+::\+Operation\+Method\+::formula (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the formula(s) or procedure used by this coordinate operation method. 

This may be a reference to a publication (in which case use \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a86dbab0a7db73db0035fdb23d8386b4c}{formula\+Citation()}}).

Note that the operation method may not be analytic, in which case this attribute references or contains the procedure, not an analytic formula.

\begin{DoxyReturn}{Returns}
the formula, or empty. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a86dbab0a7db73db0035fdb23d8386b4c}\label{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a86dbab0a7db73db0035fdb23d8386b4c}} 
\index{osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}!formulaCitation@{formulaCitation}}
\index{formulaCitation@{formulaCitation}!osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}}
\doxysubsubsection{\texorpdfstring{formulaCitation()}{formulaCitation()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1optional}{util\+::optional}}$<$ \mbox{\hyperlink{classosgeo_1_1proj_1_1metadata_1_1Citation}{metadata\+::\+Citation}} $>$ \& osgeo\+::proj\+::operation\+::\+Operation\+Method\+::formula\+Citation (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return a reference to a publication giving the formula(s) or procedure used by the coordinate operation method. 

\begin{DoxyReturn}{Returns}
the formula citation, or empty. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ac2aa9680202b0aa0784863854db1c879}\label{classosgeo_1_1proj_1_1operation_1_1OperationMethod_ac2aa9680202b0aa0784863854db1c879}} 
\index{osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}!getEPSGCode@{getEPSGCode}}
\index{getEPSGCode@{getEPSGCode}!osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}}
\doxysubsubsection{\texorpdfstring{getEPSGCode()}{getEPSGCode()}}
{\footnotesize\ttfamily int osgeo\+::proj\+::operation\+::\+Operation\+Method\+::get\+EPSGCode (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the EPSG code, either directly, or through the name. 

\begin{DoxyReturn}{Returns}
code, or 0 if not found 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a210eb330b11f636157bd4a83258d47e5}\label{classosgeo_1_1proj_1_1operation_1_1OperationMethod_a210eb330b11f636157bd4a83258d47e5}} 
\index{osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}!parameters@{parameters}}
\index{parameters@{parameters}!osgeo::proj::operation::OperationMethod@{osgeo::proj::operation::OperationMethod}}
\doxysubsubsection{\texorpdfstring{parameters()}{parameters()}}
{\footnotesize\ttfamily const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a140356cafb5429481690e410bee303b5}{General\+Operation\+Parameter\+NNPtr}} $>$ \& osgeo\+::proj\+::operation\+::\+Operation\+Method\+::parameters (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the parameters of this operation method. 

\begin{DoxyReturn}{Returns}
the parameters. 
\end{DoxyReturn}


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