podpac.interpolators.NearestNeighbor

class podpac.interpolators.NearestNeighbor(**kwargs)[source]

Bases: podpac.core.interpolation.interpolator.Interpolator

Nearest Neighbor Interpolation

method

Current interpolation method to use in Interpolator (i.e. ‘nearest’). This attribute is set during node evaluation when a new Interpolation class is constructed. See the podpac.data.DataSource interpolation attribute for more information on specifying the interpolator method.

Type

str

dims_supported

List of unstacked dimensions supported by the interpolator. This attribute should be defined by the implementing Interpolator. Used by private convience method _filter_udims_supported().

Type

list

spatial_tolerance

Default is inf. Maximum distance to the nearest coordinate in space. Cooresponds to the unit of the space measurement.

Type

float

time_tolerance

Default is inf. Maximum distance to the nearest coordinate in time coordinates. Accepts p.timedelta64() (i.e. np.timedelta64(1, ‘D’) for a 1-Day tolerance)

Type

float

alt_tolerance

Default is inf. Maximum distance to the nearest coordinate in altitude coordinates. Corresponds to the unit of the altitude as part of the requested coordinates

Type

float

spatial_scale

Default is 1. This only applies when the source has stacked dimensions with different units. The spatial_scale defines the factor that lat, lon coordinates will be scaled by (coordinates are divided by spatial_scale) to output a valid distance for the combined set of dimensions.

Type

float

time_scale

Default is 1. This only applies when the source has stacked dimensions with different units. The time_scale defines the factor that time coordinates will be scaled by (coordinates are divided by time_scale) to output a valid distance for the combined set of dimensions.

Type

float

alt_scale

Default is 1. This only applies when the source has stacked dimensions with different units. The alt_scale defines the factor that alt coordinates will be scaled by (coordinates are divided by alt_scale) to output a valid distance for the combined set of dimensions.

Type

float

respect_bounds

Default is True. If True, any requested dimension OUTSIDE of the bounds will be interpolated as ‘nan’. Otherwise, any point outside the bounds will have NN interpolation allowed.

Type

bool

remove_nan

Default is False. If True, nan’s in the source dataset will NOT be interpolated. This can be used if a value for the function is needed at every point of the request. It is not helpful when computing statistics, where nan values will be explicitly ignored. In that case, if remove_nan is True, nan values will take on the values of neighbors, skewing the statistical result.

Type

bool

use_selector

Default is True. If True, a subset of the coordinates will be selected BEFORE the data of a dataset is retrieved. This reduces the number of data retrievals needed for large datasets. In cases where remove_nan = True, the selector may select only nan points, in which case the interpolation fails to produce non-nan data. This usually happens when requesting a single point from a dataset that contains nans. As such, in these cases set use_selector = False to get a non-nan value.

Type

bool

Methods

__init__(**kwargs)

can_interpolate(udims, source_coordinates, …)

Interpolate data from requested coordinates to source coordinates.

can_select(udims, source_coordinates, …)

init()

Overwrite this method if a Interpolator needs to do any additional initialization after the standard initialization.

interpolate(udims, source_coordinates, …)

Interpolate data from requested coordinates to source coordinates.

select_coordinates(udims, …[, index_type])

Downselect coordinates with interpolator method

trait_defaults(*names, **metadata)

Return a trait’s default value or a dictionary of them

trait_has_value(name)

Returns True if the specified trait has a value.

trait_values(**metadata)

A dict of trait names and their values.

Attributes

alt_scale

A float trait.

alt_tolerance

A float trait.

definition

Interpolator definition

dims_supported

method

A trait for unicode strings.

methods_supported

name

Interpolator definition

remove_nan

A boolean (True, False) trait.

respect_bounds

A boolean (True, False) trait.

spatial_scale

A float trait.

spatial_tolerance

A float trait.

time_scale

A trait type representing a Union type.

time_tolerance

A trait type representing a Union type.

use_selector

A boolean (True, False) trait.

Members

__init__(**kwargs)
alt_scale

A float trait.

alt_tolerance

A float trait.

can_interpolate(udims, source_coordinates, eval_coordinates)[source]

Interpolate data from requested coordinates to source coordinates.

Parameters
  • udims (tuple) – dimensions to interpolate

  • source_coordinates (podpac.Coordinates) – Description

  • source_data (podpac.core.units.UnitsDataArray) – Description

  • eval_coordinates (podpac.Coordinates) – Description

  • output_data (podpac.core.units.UnitsDataArray) – Description

Raises

NotImplementedError

Returns

returns the updated output of interpolated data

Return type

podpac.core.units.UnitDataArray

can_select(udims, source_coordinates, eval_coordinates)[source]
dims_supported = ['lat', 'lon', 'alt', 'time']
interpolate(udims, source_coordinates, source_data, eval_coordinates, output_data)[source]

Interpolate data from requested coordinates to source coordinates.

Parameters
  • udims (tuple) – dimensions to interpolate

  • source_coordinates (podpac.Coordinates) – Description

  • source_data (podpac.core.units.UnitsDataArray) – Description

  • eval_coordinates (podpac.Coordinates) – Description

  • output_data (podpac.core.units.UnitsDataArray) – Description

Raises

NotImplementedError

Returns

returns the updated output of interpolated data

Return type

podpac.core.units.UnitDataArray

method

A trait for unicode strings.

methods_supported = ['nearest']
remove_nan

A boolean (True, False) trait.

respect_bounds

A boolean (True, False) trait.

spatial_scale

A float trait.

spatial_tolerance

A float trait.

time_scale

A trait type representing a Union type.

time_tolerance

A trait type representing a Union type.

use_selector

A boolean (True, False) trait.