23#ifndef DD__SPATIAL_REFERENCE_SYSTEM_IMPL_INCLUDED
24#define DD__SPATIAL_REFERENCE_SYSTEM_IMPL_INCLUDED
53class Open_dictionary_tables_ctx;
288 double longitude = d;
296 double longitude = d;
349 "SPATIAL REFERENCE SYSTEM OBJECT: id= {OID: %lld}, "
350 "name= %s, m_created= %llu, m_last_altered= %llu",
376 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:35
Definition: entity_object_impl.h:43
void set_name(const String_type &name) override
Definition: entity_object_impl.h:61
void set_id(Object_id id)
Definition: entity_object_impl.h:50
Object_id id() const override
The unique dictionary object id.
Definition: entity_object_impl.h:48
const String_type & name() const override
Definition: entity_object_impl.h:59
Entity_object_impl * impl() override
Definition: entity_object_impl.h:67
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: entity_object_impl.h:56
This class represents all data dictionary table like mysql.tables, mysql.columns and more.
Definition: object_table.h:71
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:75
Definition: raw_record.h:45
Opaque context which keeps reusable resoureces needed during deserialization.
Definition: sdi.cc:230
Opaque context which keeps reusable resources needed during serialization.
Definition: sdi.cc:128
Definition: spatial_reference_system_impl.h:62
bool missing_towgs84() const override
Checks whether the SRS definition is missing a TOWGS84 clause.
Definition: spatial_reference_system_impl.h:258
std::optional< String_type > m_organization
Definition: spatial_reference_system_impl.h:359
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:369
std::unique_ptr< gis::srs::Spatial_reference_system > m_parsed_definition
Definition: spatial_reference_system_impl.h:362
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:357
void set_organization_coordsys_id(std::nullptr_t) override
Definition: spatial_reference_system_impl.h:159
double semi_minor_axis() const override
Definition: spatial_reference_system_impl.h:213
double linear_unit() const override
Definition: spatial_reference_system_impl.h:226
std::optional< gis::srid_t > m_organization_coordsys_id
Definition: spatial_reference_system_impl.h:360
Spatial_reference_system_impl(const Spatial_reference_system_impl &srs)
Definition: spatial_reference_system_impl.h:74
double angular_unit() const override
Definition: spatial_reference_system_impl.h:230
double to_radians(double d) const override
Converts a coordinate value from the SRS unit to radians.
Definition: spatial_reference_system_impl.h:263
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:149
void set_definition(const String_type &definition) override
Definition: spatial_reference_system_impl.h:169
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:137
ulonglong created(bool convert_time) const override
Definition: spatial_reference_system_impl.h:110
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:64
void set_description(const String_type &description) override
Definition: spatial_reference_system_impl.h:321
bool validate() const override
Definition: spatial_reference_system_impl.cc:56
double prime_meridian() const override
Definition: spatial_reference_system_impl.h:234
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:346
ulonglong last_altered(bool convert_time) const override
Definition: spatial_reference_system_impl.h:120
const std::optional< String_type > & organization() const override
Definition: spatial_reference_system_impl.h:133
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:173
bool is_projected() const override
Definition: spatial_reference_system_impl.h:190
void set_organization_coordsys_id(gis::srid_t organization_coordsys_id) override
Definition: spatial_reference_system_impl.h:153
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:295
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:275
String_type m_definition
Definition: spatial_reference_system_impl.h:361
double from_radians(double d) const override
Converts a coordinate value from radians to the SRS unit.
Definition: spatial_reference_system_impl.h:269
bool is_persistent() const override
Is dictionary object persistent in dictionary tables ?
Definition: spatial_reference_system_impl.h:335
bool positive_east() const override
Definition: spatial_reference_system_impl.h:238
Entity_object_impl * impl() override
Definition: spatial_reference_system_impl.h:330
std::optional< String_type > m_description
Definition: spatial_reference_system_impl.h:363
void set_description(std::nullptr_t) override
Definition: spatial_reference_system_impl.h:325
String_type proj4_parameters() const override
Gets the proj4 parameters for this SRS.
Definition: spatial_reference_system_impl.h:309
Object_id id() const override
The unique dictionary object id.
Definition: spatial_reference_system_impl.h:334
Spatial_reference_system * clone() const override
Allocate a new object and invoke the copy constructor.
Definition: spatial_reference_system_impl.h:365
bool is_cartesian() const override
Definition: spatial_reference_system_impl.h:198
double semi_major_axis() const override
Definition: spatial_reference_system_impl.h:204
void set_created(ulonglong created) override
Definition: spatial_reference_system_impl.h:114
const String_type & name() const override
Definition: spatial_reference_system_impl.h:338
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:341
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:281
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:303
const std::optional< String_type > & description() const override
Definition: spatial_reference_system_impl.h:317
ulonglong m_last_altered
Definition: spatial_reference_system_impl.h:358
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:287
const Entity_object_impl * impl() const override
Definition: spatial_reference_system_impl.h:331
bool positive_north() const override
Definition: spatial_reference_system_impl.h:248
void set_last_altered(ulonglong last_altered) override
Definition: spatial_reference_system_impl.h:125
const String_type & definition() const override
Definition: spatial_reference_system_impl.h:167
void set_organization(std::nullptr_t) override
Definition: spatial_reference_system_impl.h:141
bool is_geographic() const override
Definition: spatial_reference_system_impl.h:194
Definition: spatial_reference_system.h:52
Base class for all data dictionary objects.
Definition: weak_object.h:41
A geographic (longitude-latitude) spatial reference system.
Definition: srs.h:209
double semi_major_axis() const
Definition: srs.h:270
double inverse_flattening() const
Definition: srs.h:272
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:843
Some integer typedefs for easier portability.
unsigned long long int ulonglong
Definition: my_inttypes.h:55
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:42
RJ_Writer Sdi_writer
Alias for the rapidjson Writer type to use in serialization.
Definition: sdi_fwd.h:63
unsigned long long Object_id
Definition: object_id.h:30
rapidjson::GenericValue< RJ_Encoding, RJ_Allocator > RJ_Value
Definition: sdi_fwd.h:48
Char_string_template< String_type_allocator > String_type
Definition: string_type.h:50
Coordinate_system
Types of coordinate systems.
Definition: geometries.h:68
@ 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:32
const mysql_service_registry_t * r
Definition: pfs_example_plugin_employee.cc:85
This header provides Rapidjson Type Aliases.
Interface for server time utilities.