FMT 1.2.0
Forest management tools for forest planning
Loading...
Searching...
No Matches
Public Member Functions | Friends | List of all members
Core::FMTModelYieldHandler Class Referencefinal

Yield handler wrapping machine learning yield models. More...

#include <FMTModelYieldHandler.h>

Inheritance diagram for Core::FMTModelYieldHandler:
[legend]
Collaboration diagram for Core::FMTModelYieldHandler:
[legend]

Public Member Functions

virtual double get (const std::string &yld, const FMTYieldRequest &request) const
 Get the value of a yield for a request.
 
virtual operator std::string () const
 Return the string representation of the model yield handler.
 
 ~FMTModelYieldHandler ()=default
 Default destructor for FMTModelYieldHandler.
 
 FMTModelYieldHandler ()
 Default constructor for FMTModelYieldHandler.
 
 FMTModelYieldHandler (const FMTModelYieldHandler &rhs)
 Copy constructor for FMTModelYieldHandler.
 
FMTModelYieldHandleroperator= (const FMTModelYieldHandler &rhs)
 Copy assignment operator for FMTModelYieldHandler.
 
 FMTModelYieldHandler (const FMTMask &p_mask)
 Construct a model yield handler from a mask.
 
std::map< std::string, size_t > getModelsNameByIndex () const
 Return the model names by their index.
 
void pushBackModel (const std::unique_ptr< FMTYieldModel > &model)
 Push back a yield model.
 
void setYield (const size_t &modelid, const size_t &yieldid, const std::string &yldname)
 Set the yield name for a given model and yield id.
 
virtual std::unique_ptr< FMTYieldHandlerclone () const
 Clone the model yield handler.
 
virtual bool operator== (const FMTModelYieldHandler &rhs) const
 Equality comparison operator of FMTModelYieldHandler.
 
virtual bool empty () const
 Return true if the handler is empty.
 
virtual size_t size () const
 Return the number of yields in the handler.
 
virtual FMTyldtype getType () const
 Return the type of the yield handler.
 
virtual bool containsYield (const std::string &yldname) const
 Return true if the handler contains a given yield.
 
virtual bool isNullYield (const std::string &yldname) const
 Return true if a yield is a null yield.
 
virtual std::vector< std::string > getYieldNames () const
 Return the yield names of the handler.
 
virtual void clearCache ()
 Clear the cache of the handler.
 
virtual std::unique_ptr< FMTYieldHandlerpreSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &newthemes) const
 Return a presolved copy of the handler.
 
virtual std::unique_ptr< FMTYieldHandlerpostSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &basethemes) const
 Return a postsolved copy of the handler.
 
void clearRandomYieldsCache ()
 Clear the cache of all random yield models.
 
FMTTimeYieldHandler toTimeHandler () const
 Convert the yield models to a time yield handler if possible.
 
void setModel (Models::FMTModel *p_modelPtr)
 Set the model linked to the yield models.
 
- Public Member Functions inherited from Core::FMTYieldHandler
virtual size_t getOverrideIndex () const
 Return the override index of the handler.
 
virtual std::vector< size_t > getTabous () const
 Return the tabou indexes of the handler.
 
virtual void setOverrideIndex (const size_t &newindex)
 Set the override index of the handler.
 
virtual ~FMTYieldHandler ()=default
 Default virtual destructor for FMTYieldHandler.
 
 FMTYieldHandler ()=default
 Default constructor for FMTYieldHandler.
 
 FMTYieldHandler (const FMTYieldHandler &rhs)=default
 Copy constructor for FMTYieldHandler.
 
FMTYieldHandleroperator= (const FMTYieldHandler &rhs)=default
 Copy assignment operator for FMTYieldHandler.
 
 FMTYieldHandler (const FMTMask &lmask)
 Construct a yield handler from a mask.
 
double getLinearValue (const std::vector< double > &dls, const int &agetarget, bool allowoutofrange) const
 Return the linearly interpolated value at a target age.
 
virtual int getLastBase () const
 Return the last base age of the handler.
 
const std::vector< int > & getBases () const
 Return the base ages of the handler.
 
FMTMask getMask () const
 Return the mask of the handler.
 
void setMask (const FMTMask &p_mask)
 Set the mask of the handler.
 
bool pushBase (const int &base)
 Push a base age to the handler.
 
void setBase (const std::vector< int > &allvalues)
 Set the base ages of the handler.
 
bool inLookAt (const std::string &yld) const
 Return true if a yield is in the look at set.
 
virtual double getLastValue (const std::string yld) const
 Return the last value of a yield.
 
virtual double get (const std::string &yld, const FMTYieldRequest &request) const
 Get the value of a yield for a request.
 
virtual bool pushData (const std::string &yld, const double &value)
 Push a value for a yield.
 
virtual bool pushData (const std::string &yld, const FMTData &data)
 Push data for a yield.
 
virtual std::vector< std::string > indexes (const std::vector< std::string > &names) const
 Return the yield names that are indexes among the given names.
 
virtual operator std::string () const
 Return the string representation of the yield handler.
 
virtual std::vector< std::string > compare (const std::vector< std::string > &keys) const
 Return the keys that match the handler.
 
virtual std::unique_ptr< FMTYieldHandlerclone () const
 Clone the yield handler.
 
virtual bool operator== (const FMTYieldHandler &rhs) const
 Equality comparison operator of FMTYieldHandler.
 
virtual bool empty () const
 Return true if the handler is empty.
 
virtual size_t size () const
 Return the number of yields in the handler.
 
virtual FMTyldtype getType () const
 Return the type of the yield handler.
 
virtual FMTDataoperator[] (const std::string &yldname)
 Access the data of a yield.
 
virtual const FMTDataat (const std::string &yldname) const
 Access the data of a yield.
 
virtual bool containsYield (const std::string &yldname) const
 Return true if the handler contains a given yield.
 
virtual bool isNullYield (const std::string &yldname) const
 Return true if a yield is a null yield.
 
virtual std::vector< std::string > getYieldNames () const
 Return the yield names of the handler.
 
virtual void clearCache ()
 Clear the cache of the handler.
 
virtual std::map< std::string, std::vector< double > > getAllYieldsData (const int &maxbase) const
 Return all the yield data up to a maximum base age.
 
virtual std::unique_ptr< FMTYieldHandlerpreSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &newthemes) const
 Return a presolved copy of the handler.
 
virtual std::unique_ptr< FMTYieldHandlerpostSolve (const FMTMaskFilter &filter, const std::vector< FMTTheme > &basethemes) const
 Return a postsolved copy of the handler.
 
virtual std::unique_ptr< FMTYieldHandlergetFromFactor (const double &factor, std::vector< std::string >yieldnames=std::vector< std::string >()) const
 Multiply the handler by a factor and return a new handler.
 
virtual int getEndPoint (const std::string &yld, const int &lowerstep, const double &bound, const double &value) const
 Return the age at which a yield reaches a bound value.
 
virtual double getPeak (const FMTYieldRequest &request, const std::string &yld, const int &targetage) const
 Return the peak value of a yield for a request.
 
virtual int getAge (const FMTYieldRequest &request, const FMTSpec &spec) const
 Return the age of a development from a request and a specification.
 
virtual double getYieldLinearValue (const std::string &yldname, const FMTYieldRequest &request, bool allowoutofrange=true) const
 Return the linearly interpolated value of a yield for a request.
 
- Public Member Functions inherited from Core::FMTObject
 FMTObject ()
 Default constructor for FMTObject.
 
virtual ~FMTObject ()
 Default virtual destructor for FMTObject.
 
 FMTObject (const std::unique_ptr< Exception::FMTExceptionHandler > exhandler)
 Construct a FMTObject passing in the exception handler of another FMTObject.
 
 FMTObject (const FMTObject &rhs)
 Copy constructor for FMTObject.
 
FMTObjectoperator= (const FMTObject &rhs)
 Copy assignment operator for FMTObject.
 
virtual void passInLogger (const std::unique_ptr< Logging::FMTLogger > &logger)
 Pass in the logger of another FMTObject.
 
void passInExceptionHandler (const std::unique_ptr< Exception::FMTExceptionHandler > &exhandler)
 Pass in the exception handler of another FMTObject.
 
void redirectLogToFile (const std::string &location)
 Redirect the log to a specific file, appending to it.
 
virtual void setDefaultLogger ()
 Create and set a default logger to the FMTObject.
 
virtual void setQuietLogger ()
 Create and set a quiet logger to the FMTObject.
 
virtual void setTaskLogger ()
 Create and set a task logger to the FMTObject.
 
virtual void setDebugLogger ()
 Create and set a debug logger to the FMTObject.
 
void setDefaultExceptionHandler ()
 Create and set a default exception handler to the FMTObject.
 
void setQuietExceptionHandler ()
 Create and set a quiet exception handler to the FMTObject.
 
void setDebugExceptionHandler ()
 Create and set a debug exception handler to the FMTObject.
 
void setFreeExceptionHandler ()
 Create and set a free exception handler to the FMTObject.
 
void disableNestedExceptions ()
 Disable the nested exception throw of the exception handler.
 
void enableNestedExceptions ()
 Enable the nested exception throw of the exception handler.
 
void setErrorsToWarnings (const std::vector< Exception::FMTexc > &errors)
 Set a list of errors to be cast to warnings on the exception handler.
 
void setMaxWarningsBeforeSilenced (const size_t &maxwarningcount)
 Set the number of warnings raised before being silenced.
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Friends

class boost::serialization::access
 

Additional Inherited Members

- Static Public Member Functions inherited from Core::FMTObject
static Logging::FMTLoggergetLogger ()
 get a pointer to the actual logger.
 
static Exception::FMTExceptionHandlergetExceptionHandler ()
 get a pointer to the actual exception handler.
 
static std::string getRuntimeLocation ()
 Return the location of the FMT shared library.
 
static unsigned long long getAvailableMemory ()
 Return the available memory in bytes.
 
static void setTerminateStack ()
 will write the stack in the log when terminate called and raise a function failed.
 
static void setAbortStack ()
 will write the stack in the log when abort called with SIGABRT and raise a function failed.
 
- Protected Member Functions inherited from Core::FMTYieldHandler
double _getChangesFrom (const int &targetage, const int &peakstep) const
 Return the change of value from a target age over a peak step.
 
int _getMaxBase (const FMTYieldRequest &request) const
 Return the maximum base age for a request.
 
- Protected Member Functions inherited from Core::FMTObject
template<class Archive >
void forceSave (Archive &ar, const unsigned int version) const
 Force the serialization to save useful information, which the default FMTObject serialization does not.
 
template<class Archive >
void forceLoad (Archive &ar, const unsigned int version)
 Force the serialization to load useful information, which the default FMTObject serialization does not.
 
void checkSignals () const
 Check if the user has sent a ctrl-c signal using boost::python to FMT.
 
void setCplHandler ()
 Pass the FMT exception handler to the GDAL exception handler (GDAL only).
 
- Static Protected Member Functions inherited from Core::FMTYieldHandler
static bool _basePushData (std::map< std::string, FMTData, cmpYieldString > &elements, const std::string &yld, const double &value)
 Push a value for a yield into the given elements.
 
static bool _basePushData (std::map< std::string, FMTData, cmpYieldString > &elements, const std::string &yld, const FMTData &data)
 Push data for a yield into the given elements.
 
- Static Protected Member Functions inherited from Core::FMTObject
static std::chrono::time_point< std::chrono::high_resolution_clock > getClock ()
 Return a clock of the current time.
 
template<class chrono >
static double getDuration (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock)
 Return the time elapsed since a start clock as a double.
 
static std::string getDurationInSeconds (const std::chrono::time_point< std::chrono::high_resolution_clock > &startclock)
 Return the time elapsed since a start clock in seconds as a string.
 
static void _logStack ()
 Log the stack trace...
 
static void _terminate ()
 Raise an error with the boost stacktrace.
 
static void _abort (int p_signal)
 Raise an error with the boost stacktrace on abort.
 
- Protected Attributes inherited from Core::FMTYieldHandler
FMTMask m_mask
 
std::vector< int > m_bases
 
std::unordered_set< std::string > m_lookat
 
- Static Protected Attributes inherited from Core::FMTObject
static std::unique_ptr< Exception::FMTExceptionHandler_exhandler
 A shared pointer to the exception handler.
 
static std::unique_ptr< Logging::FMTLogger_logger
 A shared pointer to the logger.
 

Detailed Description

Yield handler wrapping machine learning yield models.

Constructor & Destructor Documentation

◆ ~FMTModelYieldHandler()

Core::FMTModelYieldHandler::~FMTModelYieldHandler ( )
default

Default destructor for FMTModelYieldHandler.

◆ FMTModelYieldHandler() [1/3]

Core::FMTModelYieldHandler::FMTModelYieldHandler ( )

Default constructor for FMTModelYieldHandler.

◆ FMTModelYieldHandler() [2/3]

Core::FMTModelYieldHandler::FMTModelYieldHandler ( const FMTModelYieldHandler rhs)

Copy constructor for FMTModelYieldHandler.

Parameters
[in]rhsthe FMTModelYieldHandler to copy.

◆ FMTModelYieldHandler() [3/3]

Core::FMTModelYieldHandler::FMTModelYieldHandler ( const FMTMask p_mask)

Construct a model yield handler from a mask.

Parameters
[in]p_maskthe mask.

Member Function Documentation

◆ clearCache()

virtual void Core::FMTModelYieldHandler::clearCache ( )
virtual

Clear the cache of the handler.

Reimplemented from Core::FMTYieldHandler.

◆ clearRandomYieldsCache()

void Core::FMTModelYieldHandler::clearRandomYieldsCache ( )

Clear the cache of all random yield models.

◆ clone()

virtual std::unique_ptr< FMTYieldHandler > Core::FMTModelYieldHandler::clone ( ) const
virtual

Clone the model yield handler.

Returns
a unique pointer to the cloned yield handler.

Reimplemented from Core::FMTYieldHandler.

◆ containsYield()

virtual bool Core::FMTModelYieldHandler::containsYield ( const std::string &  yldname) const
virtual

Return true if the handler contains a given yield.

Parameters
[in]yldnamethe yield name.
Returns
true if the handler contains the yield else false.

Reimplemented from Core::FMTYieldHandler.

◆ empty()

virtual bool Core::FMTModelYieldHandler::empty ( ) const
virtual

Return true if the handler is empty.

Returns
true if the handler is empty else false.

Reimplemented from Core::FMTYieldHandler.

◆ get()

virtual double Core::FMTModelYieldHandler::get ( const std::string &  yld,
const FMTYieldRequest request 
) const
virtual

Get the value of a yield for a request.

Parameters
[in]yldthe yield name.
[in]requestthe yield request.
Returns
the yield value.

Reimplemented from Core::FMTYieldHandler.

◆ getModelsNameByIndex()

std::map< std::string, size_t > Core::FMTModelYieldHandler::getModelsNameByIndex ( ) const

Return the model names by their index.

Returns
a map of model name to index.

◆ getType()

virtual FMTyldtype Core::FMTModelYieldHandler::getType ( ) const
virtual

Return the type of the yield handler.

Returns
the yield type.

Reimplemented from Core::FMTYieldHandler.

◆ getYieldNames()

virtual std::vector< std::string > Core::FMTModelYieldHandler::getYieldNames ( ) const
virtual

Return the yield names of the handler.

Returns
the yield names.

Reimplemented from Core::FMTYieldHandler.

◆ isNullYield()

virtual bool Core::FMTModelYieldHandler::isNullYield ( const std::string &  yldname) const
virtual

Return true if a yield is a null yield.

Parameters
[in]yldnamethe yield name.
Returns
true if the yield is null else false.

Reimplemented from Core::FMTYieldHandler.

◆ operator std::string()

virtual Core::FMTModelYieldHandler::operator std::string ( ) const
virtual

Return the string representation of the model yield handler.

Returns
the string representation.

Reimplemented from Core::FMTYieldHandler.

◆ operator=()

FMTModelYieldHandler & Core::FMTModelYieldHandler::operator= ( const FMTModelYieldHandler rhs)

Copy assignment operator for FMTModelYieldHandler.

Parameters
[in]rhsthe FMTModelYieldHandler to copy.
Returns
a reference to this FMTModelYieldHandler.

◆ operator==()

virtual bool Core::FMTModelYieldHandler::operator== ( const FMTModelYieldHandler rhs) const
virtual

Equality comparison operator of FMTModelYieldHandler.

Parameters
[in]rhsthe handler to compare with.
Returns
true if both handlers are equal else false.

◆ postSolve()

virtual std::unique_ptr< FMTYieldHandler > Core::FMTModelYieldHandler::postSolve ( const FMTMaskFilter filter,
const std::vector< FMTTheme > &  basethemes 
) const
virtual

Return a postsolved copy of the handler.

Parameters
[in]filterthe mask filter.
[in]basethemesthe original themes.
Returns
the postsolved yield handler.

Reimplemented from Core::FMTYieldHandler.

◆ preSolve()

virtual std::unique_ptr< FMTYieldHandler > Core::FMTModelYieldHandler::preSolve ( const FMTMaskFilter filter,
const std::vector< FMTTheme > &  newthemes 
) const
virtual

Return a presolved copy of the handler.

Parameters
[in]filterthe mask filter.
[in]newthemesthe presolved themes.
Returns
the presolved yield handler.

Reimplemented from Core::FMTYieldHandler.

◆ pushBackModel()

void Core::FMTModelYieldHandler::pushBackModel ( const std::unique_ptr< FMTYieldModel > &  model)

Push back a yield model.

Parameters
[in]modelthe yield model.

◆ setModel()

void Core::FMTModelYieldHandler::setModel ( Models::FMTModel p_modelPtr)

Set the model linked to the yield models.

Parameters
[in]p_modelPtrthe pointer to the model.

◆ setYield()

void Core::FMTModelYieldHandler::setYield ( const size_t &  modelid,
const size_t &  yieldid,
const std::string &  yldname 
)

Set the yield name for a given model and yield id.

Parameters
[in]modelidthe model id.
[in]yieldidthe yield id.
[in]yldnamethe yield name.

◆ size()

virtual size_t Core::FMTModelYieldHandler::size ( ) const
virtual

Return the number of yields in the handler.

Returns
the number of yields.

Reimplemented from Core::FMTYieldHandler.

◆ toTimeHandler()

FMTTimeYieldHandler Core::FMTModelYieldHandler::toTimeHandler ( ) const

Convert the yield models to a time yield handler if possible.

Returns
the time yield handler.

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

The documentation for this class was generated from the following file: