|
| FMTmodelparser () |
|
virtual | ~FMTmodelparser ()=default |
|
| FMTmodelparser (const FMTmodelparser &rhs) |
|
FMTmodelparser & | operator= (const FMTmodelparser &rhs) |
|
Models::FMTmodel | read (const std::string &con, const std::string &lan, const std::string &lif, const std::string &are, const std::string &yld, const std::string &act, const std::string &tr, const std::string &out, std::string opt=std::string()) |
|
std::vector< Models::FMTmodel > | readtemplates (const std::string &primary_location, const std::string &templatefolder) |
|
std::vector< Models::FMTmodel > | readproject (const std::string &primary_location, std::vector< std::string >scenarios=std::vector< std::string >(), bool readarea=true, bool readoutputs=true, bool readoptimize=true) |
|
void | writetoproject (const std::string &primary_location, const Models::FMTmodel &model) |
|
std::vector< std::vector< Core::FMTschedule > > | readschedules (const std::string &primary_location, const std::vector< Models::FMTmodel > &models) |
|
std::vector< Core::FMTconstraint > | getconstraintsfromstring (std::string constraintstr, const Models::FMTmodel &model, Core::FMTconstants constants=Core::FMTconstants()) |
|
void | write (const Models::FMTmodel &model, const std::string &folder) const |
|
OGRLayer * | createresultslayer (const Models::FMTmodel &model, GDALDataset *dataset, std::vector< std::string > creationoptions=std::vector< std::string >()) const |
|
void | fillupinfeasibles (OGRLayer *layer, const std::vector< Core::FMToutput > &theoutputs, const int &iteration, const int &firstperiod, const int &lastperiod) const |
|
void | writefeatures (OGRLayer *layer, const int &firstperiod, const int &iteration, const std::vector< Core::FMToutput > &theoutputs, const std::map< std::string, std::vector< std::vector< double > > > &values, bool writeNaN=false) const |
|
void | writeresults (const Models::FMTmodel &model, const std::vector< Core::FMToutput > &theoutputs, const int &firstperiod, const int &lastperiod, const std::string &location, Core::FMToutputlevel level=Core::FMToutputlevel::standard, std::string gdaldrivername="CSV") const |
|
| 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 |
|
| 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) |
|
|
std::map< std::string, std::vector< std::vector< double > > > | getiterationsvalues (OGRLayer *layer) const |
|
OGRLayer * | createdriftlayer (GDALDataset *dataset, std::vector< std::string > creationoptions=std::vector< std::string >()) const |
|
void | writedrift (OGRLayer *layer, const std::map< std::string, std::map< double, std::vector< double > > > &lowervalues, const std::map< std::string, std::map< double, std::vector< double > > > &uppervalues) const |
|
void | writeprimary (const std::string &location, const std::string &lanfile, const std::string &arefile, const std::string &yldfile, const std::string &actfile, const std::string &trnfile, const std::string &outfile, const std::string &optfile, const std::string &liffile, std::string seqfile=std::string()) const |
|
void | writemodel (const Models::FMTmodel &model, const std::string &lanfile, const std::string &arefile, const std::string &yldfile, const std::string &actfile, const std::string &trnfile, const std::string &outfile, const std::string &optfile, const std::string &liffile, const std::string &seqfile) const |
|
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) |
|
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 std::string | getruntimelocation () |
|
static unsigned long long | getavailablememory () |
|
static const boost::regex | rxseparator |
| A regex for splitting general string.
|
|
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) |
|
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 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 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.
|
|
FMTmodelparser is the main parser class used for reading and writing models files. This class can read single model scenario and multiple model scenarios at the same time. The class make use of all other parser class of FMT to read and write a model.