Skip to main content

IDWParameters

GitHub source

IDWParameters

evo.compute.tasks.geostatistics.idw.IDWParameters

Parameters for the IDW (inverse distance weighting) estimation task.

Estimates values at target locations as a distance-weighted average of nearby samples. The weighting exponent is controlled by power.

Example::

>>> from evo.compute.tasks.common import Filter, FilterCondition, Source, Target
>>> from evo.compute.tasks.geostatistics.idw import IDWParameters
>>>
>>> params = IDWParameters(
... source=Source(object=pointset, attribute="locations.attributes[?name=='grade']"),
... target=Target.new_attribute(grid, "idw_grade"),
... neighborhood=SearchNeighborhood(
... ellipsoid=Ellipsoid(ranges=EllipsoidRanges(200, 150, 100)),
... max_samples=20,
... ),
... power=2.0,
... )
>>>
>>> # With a target filter to restrict estimation to specific categories on the target:
>>> params_filtered = IDWParameters(
... source=Source(object=pointset, attribute="locations.attributes[?name=='grade']"),
... target=Target.new_attribute(grid, "idw_grade"),
... neighborhood=SearchNeighborhood(...),
... power=2.0,
... target_filter=Filter(
... where=FilterCondition(
... attribute=grid.attributes["domain"],
... operator="in",
... values=["LMS1", "LMS2"],
... ),
... ),
... )

source​

source: AnySourceAttribute

Source object and attribute containing the known values.

target​

target: AnyTargetAttribute

Target object and attribute to create or update with IDW estimates.

neighborhood​

neighborhood: SearchNeighborhood

Search neighbourhood defining which nearby samples to include.

power​

power: float = Field(gt=0.0)

Distance-weighting exponent.

Weights are computed as 1 / distance ** power in the anisotropic space defined by the search ellipsoid. Common values: 1.0 (linear inverse distance), 2.0 (classic IDW). Must be strictly positive.

source_filter​

source_filter: Filter | None = Field(None, exclude=True)

Optional filter to restrict estimation to a subset of the source data.

Excluded from top-level serialisation (exclude=True) and injected as source["filter"] by the custom serialiser.

target_filter​

target_filter: Filter | None = Field(None, exclude=True)

Optional filter to restrict estimation to a subset of the target object.

Excluded from top-level serialisation (exclude=True) and injected as target["filter"] by the custom serialiser.

Was this page helpful?