MySQL 8.0.29
Source Code Documentation
gis::srs::Hotine_oblique_mercator_variant_b_srs Class Reference

A Hotine Oblique Mercator (variant B) projection, alias Rectified skew orthomorphic (EPSG 9815). More...

#include <srs.h>

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

Public Member Functions

 Hotine_oblique_mercator_variant_b_srs ()
 
Spatial_reference_systemclone () override
 Clone the object. More...
 
bool init (srid_t srid, wkt_parser::Projected_cs *p) override
 Initialize from parse tree. More...
 
Projection_type projection_type () const override
 Get the map projection method. More...
 
bool can_be_modified_to (const Spatial_reference_system &) const override
 Checks if this SRS can be changed to another SRS without causing computational incompatibilities. More...
 
- Public Member Functions inherited from gis::srs::Projected_srs
 Projected_srs ()
 
Srs_type srs_type () const override
 Get the type of spatial refrence system: projected, geometric, etc. 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...
 
- 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 std::string proj4_parameters () const
 Retrieve the proj4 parameter string. More...
 

Private Attributes

double m_latitude_of_center
 Latitude of the point at which the azimuth of the central line is defined (EPSG 8811). More...
 
double m_longitude_of_center
 Longitude of the point at which the azimuth of the central line is defined (EPSG 8812). More...
 
double m_azimuth
 Direction east of north of the great circle which is the central line (EPSG 8813). More...
 
double m_rectified_grid_angle
 Angle at the natural origin through which the natural SRS is rotated to make the projection north axis parallel with true north (EPSG 8814). More...
 
double m_scale_factor
 Multiplier for reducing a distance obtained from a map to the actual distance on the datum of the map (EPSG 8815). More...
 
double m_false_easting
 Easting value assigned to the projection center (EPSG 8816). More...
 
double m_false_northing
 Northing value assigned to the projection center (EPSG 8817). More...
 

Additional Inherited Members

- Protected Member Functions inherited from gis::srs::Projected_srs
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...
 

Detailed Description

A Hotine Oblique Mercator (variant B) projection, alias Rectified skew orthomorphic (EPSG 9815).

Constructor & Destructor Documentation

◆ Hotine_oblique_mercator_variant_b_srs()

gis::srs::Hotine_oblique_mercator_variant_b_srs::Hotine_oblique_mercator_variant_b_srs ( )
inline

Member Function Documentation

◆ can_be_modified_to()

bool gis::srs::Hotine_oblique_mercator_variant_b_srs::can_be_modified_to ( const Spatial_reference_system srs) const
overridevirtual

Checks if this SRS can be changed to another SRS without causing computational incompatibilities.

This means checking that all values in the two SRSs that affect computations are the same. The syntax of the SRS definitions may still vary, e.g., by using different names or by having different authority codes.

In some cases, e.g., unknown projection methods, we don't know how to compare the two SRSs. In that case, we fail by saying that the SRSs are not the same.

The operation is not commutative. The SRS parameter is allowed to have a TOWGS84 specification even though this object doesn't. The opposite is not necessarily true. If this object lacks TOWGS84 information, transformation operations are forbidden on this SRS. Adding that possibility changes what computations are available, but it doesn't change the result of any computation that can currently be done.

An SRS that is currently identified as WGS 84 may both add and remove TOWGS84 information as long as the parameters are all 0. Adding a non-all-zero TOWGS84 clause to a WGS 84 SRS is not allowed.

Parameters
srsThe SRS to compare with.
Return values
trueThe two SRSs are semantically the same.
falseThe two SRSs are semantically different, or we don't know how to compare them.

Implements gis::srs::Spatial_reference_system.

◆ clone()

Spatial_reference_system * gis::srs::Hotine_oblique_mercator_variant_b_srs::clone ( )
inlineoverridevirtual

Clone the object.

Returns
A new Spatial_reference_system object

Implements gis::srs::Spatial_reference_system.

◆ init()

bool gis::srs::Hotine_oblique_mercator_variant_b_srs::init ( gis::srid_t  srid,
wkt_parser::Projected_cs p 
)
overridevirtual

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 from gis::srs::Projected_srs.

◆ projection_type()

Projection_type gis::srs::Hotine_oblique_mercator_variant_b_srs::projection_type ( ) const
inlineoverridevirtual

Get the map projection method.

Returns
Projection type

Implements gis::srs::Projected_srs.

Member Data Documentation

◆ m_azimuth

double gis::srs::Hotine_oblique_mercator_variant_b_srs::m_azimuth
private

Direction east of north of the great circle which is the central line (EPSG 8813).

◆ m_false_easting

double gis::srs::Hotine_oblique_mercator_variant_b_srs::m_false_easting
private

Easting value assigned to the projection center (EPSG 8816).

◆ m_false_northing

double gis::srs::Hotine_oblique_mercator_variant_b_srs::m_false_northing
private

Northing value assigned to the projection center (EPSG 8817).

◆ m_latitude_of_center

double gis::srs::Hotine_oblique_mercator_variant_b_srs::m_latitude_of_center
private

Latitude of the point at which the azimuth of the central line is defined (EPSG 8811).

◆ m_longitude_of_center

double gis::srs::Hotine_oblique_mercator_variant_b_srs::m_longitude_of_center
private

Longitude of the point at which the azimuth of the central line is defined (EPSG 8812).

◆ m_rectified_grid_angle

double gis::srs::Hotine_oblique_mercator_variant_b_srs::m_rectified_grid_angle
private

Angle at the natural origin through which the natural SRS is rotated to make the projection north axis parallel with true north (EPSG 8814).

◆ m_scale_factor

double gis::srs::Hotine_oblique_mercator_variant_b_srs::m_scale_factor
private

Multiplier for reducing a distance obtained from a map to the actual distance on the datum of the map (EPSG 8815).


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