VariogramData
VariogramData
evo.objects.typed.variogram.VariogramData
Data for creating a Variogram.
A variogram is a geostatistical model describing spatial correlation structure. The variogram model is defined by the nugget and multiple structures using the leapfrog-convention rotation.
Note: When using a variogram with kriging tasks, the following fields should be set: - modelling_space: Set to "data" for original units or "normalscore" for gaussian space - data_variance: Should match the sill value for non-normalized data
Example using typed structures (recommended): >>> data = VariogramData( ... name="My Variogram", ... sill=1.0, ... nugget=0.1, ... is_rotation_fixed=True, ... modelling_space="data", # Required for kriging ... data_variance=1.0, # Required for kriging ... structures=[ ... SphericalStructure( ... contribution=0.9, ... anisotropy=Ellipsoid( ... ranges=EllipsoidRanges(major=200, semi_major=150, minor=100), ... rotation=Rotation(dip_azimuth=0, dip=0, pitch=0), ... ), ... ), ... ], ... attribute="grade", ... )
sill
sill: float
The variance of the variogram. Must be within a very small tolerance of the nugget plus the sum of all structure's contributions.
is_rotation_fixed
is_rotation_fixed: bool
Boolean value specifying whether all structure's rotations are the same.
structures
structures: list[VariogramStructure | dict[str, Any]]
A list of at least one mathematical model, which are parameterised to represent the spatial structure of the variogram model. Can use typed classes like SphericalStructure, ExponentialStructure, GaussianStructure, CubicStructure, or raw dictionaries.
nugget
nugget: float = 0.0
The variance between two samples separated by near-zero lag distance, representing the randomness present. When plotted, this value is the y-intercept.
data_variance
data_variance: float | None = None
The variance of the data, if different from the sill value, this is used for normalising or rescaling the variogram.
modelling_space
modelling_space: Literal['data', 'normalscore'] | None = None
The modelling space the variogram model was fitted in - either 'data' for original units or 'normalscore' for gaussian space.
domain
domain: str | None = None
The domain the variogram is modelled for.
attribute
attribute: str | None = None
The attribute the variogram is modelled for.
get_structures_as_dicts
get_structures_as_dicts() -> list[dict[str, Any]]
Get structures as a list of dictionaries for serialization.