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, Rodogram. 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.
|
| |
| String | getNFName () const override |
| | ASerializable Interface.
|
| |
| double | _getIVAR (const Db *db, Id iech, Id ivar) const override |
| | AVario Interface.
|
| |
| void | _setAVarioResult (Id iech1, Id iech2, Id nvar, Id idir, Id ilag, Id ivar, Id jvar, Id orient, double ww, double w1, double w2, double z1, double z2, double dist, double value) override |
| |
| void | resetReduce (const 1 &varcols, const 1 &dircols, bool asSymmetric=false) |
| |
| bool | isFittable () 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=0, Id jvar=0) 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) |
| |
| void | setHhByIndex (Id idir, Id i, double hh) |
| |
| void | setSwByIndex (Id idir, Id i, double sw) |
| |
| void | setUtilizeByIndex (Id idir, Id i, double utilize) |
| |
| void | setSw (Id idir, Id ivar, Id jvar, Id ilag, double sw) |
| |
| void | setHh (Id idir, Id ivar, Id jvar, Id ilag, double hh) |
| |
| void | setGg (Id idir, Id ivar, Id jvar, Id ilag, double gg) |
| |
| void | setUtilize (Id idir, Id ivar, Id jvar, Id ilag, double utilize) |
| |
| void | updateSwByIndex (Id idir, Id i, double sw) |
| |
| void | updateHhByIndex (Id idir, Id i, double hh) |
| |
| void | updateGgByIndex (Id idir, Id i, double gg) |
| |
| void | updateLocalMeans (Id idir, Id iad, Id ivar, Id jvar, double w1, double w2, double z1, double z2) |
| |
| 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 |
| |
| void | internalVariableResize () |
| |
| void | internalMemoryResize (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) |
| |
| void | localCenterAndScale (Id idir) |
| |
| Id | fill (Id idir, const 1 &sw, const 1 &gg, const 1 &hh) |
| |
| Id | getAddressForGg (Id idir, Id ivar, Id jvar, Id ilag, Id orient=ITEST) const |
| | Reyurns the address for storage in sw, hh, gg arrays. It takes into account the variable ordering and the possible asymmetry flag.
|
| |
| Id | getAddressCenterForGg (Id idir, Id ivar, Id jvar) const |
| |
| Id | getVarAddress (Id ivar, Id jvar) const |
| |
| Id | getLagAddress (Id idir, Id ilag, Id orient=0) const |
| |
| Id | getLagCenterAddress (Id idir) const |
| |
| Id | getNLagTotal (Id idir) const |
| |
| Id | compute (Db *db, const ECalcVario &calculType=ECalcVario::fromKey("VARIOGRAM"), bool flag_ergodic=true, 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 &calculType=ECalcVario::fromKey("VARIOGRAM"), bool flag_ergodic=true, 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 | setVariableNames (const VectorString &variableNames) |
| |
| void | setVariableName (Id ivar, const String &variableName) |
| |
| Id | prepare (const ECalcVario &calculType=ECalcVario::fromKey("VARIOGRAM"), bool flag_ergodic=true, 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 |
| |
| void | finalScaleByWeights (Id idir) |
| |
| void | varioDump (Id idir=0, const String &title=String()) const |
| |
| | AVario () |
| |
| | AVario (const AVario &r) |
| |
| AVario & | operator= (const AVario &r) |
| |
| virtual | ~AVario () |
| |
| const ECalcVario & | getCalcul () const |
| |
| void | setCalcul (const ECalcVario &calculType) |
| |
| void | setStorage (bool flag) |
| |
| void | setErgodic (bool flag) |
| |
| bool | getNeedStats () const |
| |
| bool | getErgodic () const |
| |
| bool | getFlagAsym () const |
| |
| bool | getCentered () const |
| |
| bool | getScaled () const |
| |
| | 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")) const |
| | Dump the contents of an object into an Output File using a given Output NF Format.
|
| |
| void | setDefaultFormatNF (const EFormatNF &format) |
| |