MySQL 26.7.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_system * clone ()=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: