Skip to main content

VariogramData

GitHub source

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.

What is the reason for your feedback?