![]() |
Fixposition SDK 0.0.0-heads/main-0-g408dc89
Collection of c++ libraries and apps for use with Fixposition products on Linux
|
"Universal" coordinate transformer, backed by PROJ More...
#include <trafo.hpp>
Public Member Functions | |
Transformer (const std::string &name="") | |
Constructor. | |
bool | Init (const std::string &source_crs, const std::string &target_crs) |
Initialise transformer. | |
bool | Transform (Eigen::Vector3d &inout, const bool inv=false) |
Transform coordinates. | |
bool | Transform (const Eigen::Vector3d &in, Eigen::Vector3d &out, const bool inv=false) |
Transform coordinates. | |
bool | Transform (const Eigen::Vector4d &in, Eigen::Vector4d &out, const bool inv=false) |
Transform coordinates (with time) |
fpsdk::common::trafo::Transformer::Transformer | ( | const std::string & | name = "" | ) |
Constructor.
[in] | name | Optional name, for debugging |
References Transformer().
Referenced by Transformer().
bool fpsdk::common::trafo::Transformer::Init | ( | const std::string & | source_crs, |
const std::string & | target_crs ) |
Initialise transformer.
The source and target CRS specification can be anything that proj_create_crs_to_crs() understands (see https://proj.org/en/9.4/development/reference/functions.html#c.proj_create_crs_to_crs). You may have to change the PROJ configuration (proj.ini) and/or update some PROJ data yourself to support some CRS. See the PROJ documentation for details (see https://proj.org/en/9.4/resource_files.html).
[in] | source_crs | Source coordinate reference system, e.g. "EPSG:4326" |
[in] | target_crs | Target coordinate reference system, e.g. "EPSG:2056" |
bool fpsdk::common::trafo::Transformer::Transform | ( | Eigen::Vector3d & | inout, |
const bool | inv = false ) |
Transform coordinates.
[in,out] | inout | Coordinates to transform, replaced with result |
[in] | inv | Do the inverse transformation (true), default is forward (false) |
bool fpsdk::common::trafo::Transformer::Transform | ( | const Eigen::Vector3d & | in, |
Eigen::Vector3d & | out, | ||
const bool | inv = false ) |
Transform coordinates.
[in] | in | Coordinates to transform |
[out] | out | Transformed coordinates |
[in] | inv | Do the inverse transformation (true), default is forward (false) |
bool fpsdk::common::trafo::Transformer::Transform | ( | const Eigen::Vector4d & | in, |
Eigen::Vector4d & | out, | ||
const bool | inv = false ) |
Transform coordinates (with time)
[in] | in | Coordinates to transform (with time) |
[out] | out | Transformed coordinates (with time) |
[in] | inv | Do the inverse transformation (true), default is forward (false) |