2.7.1.2. pycsamt.airborne.navigation#

Navigation and attitude containers for airborne EM surveys.

Classes

NavigationTrack(sample_ids[, latitude, ...])

Sample-aligned navigation and attitude information for one line.

class pycsamt.airborne.navigation.NavigationTrack(sample_ids, latitude=None, longitude=None, easting=None, northing=None, terrain_elevation=None, platform_elevation=None, clearance=None, heading=None, pitch=None, roll=None, timestamps=None, crs=None, datum='WGS84', attrs=<factory>)[source]

Bases: CoreObject

Sample-aligned navigation and attitude information for one line.

The class intentionally contains only concepts that are broadly common across airborne EM systems. Technology-specific fields should be kept in attrs until genuine delivery data justify a stable public field.

Parameters:
  • sample_ids (sequence of str-like) – Ordered identifiers defining the common sample axis.

  • latitude (array-like, optional) – Geographic coordinates in decimal degrees. They must be supplied together when used. NaN values are allowed for individual missing samples, while finite values are range-checked.

  • longitude (array-like, optional) – Geographic coordinates in decimal degrees. They must be supplied together when used. NaN values are allowed for individual missing samples, while finite values are range-checked.

  • easting (array-like, optional) – Projected coordinates. They must be supplied together when used.

  • northing (array-like, optional) – Projected coordinates. They must be supplied together when used.

  • terrain_elevation (array-like, optional) – Elevations on a common vertical datum, normally metres.

  • platform_elevation (array-like, optional) – Elevations on a common vertical datum, normally metres.

  • clearance (array-like, optional) – Explicit receiver/platform clearance above ground. If absent, clearance_values derives it from platform minus terrain where both elevations are available.

  • heading (array-like, optional) – Attitude channels in source-system angular convention. They are retained without imposing a proprietary sign convention.

  • pitch (array-like, optional) – Attitude channels in source-system angular convention. They are retained without imposing a proprietary sign convention.

  • roll (array-like, optional) – Attitude channels in source-system angular convention. They are retained without imposing a proprietary sign convention.

  • timestamps (sequence, optional) – Sample-aligned acquisition times. Values are preserved as supplied.

  • crs (str, optional) – Coordinate reference system label for projected coordinates.

  • datum (str, default "WGS84") – Geographic datum label.

  • attrs (dict) – Extension point for system-specific navigation metadata.

sample_ids: Any
latitude: Any | None = None
longitude: Any | None = None
easting: Any | None = None
northing: Any | None = None
terrain_elevation: Any | None = None
platform_elevation: Any | None = None
clearance: Any | None = None
heading: Any | None = None
pitch: Any | None = None
roll: Any | None = None
timestamps: Any | None = None
crs: str | None = None
datum: str | None = 'WGS84'
attrs: dict[str, Any]
validate()[source]

Validate object state.

Subclasses can override this hook. The base implementation intentionally accepts all states.

Return type:

None

property n_samples: int[source]

Number of navigation samples.

property has_geographic_coordinates: bool[source]

Whether latitude/longitude arrays are present.

property has_projected_coordinates: bool[source]

Whether easting/northing arrays are present.

property clearance_values: ndarray | None[source]

Return explicit or safely derived clearance values.

Explicit clearance always takes precedence. When it is unavailable, the difference platform_elevation - terrain_elevation is returned without changing the stored metadata.

property bbox: BBox | None[source]

Tight geographic bounding box over finite coordinates.

index_of(sample_id)[source]

Return the navigation index for sample_id.

Parameters:

sample_id (str)

Return type:

int