podpac.interpolators.NearestNeighbor
- class podpac.interpolators.NearestNeighbor(**kwargs: Any)[source]
Bases:
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 thepodpac.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
A float trait.
A float trait.
definition
Interpolator definition
A trait for unicode strings.
name
Interpolator definition
A boolean (True, False) trait.
A boolean (True, False) trait.
A float trait.
A float trait.
A trait type representing a Union type.
A trait type representing a Union type.
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
) – Descriptionsource_data (podpac.core.units.UnitsDataArray) – Description
eval_coordinates (
podpac.Coordinates
) – Descriptionoutput_data (podpac.core.units.UnitsDataArray) – Description
- Raises:
NotImplementedError –
- Returns:
returns the updated output of interpolated data
- Return type:
podpac.core.units.UnitDataArray
- 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
) – Descriptionsource_data (podpac.core.units.UnitsDataArray) – Description
eval_coordinates (
podpac.Coordinates
) – Descriptionoutput_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.