MySQL 8.4.0
Source Code Documentation
gis::srs Namespace Reference

Namespaces

namespace  wkt_parser
 

Classes

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

Enumerations

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

Functions

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

Enumeration Type Documentation

◆ Axis_direction

enum class gis::srs::Axis_direction : std::uint8_t
strong

Coordinate axis direction.

Enumerator
UNSPECIFIED 
NORTH 
SOUTH 
EAST 
WEST 
OTHER 

◆ Projection_type

enum class gis::srs::Projection_type : std::uint32_t
strong

Projection method. Values are EPSG codes.

Enumerator
UNKNOWN 
POPULAR_VISUALISATION_PSEUDO_MERCATOR 
LAMBERT_AZIMUTHAL_EQUAL_AREA_SPHERICAL 
EQUIDISTANT_CYLINDRICAL 
EQUIDISTANT_CYLINDRICAL_SPHERICAL 
KROVAK_NORTH_ORIENTATED 
KROVAK_MODIFIED 
KROVAK_MODIFIED_NORTH_ORIENTATED 
LAMBERT_CONIC_CONFORMAL_2SP_MICHIGAN 
COLOMBIA_URBAN 
LAMBERT_CONIC_CONFORMAL_1SP 
LAMBERT_CONIC_CONFORMAL_2SP 
LAMBERT_CONIC_CONFORMAL_2SP_BELGIUM 
MERCATOR_VARIANT_A 
MERCATOR_VARIANT_B 
CASSINI_SOLDNER 
TRANSVERSE_MERCATOR 
TRANSVERSE_MERCATOR_SOUTH_ORIENTATED 
OBLIQUE_STEREOGRAPHIC 
POLAR_STEREOGRAPHIC_VARIANT_A 
NEW_ZEALAND_MAP_GRID 
HOTINE_OBLIQUE_MERCATOR_VARIANT_A 
LABORDE_OBLIQUE_MERCATOR 
HOTINE_OBLIQUE_MERCATOR_VARIANT_B 
TUNISIA_MINING_GRID 
LAMBERT_CONIC_NEAR_CONFORMAL 
AMERICAN_POLYCONIC 
KROVAK 
LAMBERT_AZIMUTHAL_EQUAL_AREA 
ALBERS_EQUAL_AREA 
TRANSVERSE_MERCATOR_ZONED_GRID_SYSTEM 
LAMBERT_CONIC_CONFORMAL_WEST_ORIENTATED 
BONNE_SOUTH_ORIENTATED 
POLAR_STEREOGRAPHIC_VARIANT_B 
POLAR_STEREOGRAPHIC_VARIANT_C 
GUAM_PROJECTION 
MODIFIED_AZIMUTHAL_EQUIDISTANT 
HYPERBOLIC_CASSINI_SOLDNER 
LAMBERT_CYLINDRICAL_EQUAL_AREA_SPHERICAL 
LAMBERT_CYLINDRICAL_EQUAL_AREA 

◆ Srs_type

enum class gis::srs::Srs_type : std::uint8_t
strong

Spatial reference system type.

Enumerator
UNKNOWN 
PROJECTED 
GEOGRAPHIC 

Function Documentation

◆ parse_wkt()

bool gis::srs::parse_wkt ( gis::srid_t  srid,
const char *  begin,
const char *  end,
Spatial_reference_system **  result 
)

Parse an SRS definition WKT string.

The parser understands WKT as defined by the <horz cs> specification in OGC 01-009.

If the string is successfully parsed, a new SRS object will be allocated on the heap. The caller is responsible for deleting it.

If an error occurs, no object is allocated.

Parameters
[in]sridSpatial reference system ID to use when reporting errors
[in]beginStart of WKT string in UTF-8
[in]endEnd of WKT string (one past the last byte)
[out]resultSpatial reference system
Return values
trueAn error has occurred
falseSuccess