podpac.coordinates.UniformCoordinates1d

class podpac.coordinates.UniformCoordinates1d(**kwargs: Any)[source]

Bases: Coordinates1d

1-dimensional array of uniformly-spaced coordinates defined by a start, stop, and step.

UniformCoordinates1d efficiently stores a uniformly-spaced coordinate array; the full coordinates array is only calculated when needed. For numerical coordinates, the start, stop, and step are converted to float. For time coordinates, the start and stop are converted to numpy datetime64, and the step is converted to numpy timedelta64. For convenience, podpac automatically converts datetime strings such as '2018-01-01' to datetime64 and timedelta strings such as '1,D' to timedelta64.

UniformCoordinates1d can also be created by specifying the size instead of the step.

Parameters:
  • start (float or datetime64) – Start coordinate.

  • stop (float or datetime64) – Stop coordinate. Unless fix_stop_val == True at creation, this may not always be exactly equal to what the user specified. Internally we ensure that stop = start + step * (size - 1)

  • step (float or timedelta64) – Signed, non-zero step between coordinates. Note, the specified step my be changed internally to satisfy floating point consistency. That is, the consistent step will ensure that step = (stop - start) / (size - 1)

  • name (str) – Dimension name, one of ‘lat’, ‘lon’, ‘time’, ‘alt’.

  • coordinates (array, read-only) – Full array of coordinate values.

Alternative Constructors

from_definition(d)

Create uniformly-spaced 1d Coordinates from a coordinates definition.

Methods

__init__(start, stop[, step, size, name, ...])

Create uniformly-spaced 1d coordinates from a start, stop, and step or size.

copy()

Make a deep copy of the uniform 1d Coordinates.

flatten()

Return a copy of the uniform coordinates, for consistency.

from_tuple(items, **kwargs)

get_area_bounds(boundary)

Get low and high coordinate area bounds.

issubset(other)

Report whether other coordinates contains these coordinates.

reshape(newshape)

select(bounds[, return_index, outer])

Get the coordinate values that are within the given bounds.

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.

unique([return_index])

Return the coordinates (uniform coordinates are already unique).

Attributes

argbounds

bounds

Low and high coordinate bounds.

coordinates

definition

Serializable 1d coordinates definition.

deltatype

dims

dtype

Coordinates dtype.

full_definition

Serializable 1d coordinates definition, containing all properties.

is_descending

is_monotonic

is_uniform

name

ndim

properties

Dictionary of the coordinate properties.

shape

size

Number of coordinates.

start

Start coordinate.

step

Signed, non-zero step between coordinates.

stop

Stop coordinate.

udims

Tuple of unstacked dimension names, for compatibility.

xcoords

xarray coords

xdims

Tuple of indexing dimensions used to create xarray DataArray.

Members:

__init__(start, stop, step=None, size=None, name=None, fix_stop_val=False)[source]

Create uniformly-spaced 1d coordinates from a start, stop, and step or size.

Parameters:
  • start (float or datetime64) – Start coordinate.

  • stop (float or datetime64) – Stop coordinate.

  • step (float or timedelta64) – Signed, nonzero step between coordinates (either step or size required).

  • size (int) – Number of coordinates (either step or size required).

  • name (str, optional) – Dimension name, one of ‘lat’, ‘lon’, ‘time’, or ‘alt’.

  • fix_stop_val (bool, optional) – Default is False. If True, the constructor will modify the step to be consistent instead of the stop value. Otherwise, the stop value may be modified to ensure that stop = start + step * size

Notes

When the user specifies fix_stop_val, then stop will always be exact as specified by the user.

For floating point coordinates, the specified step my be changed internally to satisfy floating point consistency. That is, for consistency step = (stop - start) / (size - 1)

property argbounds
property bounds

Low and high coordinate bounds.

property coordinates
copy()[source]

Make a deep copy of the uniform 1d Coordinates.

Returns:

Copy of the coordinates.

Return type:

UniformCoordinates1d

property dtype

Coordinates dtype.

float for numerical coordinates and numpy datetime64 for datetime coordinates.

Type:

type

flatten()[source]

Return a copy of the uniform coordinates, for consistency.

Returns:

Flattened coordinates.

Return type:

UniformCoordinates1d

classmethod from_definition(d)[source]

Create uniformly-spaced 1d Coordinates from a coordinates definition.

The definition must contain the coordinate start, stop, and step or size:

c = UniformCoordinates1d.from_definition({
    "start": 1,
    "stop": 10,
    "step": 0.5
})

c = UniformCoordinates1d.from_definition({
    "start": 1,
    "stop": 10,
    "size": 21
})

The definition may also contain any of the 1d Coordinates properties:

c = UniformCoordinates1d.from_definition({
    "start": 1,
    "stop": 10,
    "step": 0.5,
    "name": "lat"
})
Parameters:

d (dict) – uniform 1d coordinates definition

Returns:

uniformly-spaced 1d Coordinates

Return type:

UniformCoordinates1d

See also

definition

classmethod from_tuple(items, **kwargs)[source]
property is_descending
property is_monotonic
property is_uniform
issubset(other)[source]

Report whether other coordinates contains these coordinates.

Parameters:

other (Coordinates, Coordinates1d) – Other coordinates to check

Returns:

issubset – True if these coordinates are a subset of the other coordinates.

Return type:

bool

Notes

This overrides the Coordinates1d.issubset method with optimizations for uniform coordinates.

property ndim
reshape(newshape)[source]
property shape
simplify()[source]

Get the simplified/optimized representation of these coordinates.

Returns:

simplified – These coordinates (the coordinates are already simplified).

Return type:

UniformCoordinates1d

property size

Number of coordinates.

start

Start coordinate.

Type:

float, datetime64

step

Signed, non-zero step between coordinates.

Type:

float, timedelta64

stop

Stop coordinate.

Type:

float, datetime64

unique(return_index=False)[source]

Return the coordinates (uniform coordinates are already unique).

Parameters:

return_index (bool, optional) – If True, return index for the unique coordinates in addition to the coordinates. Default False.

Returns:

  • unique (ArrayCoordinates1d) – New ArrayCoordinates1d object with unique, sorted coordinate values.

  • unique_index (list of indices) – index