MySQL 9.1.0
Source Code Documentation
gis::srs::Projected_srs Class Referenceabstract

A projected spatial reference system. More...

#include <srs.h>

Inheritance diagram for gis::srs::Projected_srs:
[legend]

Public Member Functions

 Projected_srs ()
 
Srs_type srs_type () const override
 Get the type of spatial reference system: projected, geometric, etc. More...
 
virtual bool init (srid_t srid, wkt_parser::Projected_cs *p)
 Initialize from parse tree. More...
 
virtual Projection_type projection_type () const =0
 Get the map projection method. More...
 
Axis_direction axis_direction (const int axis) const override
 Retrieve the axis direction of the spatial reference system. More...
 
double linear_unit () const override
 Retrieve how long the unit of the spatial reference system is in meters. More...
 
double angular_unit () const override
 Retrieve the angular unit relative to radians. More...
 
double prime_meridian () const override
 Retrieve the prime meridian relative to Greenwich. More...
 
bool has_towgs84 () const override
 Checks if this SRS has valid Bursa Wolf parameters. More...
 
bool is_wgs84_based () const override
 Checks if this SRS is WGS 84 or a projection based on WGS 84. More...
 
std::string partial_proj4_parameters () const
 
- Public Member Functions inherited from gis::srs::Spatial_reference_system
 Spatial_reference_system ()=default
 
 Spatial_reference_system (const Spatial_reference_system &)=default
 
 Spatial_reference_system (Spatial_reference_system &&)=default
 
virtual ~Spatial_reference_system ()=default
 
virtual Spatial_reference_systemclone ()=0
 Clone the object. More...
 
virtual bool can_be_modified_to (const Spatial_reference_system &srs) const =0
 Checks if this SRS can be changed to another SRS without causing computational incompatibilities. More...
 
virtual std::string proj4_parameters () const
 Retrieve the proj4 parameter string. More...
 

Protected Member Functions

bool common_proj_parameters_can_be_modified_to (const Spatial_reference_system &srs) const
 Checks if the parameters that are common to all projections can safely be modified to another SRS without causing computational differences. More...
 

Private Attributes

Geographic_srs m_geographic_srs
 The geographic SRS this SRS is projected from. More...
 
double m_linear_unit
 Converson factor for the linar unit relative to meters. More...
 
Axis_direction m_axes [2]
 Direction of x and y axis, respectively. More...
 

Detailed Description

A projected spatial reference system.

Constructor & Destructor Documentation

◆ Projected_srs()

gis::srs::Projected_srs::Projected_srs ( )
inline

Member Function Documentation

◆ angular_unit()

double gis::srs::Projected_srs::angular_unit ( ) const
inlineoverridevirtual

Retrieve the angular unit relative to radians.

Returns
Conversion factor.

Implements gis::srs::Spatial_reference_system.

◆ axis_direction()

Axis_direction gis::srs::Projected_srs::axis_direction ( const int  axis) const
inlineoverridevirtual

Retrieve the axis direction of the spatial reference system.

Parameters
axisaxis number, zero indexed
Returns
Axis direction

Implements gis::srs::Spatial_reference_system.

◆ common_proj_parameters_can_be_modified_to()

bool gis::srs::Projected_srs::common_proj_parameters_can_be_modified_to ( const Spatial_reference_system srs) const
protected

Checks if the parameters that are common to all projections can safely be modified to another SRS without causing computational differences.

This function is called by can_be_modified_to() in subclasses to check if the common parameters match. Projected_srs::can_be_modified_to is abstract to avoid that subclasses forget to implement can_be_modified_to().

See also
Spatial_reference_system::can_be_modified_to
Parameters
srsThe SRS to compare with.
Return values
trueThe common projection parameters are the same in both SRSs.
falseThe two SRSs differ in the common projection parameters.

◆ has_towgs84()

bool gis::srs::Projected_srs::has_towgs84 ( ) const
inlineoverridevirtual

Checks if this SRS has valid Bursa Wolf parameters.

Return values
trueTransformation parameters are specified.
falseTransformation parameters are not specified.

Implements gis::srs::Spatial_reference_system.

◆ init()

bool gis::srs::Projected_srs::init ( gis::srid_t  srid,
wkt_parser::Projected_cs p 
)
virtual

Initialize from parse tree.

Parameters
[in]sridSpatial reference system ID to use when reporting errors
[in]pParser output
Return values
trueAn error has occurred. The error has been flagged.
falseSuccess

Reimplemented in gis::srs::Unknown_projected_srs, gis::srs::Popular_visualisation_pseudo_mercator_srs, gis::srs::Lambert_azimuthal_equal_area_spherical_srs, gis::srs::Equidistant_cylindrical_srs, gis::srs::Equidistant_cylindrical_spherical_srs, gis::srs::Krovak_north_orientated_srs, gis::srs::Krovak_modified_srs, gis::srs::Krovak_modified_north_orientated_srs, gis::srs::Lambert_conic_conformal_2sp_michigan_srs, gis::srs::Colombia_urban_srs, gis::srs::Lambert_conic_conformal_1sp_srs, gis::srs::Lambert_conic_conformal_2sp_srs, gis::srs::Lambert_conic_conformal_2sp_belgium_srs, gis::srs::Mercator_variant_a_srs, gis::srs::Mercator_variant_b_srs, gis::srs::Cassini_soldner_srs, gis::srs::Transverse_mercator_srs, gis::srs::Transverse_mercator_south_orientated_srs, gis::srs::Oblique_stereographic_srs, gis::srs::Polar_stereographic_variant_a_srs, gis::srs::New_zealand_map_grid_srs, gis::srs::Hotine_oblique_mercator_variant_a_srs, gis::srs::Laborde_oblique_mercator_srs, gis::srs::Hotine_oblique_mercator_variant_b_srs, gis::srs::Tunisia_mining_grid_srs, gis::srs::Lambert_conic_near_conformal_srs, gis::srs::American_polyconic_srs, gis::srs::Krovak_srs, gis::srs::Lambert_azimuthal_equal_area_srs, gis::srs::Albers_equal_area_srs, gis::srs::Transverse_mercator_zoned_grid_system_srs, gis::srs::Lambert_conic_conformal_west_orientated_srs, gis::srs::Bonne_south_orientated_srs, gis::srs::Polar_stereographic_variant_b_srs, gis::srs::Polar_stereographic_variant_c_srs, gis::srs::Guam_projection_srs, gis::srs::Modified_azimuthal_equidistant_srs, gis::srs::Hyperbolic_cassini_soldner_srs, gis::srs::Lambert_cylindrical_equal_area_spherical_srs, and gis::srs::Lambert_cylindrical_equal_area_srs.

◆ is_wgs84_based()

bool gis::srs::Projected_srs::is_wgs84_based ( ) const
inlineoverridevirtual

Checks if this SRS is WGS 84 or a projection based on WGS 84.

Return values
trueThis SRS is WGS 84 or a projection of WGS 84.
falseThis SRS is neither WGS 84 or a projection of WGS 84.

Implements gis::srs::Spatial_reference_system.

◆ linear_unit()

double gis::srs::Projected_srs::linear_unit ( ) const
inlineoverridevirtual

Retrieve how long the unit of the spatial reference system is in meters.

Returns
Conversion factor

Implements gis::srs::Spatial_reference_system.

◆ partial_proj4_parameters()

std::string gis::srs::Projected_srs::partial_proj4_parameters ( ) const
inline

◆ prime_meridian()

double gis::srs::Projected_srs::prime_meridian ( ) const
inlineoverridevirtual

Retrieve the prime meridian relative to Greenwich.

The prime meridian is returned in the angular unit of the SRS. Positive numbers are East of Greenwich.

See also
angular_unit
Returns
Prime meridian.

Implements gis::srs::Spatial_reference_system.

◆ projection_type()

virtual Projection_type gis::srs::Projected_srs::projection_type ( ) const
pure virtual

Get the map projection method.

Returns
Projection type

Implemented in gis::srs::Unknown_projected_srs, gis::srs::Popular_visualisation_pseudo_mercator_srs, gis::srs::Lambert_azimuthal_equal_area_spherical_srs, gis::srs::Equidistant_cylindrical_srs, gis::srs::Equidistant_cylindrical_spherical_srs, gis::srs::Krovak_north_orientated_srs, gis::srs::Krovak_modified_srs, gis::srs::Krovak_modified_north_orientated_srs, gis::srs::Lambert_conic_conformal_2sp_michigan_srs, gis::srs::Colombia_urban_srs, gis::srs::Lambert_conic_conformal_1sp_srs, gis::srs::Lambert_conic_conformal_2sp_srs, gis::srs::Lambert_conic_conformal_2sp_belgium_srs, gis::srs::Mercator_variant_a_srs, gis::srs::Mercator_variant_b_srs, gis::srs::Cassini_soldner_srs, gis::srs::Transverse_mercator_srs, gis::srs::Transverse_mercator_south_orientated_srs, gis::srs::Oblique_stereographic_srs, gis::srs::Polar_stereographic_variant_a_srs, gis::srs::New_zealand_map_grid_srs, gis::srs::Hotine_oblique_mercator_variant_a_srs, gis::srs::Laborde_oblique_mercator_srs, gis::srs::Hotine_oblique_mercator_variant_b_srs, gis::srs::Tunisia_mining_grid_srs, gis::srs::Lambert_conic_near_conformal_srs, gis::srs::American_polyconic_srs, gis::srs::Krovak_srs, gis::srs::Lambert_azimuthal_equal_area_srs, gis::srs::Albers_equal_area_srs, gis::srs::Transverse_mercator_zoned_grid_system_srs, gis::srs::Lambert_conic_conformal_west_orientated_srs, gis::srs::Bonne_south_orientated_srs, gis::srs::Polar_stereographic_variant_b_srs, gis::srs::Polar_stereographic_variant_c_srs, gis::srs::Guam_projection_srs, gis::srs::Modified_azimuthal_equidistant_srs, gis::srs::Hyperbolic_cassini_soldner_srs, gis::srs::Lambert_cylindrical_equal_area_spherical_srs, and gis::srs::Lambert_cylindrical_equal_area_srs.

◆ srs_type()

Srs_type gis::srs::Projected_srs::srs_type ( ) const
inlineoverridevirtual

Get the type of spatial reference system: projected, geometric, etc.

Returns
SRS type

Implements gis::srs::Spatial_reference_system.

Member Data Documentation

◆ m_axes

Axis_direction gis::srs::Projected_srs::m_axes[2]
private

Direction of x and y axis, respectively.

◆ m_geographic_srs

Geographic_srs gis::srs::Projected_srs::m_geographic_srs
private

The geographic SRS this SRS is projected from.

◆ m_linear_unit

double gis::srs::Projected_srs::m_linear_unit
private

Converson factor for the linar unit relative to meters.


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