24#ifndef DD__SPATIAL_REFERENCE_SYSTEM_IMPL_INCLUDED
25#define DD__SPATIAL_REFERENCE_SYSTEM_IMPL_INCLUDED
54class Open_dictionary_tables_ctx;
289 double longitude = d;
297 double longitude = d;
350 "SPATIAL REFERENCE SYSTEM OBJECT: id= {OID: %lld}, "
351 "name= %s, m_created= %llu, m_last_altered= %llu",
377 placeholder->
set_id(
id());
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:34
Definition: entity_object_impl.h:44
void set_name(const String_type &name) override
Definition: entity_object_impl.h:62
void set_id(Object_id id)
Definition: entity_object_impl.h:51
Object_id id() const override
The unique dictionary object id.
Definition: entity_object_impl.h:49
const String_type & name() const override
Definition: entity_object_impl.h:60
Entity_object_impl * impl() override
Definition: entity_object_impl.h:68
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: entity_object_impl.h:57
This class represents all data dictionary table like mysql.tables, mysql.columns and more.
Definition: object_table.h:72
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:76
Definition: raw_record.h:46
Opaque context which keeps reusable resoureces needed during deserialization.
Definition: sdi.cc:231
Opaque context which keeps reusable resources needed during serialization.
Definition: sdi.cc:129
Definition: spatial_reference_system_impl.h:63
bool missing_towgs84() const override
Checks whether the SRS definition is missing a TOWGS84 clause.
Definition: spatial_reference_system_impl.h:259
std::optional< String_type > m_organization
Definition: spatial_reference_system_impl.h:360
Spatial_reference_system * clone_dropped_object_placeholder() const override
Allocate a new object which can serve as a placeholder for the original object in the Dictionary_clie...
Definition: spatial_reference_system_impl.h:370
std::unique_ptr< gis::srs::Spatial_reference_system > m_parsed_definition
Definition: spatial_reference_system_impl.h:363
bool deserialize(Sdi_rcontext *rctx, const RJ_Value &val)
Definition: spatial_reference_system_impl.cc:145
ulonglong m_created
Definition: spatial_reference_system_impl.h:358
void set_organization_coordsys_id(std::nullptr_t) override
Definition: spatial_reference_system_impl.h:160
double semi_minor_axis() const override
Definition: spatial_reference_system_impl.h:214
double linear_unit() const override
Definition: spatial_reference_system_impl.h:227
std::optional< gis::srid_t > m_organization_coordsys_id
Definition: spatial_reference_system_impl.h:361
Spatial_reference_system_impl(const Spatial_reference_system_impl &srs)
Definition: spatial_reference_system_impl.h:75
double angular_unit() const override
Definition: spatial_reference_system_impl.h:231
double to_radians(double d) const override
Converts a coordinate value from the SRS unit to radians.
Definition: spatial_reference_system_impl.h:264
const Object_table & object_table() const override
Definition: spatial_reference_system_impl.cc:205
const std::optional< gis::srid_t > & organization_coordsys_id() const override
Definition: spatial_reference_system_impl.h:150
void set_definition(const String_type &definition) override
Definition: spatial_reference_system_impl.h:170
bool restore_attributes(const Raw_record &r) override
Definition: spatial_reference_system_impl.cc:71
void set_organization(const String_type &organization) override
Definition: spatial_reference_system_impl.h:138
ulonglong created(bool convert_time) const override
Definition: spatial_reference_system_impl.h:111
void serialize(Sdi_wcontext *wctx, Sdi_writer *w) const
Definition: spatial_reference_system_impl.cc:120
Spatial_reference_system_impl()
Definition: spatial_reference_system_impl.h:65
void set_description(const String_type &description) override
Definition: spatial_reference_system_impl.h:322
bool validate() const override
Definition: spatial_reference_system_impl.cc:56
double prime_meridian() const override
Definition: spatial_reference_system_impl.h:235
bool is_lat_long() const override
Check whether an SRS has latitude-longitude axis ordering.
Definition: spatial_reference_system_impl.cc:62
void debug_print(String_type &outb) const override
Definition: spatial_reference_system_impl.h:347
ulonglong last_altered(bool convert_time) const override
Definition: spatial_reference_system_impl.h:121
const std::optional< String_type > & organization() const override
Definition: spatial_reference_system_impl.h:134
static void register_tables(Open_dictionary_tables_ctx *otx)
Definition: spatial_reference_system_impl.cc:211
gis::Coordinate_system cs_type() const override
Definition: spatial_reference_system_impl.h:174
bool is_projected() const override
Definition: spatial_reference_system_impl.h:191
void set_organization_coordsys_id(gis::srid_t organization_coordsys_id) override
Definition: spatial_reference_system_impl.h:154
double from_normalized_longitude(double d) const override
Converts a longitude value from the in-memory representation of longitude (radians,...
Definition: spatial_reference_system_impl.h:296
double to_normalized_latitude(double d) const override
Converts a latitude value from the SRS unit and direction to the in-memory representation of latitude...
Definition: spatial_reference_system_impl.h:276
String_type m_definition
Definition: spatial_reference_system_impl.h:362
double from_radians(double d) const override
Converts a coordinate value from radians to the SRS unit.
Definition: spatial_reference_system_impl.h:270
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: spatial_reference_system_impl.h:336
bool positive_east() const override
Definition: spatial_reference_system_impl.h:239
Entity_object_impl * impl() override
Definition: spatial_reference_system_impl.h:331
std::optional< String_type > m_description
Definition: spatial_reference_system_impl.h:364
void set_description(std::nullptr_t) override
Definition: spatial_reference_system_impl.h:326
String_type proj4_parameters() const override
Gets the proj4 parameters for this SRS.
Definition: spatial_reference_system_impl.h:310
Object_id id() const override
The unique dictionary object id.
Definition: spatial_reference_system_impl.h:335
Spatial_reference_system * clone() const override
Allocate a new object and invoke the copy constructor.
Definition: spatial_reference_system_impl.h:366
bool is_cartesian() const override
Definition: spatial_reference_system_impl.h:199
double semi_major_axis() const override
Definition: spatial_reference_system_impl.h:205
void set_created(ulonglong created) override
Definition: spatial_reference_system_impl.h:115
const String_type & name() const override
Definition: spatial_reference_system_impl.h:339
bool parse_definition()
Parse the SRS definition string.
Definition: spatial_reference_system_impl.cc:176
void set_name(const String_type &name) override
Definition: spatial_reference_system_impl.h:342
double from_normalized_latitude(double d) const override
Converts a latitude value from the in-memory representation of latitude (radians, positive North) to ...
Definition: spatial_reference_system_impl.h:282
bool can_be_modified_to(const Spatial_reference_system &srs) const override
Checks if this SRS can be changed to another SRS definition without changing any computations.
Definition: spatial_reference_system_impl.h:304
const std::optional< String_type > & description() const override
Definition: spatial_reference_system_impl.h:318
ulonglong m_last_altered
Definition: spatial_reference_system_impl.h:359
bool store_attributes(Raw_record *r) override
Definition: spatial_reference_system_impl.cc:91
double to_normalized_longitude(double d) const override
Converts a longitude value from the SRS unit, direction and meridian to the in-memory representation ...
Definition: spatial_reference_system_impl.h:288
const Entity_object_impl * impl() const override
Definition: spatial_reference_system_impl.h:332
bool positive_north() const override
Definition: spatial_reference_system_impl.h:249
void set_last_altered(ulonglong last_altered) override
Definition: spatial_reference_system_impl.h:126
const String_type & definition() const override
Definition: spatial_reference_system_impl.h:168
void set_organization(std::nullptr_t) override
Definition: spatial_reference_system_impl.h:142
bool is_geographic() const override
Definition: spatial_reference_system_impl.h:195
Definition: spatial_reference_system.h:53
Base class for all data dictionary objects.
Definition: weak_object.h:42
A geographic (longitude-latitude) spatial reference system.
Definition: srs.h:210
double semi_major_axis() const
Definition: srs.h:271
double inverse_flattening() const
Definition: srs.h:273
This file declares the geometry class hierarchy used by the server as the internal representation of ...
ulonglong gmt_time_to_local_time(ulonglong gmt_time)
This function gets GMT time and adds value of time_zone to get the local time.
Definition: sql_time.cc:841
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:56
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
RJ_Writer Sdi_writer
Alias for the rapidjson Writer type to use in serialization.
Definition: sdi_fwd.h:64
unsigned long long Object_id
Definition: object_id.h:31
rapidjson::GenericValue< RJ_Encoding, RJ_Allocator > RJ_Value
Definition: sdi_fwd.h:49
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:51
Coordinate_system
Types of coordinate systems.
Definition: geometries.h:69
@ kCartesian
A Cartesian plane with the same unit in both directions.
@ kGeographic
An ellipsoidal system with longitude and latitude coordinates, both in the same unit.
std::uint32_t srid_t
A spatial reference system ID (SRID).
Definition: srid.h:33
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:86
This header provides Rapidjson Type Aliases.
Interface for server time utilities.