\hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation}{}\doxysection{osgeo\+::proj\+::operation\+::Transformation Class Reference}
\label{classosgeo_1_1proj_1_1operation_1_1Transformation}\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}


A mathematical operation on coordinates in which parameters are empirically derived from data containing the coordinates of a series of points in both coordinate reference systems.  




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



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


Collaboration diagram for osgeo\+::proj\+::operation\+::Transformation\+:
% FIG 1
\doxysubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \& \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a77f1d2fe4aff1edc9efc6e54f21eb3bf}{source\+CRS}} ()
\begin{DoxyCompactList}\small\item\em Return the source \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{crs\+::\+CRS}} of the transformation. \end{DoxyCompactList}\item 
const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \& \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a902d6acdd31b1dc622a818480e1e3fb0}{target\+CRS}} ()
\begin{DoxyCompactList}\small\item\em Return the target \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{crs\+::\+CRS}} of the transformation. \end{DoxyCompactList}\item 
\mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a1b1238e3c3bfa1271bfecce940e77f13}{Coordinate\+Operation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aa81c282460a5bf4066ca8c9ea5d9a318}{inverse}} () const override
\begin{DoxyCompactList}\small\item\em Return the inverse of the coordinate operation. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_adf73087163cf8799c4a19f51174aa31a}{create}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a10d8b8fa97907a6780310213ce72d744}{crs\+::\+CRSPtr}} \&interpolation\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a131837de25ed01267a434c5e50779c8f}{Operation\+Method\+NNPtr}} \&method\+In, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a52b51c9ff24cf9c40e296018eb5f6c3e}{General\+Parameter\+Value\+NNPtr}} $>$ \&values, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation from a vector of \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1GeneralParameterValue}{General\+Parameter\+Value}}. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a0d50145abf1d8e92c428a7eadaa55e59}{create}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties\+Transformation, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a10d8b8fa97907a6780310213ce72d744}{crs\+::\+CRSPtr}} \&interpolation\+CRSIn, const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties\+Operation\+Method, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a18a1147d5ec27ef63139b04b864159a4}{Operation\+Parameter\+NNPtr}} $>$ \&parameters, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_ad90393980892c0bbc47e76d2b4504b77}{Parameter\+Value\+NNPtr}} $>$ \&values, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation and its \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod}{Operation\+Method}}. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a8f0d127db1de67d4f302640fb1d2c7b0}{create\+Geocentric\+Translations}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, double translation\+XMetre, double translation\+YMetre, double translation\+ZMetre, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with Geocentric Translations method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a28988de02d9827d0e036736f34e45289}{create\+Position\+Vector}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, double translation\+XMetre, double translation\+YMetre, double translation\+ZMetre, double rotation\+XArc\+Second, double rotation\+YArc\+Second, double rotation\+ZArc\+Second, double scale\+Difference\+PPM, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with Position vector transformation method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a7f80ce04278ab689a01941b293882228}{create\+Coordinate\+Frame\+Rotation}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, double translation\+XMetre, double translation\+YMetre, double translation\+ZMetre, double rotation\+XArc\+Second, double rotation\+YArc\+Second, double rotation\+ZArc\+Second, double scale\+Difference\+PPM, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with Coordinate Frame Rotation method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aa923c11761470ca6e0d45d3956d5489f}{create\+Time\+Dependent\+Position\+Vector}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, double translation\+XMetre, double translation\+YMetre, double translation\+ZMetre, double rotation\+XArc\+Second, double rotation\+YArc\+Second, double rotation\+ZArc\+Second, double scale\+Difference\+PPM, double rate\+TranslationX, double rate\+TranslationY, double rate\+TranslationZ, double rate\+RotationX, double rate\+RotationY, double rate\+RotationZ, double rate\+Scale\+Difference, double reference\+Epoch\+Year, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with Time Dependent position vector transformation method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aa2d1532c243a41756e003e60a31601cf}{create\+Time\+Dependent\+Coordinate\+Frame\+Rotation}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, double translation\+XMetre, double translation\+YMetre, double translation\+ZMetre, double rotation\+XArc\+Second, double rotation\+YArc\+Second, double rotation\+ZArc\+Second, double scale\+Difference\+PPM, double rate\+TranslationX, double rate\+TranslationY, double rate\+TranslationZ, double rate\+RotationX, double rate\+RotationY, double rate\+RotationZ, double rate\+Scale\+Difference, double reference\+Epoch\+Year, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with Time Dependent Position coordinate frame rotation transformation method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_af2f31a5925cec1276794553059d62516}{create\+TOWGS84}} (const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const std\+::vector$<$ double $>$ \&TOWGS84\+Parameters)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation from TOWGS84 parameters. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aac94e257ee4a4260698c901737e34521}{create\+NTv2}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const std\+::string \&filename, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with NTv2 method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aac2f20e4858656d78ecdc9137ced5af1}{create\+Molodensky}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, double translation\+XMetre, double translation\+YMetre, double translation\+ZMetre, double semi\+Major\+Axis\+Difference\+Metre, double flatting\+Difference, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with Molodensky method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a30154e7bbc70226e03be6e92787e4694}{create\+Abridged\+Molodensky}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, double translation\+XMetre, double translation\+YMetre, double translation\+ZMetre, double semi\+Major\+Axis\+Difference\+Metre, double flatting\+Difference, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with Abridged Molodensky method. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_acf4570f0053c5a6aecebd3afeebf5c8d}{create\+Gravity\+Related\+Height\+To\+Geographic3D}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a10d8b8fa97907a6780310213ce72d744}{crs\+::\+CRSPtr}} \&interpolation\+CRSIn, const std\+::string \&filename, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation from Gravity\+Related\+Height to Geographic3D. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a03a6c147a42851ae56690b3dc422eef2}{create\+VERTCON}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const std\+::string \&filename, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with method VERTCON. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a2cd18dce484e35d65cf7c64b2f161ea8}{create\+Longitude\+Rotation}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&offset)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with method Longitude rotation. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_ab4c877f159600bdedebd8257079ca607}{create\+Geographic2\+DOffsets}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&offset\+Lat, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&offset\+Lon, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with method Geographic 2D offsets. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aa0acc4d8f2566bcdf579494f969b44d9}{create\+Geographic3\+DOffsets}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&offset\+Lat, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&offset\+Lon, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common\+::\+Length}} \&offset\+Height, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with method Geographic 3D offsets. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a1ce31dc134d9d9bbd7b9dda200aeae00}{create\+Geographic2\+DWith\+Height\+Offsets}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&offset\+Lat, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&offset\+Lon, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common\+::\+Length}} \&offset\+Height, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with method Geographic 2D with height offsets. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_ac2b4e72b2584cbbbd51f2ac3ca437c7a}{create\+Vertical\+Offset}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common\+::\+Length}} \&offset\+Height, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation with method Vertical Offset. \end{DoxyCompactList}\item 
static \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_adaf543cf10b28021f4eebb674b9ab115}{create\+Change\+Vertical\+Unit}} (const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&properties, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&source\+CRSIn, const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&target\+CRSIn, const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Scale}{common\+::\+Scale}} \&factor, const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&accuracies)
\begin{DoxyCompactList}\small\item\em Instantiate a transformation based on the Change of Vertical Unit method. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Additional Inherited Members}


\doxysubsection{Detailed Description}
A mathematical operation on coordinates in which parameters are empirically derived from data containing the coordinates of a series of points in both coordinate reference systems. 

This computational process is usually \char`\"{}over-\/determined\char`\"{}, allowing derivation of error (or accuracy) estimates for the coordinate transformation. Also, the stochastic nature of the parameters may result in multiple (different) versions of the same coordinate transformations between the same source and target CRSs. Any single coordinate operation in which the input and output coordinates are referenced to different datums (reference frames) will be a coordinate transformation.

\begin{DoxyRemark}{Remarks}
Implements \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}} 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_1Transformation_adf73087163cf8799c4a19f51174aa31a}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_adf73087163cf8799c4a19f51174aa31a}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!create@{create}}
\index{create@{create}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a10d8b8fa97907a6780310213ce72d744}{crs\+::\+CRSPtr}} \&}]{interpolation\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a131837de25ed01267a434c5e50779c8f}{Operation\+Method\+NNPtr}} \&}]{method\+In,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a52b51c9ff24cf9c40e296018eb5f6c3e}{General\+Parameter\+Value\+NNPtr}} $>$ \&}]{values,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation from a vector of \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1GeneralParameterValue}{General\+Parameter\+Value}}. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em interpolation\+CRSIn} & Interpolation CRS (might be null) \\
\hline
{\em method\+In} & Operation method. \\
\hline
{\em values} & Vector of General\+Operation\+Parameter\+NNPtr. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1InvalidOperation}{Invalid\+Operation}}} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a0d50145abf1d8e92c428a7eadaa55e59}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a0d50145abf1d8e92c428a7eadaa55e59}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!create@{create}}
\index{create@{create}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{create()}{create()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&}]{properties\+Transformation,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a10d8b8fa97907a6780310213ce72d744}{crs\+::\+CRSPtr}} \&}]{interpolation\+CRSIn,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1PropertyMap}{util\+::\+Property\+Map}} \&}]{properties\+Operation\+Method,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a18a1147d5ec27ef63139b04b864159a4}{Operation\+Parameter\+NNPtr}} $>$ \&}]{parameters,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_ad90393980892c0bbc47e76d2b4504b77}{Parameter\+Value\+NNPtr}} $>$ \&}]{values,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation and its \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod}{Operation\+Method}}. 


\begin{DoxyParams}{Parameters}
{\em properties\+Transformation} & The \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em interpolation\+CRSIn} & Interpolation CRS (might be null) \\
\hline
{\em properties\+Operation\+Method} & The \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1OperationMethod}{Operation\+Method}}. At minimum the name should be defined. \\
\hline
{\em parameters} & Vector of parameters of the operation method. \\
\hline
{\em values} & Vector of Parameter\+Value\+NNPtr. Constraint\+: values.\+size() == parameters.\+size() \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1InvalidOperation}{Invalid\+Operation}}} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a30154e7bbc70226e03be6e92787e4694}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a30154e7bbc70226e03be6e92787e4694}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createAbridgedMolodensky@{createAbridgedMolodensky}}
\index{createAbridgedMolodensky@{createAbridgedMolodensky}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createAbridgedMolodensky()}{createAbridgedMolodensky()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Abridged\+Molodensky (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{double}]{translation\+XMetre,  }\item[{double}]{translation\+YMetre,  }\item[{double}]{translation\+ZMetre,  }\item[{double}]{semi\+Major\+Axis\+Difference\+Metre,  }\item[{double}]{flatting\+Difference,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with Abridged Molodensky method. 

\begin{DoxySeeAlso}{See also}
created\+Molodensky() for a related \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1SingleOperation_a6bf9a444decc61787b928a88bfd447d4}{method}}.
\end{DoxySeeAlso}
This method is defined as \mbox{[}EPSG\+:9605\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9605}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::9605}})


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em translation\+XMetre} & Value of the Translation\+\_\+X parameter (in metre). \\
\hline
{\em translation\+YMetre} & Value of the Translation\+\_\+Y parameter (in metre). \\
\hline
{\em translation\+ZMetre} & Value of the Translation\+\_\+Z parameter (in metre). \\
\hline
{\em semi\+Major\+Axis\+Difference\+Metre} & The difference between the semi-\/major axis values of the ellipsoids used in the target and source CRS (in metre). \\
\hline
{\em flatting\+Difference} & The difference between the flattening values of the ellipsoids used in the target and source CRS. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1InvalidOperation}{Invalid\+Operation}}} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_adaf543cf10b28021f4eebb674b9ab115}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_adaf543cf10b28021f4eebb674b9ab115}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createChangeVerticalUnit@{createChangeVerticalUnit}}
\index{createChangeVerticalUnit@{createChangeVerticalUnit}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createChangeVerticalUnit()}{createChangeVerticalUnit()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Change\+Vertical\+Unit (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Scale}{common\+::\+Scale}} \&}]{factor,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation based on the Change of Vertical Unit method. 

This method is defined as \mbox{[}EPSG\+:1069\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::1069}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::1069}})


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the conversion. If the name is not provided, it is automatically set. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em factor} & \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Conversion}{Conversion}} factor \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a7f80ce04278ab689a01941b293882228}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a7f80ce04278ab689a01941b293882228}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createCoordinateFrameRotation@{createCoordinateFrameRotation}}
\index{createCoordinateFrameRotation@{createCoordinateFrameRotation}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createCoordinateFrameRotation()}{createCoordinateFrameRotation()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Coordinate\+Frame\+Rotation (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{double}]{translation\+XMetre,  }\item[{double}]{translation\+YMetre,  }\item[{double}]{translation\+ZMetre,  }\item[{double}]{rotation\+XArc\+Second,  }\item[{double}]{rotation\+YArc\+Second,  }\item[{double}]{rotation\+ZArc\+Second,  }\item[{double}]{scale\+Difference\+PPM,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with Coordinate Frame Rotation method. 

This is similar to \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a28988de02d9827d0e036736f34e45289}{create\+Position\+Vector()}}, except that the sign of the rotation terms is inverted.


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em translation\+XMetre} & Value of the Translation\+\_\+X parameter (in metre). \\
\hline
{\em translation\+YMetre} & Value of the Translation\+\_\+Y parameter (in metre). \\
\hline
{\em translation\+ZMetre} & Value of the Translation\+\_\+Z parameter (in metre). \\
\hline
{\em rotation\+XArc\+Second} & Value of the Rotation\+\_\+X parameter (in arc-\/second). \\
\hline
{\em rotation\+YArc\+Second} & Value of the Rotation\+\_\+Y parameter (in arc-\/second). \\
\hline
{\em rotation\+ZArc\+Second} & Value of the Rotation\+\_\+Z parameter (in arc-\/second). \\
\hline
{\em scale\+Difference\+PPM} & Value of the Scale\+\_\+\+Difference parameter (in parts-\/per-\/million). \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a8f0d127db1de67d4f302640fb1d2c7b0}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a8f0d127db1de67d4f302640fb1d2c7b0}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createGeocentricTranslations@{createGeocentricTranslations}}
\index{createGeocentricTranslations@{createGeocentricTranslations}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createGeocentricTranslations()}{createGeocentricTranslations()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Geocentric\+Translations (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{double}]{translation\+XMetre,  }\item[{double}]{translation\+YMetre,  }\item[{double}]{translation\+ZMetre,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with Geocentric Translations method. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em translation\+XMetre} & Value of the Translation\+\_\+X parameter (in metre). \\
\hline
{\em translation\+YMetre} & Value of the Translation\+\_\+Y parameter (in metre). \\
\hline
{\em translation\+ZMetre} & Value of the Translation\+\_\+Z parameter (in metre). \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_ab4c877f159600bdedebd8257079ca607}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_ab4c877f159600bdedebd8257079ca607}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createGeographic2DOffsets@{createGeographic2DOffsets}}
\index{createGeographic2DOffsets@{createGeographic2DOffsets}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createGeographic2DOffsets()}{createGeographic2DOffsets()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Geographic2\+DOffsets (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&}]{offset\+Lat,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&}]{offset\+Lon,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with method Geographic 2D offsets. 

This method is defined as \mbox{[}EPSG\+:9619\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9619}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::9619}})
\begin{DoxyItemize}
\item 
\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em offset\+Lat} & Latitude offset to add. \\
\hline
{\em offset\+Lon} & Longitude offset to add. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\end{DoxyItemize}\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a1ce31dc134d9d9bbd7b9dda200aeae00}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a1ce31dc134d9d9bbd7b9dda200aeae00}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createGeographic2DWithHeightOffsets@{createGeographic2DWithHeightOffsets}}
\index{createGeographic2DWithHeightOffsets@{createGeographic2DWithHeightOffsets}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createGeographic2DWithHeightOffsets()}{createGeographic2DWithHeightOffsets()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Geographic2\+DWith\+Height\+Offsets (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&}]{offset\+Lat,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&}]{offset\+Lon,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common\+::\+Length}} \&}]{offset\+Height,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with method Geographic 2D with height offsets. 

This method is defined as \mbox{[}EPSG\+:9618\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9618}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::9618}})
\begin{DoxyItemize}
\item 
\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em offset\+Lat} & Latitude offset to add. \\
\hline
{\em offset\+Lon} & Longitude offset to add. \\
\hline
{\em offset\+Height} & Geoid undulation to add. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\end{DoxyItemize}\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_aa0acc4d8f2566bcdf579494f969b44d9}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_aa0acc4d8f2566bcdf579494f969b44d9}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createGeographic3DOffsets@{createGeographic3DOffsets}}
\index{createGeographic3DOffsets@{createGeographic3DOffsets}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createGeographic3DOffsets()}{createGeographic3DOffsets()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Geographic3\+DOffsets (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&}]{offset\+Lat,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&}]{offset\+Lon,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common\+::\+Length}} \&}]{offset\+Height,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with method Geographic 3D offsets. 

This method is defined as \mbox{[}EPSG\+:9660\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9660}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::9660}})
\begin{DoxyItemize}
\item 
\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em offset\+Lat} & Latitude offset to add. \\
\hline
{\em offset\+Lon} & Longitude offset to add. \\
\hline
{\em offset\+Height} & Height offset to add. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\end{DoxyItemize}\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_acf4570f0053c5a6aecebd3afeebf5c8d}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_acf4570f0053c5a6aecebd3afeebf5c8d}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createGravityRelatedHeightToGeographic3D@{createGravityRelatedHeightToGeographic3D}}
\index{createGravityRelatedHeightToGeographic3D@{createGravityRelatedHeightToGeographic3D}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createGravityRelatedHeightToGeographic3D()}{createGravityRelatedHeightToGeographic3D()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Gravity\+Related\+Height\+To\+Geographic3D (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a10d8b8fa97907a6780310213ce72d744}{crs\+::\+CRSPtr}} \&}]{interpolation\+CRSIn,  }\item[{const std\+::string \&}]{filename,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation from Gravity\+Related\+Height to Geographic3D. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em interpolation\+CRSIn} & Interpolation CRS. (might be null) \\
\hline
{\em filename} & GRID filename. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a2cd18dce484e35d65cf7c64b2f161ea8}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a2cd18dce484e35d65cf7c64b2f161ea8}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createLongitudeRotation@{createLongitudeRotation}}
\index{createLongitudeRotation@{createLongitudeRotation}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createLongitudeRotation()}{createLongitudeRotation()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Longitude\+Rotation (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Angle}{common\+::\+Angle}} \&}]{offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with method Longitude rotation. 

This method is defined as \mbox{[}EPSG\+:9601\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9601}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::9601}})
\begin{DoxyItemize}
\item 
\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em offset} & Longitude offset to add. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\end{DoxyItemize}\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_aac2f20e4858656d78ecdc9137ced5af1}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_aac2f20e4858656d78ecdc9137ced5af1}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createMolodensky@{createMolodensky}}
\index{createMolodensky@{createMolodensky}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createMolodensky()}{createMolodensky()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Molodensky (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{double}]{translation\+XMetre,  }\item[{double}]{translation\+YMetre,  }\item[{double}]{translation\+ZMetre,  }\item[{double}]{semi\+Major\+Axis\+Difference\+Metre,  }\item[{double}]{flatting\+Difference,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with Molodensky method. 

\begin{DoxySeeAlso}{See also}
\mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a30154e7bbc70226e03be6e92787e4694}{create\+Abridged\+Molodensky()}} for a related \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1SingleOperation_a6bf9a444decc61787b928a88bfd447d4}{method}}.
\end{DoxySeeAlso}
This method is defined as \mbox{[}EPSG\+:9604\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9604}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::9604}})


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em translation\+XMetre} & Value of the Translation\+\_\+X parameter (in metre). \\
\hline
{\em translation\+YMetre} & Value of the Translation\+\_\+Y parameter (in metre). \\
\hline
{\em translation\+ZMetre} & Value of the Translation\+\_\+Z parameter (in metre). \\
\hline
{\em semi\+Major\+Axis\+Difference\+Metre} & The difference between the semi-\/major axis values of the ellipsoids used in the target and source CRS (in metre). \\
\hline
{\em flatting\+Difference} & The difference between the flattening values of the ellipsoids used in the target and source CRS. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1InvalidOperation}{Invalid\+Operation}}} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_aac94e257ee4a4260698c901737e34521}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_aac94e257ee4a4260698c901737e34521}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createNTv2@{createNTv2}}
\index{createNTv2@{createNTv2}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createNTv2()}{createNTv2()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+NTv2 (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const std\+::string \&}]{filename,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with NTv2 method. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em filename} & NTv2 filename. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a28988de02d9827d0e036736f34e45289}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a28988de02d9827d0e036736f34e45289}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createPositionVector@{createPositionVector}}
\index{createPositionVector@{createPositionVector}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createPositionVector()}{createPositionVector()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Position\+Vector (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{double}]{translation\+XMetre,  }\item[{double}]{translation\+YMetre,  }\item[{double}]{translation\+ZMetre,  }\item[{double}]{rotation\+XArc\+Second,  }\item[{double}]{rotation\+YArc\+Second,  }\item[{double}]{rotation\+ZArc\+Second,  }\item[{double}]{scale\+Difference\+PPM,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with Position vector transformation method. 

This is similar to \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a7f80ce04278ab689a01941b293882228}{create\+Coordinate\+Frame\+Rotation()}}, except that the sign of the rotation terms is inverted.


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em translation\+XMetre} & Value of the Translation\+\_\+X parameter (in metre). \\
\hline
{\em translation\+YMetre} & Value of the Translation\+\_\+Y parameter (in metre). \\
\hline
{\em translation\+ZMetre} & Value of the Translation\+\_\+Z parameter (in metre). \\
\hline
{\em rotation\+XArc\+Second} & Value of the Rotation\+\_\+X parameter (in arc-\/second). \\
\hline
{\em rotation\+YArc\+Second} & Value of the Rotation\+\_\+Y parameter (in arc-\/second). \\
\hline
{\em rotation\+ZArc\+Second} & Value of the Rotation\+\_\+Z parameter (in arc-\/second). \\
\hline
{\em scale\+Difference\+PPM} & Value of the Scale\+\_\+\+Difference parameter (in parts-\/per-\/million). \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_aa2d1532c243a41756e003e60a31601cf}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_aa2d1532c243a41756e003e60a31601cf}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createTimeDependentCoordinateFrameRotation@{createTimeDependentCoordinateFrameRotation}}
\index{createTimeDependentCoordinateFrameRotation@{createTimeDependentCoordinateFrameRotation}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createTimeDependentCoordinateFrameRotation()}{createTimeDependentCoordinateFrameRotation()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Time\+Dependent\+Coordinate\+Frame\+Rotation (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{double}]{translation\+XMetre,  }\item[{double}]{translation\+YMetre,  }\item[{double}]{translation\+ZMetre,  }\item[{double}]{rotation\+XArc\+Second,  }\item[{double}]{rotation\+YArc\+Second,  }\item[{double}]{rotation\+ZArc\+Second,  }\item[{double}]{scale\+Difference\+PPM,  }\item[{double}]{rate\+TranslationX,  }\item[{double}]{rate\+TranslationY,  }\item[{double}]{rate\+TranslationZ,  }\item[{double}]{rate\+RotationX,  }\item[{double}]{rate\+RotationY,  }\item[{double}]{rate\+RotationZ,  }\item[{double}]{rate\+Scale\+Difference,  }\item[{double}]{reference\+Epoch\+Year,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with Time Dependent Position coordinate frame rotation transformation method. 

This is similar to \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aa923c11761470ca6e0d45d3956d5489f}{create\+Time\+Dependent\+Position\+Vector()}}, except that the sign of the rotation terms is inverted.

This method is defined as \mbox{[}EPSG\+:1056\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::1056}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::1056}})


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em translation\+XMetre} & Value of the Translation\+\_\+X parameter (in metre). \\
\hline
{\em translation\+YMetre} & Value of the Translation\+\_\+Y parameter (in metre). \\
\hline
{\em translation\+ZMetre} & Value of the Translation\+\_\+Z parameter (in metre). \\
\hline
{\em rotation\+XArc\+Second} & Value of the Rotation\+\_\+X parameter (in arc-\/second). \\
\hline
{\em rotation\+YArc\+Second} & Value of the Rotation\+\_\+Y parameter (in arc-\/second). \\
\hline
{\em rotation\+ZArc\+Second} & Value of the Rotation\+\_\+Z parameter (in arc-\/second). \\
\hline
{\em scale\+Difference\+PPM} & Value of the Scale\+\_\+\+Difference parameter (in parts-\/per-\/million). \\
\hline
{\em rate\+TranslationX} & Value of the rate of change of X-\/axis translation (in metre/year) \\
\hline
{\em rate\+TranslationY} & Value of the rate of change of Y-\/axis translation (in metre/year) \\
\hline
{\em rate\+TranslationZ} & Value of the rate of change of Z-\/axis translation (in metre/year) \\
\hline
{\em rate\+RotationX} & Value of the rate of change of X-\/axis rotation (in arc-\/second/year) \\
\hline
{\em rate\+RotationY} & Value of the rate of change of Y-\/axis rotation (in arc-\/second/year) \\
\hline
{\em rate\+RotationZ} & Value of the rate of change of Z-\/axis rotation (in arc-\/second/year) \\
\hline
{\em rate\+Scale\+Difference} & Value of the rate of change of scale difference (in PPM/year) \\
\hline
{\em reference\+Epoch\+Year} & Parameter reference epoch (in decimal year) \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1InvalidOperation}{Invalid\+Operation}}} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_aa923c11761470ca6e0d45d3956d5489f}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_aa923c11761470ca6e0d45d3956d5489f}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createTimeDependentPositionVector@{createTimeDependentPositionVector}}
\index{createTimeDependentPositionVector@{createTimeDependentPositionVector}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createTimeDependentPositionVector()}{createTimeDependentPositionVector()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Time\+Dependent\+Position\+Vector (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{double}]{translation\+XMetre,  }\item[{double}]{translation\+YMetre,  }\item[{double}]{translation\+ZMetre,  }\item[{double}]{rotation\+XArc\+Second,  }\item[{double}]{rotation\+YArc\+Second,  }\item[{double}]{rotation\+ZArc\+Second,  }\item[{double}]{scale\+Difference\+PPM,  }\item[{double}]{rate\+TranslationX,  }\item[{double}]{rate\+TranslationY,  }\item[{double}]{rate\+TranslationZ,  }\item[{double}]{rate\+RotationX,  }\item[{double}]{rate\+RotationY,  }\item[{double}]{rate\+RotationZ,  }\item[{double}]{rate\+Scale\+Difference,  }\item[{double}]{reference\+Epoch\+Year,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with Time Dependent position vector transformation method. 

This is similar to \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_aa2d1532c243a41756e003e60a31601cf}{create\+Time\+Dependent\+Coordinate\+Frame\+Rotation()}}, except that the sign of the rotation terms is inverted.

This method is defined as \mbox{[}EPSG\+:1053\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::1053}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::1053}})


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em translation\+XMetre} & Value of the Translation\+\_\+X parameter (in metre). \\
\hline
{\em translation\+YMetre} & Value of the Translation\+\_\+Y parameter (in metre). \\
\hline
{\em translation\+ZMetre} & Value of the Translation\+\_\+Z parameter (in metre). \\
\hline
{\em rotation\+XArc\+Second} & Value of the Rotation\+\_\+X parameter (in arc-\/second). \\
\hline
{\em rotation\+YArc\+Second} & Value of the Rotation\+\_\+Y parameter (in arc-\/second). \\
\hline
{\em rotation\+ZArc\+Second} & Value of the Rotation\+\_\+Z parameter (in arc-\/second). \\
\hline
{\em scale\+Difference\+PPM} & Value of the Scale\+\_\+\+Difference parameter (in parts-\/per-\/million). \\
\hline
{\em rate\+TranslationX} & Value of the rate of change of X-\/axis translation (in metre/year) \\
\hline
{\em rate\+TranslationY} & Value of the rate of change of Y-\/axis translation (in metre/year) \\
\hline
{\em rate\+TranslationZ} & Value of the rate of change of Z-\/axis translation (in metre/year) \\
\hline
{\em rate\+RotationX} & Value of the rate of change of X-\/axis rotation (in arc-\/second/year) \\
\hline
{\em rate\+RotationY} & Value of the rate of change of Y-\/axis rotation (in arc-\/second/year) \\
\hline
{\em rate\+RotationZ} & Value of the rate of change of Z-\/axis rotation (in arc-\/second/year) \\
\hline
{\em rate\+Scale\+Difference} & Value of the rate of change of scale difference (in PPM/year) \\
\hline
{\em reference\+Epoch\+Year} & Parameter reference epoch (in decimal year) \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_af2f31a5925cec1276794553059d62516}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_af2f31a5925cec1276794553059d62516}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createTOWGS84@{createTOWGS84}}
\index{createTOWGS84@{createTOWGS84}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createTOWGS84()}{createTOWGS84()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+TOWGS84 (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const std\+::vector$<$ double $>$ \&}]{TOWGS84\+Parameters }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation from TOWGS84 parameters. 

This is a helper of \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a28988de02d9827d0e036736f34e45289}{create\+Position\+Vector()}} with the source CRS being the Geographic\+CRS of source\+CRSIn, and the target CRS being EPSG\+:4326


\begin{DoxyParams}{Parameters}
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em TOWGS84\+Parameters} & The vector of 3 double values (Translation\+\_\+X,\+\_\+Y,\+\_\+Z) or 7 double values (Translation\+\_\+X,\+\_\+Y,\+\_\+Z, Rotation\+\_\+X,\+\_\+Y,\+\_\+Z, Scale\+\_\+\+Difference) passed to \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation_a28988de02d9827d0e036736f34e45289}{create\+Position\+Vector()}} \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1InvalidOperation}{Invalid\+Operation}}} & \\
\hline
\end{DoxyExceptions}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a03a6c147a42851ae56690b3dc422eef2}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a03a6c147a42851ae56690b3dc422eef2}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createVERTCON@{createVERTCON}}
\index{createVERTCON@{createVERTCON}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createVERTCON()}{createVERTCON()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+VERTCON (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const std\+::string \&}]{filename,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with method VERTCON. 


\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em filename} & GRID filename. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_ac2b4e72b2584cbbbd51f2ac3ca437c7a}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_ac2b4e72b2584cbbbd51f2ac3ca437c7a}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!createVerticalOffset@{createVerticalOffset}}
\index{createVerticalOffset@{createVerticalOffset}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{createVerticalOffset()}{createVerticalOffset()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a7da9ca138b1bf3c761df3355e064d5ca}{Transformation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::create\+Vertical\+Offset (\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_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{source\+CRSIn,  }\item[{const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \&}]{target\+CRSIn,  }\item[{const \mbox{\hyperlink{classosgeo_1_1proj_1_1common_1_1Length}{common\+::\+Length}} \&}]{offset\+Height,  }\item[{const std\+::vector$<$ \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1metadata_aa6db70d5727fa78de9e1fdb523659823}{metadata\+::\+Positional\+Accuracy\+NNPtr}} $>$ \&}]{accuracies }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Instantiate a transformation with method Vertical Offset. 

This method is defined as \mbox{[}EPSG\+:9616\mbox{]} (\href{https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9616}{\texttt{ https\+://www.\+epsg-\/registry.\+org/export.\+htm?gml=urn\+:ogc\+:def\+:method\+:\+EPSG\+::9616}})
\begin{DoxyItemize}
\item 
\begin{DoxyParams}{Parameters}
{\em properties} & See \mbox{\hyperlink{general_doc_general_properties}{General properties}} of the \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. At minimum the name should be defined. \\
\hline
{\em source\+CRSIn} & Source CRS. \\
\hline
{\em target\+CRSIn} & Target CRS. \\
\hline
{\em offset\+Height} & Geoid undulation to add. \\
\hline
{\em accuracies} & Vector of positional accuracy (might be empty). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
new \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1Transformation}{Transformation}}. 
\end{DoxyReturn}

\end{DoxyItemize}\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_aa81c282460a5bf4066ca8c9ea5d9a318}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_aa81c282460a5bf4066ca8c9ea5d9a318}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!inverse@{inverse}}
\index{inverse@{inverse}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{inverse()}{inverse()}}
{\footnotesize\ttfamily \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1operation_a1b1238e3c3bfa1271bfecce940e77f13}{Coordinate\+Operation\+NNPtr}} osgeo\+::proj\+::operation\+::\+Transformation\+::inverse (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption}) const\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}



Return the inverse of the coordinate operation. 


\begin{DoxyExceptions}{Exceptions}
{\em \mbox{\hyperlink{classosgeo_1_1proj_1_1util_1_1UnsupportedOperationException}{util\+::\+Unsupported\+Operation\+Exception}}} & \\
\hline
\end{DoxyExceptions}


Implements \mbox{\hyperlink{classosgeo_1_1proj_1_1operation_1_1CoordinateOperation_a7a9464f870db21ca776fbac8a430b08f}{osgeo\+::proj\+::operation\+::\+Coordinate\+Operation}}.

\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a77f1d2fe4aff1edc9efc6e54f21eb3bf}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a77f1d2fe4aff1edc9efc6e54f21eb3bf}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!sourceCRS@{sourceCRS}}
\index{sourceCRS@{sourceCRS}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{sourceCRS()}{sourceCRS()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \& osgeo\+::proj\+::operation\+::\+Transformation\+::source\+CRS (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the source \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{crs\+::\+CRS}} of the transformation. 

\begin{DoxyReturn}{Returns}
the source CRS. 
\end{DoxyReturn}
\mbox{\Hypertarget{classosgeo_1_1proj_1_1operation_1_1Transformation_a902d6acdd31b1dc622a818480e1e3fb0}\label{classosgeo_1_1proj_1_1operation_1_1Transformation_a902d6acdd31b1dc622a818480e1e3fb0}} 
\index{osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}!targetCRS@{targetCRS}}
\index{targetCRS@{targetCRS}!osgeo::proj::operation::Transformation@{osgeo::proj::operation::Transformation}}
\doxysubsubsection{\texorpdfstring{targetCRS()}{targetCRS()}}
{\footnotesize\ttfamily const \mbox{\hyperlink{namespaceosgeo_1_1proj_1_1crs_a8cabf171d097255fb43d0ceb916c815c}{crs\+::\+CRSNNPtr}} \& osgeo\+::proj\+::operation\+::\+Transformation\+::target\+CRS (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}



Return the target \mbox{\hyperlink{classosgeo_1_1proj_1_1crs_1_1CRS}{crs\+::\+CRS}} of the transformation. 

\begin{DoxyReturn}{Returns}
the target CRS. 
\end{DoxyReturn}


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