FMT 0.9.8
Forest management tools for forest planning
|
#include <FMTscheduleparser.hpp>
Public Member Functions | |
FMTscheduleparser () | |
~FMTscheduleparser ()=default | |
FMTscheduleparser (const FMTscheduleparser &rhs) | |
FMTscheduleparser & | operator= (const FMTscheduleparser &rhs) |
std::vector< Core::FMTschedule > | read (const std::vector< Core::FMTtheme > &themes, const std::vector< Core::FMTaction > &actions, const std::string &location, double tolerance=FMT_DBL_TOLERANCE) |
void | write (const std::vector< Core::FMTschedule > &schedules, const std::string &location) const |
Public Member Functions inherited from Parser::FMTparser | |
FMTparser () | |
FMTparser (const FMTparser &rhs) | |
FMTparser & | operator= (const FMTparser &rhs) |
virtual | ~FMTparser ()=default |
std::time_t | getmostrecentfiletime () const |
void | setheader (const std::string &header) |
bool | tryopening (const std::ifstream &stream, const std::string &location) const |
bool | tryopening (std::ofstream &stream, const std::string &location) const |
bool | isvalidfile (const std::string &location) const |
bool | isvalid (const std::string &line) const |
std::vector< std::string > | regexloop (const boost::regex &cutregex, std::string &str) const |
std::vector< std::string > | spliter (std::string strmask, const boost::regex &xspliter) const |
void | clearcomments (std::string &line) |
std::string | upper (const std::string &lowercases) const |
std::string | getcleanline (std::ifstream &stream) |
std::queue< std::string > | tryinclude (const std::string &line, const std::vector< Core::FMTtheme > &themes, const Core::FMTconstants &cons) |
std::string | returninclude (const std::string &line, const std::vector< Core::FMTtheme > &themes, const Core::FMTconstants &cons) |
bool | getforloops (std::string &line, const std::vector< Core::FMTtheme > &themes, const Core::FMTconstants &cons, std::vector< std::string > &allvalues, std::string &target) |
std::string | getcleanlinewfor (std::ifstream &stream, const std::vector< Core::FMTtheme > &themes, const Core::FMTconstants &cons) |
bool | isnum (std::string value) const |
bool | isnum (const std::string &value, const Core::FMTconstants &constant, bool throwerror=true) const |
template<typename T > | |
T | getnum (const std::string &value, const Core::FMTconstants &constant, int period=0) const |
template<typename T > | |
T | getnum (const std::string &value, bool omitnumtest=false) const |
template<typename T > | |
bool | tryfillnumber (T &number, const std::string &value, const Core::FMTconstants &constant, int period=0) const |
template<typename T > | |
Core::FMTbounds< T > | bounds (const Core::FMTconstants &constants, const std::string &value, const std::string &ope, Core::FMTsection section) const |
GDALDataset * | createOGRdataset (std::string location=std::string(), std::string gdaldrivername="CSV") const |
OGRLayer * | createlayer (GDALDataset *dataset, const std::string &name, std::vector< std::string > creationoptions=std::vector< std::string >()) const |
std::vector< std::string > | getGDALvectordrivernames (bool testcreation=true) const |
std::vector< std::string > | getGDALrasterdrivernames (bool testcreation=true) const |
std::vector< std::vector< std::string > > | getGDALvectordriverextensions (bool testcreation=true) const |
std::vector< std::vector< std::string > > | getGDALrasterdriverextensions (bool testcreation=true) const |
Public Member Functions inherited from Core::FMTobject | |
FMTobject () | |
virtual | ~FMTobject () |
FMTobject (const std::shared_ptr< Exception::FMTexceptionhandler > exhandler) | |
FMTobject (const FMTobject &rhs) | |
FMTobject & | operator= (const FMTobject &rhs) |
virtual void | passinlogger (const std::shared_ptr< Logging::FMTlogger > &logger) |
void | passinexceptionhandler (const std::shared_ptr< Exception::FMTexceptionhandler > &exhandler) |
void | redirectlogtofile (const std::string &location) |
virtual void | setdefaultlogger () |
virtual void | setquietlogger () |
virtual void | settasklogger () |
virtual void | setdebuglogger () |
void | setdefaultexceptionhandler () |
void | setquietexceptionhandler () |
void | setdebugexceptionhandler () |
void | setfreeexceptionhandler () |
void | disablenestedexceptions () |
void | enablenestedexceptions () |
void | seterrorstowarnings (const std::vector< Exception::FMTexc > &errors) |
void | setmaxwarningsbeforesilenced (const size_t &maxwarningcount) |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::FMTobject | |
static std::string | getruntimelocation () |
static unsigned long long | getavailablememory () |
Static Public Attributes inherited from Parser::FMTparser | |
static const boost::regex | rxseparator |
A regex for splitting general string. | |
Protected Member Functions inherited from Parser::FMTparser | |
void | setsection (const Core::FMTsection §ion) const |
std::vector< GDALDriver * > | getallGDALdrivers (const char *spatialtype, bool testcreation=true) const |
std::vector< std::vector< std::string > > | getGDALextensions (const char *spatialtype, bool testcreation=true) const |
void | setcategories (GDALRasterBand *band, const std::vector< std::string > &categories) const |
OGRCoordinateTransformation * | getprojtransform (OGRLayer *baselayer, bool fittoforel=true) const |
GDALDataset * | gettransformmemlayercopy (OGRLayer *baselayer, const OGRSpatialReference *newreference, const std::string &fieldname) const |
std::unique_ptr< OGRSpatialReference > | getFORELspatialref () const |
template<typename T > | |
GDALDataset * | createdataset (const std::string &location, const Spatial::FMTlayer< T > &layer, const int datatypeid, std::string format="GTiff") const |
GDALDataset * | getdataset (const std::string &location) const |
GDALDataset * | getvectordataset (const std::string &location) const |
OGRLayer * | getlayer (GDALDataset *dataset, int id) const |
GDALRasterBand * | getband (GDALDataset *dataset, int bandid=1) const |
GDALRasterBand * | createband (GDALDataset *dataset, const std::vector< std::string > &categories, int bandid=1) const |
std::vector< std::string > | getcat (GDALDataset *dataset, int bandid=1) const |
GDALRasterBand * | getoverview (GDALRasterBand *band, int view=1) const |
void | getWSfields (OGRLayer *layer, std::map< int, int > &themes, int &age, int &area, int &lock, std::string agefield="", std::string areafield="", std::string lockfield="") const |
GDALDataset * | createvectormemoryds () const |
std::array< std::string, 5 > | getbaseoperators () const |
std::vector< std::string > | sameas (const std::string &allset) const |
std::map< Core::FMTsection, std::string > | getprimary (const std::string &primarylocation) |
bool | isyld (const Core::FMTyields &ylds, const std::string &value, Core::FMTsection section) const |
bool | isact (Core::FMTsection section, const std::vector< Core::FMTaction > &actions, std::string action) const |
std::string | setspecs (Core::FMTsection section, Core::FMTkwor key, const Core::FMTyields &ylds, const Core::FMTconstants &constants, std::vector< Core::FMTspec > &specs, const std::string &line) |
std::string | setspec (Core::FMTsection section, Core::FMTkwor key, const Core::FMTyields &ylds, const Core::FMTconstants &constants, Core::FMTspec &spec, const std::string &line) |
Core::FMTsection | from_extension (const std::string &ext) const |
std::vector< std::vector< std::string > > | readcsv (const std::string &location, const char &separator) |
Protected Member Functions inherited from Core::FMTobject | |
template<class Archive > | |
void | forcesave (Archive &ar, const unsigned int version) const |
template<class Archive > | |
void | forceload (Archive &ar, const unsigned int version) |
void | checksignals () const |
void | setCPLhandler () |
Static Protected Member Functions inherited from Core::FMTobject | |
static std::chrono::time_point< std::chrono::high_resolution_clock > | getclock () |
template<class chrono > | |
static double | getduration (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock) |
static std::string | getdurationinseconds (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock) |
Protected Attributes inherited from Parser::FMTparser | |
boost::recursive_mutex | mtx |
Mutex for multi-threading. | |
Core::FMTsection | _section |
The section in which the child class is in. | |
int | _constreplacement |
Number of constant replaced by a numerical number. | |
int | _line |
Line id at which the parser is reading the values. | |
std::string | _comment |
Comment found in the actual line read by the parser. | |
std::string | _location |
File location of the section read by the parser. | |
std::time_t | mostrecentfile |
The most recent file time read by this parser. | |
Static Protected Attributes inherited from Parser::FMTparser | |
static const boost::regex | rxayld |
A regex for capturing age/period/yield specification. | |
static const boost::regex | rxaage |
A regex for capturing age specificaiton. | |
static const boost::regex | rxayldage |
A regex for capturing age or yield specification. | |
static const boost::regex | rxbounds |
A regex for capturing bounds for yield or age specification. | |
static const boost::regex | rxoperators |
A regex for capturing simple operators. | |
static const boost::regex | rxprimary |
A regex for capturing the primary file. | |
Static Protected Attributes inherited from Core::FMTobject | |
static std::shared_ptr< Exception::FMTexceptionhandler > | _exhandler |
A shared pointer to the exception handler. | |
static std::shared_ptr< Logging::FMTlogger > | _logger |
A shared pointer to the logger. | |
FMTscheduleparser implement the reading and writing of a vector of FMTschedules. This parser is also used by the FMTmodelparser.
Parser::FMTscheduleparser::FMTscheduleparser | ( | ) |
Default constructor for FMTscheduleparser
|
default |
Default destructor for FMTscheduleparser
Parser::FMTscheduleparser::FMTscheduleparser | ( | const FMTscheduleparser & | rhs | ) |
Default copy constructor for FMTscheduleparser
FMTscheduleparser & Parser::FMTscheduleparser::operator= | ( | const FMTscheduleparser & | rhs | ) |
Default copy assignment operator for FMTscheduleparser
std::vector< Core::FMTschedule > Parser::FMTscheduleparser::read | ( | const std::vector< Core::FMTtheme > & | themes, |
const std::vector< Core::FMTaction > & | actions, | ||
const std::string & | location, | ||
double | tolerance = FMT_DBL_TOLERANCE |
||
) |
This function reads a schedule section at a given (location) and turns it into a vector of FMTschedule, using a complete vector of FMTtheme (themes), a vector of FMTaction (action), and a optional (tolerance). If area harvested for a given development is <= to tolerance parameter then it wont be selected.
void Parser::FMTscheduleparser::write | ( | const std::vector< Core::FMTschedule > & | schedules, |
const std::string & | location | ||
) | const |
This function write a vector of FMTschedules (schedules) into a (location) schedule file.