Class containing the Spatial Characteristics as calculated experimentally from the data (contained in a Db).
More...
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.
|
| Vario (const VarioParam &varioparam) |
|
| Vario (const Vario &r) |
|
Vario & | operator= (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 DirParam & | getDirParam (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 VarioParam & | getVarioParam () const |
|
Id | getNBiPtsPerDir () const |
|
const ABiTargetCheck * | getBipts (Id idir, Id rank) const |
|
bool | keepPair (Id idir, SpaceTarget &T1, SpaceTarget &T2, double *dist) const |
|
Id | getRankFromDirAndDate (Id idir, Id idate) const |
|
const VectorString & | getVariableNames () 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 |
|
| AVario () |
|
| AVario (const AVario &r) |
|
AVario & | operator= (const AVario &r) |
|
virtual | ~AVario () |
|
const ECalcVario & | getCalcul () const |
|
void | setCalcul (const ECalcVario &calcul) |
|
void | setCalculByName (const String &calcul_name) |
|
| AStringable () |
|
| AStringable (const AStringable &r) |
|
AStringable & | operator= (const AStringable &r) |
|
virtual | ~AStringable () |
|
virtual void | display (const AStringFormat *strfmt=nullptr) const final |
|
virtual void | display (Id level) const final |
|
| ICloneable () |
|
virtual | ~ICloneable () |
|
virtual ICloneable * | clone () const =0 |
|
std::shared_ptr< ICloneable > | cloneShared () const |
|
std::unique_ptr< ICloneable > | cloneUnique () const |
|
| ASerializable () |
|
| ASerializable (const ASerializable &r) |
|
ASerializable & | operator= (const ASerializable &r) |
|
| ASerializable (ASerializable &&r) noexcept |
|
ASerializable & | operator= (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) |
|