airbornegeo.turn_rate

Contents

airbornegeo.turn_rate#

turn_rate(data, *, track_column, distance_column, groupby_column=None, smoothing_distance=10000.0)[source]#

Calculate how fast the aircraft is turning, in degrees per kilometre.

The track angle between two successive points is dominated by navigation noise at typical survey sampling rates, so the track is smoothed over smoothing_distance of along-track distance before it is differentiated. The smoothing is circular, so a track wandering either side of north does not average to south, and the window is given as a distance rather than a number of points, so the same value means the same thing whatever the sampling rate.

Straight survey flight holds well below 0.5 degrees per kilometre; a turn is an order of magnitude above that.

Parameters:
  • data (DataFrame) – Dataframe containing the data points, which must have the columns given by track_column and distance_column.

  • track_column (str) – Name of the column holding the track angle in degrees clockwise from north, for example as calculated by airbornegeo.track.

  • distance_column (str) – Name of the column holding the cumulative along-track distance in metres, for example as calculated by airbornegeo.along_track_distance.

  • groupby_column (str | None) – Column name to group by before calculating, typically the flight or line column, by default None

  • smoothing_distance (float) – The along-track distance, in metres, over which the track is smoothed before differentiating, by default 10e3

Returns:

The unsigned turn rate in degrees per kilometre, one value per row.

Return type:

ndarray[tuple[Any, ...], dtype[TypeVar(_ScalarT, bound= generic)]]

See also

airbornegeo.split_at_turns

cut flights into lines wherever they turn.