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