API Documentation

This page presents the high-level public Python API grouped by theme. For low-level (C++ binding) symbols see Core API Documentation.

Coordinates & Axes

Fundamental 1D axis helpers used by grid and interpolator objects.

Axis(self, values[, epsilon, is_circle])

Create a coordinate axis for variable values.

AxisInt64(self, values)

Create a coordinate axis with integer values.

TemporalAxis(self, values)

Create a time axis for temporal coordinates.

CF Metadata Helpers

Identify axis meaning from CF-compliant unit strings.

cf.AxisLatitudeUnit()

Units known to the axis defining the latitude.

cf.AxisLongitudeUnit()

Units known to the axis defining the longitude.

cf.AxisTimeUnit()

Units known to the axis defining the time.

cf.AxisUnit([iterable])

Units management for axes.

Spatial Index

Spatial search structures.

RTree([system, dtype, ecef])

R*Tree spatial index for geodetic scalar values.

Geohash

Encode geographic coordinates into compact base32 strings and work with the resulting discrete spatial grid.

GeoHash

Handle GeoHash encoded in base 32.

geohash.bounding_boxes(*args, **kwargs)

Overloaded function.

geohash.decode(hash[, round])

Decode geohash strings into geographic coordinates.

geohash.encode(lon, lat[, precision])

Encode geographic coordinates into geohash strings.

geohash.int64.decode(hash[, precision, round])

Decode geohash into geographic coordinates.

geohash.int64.encode(lon, lat[, precision])

Encode geographic coordinates into geohash codes.

geohash.int64.neighbors(hash[, precision])

Get all neighbors of a geohash code.

geohash.transform(hash[, precision])

Transform geohash codes between different precision levels.

geohash.where(hash)

Get the start and end indexes for successive geohash codes.

Geodetic Utilities

Geodetic primitives, distance helpers and spherical geometry utilities.

geodetic.Box([min_corner, max_corner])

Define a box made of two describing points in spherical coordinates.

geodetic.coordinate_distances(lon1, lat1, ...)

Returns the distance between the given coordinates.

geodetic.Coordinates([spheroid])

Represent a World Geodetic Coordinates System.

geodetic.Crossover(self, half_orbit_1, ...)

Calculate the crossover between two half-orbits.

geodetic.LineString(self, lon, lat)

Create a linestring as a collection of points.

geodetic.MultiPolygon([polygons])

Represent a collection of polygons.

geodetic.normalize_longitudes(lon[, min_lon])

Normalize longitudes to the range [min_lon, min_lon + 360).

geodetic.Point([lon, lat])

Handle a point in an equatorial spherical coordinate system.

geodetic.Polygon(outer[, inners])

Represent a polygon with an outer ring and optional inner rings.

geodetic.RTree([spheroid])

Provide a spatial index based on the R-tree data structure.

geodetic.Spheroid([parameters])

Represent a World Geodetic System (WGS).

Binning & Histograms

One and two dimensional statistical accumulation utilities.

Binning1D(x[, range, dtype])

Group continuous values into bins located on a vector.

Binning2D(x, y[, wgs, dtype])

Group continuous values into bins located on a grid.

Histogram2D(x, y[, bin_counts, dtype])

Group continuous values into bins located on a grid.

Cartesian Grids

Regular rectilinear grid containers used with interpolators.

grid.Grid2D(x, y, array[, increasing_axes])

2D Cartesian Grid.

grid.Grid3D(x, y, z, array[, increasing_axes])

3D Cartesian Grid.

grid.Grid4D(x, y, z, u, array[, increasing_axes])

4D Cartesian Grid.

Filling Undefined Values

Functions for filling missing values in grids.

fill.gauss_seidel()

Replace all undefined values (NaN) in a grid using Gauss-Seidel method.

fill.loess()

Filter values using a locally weighted regression function (LOESS).

Interpolators

Scalar field interpolation functions over Cartesian grids.

interpolate1d(x, y, xi[, half_window_size, ...])

Interpolate a 1D function

bicubic(mesh, x, y[, z, u, nx, ny, ...])

Bicubic gridded interpolator.

bivariate(grid2d, x, y[, interpolator, ...])

Interpolate the values provided on the defined bivariate function.

trivariate(grid3d, x, y, z[, interpolator, ...])

Interpolate the values provided on the defined trivariate function.

quadrivariate(grid4d, x, y, z, u[, ...])

Interpolate the values provided on the defined quadrivariate function.

Univariate Statistics

Streaming descriptive statistics of 1D sample streams.

DescriptiveStatistics(values[, weights, ...])

Univariate descriptive statistics.

StreamingHistogram(values[, weights, axis, ...])

Compute streaming histogram for statistical analysis.

Orbit Interpolation

Work with repeating satellite orbits and derived passes/swaths.

calculate_orbit(height, lon_nadir, ...[, ...])

Calculate the orbit at the given height.

calculate_pass(pass_number, orbit, *[, bbox])

Get the properties of a swath of an half-orbit.

calculate_swath(half_orbit, *[, ...])

Get the properties of a swath of an half-orbit.

EquatorCoordinates(longitude, time)

Represent coordinates of the satellite at the equator.

Orbit(height, latitude, longitude, ...)

Represent properties of the orbit.

Pass(lon_nadir, lat_nadir, time, x_al, ...)

Represent a pass of an orbit.

Swath(lon_nadir, lat_nadir, time, x_al, ...)

Represent a swath of an orbital pass.

Xarray Backends

Helpers for constructing interpolators directly from xarray.DataArray objects.

backends.xarray.Grid2D(data_array[, ...])

Build a Grid2D from Xarray data.

backends.xarray.Grid3D(data_array[, ...])

Build a Grid3D from Xarray data.

backends.xarray.Grid4D(data_array[, ...])

Build a Grid4D from Xarray data.

backends.xarray.RegularGridInterpolator(array)

Interpolate on a regular grid in arbitrary dimensions.

Type Hints

Type aliases for numpy array shapes used throughout the library.

Typing definitions.

pyinterp.typing.NDArray

A numpy array of any data type. This alias corresponds to numpy.typing.NDArray[Any].

pyinterp.typing.NDArray1D

A numpy array specifically of one dimension.

pyinterp.typing.NDArray1DBool

A numpy array specifically of one dimension with numpy.bool_ elements.

pyinterp.typing.NDArray1DDateTime

A numpy array specifically of one dimension with numpy.datetime64 elements.

pyinterp.typing.NDArray1DFloat32

A numpy array specifically of one dimension with numpy.float32 elements.

pyinterp.typing.NDArray1DFloat64

A numpy array specifically of one dimension with numpy.float64 elements.

pyinterp.typing.NDArray1DInt64

A numpy array specifically of one dimension with numpy.int64 elements.

pyinterp.typing.NDArray1DStr

A numpy array specifically of one dimension with numpy.str_ elements.

pyinterp.typing.NDArray1DTimeDelta

A numpy array specifically of one dimension with numpy.timedelta64 elements.

pyinterp.typing.NDArray1DUInt64

A numpy array specifically of one dimension with numpy.uint64 elements.

pyinterp.typing.NDArray2D

A numpy array specifically of two dimensions.

pyinterp.typing.NDArray2DBool

A numpy array specifically of two dimensions with numpy.bool_ elements.

pyinterp.typing.NDArray2DDateTime

A numpy array specifically of two dimensions with numpy.datetime64 elements.

pyinterp.typing.NDArray2DFloat32

A numpy array specifically of two dimensions with numpy.float32 elements.

pyinterp.typing.NDArray2DFloat64

A numpy array specifically of two dimensions with numpy.float64 elements.

pyinterp.typing.NDArray2DInt8

A numpy array specifically of two dimensions with numpy.int8 elements.

pyinterp.typing.NDArray2DUInt8

A numpy array specifically of two dimensions with numpy.uint8 elements.

pyinterp.typing.NDArray2DUInt64

A numpy array specifically of two dimensions with numpy.uint64 elements.

pyinterp.typing.NDArray3D

A numpy array specifically of three dimensions.

pyinterp.typing.NDArray3DFloat32

A numpy array specifically of three dimensions with numpy.float32 elements.

pyinterp.typing.NDArray3DFloat64

A numpy array specifically of three dimensions with numpy.float64 elements.

pyinterp.typing.NDArray3DInt8

A numpy array specifically of three dimensions with numpy.int8 elements.

pyinterp.typing.NDArray3DUInt8

A numpy array specifically of three dimensions with numpy.uint8 elements.

pyinterp.typing.NDArray4D

A numpy array specifically of four dimensions.

pyinterp.typing.NDArray4DFloat32

A numpy array specifically of four dimensions with numpy.float32 elements.

pyinterp.typing.NDArray4DFloat64

A numpy array specifically of four dimensions with numpy.float64 elements.

pyinterp.typing.NDArray4DInt8

A numpy array specifically of four dimensions with numpy.int8 elements.

pyinterp.typing.NDArray4DUInt8

A numpy array specifically of four dimensions with numpy.uint8 elements.

pyinterp.typing.NDArrayDateTime

A numpy array of any dimension with numpy.datetime64 elements.

pyinterp.typing.NDArrayFloat32

A numpy array of any dimension with numpy.float32 elements.

pyinterp.typing.NDArrayFloat64

A numpy array of any dimension with numpy.float64 elements.

pyinterp.typing.NDArrayInt64

A numpy array of any dimension with numpy.int64 elements.

pyinterp.typing.NDArrayStructured

A numpy array of any dimension with structured elements.

pyinterp.typing.NDArrayTimeDelta

A numpy array of any dimension with numpy.timedelta64 elements.

pyinterp.typing.NDArrayUInt64

A numpy array of any dimension with numpy.uint64 elements.