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?