opensoar.task package

Submodules

opensoar.task.aat module

class opensoar.task.aat.AAT(waypoints, t_min: datetime.timedelta, timezone: int = None, start_opening: datetime.time = None, start_time_buffer: int = 0, multistart: bool = False)

Bases: opensoar.task.task.Task

Assigned Area Task.

apply_rules(trace)
t_min

opensoar.task.race_task module

class opensoar.task.race_task.RaceTask(waypoints, timezone=None, start_opening=None, start_time_buffer=0, multistart=False)

Bases: opensoar.task.task.Task

Race task.

apply_rules(trace)
calculate_task_distances()
determine_outlanding_distance(outlanding_leg, fix)
determine_outlanding_fix(trace, fixes, start_fixes, enl_fix)
determine_trip_distances(fixes, outlanding_fix)
determine_trip_fixes(trace)
finished_leg(leg, fix1, fix2)

Determines whether leg is finished.

total_distance

opensoar.task.task module

class opensoar.task.task.Task(waypoints: List[opensoar.task.waypoint.Waypoint], timezone: int, start_opening: datetime.time, start_time_buffer: int, multistart: bool)

Bases: object

Base Class for specific task implementations.

ENL_TIME_THRESHOLD = 30
ENL_VALUE_THRESHOLD = 500
determine_refined_start(trace, fixes)
static distance_moved_turnpoint(distance, begin, end, moved_point, move_direction='reduce')
static distance_shortened_leg(distance, current, currentP1, shortened_point)
enl_time_exceeded(enl_time)
enl_value_exceeded(fix) → bool

Check whether ENL value is exceeded. :param fix: :return: returns False when not exceeded or when ENL information is not present in fix

finish
finished(fix1, fix2)
no_legs
no_tps
static set_orientation_angles(waypoints)
start
started(fix1, fix2)
waypoints

opensoar.task.trip module

class opensoar.task.trip.Trip(task, trace)

Bases: object

Realised

completed_legs()
fix_after_leg(fix, leg)
fix_before_leg(fix, leg)
fix_on_leg(fix, leg)

Return whether fix takes place within certain leg, excluding the boundaries :param fix: :param leg: :return:

outlanded()
outlanding_leg()
started_legs()

opensoar.task.waypoint module

class opensoar.task.waypoint.Waypoint(name: str, latitude: float, longitude: float, r_min: float, angle_min: float, r_max: float, angle_max: float, is_line: bool, sector_orientation: str, distance_correction=None, orientation_angle=None)

Bases: object

SEEYOU_SECTOR_MARGIN = 12
crossed_line(fix1, fix2)
fix
inside_sector(fix)
outside_sector(fix)
set_orientation_angle(angle_start=None, angle_previous=None, angle_next=None)

Module contents

This package provides the necessary classes for creating tasks and evaluating the performance of a competitor.