Loading...
Searching...
No Matches
te::srs::WKTParser< Iterator > Class Template Reference

A class that implements the Grammar Rules for well known text (WKT) format of Spatial Reference Systems. More...

#include <WKTParser.h>

Inheritance diagram for te::srs::WKTParser< Iterator >:

Public Member Functions

Constructor

Initilizer methods.

 WKTParser ()
 Default constructor.
 

Private Member Functions

Initializer methods.

Methods to initialize the grammar rules.

void initTags ()
 
void initSpatialReferenceSystems ()
 
void initDatum ()
 
void initToWGS84 ()
 
void initProjection ()
 
void initParameter ()
 
void initSpheroid ()
 
void initPrimeMeridian ()
 
void initUnits ()
 
void initQuotedNames ()
 
void initDoubleValues ()
 
void initAuthority ()
 
void initAxis ()
 
void initDelimiters ()
 

Private Attributes

Rules of WKT Grammar.
qi::rule< Iterator, ascii::space_type > srs
 
qi::rule< Iterator, ascii::space_type > projectedCS
 
qi::rule< Iterator, ascii::space_type > geographicCS
 
qi::rule< Iterator, ascii::space_type > projectedCSTag
 
qi::rule< Iterator, ascii::space_type > geographicCSTag
 
qi::rule< Iterator, ascii::space_type > datumTag
 
qi::rule< Iterator, ascii::space_type > spheroidTag
 
qi::rule< Iterator, ascii::space_type > projectionTag
 
qi::rule< Iterator, ascii::space_type > parameterTag
 
qi::rule< Iterator, ascii::space_type > primeMeridianTag
 
qi::rule< Iterator, ascii::space_type > unitTag
 
qi::rule< Iterator, ascii::space_type > toWGS84Tag
 
qi::rule< Iterator, ascii::space_type > authorityTag
 
qi::rule< Iterator, ascii::space_type > axisTag
 
qi::rule< Iterator, ascii::space_type > northTag
 
qi::rule< Iterator, ascii::space_type > southTag
 
qi::rule< Iterator, ascii::space_type > eastTag
 
qi::rule< Iterator, ascii::space_type > westTag
 
qi::rule< Iterator, ascii::space_type > upTag
 
qi::rule< Iterator, ascii::space_type > downTag
 
qi::rule< Iterator, ascii::space_type > otherTag
 
qi::rule< Iterator, ascii::space_type > datum
 
qi::rule< Iterator, ascii::space_type > toWGS84
 
qi::rule< Iterator, ascii::space_type > sevenParams
 
qi::rule< Iterator, ascii::space_type > dx
 
qi::rule< Iterator, ascii::space_type > dy
 
qi::rule< Iterator, ascii::space_type > dz
 
qi::rule< Iterator, ascii::space_type > ex
 
qi::rule< Iterator, ascii::space_type > ey
 
qi::rule< Iterator, ascii::space_type > ez
 
qi::rule< Iterator, ascii::space_type > ppm
 
qi::rule< Iterator, ascii::space_type > projection
 
qi::rule< Iterator, ascii::space_type > parameter
 
qi::rule< Iterator, ascii::space_type > spheroid
 
qi::rule< Iterator, ascii::space_type > primeMeridian
 
qi::rule< Iterator, ascii::space_type > unit
 
qi::rule< Iterator, ascii::space_type > axis
 
qi::rule< Iterator, ascii::space_type > axisValue
 
qi::rule< Iterator, ascii::space_type > value
 
qi::rule< Iterator, ascii::space_type > semiMajorAxis
 
qi::rule< Iterator, ascii::space_type > longitude
 
qi::rule< Iterator, ascii::space_type > invFlattening
 
qi::rule< Iterator, ascii::space_type > conversionFactor
 
qi::rule< Iterator > unitName
 
qi::rule< Iterator > spheroidName
 
qi::rule< Iterator > projectionName
 
qi::rule< Iterator > primeMeridianName
 
qi::rule< Iterator > parameterName
 
qi::rule< Iterator > datumName
 
qi::rule< Iterator > csName
 
qi::rule< Iterator > axisName
 
qi::rule< Iterator, ascii::space_type > authority
 
qi::rule< Iterator, ascii::space_type > authorityCode
 
qi::rule< Iterator > authorityName
 
qi::rule< Iterator, ascii::space_type > leftDelimiter
 
qi::rule< Iterator, ascii::space_type > rigthDelimiter
 

Access method.

Method to access the SRS generated.

WKTActions m_a
 
SpatialReferenceSystemgetSRS ()
 It returns the SRS generated by the parser process.
 
void reset ()
 This method resets the Parser to original state.
 

Detailed Description

template<typename Iterator>
class te::srs::WKTParser< Iterator >

A class that implements the Grammar Rules for well known text (WKT) format of Spatial Reference Systems.

Definition at line 64 of file WKTParser.h.

Constructor & Destructor Documentation

◆ WKTParser()

Member Function Documentation

◆ getSRS()

template<typename Iterator>
SpatialReferenceSystem * te::srs::WKTParser< Iterator >::getSRS ( )
inline

It returns the SRS generated by the parser process.

Note
The caller of this method will take the ownership of the SRS.

Definition at line 332 of file WKTParser.h.

References m_a.

◆ initAuthority()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initAuthority ( )
inlineprivate

◆ initAxis()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initAxis ( )
inlineprivate

Definition at line 300 of file WKTParser.h.

References axis, axisName, axisTag, axisValue, downTag, eastTag, leftDelimiter, northTag, otherTag, rigthDelimiter, southTag, upTag, and westTag.

Referenced by WKTParser().

◆ initDatum()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initDatum ( )
inlineprivate

◆ initDelimiters()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initDelimiters ( )
inlineprivate

Definition at line 312 of file WKTParser.h.

References leftDelimiter, and rigthDelimiter.

Referenced by WKTParser().

◆ initDoubleValues()

◆ initParameter()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initParameter ( )
inlineprivate

Definition at line 186 of file WKTParser.h.

References leftDelimiter, parameter, parameterName, parameterTag, rigthDelimiter, and value.

Referenced by WKTParser().

◆ initPrimeMeridian()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initPrimeMeridian ( )
inlineprivate

◆ initProjection()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initProjection ( )
inlineprivate

Definition at line 178 of file WKTParser.h.

References authority, leftDelimiter, projection, projectionName, projectionTag, and rigthDelimiter.

Referenced by WKTParser().

◆ initQuotedNames()

◆ initSpatialReferenceSystems()

◆ initSpheroid()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initSpheroid ( )
inlineprivate

◆ initTags()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initTags ( )
inlineprivate

◆ initToWGS84()

◆ initUnits()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::initUnits ( )
inlineprivate

Definition at line 214 of file WKTParser.h.

References authority, conversionFactor, leftDelimiter, rigthDelimiter, unit, unitName, and unitTag.

Referenced by WKTParser().

◆ reset()

template<typename Iterator>
void te::srs::WKTParser< Iterator >::reset ( )
inline

This method resets the Parser to original state.

Note
Should be called case the parser processing faill.
Basically, it is responsable to free the memory.

Definition at line 342 of file WKTParser.h.

References m_a.

Member Data Documentation

◆ authority

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::authority
private

◆ authorityCode

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::authorityCode
private

Definition at line 384 of file WKTParser.h.

Referenced by initAuthority().

◆ authorityName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::authorityName
private

Definition at line 386 of file WKTParser.h.

Referenced by initAuthority().

◆ authorityTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::authorityTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initAuthority(), and initTags().

◆ axis

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::axis
private

Definition at line 376 of file WKTParser.h.

Referenced by initAxis(), and initSpatialReferenceSystems().

◆ axisName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::axisName
private

Definition at line 382 of file WKTParser.h.

Referenced by initAxis(), and initQuotedNames().

◆ axisTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::axisTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initAxis(), and initTags().

◆ axisValue

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::axisValue
private

Definition at line 378 of file WKTParser.h.

Referenced by initAxis(), and initQuotedNames().

◆ conversionFactor

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::conversionFactor
private

Definition at line 380 of file WKTParser.h.

Referenced by initDoubleValues(), and initUnits().

◆ csName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::csName
private

Definition at line 382 of file WKTParser.h.

Referenced by initQuotedNames(), and initSpatialReferenceSystems().

◆ datum

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::datum
private

Definition at line 360 of file WKTParser.h.

Referenced by initDatum(), and initSpatialReferenceSystems().

◆ datumName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::datumName
private

Definition at line 382 of file WKTParser.h.

Referenced by initDatum(), and initQuotedNames().

◆ datumTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::datumTag
private

Definition at line 356 of file WKTParser.h.

Referenced by initDatum(), and initTags().

◆ downTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::downTag
private

Definition at line 358 of file WKTParser.h.

Referenced by initAxis(), and initTags().

◆ dx

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::dx
private

Definition at line 364 of file WKTParser.h.

Referenced by initToWGS84().

◆ dy

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::dy
private

Definition at line 364 of file WKTParser.h.

Referenced by initToWGS84().

◆ dz

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::dz
private

Definition at line 364 of file WKTParser.h.

Referenced by initToWGS84().

◆ eastTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::eastTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initAxis(), and initTags().

◆ ex

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::ex
private

Definition at line 364 of file WKTParser.h.

Referenced by initToWGS84().

◆ ey

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::ey
private

Definition at line 364 of file WKTParser.h.

Referenced by initToWGS84().

◆ ez

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::ez
private

Definition at line 364 of file WKTParser.h.

Referenced by initToWGS84().

◆ geographicCS

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::geographicCS
private

Definition at line 354 of file WKTParser.h.

Referenced by initSpatialReferenceSystems(), and WKTParser().

◆ geographicCSTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::geographicCSTag
private

Definition at line 356 of file WKTParser.h.

Referenced by initSpatialReferenceSystems(), and initTags().

◆ invFlattening

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::invFlattening
private

Definition at line 380 of file WKTParser.h.

Referenced by initDoubleValues(), and initSpheroid().

◆ leftDelimiter

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::leftDelimiter
private

◆ longitude

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::longitude
private

Definition at line 380 of file WKTParser.h.

Referenced by initDoubleValues(), and initPrimeMeridian().

◆ m_a

template<typename Iterator>
WKTActions te::srs::WKTParser< Iterator >::m_a
private

◆ northTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::northTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initAxis(), and initTags().

◆ otherTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::otherTag
private

Definition at line 358 of file WKTParser.h.

Referenced by initAxis(), and initTags().

◆ parameter

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::parameter
private

Definition at line 368 of file WKTParser.h.

Referenced by initParameter(), and initSpatialReferenceSystems().

◆ parameterName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::parameterName
private

Definition at line 382 of file WKTParser.h.

Referenced by initParameter(), and initQuotedNames().

◆ parameterTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::parameterTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initParameter(), and initTags().

◆ ppm

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::ppm
private

Definition at line 364 of file WKTParser.h.

Referenced by initToWGS84().

◆ primeMeridian

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::primeMeridian
private

Definition at line 372 of file WKTParser.h.

Referenced by initPrimeMeridian(), and initSpatialReferenceSystems().

◆ primeMeridianName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::primeMeridianName
private

Definition at line 382 of file WKTParser.h.

Referenced by initPrimeMeridian(), and initQuotedNames().

◆ primeMeridianTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::primeMeridianTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initPrimeMeridian(), and initTags().

◆ projectedCS

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::projectedCS
private

Definition at line 354 of file WKTParser.h.

Referenced by initSpatialReferenceSystems(), and WKTParser().

◆ projectedCSTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::projectedCSTag
private

Definition at line 356 of file WKTParser.h.

Referenced by initSpatialReferenceSystems(), and initTags().

◆ projection

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::projection
private

Definition at line 366 of file WKTParser.h.

Referenced by initProjection(), and initSpatialReferenceSystems().

◆ projectionName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::projectionName
private

Definition at line 382 of file WKTParser.h.

Referenced by initProjection(), and initQuotedNames().

◆ projectionTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::projectionTag
private

Definition at line 356 of file WKTParser.h.

Referenced by initProjection(), and initTags().

◆ rigthDelimiter

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::rigthDelimiter
private

◆ semiMajorAxis

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::semiMajorAxis
private

Definition at line 380 of file WKTParser.h.

Referenced by initDoubleValues(), and initSpheroid().

◆ sevenParams

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::sevenParams
private

Definition at line 362 of file WKTParser.h.

Referenced by initToWGS84().

◆ southTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::southTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initAxis(), and initTags().

◆ spheroid

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::spheroid
private

Definition at line 370 of file WKTParser.h.

Referenced by initDatum(), and initSpheroid().

◆ spheroidName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::spheroidName
private

Definition at line 382 of file WKTParser.h.

Referenced by initQuotedNames(), and initSpheroid().

◆ spheroidTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::spheroidTag
private

Definition at line 356 of file WKTParser.h.

Referenced by initSpheroid(), and initTags().

◆ srs

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::srs
private

Definition at line 352 of file WKTParser.h.

Referenced by WKTParser().

◆ toWGS84

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::toWGS84
private

Definition at line 362 of file WKTParser.h.

Referenced by initDatum(), and initToWGS84().

◆ toWGS84Tag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::toWGS84Tag
private

Definition at line 357 of file WKTParser.h.

Referenced by initTags(), and initToWGS84().

◆ unit

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::unit
private

Definition at line 374 of file WKTParser.h.

Referenced by initSpatialReferenceSystems(), and initUnits().

◆ unitName

template<typename Iterator>
qi::rule<Iterator> te::srs::WKTParser< Iterator >::unitName
private

Definition at line 382 of file WKTParser.h.

Referenced by initQuotedNames(), and initUnits().

◆ unitTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::unitTag
private

Definition at line 357 of file WKTParser.h.

Referenced by initTags(), and initUnits().

◆ upTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::upTag
private

Definition at line 358 of file WKTParser.h.

Referenced by initAxis(), and initTags().

◆ value

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::value
private

Definition at line 380 of file WKTParser.h.

Referenced by initDoubleValues(), and initParameter().

◆ westTag

template<typename Iterator>
qi::rule<Iterator, ascii::space_type> te::srs::WKTParser< Iterator >::westTag
private

Definition at line 358 of file WKTParser.h.

Referenced by initAxis(), and initTags().


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