Dubins Path

class Waypoint[source]

Bases: object

__init__(latitude, longitude, heading, altitude_msl=None, name=None)[source]

Initialize a Waypoint object.

Parameters:
  • latitude (float) – Latitude in decimal degrees.

  • longitude (float) – Longitude in decimal degrees.

  • heading (float) – Heading in degrees relative to North.

  • altitude_msl (Union[Quantity, float, None], optional) – Altitude MSL in meters or as a pint Quantity. Defaults to None.

  • name (str, optional) – Name of the waypoint. Defaults to None.

to_dict()[source]

Convert the waypoint to a dictionary representation.

Returns:

Dictionary with latitude, longitude, heading, altitude_msl, and name.

Return type:

Dict

class DubinsPath[source]

Bases: object

__init__(start, end, speed, bank_angle, step_size)[source]

Initialize a DubinsPath object.

Parameters:
  • start (Waypoint) – The starting waypoint.

  • end (Waypoint) – The ending waypoint.

  • speed (Union[Quantity, float]) – Speed as a pint Quantity or a float (meters per second).

  • bank_angle (float) – Bank angle in degrees.

  • step_size (float) – Step size for sampling the trajectory.

property geometry: shapely.geometry.LineString

Get the Dubins path as a LineString.

Returns:

The Dubins path.

Return type:

LineString

property length: float

Get the length of the Dubins path in meters.

Returns:

Length of the path in meters.

Return type:

float

to_dict()[source]

Convert the Dubins path to a dictionary representation.

Returns:

Dictionary with geometry, start/end coordinates, altitudes

(meters), headings, and distance (nautical miles).

Return type:

Dict