MySQL 8.4.0
Source Code Documentation
gis::Transform Class Reference

Transform functor that calls Boost.Geometry with the correct parameter types. More...

#include <transform_functor.h>

Inheritance diagram for gis::Transform:
[legend]

Public Member Functions

 Transform (const std::string &old_srs_params, const std::string &new_srs_params, Coordinate_system output_cs)
 Create a new transform functor. More...
 
std::unique_ptr< Geometryoperator() (const Geometry &g) const override
 
std::unique_ptr< Geometryeval (const Geometry &g) const
 
std::unique_ptr< Geometryeval (const Cartesian_point &g) const
 
std::unique_ptr< Geometryeval (const Geographic_point &g) const
 
std::unique_ptr< Geometryeval (const Cartesian_linestring &g) const
 
std::unique_ptr< Geometryeval (const Geographic_linestring &g) const
 
std::unique_ptr< Geometryeval (const Cartesian_polygon &g) const
 
std::unique_ptr< Geometryeval (const Geographic_polygon &g) const
 
std::unique_ptr< Geometryeval (const Cartesian_geometrycollection &g) const
 
std::unique_ptr< Geometryeval (const Geographic_geometrycollection &g) const
 
std::unique_ptr< Geometryeval (const Cartesian_multipoint &g) const
 
std::unique_ptr< Geometryeval (const Geographic_multipoint &g) const
 
std::unique_ptr< Geometryeval (const Cartesian_multilinestring &g) const
 
std::unique_ptr< Geometryeval (const Geographic_multilinestring &g) const
 
std::unique_ptr< Geometryeval (const Cartesian_multipolygon &g) const
 
std::unique_ptr< Geometryeval (const Geographic_multipolygon &g) const
 
- Public Member Functions inherited from gis::Unary_functor< std::unique_ptr< Geometry > >
virtual ~Unary_functor ()=default
 

Private Attributes

boost::geometry::srs::transformation m_transformation
 The transformation object that holds information about input and output definitions. More...
 
Coordinate_system m_output_cs
 Coordinate system of the output SRS. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from gis::Unary_functor< std::unique_ptr< Geometry > >
static std::unique_ptr< Geometryapply (F &f, const Geometry &g)
 

Detailed Description

Transform functor that calls Boost.Geometry with the correct parameter types.

The functor throws exceptions and is therefore only intended used to implement transform or other geographic functions. It should not be used directly by other MySQL code.

Constructor & Destructor Documentation

◆ Transform()

gis::Transform::Transform ( const std::string &  old_srs_params,
const std::string &  new_srs_params,
Coordinate_system  output_cs 
)

Create a new transform functor.

Theoretically, we could deduce the coordinate system of the output SRS from the old_srs_param proj4 string, but it's easier to get it from the DD SRS object on the caller side.

Parameters
[in]old_srs_paramsThe proj4 parameters of the input SRS.
[in]new_srs_paramsThe proj4 parameters of the output SRS.
[in]output_csThe coordinate system of the output SRS.

Member Function Documentation

◆ eval() [1/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Cartesian_geometrycollection g) const

◆ eval() [2/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Cartesian_linestring g) const

◆ eval() [3/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Cartesian_multilinestring g) const

◆ eval() [4/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Cartesian_multipoint g) const

◆ eval() [5/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Cartesian_multipolygon g) const

◆ eval() [6/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Cartesian_point g) const

◆ eval() [7/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Cartesian_polygon g) const

◆ eval() [8/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geographic_geometrycollection g) const

◆ eval() [9/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geographic_linestring g) const

◆ eval() [10/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geographic_multilinestring g) const

◆ eval() [11/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geographic_multipoint g) const

◆ eval() [12/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geographic_multipolygon g) const

◆ eval() [13/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geographic_point g) const

◆ eval() [14/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geographic_polygon g) const

◆ eval() [15/15]

std::unique_ptr< Geometry > gis::Transform::eval ( const Geometry g) const

◆ operator()()

std::unique_ptr< Geometry > gis::Transform::operator() ( const Geometry g) const
overridevirtual

Member Data Documentation

◆ m_output_cs

Coordinate_system gis::Transform::m_output_cs
private

Coordinate system of the output SRS.

◆ m_transformation

boost::geometry::srs::transformation gis::Transform::m_transformation
private

The transformation object that holds information about input and output definitions.


The documentation for this class was generated from the following files: