libera_utils.footprint_matching.types.BoundingBox#

class libera_utils.footprint_matching.types.BoundingBox(lat_min: float, lat_max: float, lon_min: float, lon_max: float, wraps_dateline: bool = False, is_polar: bool = False, truncated: bool = False)#

Bases: NamedTuple

Geographic bounding box for a footprint’s PSF contour.

An immutable, hashable seven-element tuple of (lat_min, lat_max, lon_min, lon_max, wraps_dateline, is_polar, truncated).

Variables:
  • lat_min (float) – Lower latitude bound in degrees. lat_min < lat_max.

  • lat_max (float) – Upper latitude bound in degrees.

  • lon_min (float) – Lower longitude bound in degrees, always with lon_min <= lon_max. A box that does not cross the antimeridian is in [-180, 180]. A box that crosses it is given in [0, 360), so lon_max > 180 (e.g. 179.9 to 180.2); subtract 360 from the part above 180 to get signed longitudes. A box enclosing a pole spans the full -180 to 180.

  • lon_max (float) – Upper longitude bound in degrees.

  • wraps_dateline (bool) – True when the box crosses the antimeridian, i.e. it is given in the [0, 360) form with lon_max > 180. The reader base class queries both halves.

  • is_polar (bool) – True when the box reaches 85° latitude or beyond, or encloses a pole (then latitude is pinned to +/-90 and longitude spans -180 to 180). Advisory: a lat/lon rectangle is only a coarse fit at such latitudes.

  • truncated (bool) – True when the box was clipped at the Earth’s limb because the footprint ran partly off the edge of the Earth at a severe viewing angle (see geometry.compute_footprint_bounding_box). The footprint therefore has only partial coverage, and the orchestrator should set the corresponding QA flag.

__init__()#

Methods

count(value, /)

Return number of occurrences of value.

index(value[, start, stop])

Return first index of value.

_field_defaults = {'is_polar': False, 'truncated': False, 'wraps_dateline': False}#
_fields = ('lat_min', 'lat_max', 'lon_min', 'lon_max', 'wraps_dateline', 'is_polar', 'truncated')#
count(value, /)#

Return number of occurrences of value.

index(value, start=0, stop=9223372036854775807, /)#

Return first index of value.

Raises ValueError if the value is not present.