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>
305 qi::rule<Iterator, ascii::space_type>
srs;
313 qi::rule<Iterator, ascii::space_type>
datum;
327 qi::rule<Iterator, ascii::space_type>
unit;
329 qi::rule<Iterator, ascii::space_type>
axis;
350 #endif // __TERRALIB_SRS_INTERNAL_WKTPARSER_H
qi::rule< Iterator, ascii::space_type > downTag
qi::rule< Iterator, ascii::space_type > geographicCS
qi::rule< Iterator, ascii::space_type > longitude
void reset()
This method resets the Parser to original state.
SpatialReferenceSystem * getSRS()
It returns the SRS generated by the parser process.
qi::rule< Iterator, ascii::space_type > northTag
qi::rule< Iterator > primeMeridianName
void setEy(const double &ey)
void setPPM(const double &ppm)
qi::rule< Iterator, ascii::space_type > unitTag
qi::rule< Iterator, ascii::space_type > primeMeridian
qi::rule< Iterator, ascii::space_type > value
qi::rule< Iterator > csName
qi::rule< Iterator, ascii::space_type > upTag
qi::rule< Iterator > spheroidName
void setSemiMajorAxis(const double &rad)
void initSpatialReferenceSystems()
qi::rule< Iterator, ascii::space_type > projectionTag
qi::rule< Iterator, ascii::space_type > projection
void setAuthorityCode(const std::string &code)
qi::rule< Iterator, ascii::space_type > projectedCS
void setAxisName(const std::string &name)
qi::rule< Iterator, ascii::space_type > ez
qi::rule< Iterator, ascii::space_type > axis
void setDz(const double &dz)
qi::rule< Iterator, ascii::space_type > ex
qi::rule< Iterator, ascii::space_type > sevenParams
void setDatumName(const std::string &name)
qi::rule< Iterator, ascii::space_type > authorityCode
void setPrimeMeridian(const double &primem)
void endProjectedCoordinateSystem()
A Spatial Reference System, also known as a Coordinate System.
qi::rule< Iterator, ascii::space_type > parameterTag
A class that implements the Grammar Rules for well known text (WKT) format of Spatial Reference Syste...
qi::rule< Iterator, ascii::space_type > datumTag
qi::rule< Iterator, ascii::space_type > dy
qi::rule< Iterator, ascii::space_type > conversionFactor
void endGeographicCoordinateSystem()
void createProjectedCoordinateSystem()
qi::rule< Iterator, ascii::space_type > otherTag
qi::rule< Iterator > parameterName
void setName(const std::string &name)
qi::rule< Iterator, ascii::space_type > dz
qi::rule< Iterator, ascii::space_type > leftDelimiter
qi::rule< Iterator, ascii::space_type > westTag
qi::rule< Iterator > projectionName
qi::rule< Iterator, ascii::space_type > southTag
void setDy(const double &dy)
void setAxisValue(const std::string &value)
qi::rule< Iterator, ascii::space_type > spheroidTag
qi::rule< Iterator, ascii::space_type > unit
void setConversionFactor(const double &f)
void setAuthorityName(const std::string &name)
SpatialReferenceSystem * getSRS()
It returns the SRS generated by the parser process.
void setParameterValue(const double &value)
qi::rule< Iterator > axisName
void setParameter(const std::string &name)
void setDx(const double &dx)
qi::rule< Iterator, ascii::space_type > spheroid
void setEx(const double &ex)
qi::rule< Iterator, ascii::space_type > toWGS84
A class that implements the Grammar Rules for well known text (WKT) format for Spatial Reference Syst...
void createGeographicCoordinateSystem()
qi::rule< Iterator, ascii::space_type > geographicCSTag
qi::rule< Iterator > unitName
qi::rule< Iterator, ascii::space_type > axisValue
WKTParser()
Default constructor.
qi::rule< Iterator, ascii::space_type > invFlattening
void setProjectionName(const std::string &name)
void setEz(const double &ez)
qi::rule< Iterator > datumName
qi::rule< Iterator, ascii::space_type > authority
void setUnitName(const std::string &name)
qi::rule< Iterator, ascii::space_type > parameter
void setInverseFlattening(const double &invflat)
qi::rule< Iterator, ascii::space_type > ppm
qi::rule< Iterator, ascii::space_type > srs
void setSpheroidName(const std::string &name)
qi::rule< Iterator, ascii::space_type > authorityTag
qi::rule< Iterator, ascii::space_type > ey
qi::rule< Iterator, ascii::space_type > semiMajorAxis
qi::rule< Iterator, ascii::space_type > axisTag
void reset()
This method resets the Action class to original state.
qi::rule< Iterator, ascii::space_type > rigthDelimiter
qi::rule< Iterator > authorityName
qi::rule< Iterator, ascii::space_type > projectedCSTag
qi::rule< Iterator, ascii::space_type > dx
qi::rule< Iterator, ascii::space_type > datum
qi::rule< Iterator, ascii::space_type > eastTag
qi::rule< Iterator, ascii::space_type > toWGS84Tag
qi::rule< Iterator, ascii::space_type > primeMeridianTag