podpac.coordinates.StackedCoordinates¶
-
class
podpac.coordinates.
StackedCoordinates
(coords, name=None, dims=None)[source]¶ Bases:
podpac.core.coordinates.base_coordinates.BaseCoordinates
Stacked coordinates.
StackedCoordinates contain coordinates from two or more different dimensions that are stacked together to form a list of points (rather than a grid). The underlying coordinates values are
Coordinates1d
objects of equal size. The name for the stacked coordinates combines the underlying dimensions with underscores, e.g.'lat_lon'
or'lat_lon_time'
.When creating
Coordinates
, podpac automatically detects StackedCoordinates. The following Coordinates contain 3 stacked lat-lon coordinates and 2 time coordinates in a 3 x 2 grid:>>> lat = [0, 1, 2] >>> lon = [10, 20, 30] >>> time = ['2018-01-01', '2018-01-02'] >>> podpac.Coordinates([[lat, lon], time], dims=['lat_lon', 'time']) Coordinates lat_lon[lat]: ArrayCoordinates1d(lat): Bounds[0.0, 2.0], N[3] lat_lon[lon]: ArrayCoordinates1d(lon): Bounds[10.0, 30.0], N[3] time: ArrayCoordinates1d(time): Bounds[2018-01-01, 2018-01-02], N[2]
For convenience, you can also create uniformly-spaced stacked coordinates using
clinspace
:>>> lat_lon = podpac.clinspace((0, 10), (2, 30), 3) >>> time = ['2018-01-01', '2018-01-02'] >>> podpac.Coordinates([lat_lon, time], dims=['lat_lon', 'time']) Coordinates lat_lon[lat]: ArrayCoordinates1d(lat): Bounds[0.0, 2.0], N[3] lat_lon[lon]: ArrayCoordinates1d(lon): Bounds[10.0, 30.0], N[3] time: ArrayCoordinates1d(time): Bounds[2018-01-01, 2018-01-02], N[2]
- Parameters
dims (tuple) – Tuple of dimension names.
name (str) – Stacked dimension name.
coords (dict-like) – xarray coordinates (container of coordinate arrays)
coordinates (pandas.MultiIndex) – MultiIndex of stacked coordinates values.
Alternative Constructors
Create StackedCoordinates from a stacked coordinates definition.
from_xarray
(x, **kwargs)Create 1d Coordinates from named xarray coordinates.
Methods
__init__
(coords[, name, dims])Initialize a multidimensional coords bject.
copy
()Make a copy of the stacked coordinates.
flatten
()get_area_bounds
(boundary)Get coordinate area bounds, including boundary information, for each unstacked dimension.
issubset
(other)Report whether other coordinates contains these coordinates.
reshape
(newshape)select
(bounds[, outer, return_index])Get the coordinate values that are within the given bounds in all dimensions.
simplify
()Get the simplified/optimized representation of these coordinates.
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.transpose
(*dims, **kwargs)Transpose (re-order) the dimensions of the StackedCoordinates.
unique
([return_index])Remove duplicate stacked coordinate values.
Attributes
Dictionary of (low, high) coordinates bounds in each dimension
Serializable stacked coordinates definition.
Tuple of dimension names.
Serializable stacked coordinates definition, containing all properties.
Stacked dimension name.
coordinates array ndim.
Shape of the stacked coordinates.
Number of stacked coordinates.
udims
Tuple of unstacked dimension names, for compatibility.
xarray coordinates (container of coordinate arrays)
xdims
Tuple of indexing dimensions used to create xarray DataArray.
- Members
-
__init__
(coords, name=None, dims=None)[source]¶ Initialize a multidimensional coords bject.
- Parameters
coords (list,
StackedCoordinates
) – Coordinate values in a list, or a StackedCoordinates object to copy.
See also
-
property
bounds
¶ Dictionary of (low, high) coordinates bounds in each dimension
- Type
dict
-
property
coordinates
¶
-
copy
()[source]¶ Make a copy of the stacked coordinates.
- Returns
Copy of the stacked coordinates.
- Return type
-
property
definition
¶ Serializable stacked coordinates definition.
- Type
list
-
property
dims
¶ Tuple of dimension names.
- Type
tuple
-
classmethod
from_definition
(d)[source]¶ Create StackedCoordinates from a stacked coordinates definition.
- Parameters
d (list) – stacked coordinates definition
- Returns
stacked coordinates object
- Return type
See also
-
classmethod
from_xarray
(x, **kwargs)[source]¶ Create 1d Coordinates from named xarray coordinates.
- Parameters
x (xarray.DataArray) – Nade DataArray of the coordinate values
- Returns
1d coordinates
- Return type
-
property
full_definition
¶ Serializable stacked coordinates definition, containing all properties. For internal use.
- Type
list
-
get_area_bounds
(boundary)[source]¶ Get coordinate area bounds, including boundary information, for each unstacked dimension.
- Parameters
boundary (dict) – dictionary of boundary offsets for each unstacked dimension. Point dimensions can be omitted.
- Returns
area_bounds – Dictionary of (low, high) coordinates area_bounds in each unstacked dimension
- Return type
dict
-
issubset
(other)[source]¶ Report whether other coordinates contains these coordinates.
- Parameters
other (Coordinates, StackedCoordinates) – Other coordinates to check
- Returns
issubset – True if these coordinates are a subset of the other coordinates.
- Return type
bool
-
property
name
¶ Stacked dimension name. Stacked dimension names are the individual dims joined by an underscore.
- Type
str
-
property
ndim
¶ coordinates array ndim.
- Type
int
-
select
(bounds, outer=False, return_index=False)[source]¶ Get the coordinate values that are within the given bounds in all dimensions.
Note: you should not generally need to call this method directly.
- Parameters
bounds (dict) – dictionary of dim -> (low, high) selection bounds
outer (bool, optional) – If True, do outer selections. Default False.
return_index (bool, optional) – If True, return index for the selections in addition to coordinates. Default False.
- Returns
selection (
StackedCoordinates
) – StackedCoordinates object consisting of the selection in all dimensions.selection_index (slice, boolean array) – Slice or index for the selected coordinates, only if
return_index
is True.
-
property
shape
¶ Shape of the stacked coordinates.
- Type
tuple
-
property
size
¶ Number of stacked coordinates.
- Type
int
-
transpose
(*dims, **kwargs)[source]¶ Transpose (re-order) the dimensions of the StackedCoordinates.
- Parameters
dim_2, .. (dim_1,) – Reorder dims to this order. By default, reverse the dims.
in_place (boolean, optional) – If True, transpose the dimensions in-place. Otherwise (default), return a new, transposed Coordinates object.
- Returns
transposed – The transposed StackedCoordinates object.
- Return type
-
unique
(return_index=False)[source]¶ Remove duplicate stacked coordinate values.
- Parameters
return_index (bool, optional) – If True, return index for the unique coordinates in addition to the coordinates. Default False.
- Returns
unique (
StackedCoordinates
) – New StackedCoordinates object with unique, sorted, flattened coordinate values.unique_index (list of indices) – index
-
property
xcoords
¶ xarray coordinates (container of coordinate arrays)
- Type
dict-like