MySQL 8.3.0
Source Code Documentation
dd::Spatial_reference_system Class Referenceabstract

#include <spatial_reference_system.h>

Inheritance diagram for dd::Spatial_reference_system:
[legend]

Public Types

typedef Spatial_reference_system_impl Impl
 
typedef Spatial_reference_system Cache_partition
 
typedef tables::Spatial_reference_systems DD_table
 
typedef Primary_id_key Id_key
 
typedef Item_name_key Name_key
 
typedef Void_key Aux_key
 

Public Member Functions

virtual bool update_id_key (Id_key *key) const
 
virtual bool update_name_key (Name_key *key) const
 
virtual bool update_aux_key (Aux_key *) const
 
 ~Spatial_reference_system () override=default
 
virtual ulonglong created (bool convert_time) const =0
 
virtual void set_created (ulonglong created)=0
 
virtual ulonglong last_altered (bool convert_time) const =0
 
virtual void set_last_altered (ulonglong last_altered)=0
 
virtual const std::optional< String_type > & organization () const =0
 
virtual void set_organization (const String_type &organization)=0
 
virtual void set_organization (std::nullptr_t)=0
 
virtual const std::optional< gis::srid_t > & organization_coordsys_id () const =0
 
virtual void set_organization_coordsys_id (gis::srid_t organization_coordsys_id)=0
 
virtual void set_organization_coordsys_id (std::nullptr_t)=0
 
virtual const String_typedefinition () const =0
 
virtual void set_definition (const String_type &definition)=0
 
virtual gis::Coordinate_system cs_type () const =0
 
virtual bool is_projected () const =0
 
virtual bool is_cartesian () const =0
 
virtual bool is_geographic () const =0
 
virtual bool is_lat_long () const =0
 Check whether an SRS has latitude-longitude axis ordering. More...
 
virtual double semi_major_axis () const =0
 
virtual double semi_minor_axis () const =0
 
virtual double linear_unit () const =0
 
virtual double angular_unit () const =0
 
virtual double prime_meridian () const =0
 
virtual bool positive_east () const =0
 
virtual bool positive_north () const =0
 
virtual bool missing_towgs84 () const =0
 Checks whether the SRS definition is missing a TOWGS84 clause. More...
 
virtual double to_radians (double d) const =0
 Converts a coordinate value from the SRS unit to radians. More...
 
virtual double from_radians (double d) const =0
 Converts a coordinate value from radians to the SRS unit. More...
 
virtual double to_normalized_latitude (double d) const =0
 Converts a latitude value from the SRS unit and direction to the in-memory representation of latitude (radians, positive North). More...
 
virtual double from_normalized_latitude (double d) const =0
 Converts a latitude value from the in-memory representation of latitude (radians, positive North) to the SRS unit and direction. More...
 
virtual double to_normalized_longitude (double d) const =0
 Converts a longitude value from the SRS unit, direction and meridian to the in-memory representation of longitude (radians, positive East, Greenwich meridian). More...
 
virtual double from_normalized_longitude (double d) const =0
 Converts a longitude value from the in-memory representation of longitude (radians, positive East, Greenwich meridian) to the SRS unit, direction and meridian. More...
 
virtual bool can_be_modified_to (const Spatial_reference_system &srs) const =0
 Checks if this SRS can be changed to another SRS definition without changing any computations. More...
 
virtual String_type proj4_parameters () const =0
 Gets the proj4 parameters for this SRS. More...
 
virtual const std::optional< String_type > & description () const =0
 
virtual void set_description (const String_type &description)=0
 
virtual void set_description (std::nullptr_t)=0
 
virtual Spatial_reference_systemclone () const =0
 Allocate a new object and invoke the copy constructor. More...
 
virtual Spatial_reference_systemclone_dropped_object_placeholder () const =0
 Allocate a new object which can serve as a placeholder for the original object in the Dictionary_client's dropped registry. More...
 
- Public Member Functions inherited from dd::Entity_object
virtual Object_id id () const =0
 The unique dictionary object id. More...
 
virtual bool is_persistent () const =0
 Is dictionary object persistent in dictionary tables ? More...
 
virtual const String_typename () const =0
 
virtual void set_name (const String_type &name)=0
 
- Public Member Functions inherited from dd::Weak_object
virtual void debug_print (String_type &outb) const =0
 
 Weak_object ()=default
 
 Weak_object (const Weak_object &)=default
 
virtual ~Weak_object ()=default
 

Static Public Member Functions

static bool update_id_key (Id_key *key, Object_id id)
 
static bool update_name_key (Name_key *key, const String_type &name)
 

Member Typedef Documentation

◆ Aux_key

◆ Cache_partition

◆ DD_table

◆ Id_key

◆ Impl

◆ Name_key

Constructor & Destructor Documentation

◆ ~Spatial_reference_system()

dd::Spatial_reference_system::~Spatial_reference_system ( )
overridedefault

Member Function Documentation

◆ angular_unit()

virtual double dd::Spatial_reference_system::angular_unit ( ) const
pure virtual

◆ can_be_modified_to()

virtual bool dd::Spatial_reference_system::can_be_modified_to ( const Spatial_reference_system srs) const
pure virtual

Checks if this SRS can be changed to another SRS definition without changing any computations.

It's not allowed to change any numbers that affect computations, but it is allowed to add TOWGS84 parameters if the SRS doesn't already have any.

Parameters
[in]srsThe SRS to compare with.
Return values
trueThe two SRSs are semantically the same.
falseThe two SRss are not semantically the same, or of types which comparison rules are unknown (e.g., unknown projection).

Implemented in dd::Spatial_reference_system_impl.

◆ clone()

virtual Spatial_reference_system * dd::Spatial_reference_system::clone ( ) const
pure virtual

Allocate a new object and invoke the copy constructor.

Returns
pointer to dynamically allocated copy

Implemented in dd::Spatial_reference_system_impl.

◆ clone_dropped_object_placeholder()

virtual Spatial_reference_system * dd::Spatial_reference_system::clone_dropped_object_placeholder ( ) const
pure virtual

Allocate a new object which can serve as a placeholder for the original object in the Dictionary_client's dropped registry.

Such object has the same keys as the original but has no other info and as result occupies less memory.

Implemented in dd::Spatial_reference_system_impl.

◆ created()

virtual ulonglong dd::Spatial_reference_system::created ( bool  convert_time) const
pure virtual

◆ cs_type()

virtual gis::Coordinate_system dd::Spatial_reference_system::cs_type ( ) const
pure virtual

◆ definition()

virtual const String_type & dd::Spatial_reference_system::definition ( ) const
pure virtual

◆ description()

virtual const std::optional< String_type > & dd::Spatial_reference_system::description ( ) const
pure virtual

◆ from_normalized_latitude()

virtual double dd::Spatial_reference_system::from_normalized_latitude ( double  d) const
pure virtual

Converts a latitude value from the in-memory representation of latitude (radians, positive North) to the SRS unit and direction.

Parameters
[in]dLatitude in radians, positive North.
Returns
Latitude in the SRS unit and axis direction.

Implemented in dd::Spatial_reference_system_impl.

◆ from_normalized_longitude()

virtual double dd::Spatial_reference_system::from_normalized_longitude ( double  d) const
pure virtual

Converts a longitude value from the in-memory representation of longitude (radians, positive East, Greenwich meridian) to the SRS unit, direction and meridian.

Parameters
[in]dLongitude in radians, positive East, Greenwich meridian.
Returns
Longitude in the SRS unit, axis direction and meridian.

Implemented in dd::Spatial_reference_system_impl.

◆ from_radians()

virtual double dd::Spatial_reference_system::from_radians ( double  d) const
pure virtual

Converts a coordinate value from radians to the SRS unit.

The conversion does not take axis direction or meridian shifting into account.

Parameters
[in]dValue in radians.
Returns
Value in the SRS unit.

Implemented in dd::Spatial_reference_system_impl.

◆ is_cartesian()

virtual bool dd::Spatial_reference_system::is_cartesian ( ) const
pure virtual

◆ is_geographic()

virtual bool dd::Spatial_reference_system::is_geographic ( ) const
pure virtual

◆ is_lat_long()

virtual bool dd::Spatial_reference_system::is_lat_long ( ) const
pure virtual

Check whether an SRS has latitude-longitude axis ordering.

Return values
truethe axis order is latitude-longitude
falsethe SRS is not geographic, or is geographic longitude-latitude

Implemented in dd::Spatial_reference_system_impl.

◆ is_projected()

virtual bool dd::Spatial_reference_system::is_projected ( ) const
pure virtual

◆ last_altered()

virtual ulonglong dd::Spatial_reference_system::last_altered ( bool  convert_time) const
pure virtual

◆ linear_unit()

virtual double dd::Spatial_reference_system::linear_unit ( ) const
pure virtual

◆ missing_towgs84()

virtual bool dd::Spatial_reference_system::missing_towgs84 ( ) const
pure virtual

Checks whether the SRS definition is missing a TOWGS84 clause.

TOWGS84 clauses are not mandatory. However, in order to transform to/from an SRS, the SRS must either be WGS 84, be a projection of WGS 84, or have a TOWGS84 clause in the definition.

Return values
trueThe SRS is missing a TOWGS84 clause.
falseThe SRS has or doesn't need a TOWGS84 clause.

Implemented in dd::Spatial_reference_system_impl.

◆ organization()

virtual const std::optional< String_type > & dd::Spatial_reference_system::organization ( ) const
pure virtual

◆ organization_coordsys_id()

virtual const std::optional< gis::srid_t > & dd::Spatial_reference_system::organization_coordsys_id ( ) const
pure virtual

◆ positive_east()

virtual bool dd::Spatial_reference_system::positive_east ( ) const
pure virtual

◆ positive_north()

virtual bool dd::Spatial_reference_system::positive_north ( ) const
pure virtual

◆ prime_meridian()

virtual double dd::Spatial_reference_system::prime_meridian ( ) const
pure virtual

◆ proj4_parameters()

virtual String_type dd::Spatial_reference_system::proj4_parameters ( ) const
pure virtual

Gets the proj4 parameters for this SRS.

An empty string is returned in case we don't know how to create proj4 parameters for this SRS.

Returns
The proj4 parameter string, or an empty string.

Implemented in dd::Spatial_reference_system_impl.

◆ semi_major_axis()

virtual double dd::Spatial_reference_system::semi_major_axis ( ) const
pure virtual

◆ semi_minor_axis()

virtual double dd::Spatial_reference_system::semi_minor_axis ( ) const
pure virtual

◆ set_created()

virtual void dd::Spatial_reference_system::set_created ( ulonglong  created)
pure virtual

◆ set_definition()

virtual void dd::Spatial_reference_system::set_definition ( const String_type definition)
pure virtual

◆ set_description() [1/2]

virtual void dd::Spatial_reference_system::set_description ( const String_type description)
pure virtual

◆ set_description() [2/2]

virtual void dd::Spatial_reference_system::set_description ( std::nullptr_t  )
pure virtual

◆ set_last_altered()

virtual void dd::Spatial_reference_system::set_last_altered ( ulonglong  last_altered)
pure virtual

◆ set_organization() [1/2]

virtual void dd::Spatial_reference_system::set_organization ( const String_type organization)
pure virtual

◆ set_organization() [2/2]

virtual void dd::Spatial_reference_system::set_organization ( std::nullptr_t  )
pure virtual

◆ set_organization_coordsys_id() [1/2]

virtual void dd::Spatial_reference_system::set_organization_coordsys_id ( gis::srid_t  organization_coordsys_id)
pure virtual

◆ set_organization_coordsys_id() [2/2]

virtual void dd::Spatial_reference_system::set_organization_coordsys_id ( std::nullptr_t  )
pure virtual

◆ to_normalized_latitude()

virtual double dd::Spatial_reference_system::to_normalized_latitude ( double  d) const
pure virtual

Converts a latitude value from the SRS unit and direction to the in-memory representation of latitude (radians, positive North).

Parameters
[in]dLatitude in the SRS unit and axis direction.
Returns
Latitude in radians, positive North.

Implemented in dd::Spatial_reference_system_impl.

◆ to_normalized_longitude()

virtual double dd::Spatial_reference_system::to_normalized_longitude ( double  d) const
pure virtual

Converts a longitude value from the SRS unit, direction and meridian to the in-memory representation of longitude (radians, positive East, Greenwich meridian).

Parameters
[in]dLongitude in the SRS unit, axis direction and meridian.
Returns
Longitude in radians, positive East, Greenwich meridian.

Implemented in dd::Spatial_reference_system_impl.

◆ to_radians()

virtual double dd::Spatial_reference_system::to_radians ( double  d) const
pure virtual

Converts a coordinate value from the SRS unit to radians.

The conversion does not take axis direction or meridian shifting into account.

Parameters
[in]dValue in the SRS unit.
Returns
Value in radians.

Implemented in dd::Spatial_reference_system_impl.

◆ update_aux_key()

virtual bool dd::Spatial_reference_system::update_aux_key ( Aux_key ) const
inlinevirtual

◆ update_id_key() [1/2]

virtual bool dd::Spatial_reference_system::update_id_key ( Id_key key) const
inlinevirtual

◆ update_id_key() [2/2]

bool dd::Spatial_reference_system::update_id_key ( Id_key key,
Object_id  id 
)
static

◆ update_name_key() [1/2]

virtual bool dd::Spatial_reference_system::update_name_key ( Name_key key) const
inlinevirtual

◆ update_name_key() [2/2]

bool dd::Spatial_reference_system::update_name_key ( Name_key key,
const String_type name 
)
static

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