1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::Vario Class Reference

Class containing the Spatial Characteristics as calculated experimentally from the data (contained in a Db). More...

#include <Vario.hpp>

Inheritance diagram for gstlrn::Vario:
gstlrn::AVario gstlrn::ASerializable gstlrn::AStringable gstlrn::ICloneable

Detailed Description

Class containing the Spatial Characteristics as calculated experimentally from the data (contained in a Db).

The experimental Spatial Characteristics is usually referred to as the experimental variogram. However, note that it can rather calculate other results such as a Covariance or a Madogram. All these quantities can be regrouped by considering them as two-points statistics. For a complete list of calculation methods, please refer to ECalcVario.hpp.

This class is composed of two parts:

  • the first part describes the rule when comparing two samples from the Db. They are defined by:
    • the definition of the Geometry: e.g. definition of calculation direction, tolerances. For more information, please refer to VarioParam.hpp
    • the definition of the calculations Options: e.g. calculation method.
    • some additional Conditions used during calculations: e.g. usage of Faults. For more information, please refer to ABiTargetCheck.hpp.
  • the second part are the results of the calculations

Results

All the Spatial Characteristics are calculated:

  • from the sample values of active samples contained in a Db,
  • for all the variables (defined with the locator ELoc.Z): in the multivariate case, simple and cross-variograms are calculated
  • for a series of distance lags.

They are always expressed as a table with one row per distance lag and three columns containing:

  • the number of pairs
  • the average value of the distance
  • the average value of the two-points statistics

Note that:

  • the lags for which no pair is found are skipped.
  • some methods correspond to an even function (values are equal whether the distance between the two end-points is counted positively or negatively: then only one-sided results are stored. For odd, the results of both sides are stored.
  • for a number of lags equal to N, the number of rows is {N+1} when the function is even and {2N+1} when the function is odd.
  • in the multivariate case (NV variables), the number of rows is multiplied by NV*(NV+1)/2. In order to avoid any indexing problem, the user should use the assessors provided in order to access to the information relative to the target pair of variables.

Public Member Functions

 Vario (const VarioParam &varioparam)
 
 Vario (const Vario &r)
 
Variooperator= (const Vario &r)
 
virtual ~Vario ()
 
String toString (const AStringFormat *strfmt=nullptr) const override
 AStringable Interface.
 
double _getIVAR (const Db *db, Id iech, Id ivar) const override
 AVario Interface.
 
void _setResult (Id iech1, Id iech2, Id nvar, Id ilag, Id ivar, Id jvar, Id orient, double ww, double dist, double value) override
 
void resetReduce (const 1 &varcols, const 1 &dircols, bool asSymmetric=false)
 
bool getFlagAsym () const
 
bool drawOnlyPositiveX (Id ivar, Id jvar) const
 
bool drawOnlyPositiveY (Id ivar, Id jvar) const
 
Id getNVar () const
 
const & getMeans () const
 
double getMean (Id ivar) const
 
double getVar (Id ivar, Id jvar) const
 
MatrixSymmetric getVarMatrix () const
 
double getVarIndex (Id ijvar) const
 
const & getVars () const
 
void setMeans (const 1 &means)
 
void setMean (double mean, Id ivar=0)
 
void setVar (double value, Id ivar=0, Id jvar=0)
 
void setVars (const 1 &vars)
 
void setVarIndex (Id ijvar, double value)
 
void setDb (Db *db)
 
Id getDirSize (Id idir) const
 
double getGgByIndex (Id idir=0, Id i=0) const
 
double getHhByIndex (Id idir=0, Id i=0) const
 
double getSwByIndex (Id idir=0, Id i=0) const
 
double getUtilizeByIndex (Id idir=0, Id i=0) const
 
double getGg (Id idir=0, Id ivar=0, Id jvar=0, Id ilag=0, bool asCov=false, bool flagNormalized=false) const
 
double getHh (Id idir=0, Id ivar=0, Id jvar=0, Id ilag=0) const
 
double getSw (Id idir=0, Id ivar=0, Id jvar=0, Id ilag=0) const
 
double getUtilize (Id idir=0, Id ivar=0, Id jvar=0, Id ilag=0) const
 
 getVec (Id idir=0, Id ivar=0, Id jvar=0) const
 
 getGgVec (Id idir=0, Id ivar=0, Id jvar=0, bool asCov=false, bool flagNormalized=false, bool compress=true) const
 
 getHhVec (Id idir=0, Id ivar=0, Id jvar=0, bool compress=true) const
 
 getSwVec (Id idir=0, Id ivar=0, Id jvar=0, bool compress=true) const
 
 getUtilizeVec (Id idir=0, Id ivar=0, Id jvar=0, bool compress=true) const
 
void setSwVec (Id idir, Id ivar, Id jvar, const 1 &sw)
 
void setHhVec (Id idir, Id ivar, Id jvar, const 1 &hh)
 
void setGgVec (Id idir, Id ivar, Id jvar, const 1 &gg)
 
 getGgs (Id idir=0, Id ivar=0, Id jvar=0, const 1 &ilag=1()) const
 
 setGgs (Id idir, Id ivar, Id jvar, const 1 &ilag, const 1 &values)
 
const & getAllGg (Id idir=0) const
 
const & getAllHh (Id idir=0) const
 
const & getAllSw (Id idir=0) const
 
const & getAllUtilize (Id idir=0) const
 
void setGgByIndex (Id idir, Id i, double gg, bool flagCheck=true)
 
void setHhByIndex (Id idir, Id i, double hh, bool flagCheck=true)
 
void setSwByIndex (Id idir, Id i, double sw, bool flagCheck=true)
 
void setUtilizeByIndex (Id idir, Id i, double utilize, bool flagCheck=true)
 
void setSw (Id idir, Id ivar, Id jvar, Id ilag, double sw, bool flagCheck=true)
 
void setHh (Id idir, Id ivar, Id jvar, Id ilag, double hh, bool flagCheck=true)
 
void setGg (Id idir, Id ivar, Id jvar, Id ilag, double gg, bool flagCheck=true)
 
void setUtilize (Id idir, Id ivar, Id jvar, Id ilag, double utilize, bool flagCheck=true)
 
void updateSwByIndex (Id idir, Id i, double sw, bool flagCheck=true)
 
void updateHhByIndex (Id idir, Id i, double hh, bool flagCheck=true)
 
void updateGgByIndex (Id idir, Id i, double gg, bool flagCheck=true)
 
Id getCenter (Id ivar=0, Id jvar=0, Id idir=0) const
 
Id getNext (Id ivar=0, Id jvar=0, Id idir=0, Id shift=1) const
 
Id internalVariableResize ()
 
void internalDirectionResize (Id ndir=0, bool flagDirs=true)
 
double getHmax (Id ivar=-1, Id jvar=-1, Id idir=-1) const
 
 getHRange (Id ivar=-1, Id jvar=-1, Id idir=-1) const
 
double getGmax (Id ivar=-1, Id jvar=-1, Id idir=-1, bool flagAbs=false, bool flagSill=false) const
 
 getGRange (Id ivar=-1, Id jvar=-1, Id idir=-1, bool flagSill=false) const
 
void patchCenter (Id idir, Id nech, double rho)
 
Id fill (Id idir, const 1 &sw, const 1 &gg, const 1 &hh)
 
Id getDirAddress (Id idir, Id ivar, Id jvar, Id ilag, bool flag_abs=false, Id sens=0, bool flagCheck=true) const
 
Id getVarAddress (Id ivar, Id jvar) const
 
Id getNLagTotal (Id idir) const
 
Id compute (Db *db, const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool flag_sample=false, bool verr_mode=false, const Model *model=nullptr, Id niter_UK=0, bool verbose=false)
 
Id computeIndic (Db *db, const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool flag_sample=false, bool verr_mode=false, const Model *model=nullptr, Id niter_UK=0, bool verbose=false, Id nfacmax=-1)
 
Id computeGeometry (Db *db, Vario_Order *vorder, Id *npair)
 
Id computeVarioVect (Db *db, Id ncomp)
 
Id computeGeometryMLayers (Db *db, 1 &seltab, Vario_Order *vorder) const
 
Id regularizeFromModel (const Model &model, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const CovCalcMode *mode=nullptr, bool asCov=false)
 
Id regularizeFromDbGrid (Model *model, const Db &db, const CovCalcMode *mode=nullptr)
 
void getExtension (Id ivar, Id jvar, Id idir0, Id flag_norm, Id flag_vars, double distmin, double distmax, double varmin, double varmax, Id *flag_hneg, Id *flag_gneg, double *c0, double *hmin, double *hmax, double *gmin, double *gmax)
 
Id sampleModel (Model *model, const CovCalcMode *mode=nullptr)
 
const DirParamgetDirParam (Id idir) const
 
Id getNDir () const
 
const & getDates () const
 
bool hasDate () const
 
double getDates (Id idate, Id icas) const
 
Id getNDate () const
 
double getScale () const
 
Id getNDim () const
 
ASpaceSharedPtr getSpace () const
 
void setScale (double scale)
 
void addDirs (const DirParam &dirparam)
 
Id getNLag (Id idir) const
 
double getDPas (Id idir) const
 
Id getNDim (Id idir) const
 
 getCodirs (Id idir) const
 
double getCodir (Id idir, Id idim) const
 
double getMaximumDistance (Id idir) const
 
double getMaximumDistance () const
 
Id getIdate (Id idir) const
 
 getGrincrs (Id idir) const
 
double getGrincr (Id idir, Id idim) const
 
bool isDefinedForGrid () const
 
void setNVar (Id nvar)
 
void setCalculByName (const String &calcul_name)
 
void setVariableNames (const VectorString &variableNames)
 
void setVariableName (Id ivar, const String &variableName)
 
Id prepare (const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool defineList=true)
 
const VarioParamgetVarioParam () const
 
Id getNBiPtsPerDir () const
 
const ABiTargetCheckgetBipts (Id idir, Id rank) const
 
bool keepPair (Id idir, SpaceTarget &T1, SpaceTarget &T2, double *dist) const
 
Id getRankFromDirAndDate (Id idir, Id idate) const
 
const VectorStringgetVariableNames () const
 
String getVariableName (Id ivar) const
 
Id transformCut (Id nh, double ycut)
 
Id transformZToY (const AAnam *anam)
 
Id transformYToZ (const AAnam *anam)
 
bool isLagCorrect (Id idir, Id k) const
 
double getC00 (Id idir, Id ivar, Id jvar) const
 
 computeWeightPerDirection () const
 
Id getTotalLagsPerDirection () const
 
 computeWeightsFromVario (Id wmode) const
 
- Public Member Functions inherited from gstlrn::AVario
 AVario ()
 
 AVario (const AVario &r)
 
AVariooperator= (const AVario &r)
 
virtual ~AVario ()
 
const ECalcVario & getCalcul () const
 
void setCalcul (const ECalcVario &calcul)
 
void setCalculByName (const String &calcul_name)
 
- Public Member Functions inherited from gstlrn::AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (Id level) const final
 
- Public Member Functions inherited from gstlrn::ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 
std::shared_ptr< ICloneablecloneShared () const
 
std::unique_ptr< ICloneablecloneUnique () const
 
- Public Member Functions inherited from gstlrn::ASerializable
 ASerializable ()
 
 ASerializable (const ASerializable &r)
 
ASerializableoperator= (const ASerializable &r)
 
 ASerializable (ASerializable &&r) noexcept
 
ASerializableoperator= (ASerializable &&r) noexcept
 
virtual ~ASerializable ()
 
bool dumpToNF (const String &NFFilename, const EFormatNF &format=EFormatNF::fromKey("DEFAULT"), bool verbose=false) const
 Dump the contents of an object into an Output File using a given Output NF Format.
 
void setDefaultFormatNF (const EFormatNF &format)
 

Static Public Member Functions

static Variocreate (const VarioParam &varioparam)
 
static VariocreateFromNF (const String &NFFilename, bool verbose=true)
 
static VariocreateRegularizeFromModel (const Model &model, const VarioParam &varioparam, const 1 &ext, const 1 &ndisc, const 1 &angles, bool asCov=false)
 
static VariocreateTransformZToY (const Vario &varioZ, const AAnam *anam)
 
static VariocreateTransformYToZ (const Vario &varioY, const AAnam *anam)
 
static VariocreateReduce (const Vario &varioIn, const 1 &varcols, const 1 &dircols, bool asSymmetric=false)
 
static VariocomputeFromDb (const VarioParam &varioparam, Db *db, const ECalcVario &calcul=ECalcVario::fromKey("VARIOGRAM"), bool flag_sample=false, bool verr_mode=false, Model *model=nullptr, Id niter_UK=0, bool verbose=false)
 
- Static Public Member Functions inherited from gstlrn::AVario
static ECalcVario getCalculType (const String &calcul_name)
 
- Static Public Member Functions inherited from gstlrn::ASerializable
static String buildFileName (Id status, const String &filename, bool ensureDirExist=false)
 
static String getFileIdentity (const String &filename, bool verbose=false)
 
static void setPrefixName (const String &prefixName)
 
static void unsetPrefixName ()
 
static const StringgetPrefixName ()
 

Public Attributes

 DECLARE_TOTL
 ICloneable interface.
 

Constructor & Destructor Documentation

◆ Vario() [1/2]

gstlrn::Vario::Vario ( const VarioParam varioparam)

Build a Vario object by calculating the experimental variogram

Parameters
varioparamVarioParam structure

◆ Vario() [2/2]

gstlrn::Vario::Vario ( const Vario r)

◆ ~Vario()

gstlrn::Vario::~Vario ( )
virtual

Member Function Documentation

◆ _getIVAR()

double gstlrn::Vario::_getIVAR ( const Db db,
Id  iech,
Id  ivar 
) const
overridevirtual

AVario Interface.

Calculate the data value (possibly after removing the global trend)

Returns
The data value (or the residual)
Parameters
[in]dbDb descriptor
[in]iechRank of the sample
[in]ivarRank of the variable
Remarks
The trend removal only applies on the first variable
Therefore, if applied on any variable rank other than 0,
TEST is returned

Implements gstlrn::AVario.

◆ _setResult()

void gstlrn::Vario::_setResult ( Id  iech1,
Id  iech2,
Id  nvar,
Id  ilag,
Id  ivar,
Id  jvar,
Id  orient,
double  ww,
double  dist,
double  value 
)
overridevirtual

Internal function for setting a variogram value

Parameters
[in]iech1Rank of the first sample
[in]iech2Rank of the second sample
[in]nvarNumber of variables
[in]ilagRank of the variogram lag
[in]ivarIndex of the first variable
[in]jvarIndex of the second variable
[in]orientOrientation
[in]wwWeight
[in]distDistance
[in]valueVariogram value

Implements gstlrn::AVario.

◆ addDirs()

void gstlrn::Vario::addDirs ( const DirParam dirparam)
inline

◆ compute()

Id gstlrn::Vario::compute ( Db db,
const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  flag_sample = false,
bool  verr_mode = false,
const Model model = nullptr,
Id  niter_UK = 0,
bool  verbose = false 
)

◆ computeFromDb()

Vario * gstlrn::Vario::computeFromDb ( const VarioParam varioparam,
Db db,
const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  flag_sample = false,
bool  verr_mode = false,
Model model = nullptr,
Id  niter_UK = 0,
bool  verbose = false 
)
static

◆ computeGeometry()

Id gstlrn::Vario::computeGeometry ( Db db,
Vario_Order vorder,
Id npair 
)

Calculate the geometry for a given direction

Returns
Error return code
Parameters
[in]dbDb description
[out]vorderVario_Order structure
[out]npairNumber of pairs

◆ computeGeometryMLayers()

Id gstlrn::Vario::computeGeometryMLayers ( Db db,
1 &  seltab,
Vario_Order vorder 
) const

Determine the samples used for a variogram in multilayers framework

Returns
Error return code
Parameters
[in]dbDb description
[in]seltabNumber of sample definition (0, 1 or 2)
[out]vorderVario_Order structure

◆ computeIndic()

Id gstlrn::Vario::computeIndic ( Db db,
const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  flag_sample = false,
bool  verr_mode = false,
const Model model = nullptr,
Id  niter_UK = 0,
bool  verbose = false,
Id  nfacmax = -1 
)

◆ computeVarioVect()

Id gstlrn::Vario::computeVarioVect ( Db db,
Id  ncomp 
)

Evaluate the experimental covariance for directional variables

Returns
Error return code
Parameters
[in]dbDb descriptor
[in]ncompNumber of components

◆ computeWeightPerDirection()

gstlrn::Vario::computeWeightPerDirection ( ) const

◆ computeWeightsFromVario()

gstlrn::Vario::computeWeightsFromVario ( Id  wmode) const

◆ create()

Vario * gstlrn::Vario::create ( const VarioParam varioparam)
static

◆ createFromNF()

Vario * gstlrn::Vario::createFromNF ( const String NFFilename,
bool  verbose = true 
)
static

◆ createReduce()

Vario * gstlrn::Vario::createReduce ( const Vario varioIn,
const 1 &  varcols,
const 1 &  dircols,
bool  asSymmetric = false 
)
static

◆ createRegularizeFromModel()

Vario * gstlrn::Vario::createRegularizeFromModel ( const Model model,
const VarioParam varioparam,
const 1 &  ext,
const 1 &  ndisc,
const 1 &  angles,
bool  asCov = false 
)
static

◆ createTransformYToZ()

Vario * gstlrn::Vario::createTransformYToZ ( const Vario varioY,
const AAnam anam 
)
static

◆ createTransformZToY()

Vario * gstlrn::Vario::createTransformZToY ( const Vario varioZ,
const AAnam anam 
)
static

◆ drawOnlyPositiveX()

bool gstlrn::Vario::drawOnlyPositiveX ( Id  ivar,
Id  jvar 
) const

◆ drawOnlyPositiveY()

bool gstlrn::Vario::drawOnlyPositiveY ( Id  ivar,
Id  jvar 
) const

◆ fill()

Id gstlrn::Vario::fill ( Id  idir,
const 1 &  sw,
const 1 &  gg,
const 1 &  hh 
)

◆ getAllGg()

const & gstlrn::Vario::getAllGg ( Id  idir = 0) const

◆ getAllHh()

const & gstlrn::Vario::getAllHh ( Id  idir = 0) const

◆ getAllSw()

const & gstlrn::Vario::getAllSw ( Id  idir = 0) const

◆ getAllUtilize()

const & gstlrn::Vario::getAllUtilize ( Id  idir = 0) const

◆ getBipts()

const ABiTargetCheck * gstlrn::Vario::getBipts ( Id  idir,
Id  rank 
) const
inline

◆ getC00()

double gstlrn::Vario::getC00 ( Id  idir,
Id  ivar,
Id  jvar 
) const

◆ getCenter()

Id gstlrn::Vario::getCenter ( Id  ivar = 0,
Id  jvar = 0,
Id  idir = 0 
) const

◆ getCodir()

double gstlrn::Vario::getCodir ( Id  idir,
Id  idim 
) const

◆ getCodirs()

gstlrn::Vario::getCodirs ( Id  idir) const

◆ getDates() [1/2]

const & gstlrn::Vario::getDates ( ) const
inline

◆ getDates() [2/2]

double gstlrn::Vario::getDates ( Id  idate,
Id  icas 
) const
inline

◆ getDirAddress()

Id gstlrn::Vario::getDirAddress ( Id  idir,
Id  ivar,
Id  jvar,
Id  ilag,
bool  flag_abs = false,
Id  sens = 0,
bool  flagCheck = true 
) const

◆ getDirParam()

const DirParam & gstlrn::Vario::getDirParam ( Id  idir) const
inline

◆ getDirSize()

Id gstlrn::Vario::getDirSize ( Id  idir) const

Returns the Dimension of internal arrays after the number of variables has been defined

Parameters
idirTarget direction
Returns

◆ getDPas()

double gstlrn::Vario::getDPas ( Id  idir) const
inline

◆ getExtension()

void gstlrn::Vario::getExtension ( Id  ivar,
Id  jvar,
Id  idir0,
Id  flag_norm,
Id  flag_vars,
double  distmin,
double  distmax,
double  varmin,
double  varmax,
Id flag_hneg,
Id flag_gneg,
double *  c0,
double *  hmin,
double *  hmax,
double *  gmin,
double *  gmax 
)

Calculate the variogram extension for a pair of variables

Parameters
[in]ivarRank of the first variable
[in]jvarRank of the second variable
[in]idir0Rank of the direction (-1 for all)
[in]flag_norm1 if the variogram must be normalized by variance
[in]flag_vars1 if the global statistics must be taken into account
[in]distminMinimum along the distance axis
[in]distmaxMaximum along the distance axis
[in]varminMinimum along the variogram (or covariance) axis
[in]varmaxMaximum along the variogram (or covariance) axis
[out]flag_hneg1 if the distance scale can be negative
[out]flag_gneg1 if the variogram scale can be negative
[out]c0Value of the variogram at the origin
[out]hminMinimum distance
[out]hmaxMaximum distance
[out]gminMinimum variogram value
[out]gmaxMaximum variogram value

◆ getFlagAsym()

bool gstlrn::Vario::getFlagAsym ( ) const
inline

◆ getGg()

double gstlrn::Vario::getGg ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
Id  ilag = 0,
bool  asCov = false,
bool  flagNormalized = false 
) const

◆ getGgByIndex()

double gstlrn::Vario::getGgByIndex ( Id  idir = 0,
Id  i = 0 
) const

◆ getGgs()

gstlrn::Vario::getGgs ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
const 1 &  ilag = 1() 
) const

◆ getGgVec()

gstlrn::Vario::getGgVec ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
bool  asCov = false,
bool  flagNorm = false,
bool  compress = true 
) const

Returns the vector of variogram values for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
asCovTrue if result should be provided as Covariance, False for Variogram
flagNormIf the result should be provided as a Normalized covariance / Variogram
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'gg'

◆ getGmax()

double gstlrn::Vario::getGmax ( Id  ivar = -1,
Id  jvar = -1,
Id  idir = -1,
bool  flagAbs = false,
bool  flagSill = false 
) const

◆ getGRange()

gstlrn::Vario::getGRange ( Id  ivar = -1,
Id  jvar = -1,
Id  idir = -1,
bool  flagSill = false 
) const

◆ getGrincr()

double gstlrn::Vario::getGrincr ( Id  idir,
Id  idim 
) const
inline

◆ getGrincrs()

gstlrn::Vario::getGrincrs ( Id  idir) const
inline

◆ getHh()

double gstlrn::Vario::getHh ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
Id  ilag = 0 
) const

◆ getHhByIndex()

double gstlrn::Vario::getHhByIndex ( Id  idir = 0,
Id  i = 0 
) const

◆ getHhVec()

gstlrn::Vario::getHhVec ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
bool  compress = true 
) const

Returns the vector of distances for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'hh'

◆ getHmax()

double gstlrn::Vario::getHmax ( Id  ivar = -1,
Id  jvar = -1,
Id  idir = -1 
) const

◆ getHRange()

gstlrn::Vario::getHRange ( Id  ivar = -1,
Id  jvar = -1,
Id  idir = -1 
) const

Returns a vector with Minimum-Maximum of the Hh array

Parameters
ivarTarget variable (or -1)
jvarTarget variable (or -1)
idirTarget Direction (or -1)
Returns

◆ getIdate()

Id gstlrn::Vario::getIdate ( Id  idir) const
inline

◆ getMaximumDistance() [1/2]

double gstlrn::Vario::getMaximumDistance ( ) const

◆ getMaximumDistance() [2/2]

double gstlrn::Vario::getMaximumDistance ( Id  idir) const
inline

◆ getMean()

double gstlrn::Vario::getMean ( Id  ivar) const

◆ getMeans()

const & gstlrn::Vario::getMeans ( ) const
inline

◆ getNBiPtsPerDir()

Id gstlrn::Vario::getNBiPtsPerDir ( ) const
inline

◆ getNDate()

Id gstlrn::Vario::getNDate ( ) const
inline

◆ getNDim() [1/2]

Id gstlrn::Vario::getNDim ( ) const
inline

◆ getNDim() [2/2]

Id gstlrn::Vario::getNDim ( Id  idir) const
inline

◆ getNDir()

Id gstlrn::Vario::getNDir ( ) const
inline

◆ getNext()

Id gstlrn::Vario::getNext ( Id  ivar = 0,
Id  jvar = 0,
Id  idir = 0,
Id  shift = 1 
) const

◆ getNLag()

Id gstlrn::Vario::getNLag ( Id  idir) const
inline

◆ getNLagTotal()

Id gstlrn::Vario::getNLagTotal ( Id  idir) const

◆ getNVar()

Id gstlrn::Vario::getNVar ( ) const
inline

◆ getRankFromDirAndDate()

Id gstlrn::Vario::getRankFromDirAndDate ( Id  idir,
Id  idate 
) const

Ask for the rank of the 'vardir' structure, given direction and date

Returns
Absolute rank (or -1 for error)
Parameters
[in]idirRank for the direction (starting from 0)
[in]idateRank for the Date (starting from 0)
Remarks
An error occurs if 'idir' is negative or larger than 'ndir'
or if 'idate' is negative or larger than 'ndate'

◆ getScale()

double gstlrn::Vario::getScale ( ) const
inline

◆ getSpace()

ASpaceSharedPtr gstlrn::Vario::getSpace ( ) const
inline

◆ getSw()

double gstlrn::Vario::getSw ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
Id  ilag = 0 
) const

◆ getSwByIndex()

double gstlrn::Vario::getSwByIndex ( Id  idir = 0,
Id  i = 0 
) const

◆ getSwVec()

gstlrn::Vario::getSwVec ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
bool  compress = true 
) const

Returns the vector of weights for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'sw'

◆ getTotalLagsPerDirection()

Id gstlrn::Vario::getTotalLagsPerDirection ( ) const

◆ getUtilize()

double gstlrn::Vario::getUtilize ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
Id  ilag = 0 
) const

◆ getUtilizeByIndex()

double gstlrn::Vario::getUtilizeByIndex ( Id  idir = 0,
Id  i = 0 
) const

◆ getUtilizeVec()

gstlrn::Vario::getUtilizeVec ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0,
bool  compress = true 
) const

Returns the vector of utilization flags for a given pair of variables in a given direction

Parameters
idirDirection
ivarFirst variable
jvarSecond variable
compressWhen true, suppress lags where 'sw' <= 0
Returns
The vector of 'utilize'

◆ getVar()

double gstlrn::Vario::getVar ( Id  ivar,
Id  jvar 
) const

◆ getVarAddress()

Id gstlrn::Vario::getVarAddress ( Id  ivar,
Id  jvar 
) const

◆ getVariableName()

String gstlrn::Vario::getVariableName ( Id  ivar) const

◆ getVariableNames()

const VectorString & gstlrn::Vario::getVariableNames ( ) const
inline

◆ getVarIndex()

double gstlrn::Vario::getVarIndex ( Id  ijvar) const

◆ getVarioParam()

const VarioParam & gstlrn::Vario::getVarioParam ( ) const
inline

◆ getVarMatrix()

MatrixSymmetric gstlrn::Vario::getVarMatrix ( ) const

◆ getVars()

const & gstlrn::Vario::getVars ( ) const
inline

◆ getVec()

gstlrn::Vario::getVec ( Id  idir = 0,
Id  ivar = 0,
Id  jvar = 0 
) const

Returns a triple array of values: 0-Weight; 1-Distance; 2-Variogram

Parameters
idirTarget Direction
ivarTarget first variable
jvarTarget second variable
Returns

◆ hasDate()

bool gstlrn::Vario::hasDate ( ) const
inline

◆ internalDirectionResize()

void gstlrn::Vario::internalDirectionResize ( Id  ndir = 0,
bool  flagDirs = true 
)

◆ internalVariableResize()

Id gstlrn::Vario::internalVariableResize ( )

◆ isDefinedForGrid()

bool gstlrn::Vario::isDefinedForGrid ( ) const
inline

◆ isLagCorrect()

bool gstlrn::Vario::isLagCorrect ( Id  idir,
Id  k 
) const

◆ keepPair()

bool gstlrn::Vario::keepPair ( Id  idir,
SpaceTarget T1,
SpaceTarget T2,
double *  dist 
) const

◆ operator=()

Vario & gstlrn::Vario::operator= ( const Vario r)

◆ patchCenter()

void gstlrn::Vario::patchCenter ( Id  idir,
Id  nech,
double  rho 
)

◆ prepare()

Id gstlrn::Vario::prepare ( const ECalcVario &  calcul = ECalcVario::fromKey("VARIOGRAM"),
bool  defineList = true 
)

◆ regularizeFromDbGrid()

Id gstlrn::Vario::regularizeFromDbGrid ( Model model,
const Db db,
const CovCalcMode mode = nullptr 
)

Calculate the regularized model as an experimental variogram

Returns
Error return code
Parameters
[in]modelModel structure
[in]dbDb discretization structure
[in]modeCovCalcMode structure

◆ regularizeFromModel()

Id gstlrn::Vario::regularizeFromModel ( const Model model,
const 1 &  ext,
const 1 &  ndisc,
const 1 &  angles = 1(),
const CovCalcMode mode = nullptr,
bool  asCov = false 
)

Calculate the regularized model as an experimental variogram

Returns
Error return code
Parameters
[in]modelModel structure
[in]extVector of Block extension
[in]ndiscVector of discretization counts
[in]anglesVector of rotation angles (optional)
[in]modeCovCalcMode structure
[in]asCovWhen true; produces a covariance

◆ resetReduce()

void gstlrn::Vario::resetReduce ( const 1 &  varcols,
const 1 &  dircols,
bool  asSymmetric = false 
)

Reduce the current variogram by keeping a subset of variables and/or directions

Parameters
varcolsVector of variable ranks (starting from 0)
dircolsVector of direction ranks (starting from 0)
asSymmetricTurn the result into as Symmetrical function (i.e. variogram)

◆ sampleModel()

Id gstlrn::Vario::sampleModel ( Model model,
const CovCalcMode mode = nullptr 
)

Calculates variogram values by sampling a model

Returns
Error return code
Parameters
[in]modelModel structure
[in]modeCovCalcMode structure

◆ setCalculByName()

void gstlrn::Vario::setCalculByName ( const String calcul_name)

◆ setDb()

void gstlrn::Vario::setDb ( Db db)

◆ setGg()

void gstlrn::Vario::setGg ( Id  idir,
Id  ivar,
Id  jvar,
Id  ilag,
double  gg,
bool  flagCheck = true 
)

◆ setGgByIndex()

void gstlrn::Vario::setGgByIndex ( Id  idir,
Id  i,
double  gg,
bool  flagCheck = true 
)

◆ setGgs()

gstlrn::Vario::setGgs ( Id  idir,
Id  ivar,
Id  jvar,
const 1 &  ilag,
const 1 &  values 
)

◆ setGgVec()

void gstlrn::Vario::setGgVec ( Id  idir,
Id  ivar,
Id  jvar,
const 1 &  gg 
)

◆ setHh()

void gstlrn::Vario::setHh ( Id  idir,
Id  ivar,
Id  jvar,
Id  ilag,
double  hh,
bool  flagCheck = true 
)

◆ setHhByIndex()

void gstlrn::Vario::setHhByIndex ( Id  idir,
Id  i,
double  hh,
bool  flagCheck = true 
)

◆ setHhVec()

void gstlrn::Vario::setHhVec ( Id  idir,
Id  ivar,
Id  jvar,
const 1 &  hh 
)

◆ setMean()

void gstlrn::Vario::setMean ( double  mean,
Id  ivar = 0 
)

◆ setMeans()

void gstlrn::Vario::setMeans ( const 1 &  means)

◆ setNVar()

void gstlrn::Vario::setNVar ( Id  nvar)
inline

◆ setScale()

void gstlrn::Vario::setScale ( double  scale)
inline

◆ setSw()

void gstlrn::Vario::setSw ( Id  idir,
Id  ivar,
Id  jvar,
Id  ilag,
double  sw,
bool  flagCheck = true 
)

◆ setSwByIndex()

void gstlrn::Vario::setSwByIndex ( Id  idir,
Id  i,
double  sw,
bool  flagCheck = true 
)

◆ setSwVec()

void gstlrn::Vario::setSwVec ( Id  idir,
Id  ivar,
Id  jvar,
const 1 &  sw 
)

◆ setUtilize()

void gstlrn::Vario::setUtilize ( Id  idir,
Id  ivar,
Id  jvar,
Id  ilag,
double  utilize,
bool  flagCheck = true 
)

◆ setUtilizeByIndex()

void gstlrn::Vario::setUtilizeByIndex ( Id  idir,
Id  i,
double  utilize,
bool  flagCheck = true 
)

◆ setVar()

void gstlrn::Vario::setVar ( double  value,
Id  ivar = 0,
Id  jvar = 0 
)

◆ setVariableName()

void gstlrn::Vario::setVariableName ( Id  ivar,
const String variableName 
)

◆ setVariableNames()

void gstlrn::Vario::setVariableNames ( const VectorString variableNames)
inline

◆ setVarIndex()

void gstlrn::Vario::setVarIndex ( Id  ijvar,
double  value 
)

◆ setVars()

void gstlrn::Vario::setVars ( const 1 &  vars)

◆ toString()

String gstlrn::Vario::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

AStringable Interface.

Reimplemented from gstlrn::AStringable.

◆ transformCut()

Id gstlrn::Vario::transformCut ( Id  nh,
double  ycut 
)

Update the experimental variogram of the completed variable starting from the experimental variogram of the truncated variable This only functions in the monovariate case

Parameters
[in]nhNumber of Hermite polynomials
[in]ycutTruncation (lowest) value
Returns
Error return code

◆ transformYToZ()

Id gstlrn::Vario::transformYToZ ( const AAnam anam)

Calculate the experimental variogram of the Raw starting from the Model of the Gaussian variable

Returns
Error return code
Parameters
[in]anamPoint anamorphosis

◆ transformZToY()

Id gstlrn::Vario::transformZToY ( const AAnam anam)

Transform the experimental variogram from raw to gaussian space

Returns
Error return code
Parameters
[in]anamPoint Hermite anamorphosis

◆ updateGgByIndex()

void gstlrn::Vario::updateGgByIndex ( Id  idir,
Id  i,
double  gg,
bool  flagCheck = true 
)

◆ updateHhByIndex()

void gstlrn::Vario::updateHhByIndex ( Id  idir,
Id  i,
double  hh,
bool  flagCheck = true 
)

◆ updateSwByIndex()

void gstlrn::Vario::updateSwByIndex ( Id  idir,
Id  i,
double  sw,
bool  flagCheck = true 
)

Member Data Documentation

◆ DECLARE_TOTL

gstlrn::Vario::DECLARE_TOTL

ICloneable interface.

Has a specific implementation in the Target language


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