MySQL 9.0.0
Source Code Documentation
srs.h File Reference
#include <assert.h>
#include <cmath>
#include <cstdint>
#include <sstream>
#include <string>
#include "sql/gis/srid.h"

Go to the source code of this file.

Classes

class  gis::srs::Spatial_reference_system
 Superclass for all spatial reference systems. More...
 
class  gis::srs::Geographic_srs
 A geographic (longitude-latitude) spatial reference system. More...
 
class  gis::srs::Projected_srs
 A projected spatial reference system. More...
 
class  gis::srs::Unknown_projected_srs
 A projected SRS of an unknown projection type. More...
 
class  gis::srs::Popular_visualisation_pseudo_mercator_srs
 A Popular Visualisation Pseudo Mercator projection (EPSG 1024). More...
 
class  gis::srs::Lambert_azimuthal_equal_area_spherical_srs
 A Lambert Azimuthal Equal Area (Spherical) projection (EPSG 1027). More...
 
class  gis::srs::Equidistant_cylindrical_srs
 An Equidistant Cylindrical projection (EPSG 1028). More...
 
class  gis::srs::Equidistant_cylindrical_spherical_srs
 An Equidistant Cylindrical (Spherical) projection (EPSG 1029). More...
 
class  gis::srs::Krovak_north_orientated_srs
 A Krovak (North Orientated) projection (EPSG 1041). More...
 
class  gis::srs::Krovak_modified_srs
 A Krovak Modified projection (EPSG 1042). More...
 
class  gis::srs::Krovak_modified_north_orientated_srs
 A Krovak Modified (North Orientated) projection (EPSG 1043). More...
 
class  gis::srs::Lambert_conic_conformal_2sp_michigan_srs
 A Lambert Conic Conformal (2SP Michigan) projection (EPSG 1051). More...
 
class  gis::srs::Colombia_urban_srs
 A Colombia Urban projection(EPSG 1052). More...
 
class  gis::srs::Lambert_conic_conformal_1sp_srs
 A Lambert Conic Conformal (1SP) projection, alias Lambert Conic Conformal or LCC (EPSG 9801). More...
 
class  gis::srs::Lambert_conic_conformal_2sp_srs
 A Lambert Conic Conformal (2SP) projection, alias Lambert Conic Conformal or LCC (EPSG 9802). More...
 
class  gis::srs::Lambert_conic_conformal_2sp_belgium_srs
 A Lambert Conic Conformal (2SP Belgium) projection (EPSG 9803). More...
 
class  gis::srs::Mercator_variant_a_srs
 A Mercator (variant A) projection, alias Mercator (EPSG 9804). More...
 
class  gis::srs::Mercator_variant_b_srs
 A Mercator (variant B) projection, alias Mercator (EPSG 9805). More...
 
class  gis::srs::Cassini_soldner_srs
 A Cassini-Soldner projection, alias Cassini (EPSG 9806). More...
 
class  gis::srs::Transverse_mercator_srs
 A Transverse Mercator projection, alias Gauss-Boaga, Gauss-Krüger or TM (EPSG 9807). More...
 
class  gis::srs::Transverse_mercator_south_orientated_srs
 A Transverse Mercator (South Orientated) projection, alias Gauss-Conform (EPSG 9808). More...
 
class  gis::srs::Oblique_stereographic_srs
 An Oblique stereographic projection, alias Double stereographic (EPSG 9809). More...
 
class  gis::srs::Polar_stereographic_variant_a_srs
 A Polar Stereographic (variant A) projection (EPSG 9810). More...
 
class  gis::srs::New_zealand_map_grid_srs
 A New Zealand Map Grid projection (EPSG 9811). More...
 
class  gis::srs::Hotine_oblique_mercator_variant_a_srs
 A Hotine Oblique Mercator (variant A) projection, alias Rectified skew orthomorphic (EPSG 9812). More...
 
class  gis::srs::Laborde_oblique_mercator_srs
 A Laborde Oblique Mercator projection (EPSG 9813). More...
 
class  gis::srs::Hotine_oblique_mercator_variant_b_srs
 A Hotine Oblique Mercator (variant B) projection, alias Rectified skew orthomorphic (EPSG 9815). More...
 
class  gis::srs::Tunisia_mining_grid_srs
 A Tunisia Mining Grid projection (EPSG 9816). More...
 
class  gis::srs::Lambert_conic_near_conformal_srs
 A Lambert Conic Near-Conformal projection (EPSG 9817). More...
 
class  gis::srs::American_polyconic_srs
 An American Polyconic projection, alias Polyconic (EPSG 9818). More...
 
class  gis::srs::Krovak_srs
 A Krovak projection (EPSG 9819). More...
 
class  gis::srs::Lambert_azimuthal_equal_area_srs
 A Lambert Azimuthal Equal Area projection, alias Lambert Equal Area or LAEA (EPSG 9820). More...
 
class  gis::srs::Albers_equal_area_srs
 An Albers Equal Area projection, alias Albers (EPSG 9822). More...
 
class  gis::srs::Transverse_mercator_zoned_grid_system_srs
 A Transverse Mercator Zoned Grid System projection (EPSG 9824). More...
 
class  gis::srs::Lambert_conic_conformal_west_orientated_srs
 A Lambert Conic Conformal (West Orientated) projection (EPSG 9826). More...
 
class  gis::srs::Bonne_south_orientated_srs
 A Bonne (South Orientated) projection (EPSG 9828). More...
 
class  gis::srs::Polar_stereographic_variant_b_srs
 A Polar Stereographic (variant B) projection (EPSG 9829). More...
 
class  gis::srs::Polar_stereographic_variant_c_srs
 A Polar Stereographic (variant C) projection (EPSG 9830). More...
 
class  gis::srs::Guam_projection_srs
 A Guam Projection projection (EPSG 9831). More...
 
class  gis::srs::Modified_azimuthal_equidistant_srs
 A Modified Azimuthal Equidistant projection (EPSG 9832). More...
 
class  gis::srs::Hyperbolic_cassini_soldner_srs
 A Hyperbolic Cassini-Soldner projection (EPSG 9833). More...
 
class  gis::srs::Lambert_cylindrical_equal_area_spherical_srs
 A Lambert Cylindrical Equal Area (Spherical) projection (EPSG 9834). More...
 
class  gis::srs::Lambert_cylindrical_equal_area_srs
 A Lambert Cylindrical Equal Area projection (EPSG 9835). More...
 

Namespaces

namespace  gis
 
namespace  gis::srs
 
namespace  gis::srs::wkt_parser
 

Enumerations

enum class  gis::srs::Srs_type : std::uint8_t { gis::srs::UNKNOWN = 0 , gis::srs::PROJECTED , gis::srs::GEOGRAPHIC }
 Spatial reference system type. More...
 
enum class  gis::srs::Projection_type : std::uint32_t {
  gis::srs::UNKNOWN = 0 , gis::srs::POPULAR_VISUALISATION_PSEUDO_MERCATOR = 1024 , gis::srs::LAMBERT_AZIMUTHAL_EQUAL_AREA_SPHERICAL = 1027 , gis::srs::EQUIDISTANT_CYLINDRICAL = 1028 ,
  gis::srs::EQUIDISTANT_CYLINDRICAL_SPHERICAL = 1029 , gis::srs::KROVAK_NORTH_ORIENTATED = 1041 , gis::srs::KROVAK_MODIFIED = 1042 , gis::srs::KROVAK_MODIFIED_NORTH_ORIENTATED = 1043 ,
  gis::srs::LAMBERT_CONIC_CONFORMAL_2SP_MICHIGAN = 1051 , gis::srs::COLOMBIA_URBAN = 1052 , gis::srs::LAMBERT_CONIC_CONFORMAL_1SP = 9801 , gis::srs::LAMBERT_CONIC_CONFORMAL_2SP = 9802 ,
  gis::srs::LAMBERT_CONIC_CONFORMAL_2SP_BELGIUM = 9803 , gis::srs::MERCATOR_VARIANT_A = 9804 , gis::srs::MERCATOR_VARIANT_B = 9805 , gis::srs::CASSINI_SOLDNER = 9806 ,
  gis::srs::TRANSVERSE_MERCATOR = 9807 , gis::srs::TRANSVERSE_MERCATOR_SOUTH_ORIENTATED = 9808 , gis::srs::OBLIQUE_STEREOGRAPHIC = 9809 , gis::srs::POLAR_STEREOGRAPHIC_VARIANT_A = 9810 ,
  gis::srs::NEW_ZEALAND_MAP_GRID = 9811 , gis::srs::HOTINE_OBLIQUE_MERCATOR_VARIANT_A = 9812 , gis::srs::LABORDE_OBLIQUE_MERCATOR = 9813 , gis::srs::HOTINE_OBLIQUE_MERCATOR_VARIANT_B = 9815 ,
  gis::srs::TUNISIA_MINING_GRID = 9816 , gis::srs::LAMBERT_CONIC_NEAR_CONFORMAL = 9817 , gis::srs::AMERICAN_POLYCONIC = 9818 , gis::srs::KROVAK = 9819 ,
  gis::srs::LAMBERT_AZIMUTHAL_EQUAL_AREA = 9820 , gis::srs::ALBERS_EQUAL_AREA = 9822 , gis::srs::TRANSVERSE_MERCATOR_ZONED_GRID_SYSTEM = 9824 , gis::srs::LAMBERT_CONIC_CONFORMAL_WEST_ORIENTATED = 9826 ,
  gis::srs::BONNE_SOUTH_ORIENTATED = 9828 , gis::srs::POLAR_STEREOGRAPHIC_VARIANT_B = 9829 , gis::srs::POLAR_STEREOGRAPHIC_VARIANT_C = 9830 , gis::srs::GUAM_PROJECTION = 9831 ,
  gis::srs::MODIFIED_AZIMUTHAL_EQUIDISTANT = 9832 , gis::srs::HYPERBOLIC_CASSINI_SOLDNER = 9833 , gis::srs::LAMBERT_CYLINDRICAL_EQUAL_AREA_SPHERICAL = 9834 , gis::srs::LAMBERT_CYLINDRICAL_EQUAL_AREA = 9835
}
 Projection method. Values are EPSG codes. More...
 
enum class  gis::srs::Axis_direction : std::uint8_t {
  gis::srs::UNSPECIFIED = 0 , gis::srs::NORTH , gis::srs::SOUTH , gis::srs::EAST ,
  gis::srs::WEST , gis::srs::OTHER
}
 Coordinate axis direction. More...
 

Functions

bool gis::srs::parse_wkt (srid_t srid, const char *begin, const char *end, Spatial_reference_system **result)
 Parse an SRS definition WKT string. More...