30 #ifndef __TERRALIB_SRS_INTERNAL_WKTPARSER_H
31 #define __TERRALIB_SRS_INTERNAL_WKTPARSER_H
37 #include <boost/bind/bind.hpp>
38 #include <boost/spirit/include/qi.hpp>
45 namespace qi = boost::spirit::qi;
46 namespace ascii = boost::spirit::ascii;
63 template<
typename Iterator>
64 class WKTParser :
public qi::grammar<Iterator, ascii::space_type>
159 #if BOOST_VERSION < 106000
225 #if BOOST_VERSION < 106000
264 #if BOOST_VERSION < 106000
291 #if BOOST_VERSION < 106000
352 qi::rule<Iterator, ascii::space_type>
srs;
360 qi::rule<Iterator, ascii::space_type>
datum;
374 qi::rule<Iterator, ascii::space_type>
unit;
376 qi::rule<Iterator, ascii::space_type>
axis;
397 #endif // __TERRALIB_SRS_INTERNAL_WKTPARSER_H
void endProjectedCoordinateSystem()
void reset()
This method resets the Action class to original state.
WKTParser()
Default constructor.
qi::rule< Iterator, ascii::space_type > projection
void setSpheroidName(const std::string &name)
void setPrimeMeridian(const double &primem)
qi::rule< Iterator, ascii::space_type > upTag
void setAuthorityName(const std::string &name)
qi::rule< Iterator, ascii::space_type > projectedCSTag
qi::rule< Iterator, ascii::space_type > downTag
qi::rule< Iterator, ascii::space_type > authorityCode
qi::rule< Iterator > datumName
void setAxisValue(const std::string &value)
void setConversionFactor(const double &f)
qi::rule< Iterator, ascii::space_type > srs
qi::rule< Iterator, ascii::space_type > invFlattening
qi::rule< Iterator > spheroidName
qi::rule< Iterator, ascii::space_type > ez
A class that implements the Grammar Rules for well known text (WKT) format for Spatial Reference Syst...
qi::rule< Iterator, ascii::space_type > dy
qi::rule< Iterator > parameterName
qi::rule< Iterator > projectionName
qi::rule< Iterator, ascii::space_type > unitTag
qi::rule< Iterator, ascii::space_type > projectionTag
void setEx(const double &ex)
void createGeographicCoordinateSystem()
qi::rule< Iterator > authorityName
A Spatial Reference System, also known as a Coordinate System.
qi::rule< Iterator, ascii::space_type > geographicCS
qi::rule< Iterator, ascii::space_type > ex
void setUnitName(const std::string &name)
qi::rule< Iterator, ascii::space_type > spheroid
qi::rule< Iterator > csName
SpatialReferenceSystem * getSRS()
It returns the SRS generated by the parser process.
void setPPM(const double &ppm)
void initSpatialReferenceSystems()
void setEz(const double &ez)
qi::rule< Iterator, ascii::space_type > datum
void setDx(const double &dx)
qi::rule< Iterator, ascii::space_type > rigthDelimiter
void setProjectionName(const std::string &name)
SpatialReferenceSystem * getSRS()
It returns the SRS generated by the parser process.
void setDy(const double &dy)
A class that implements the Grammar Rules for well known text (WKT) format of Spatial Reference Syste...
qi::rule< Iterator, ascii::space_type > primeMeridianTag
qi::rule< Iterator, ascii::space_type > authority
qi::rule< Iterator, ascii::space_type > value
qi::rule< Iterator > unitName
qi::rule< Iterator, ascii::space_type > southTag
qi::rule< Iterator, ascii::space_type > eastTag
qi::rule< Iterator, ascii::space_type > projectedCS
qi::rule< Iterator, ascii::space_type > axisValue
qi::rule< Iterator, ascii::space_type > leftDelimiter
void reset()
This method resets the Parser to original state.
qi::rule< Iterator, ascii::space_type > toWGS84
void setDatumName(const std::string &name)
qi::rule< Iterator, ascii::space_type > ey
qi::rule< Iterator, ascii::space_type > datumTag
void setAxisName(const std::string &name)
qi::rule< Iterator, ascii::space_type > westTag
qi::rule< Iterator, ascii::space_type > conversionFactor
void setSemiMajorAxis(const double &rad)
qi::rule< Iterator, ascii::space_type > unit
qi::rule< Iterator, ascii::space_type > axisTag
qi::rule< Iterator, ascii::space_type > spheroidTag
qi::rule< Iterator > primeMeridianName
qi::rule< Iterator, ascii::space_type > parameter
qi::rule< Iterator, ascii::space_type > axis
qi::rule< Iterator, ascii::space_type > dz
qi::rule< Iterator, ascii::space_type > semiMajorAxis
void setParameter(const std::string &name)
qi::rule< Iterator, ascii::space_type > primeMeridian
qi::rule< Iterator, ascii::space_type > sevenParams
qi::rule< Iterator, ascii::space_type > ppm
qi::rule< Iterator > axisName
void endGeographicCoordinateSystem()
void setName(const std::string &name)
qi::rule< Iterator, ascii::space_type > geographicCSTag
void setParameterValue(const double &value)
qi::rule< Iterator, ascii::space_type > toWGS84Tag
qi::rule< Iterator, ascii::space_type > authorityTag
qi::rule< Iterator, ascii::space_type > parameterTag
qi::rule< Iterator, ascii::space_type > dx
void setEy(const double &ey)
void setDz(const double &dz)
qi::rule< Iterator, ascii::space_type > northTag
void createProjectedCoordinateSystem()
void setAuthorityCode(const std::string &code)
void setInverseFlattening(const double &invflat)
qi::rule< Iterator, ascii::space_type > longitude
qi::rule< Iterator, ascii::space_type > otherTag