Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Trim each flight to the airborne portion and segment it into legs

Aperta
#229 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 4 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
data

Direzione di ricerca

The issue identifies telemetry data, the inference/Results/ output directory, and a hand-built flight test, but names no source files or existing entry point. Start by locating the telemetry processing and test code, then inspect how flight time, altitude, and heading are represented. Done means all flights are trimmed and segmented, gaps and unexpected leg sequences are reported, per-flight leg summaries are produced, and the specified plots and test are added.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:ml enhancement python

Blocked by: #228

Is your feature request related to a problem? Please describe.
About 70% of every file is the aircraft sitting on the ground, before and after the flight (roughly 60 min idle, then 24–32 min of flying). Computing deviation over the whole file measures idle time, not flying. A whole-flight standard deviation also mixes a climb, level legs, turns and a descent, which is not comparable to a level-flight target.

Every pilot flew the same route, which visits three airports (airport names are inferred from coordinates and elevation, not confirmed by the client):

  1. Depart runway 18 at the departure field (about 1,100 ft; likely Johnson County Executive).
  2. Climb on 190° to about 3,100 ft.
  3. Descend on 220° to an intermediate airport (about 943 ft; likely Miami County, runway 21) for a touch-and-go, low approach or go-around. One flight makes a full stop of about 4 minutes there before taking off again.
  4. Climb out on 040° back to about 3,100 ft.
  5. Descend on 000° and land on runway 36 at a third airport (about 1,091 ft; likely New Century), about 7 nm from the departure field.

So the 220° and 000° legs are approaches, not descents at altitude.

Describe the solution you'd like

  • Trimming: cut each flight from the first takeoff roll to the final touchdown, using IAS above a threshold together with altitude above the field. The flight touches down mid-route at the intermediate airport, so trimming must not stop at the first touchdown. The three fields sit at different elevations (about 1,100, 943 and 1,091 ft), so "above the field" needs the elevation of the nearest field, not one constant. Make the thresholds constants and report the trimmed duration per flight.
  • Gaps: flag any Δt above 3 s and record the count per flight. Do not interpolate. Known gaps: P001_T1 (one gap, about 44 s) and P004_T1 (five gaps over 3 s, the largest 12 s).
  • Leg segmentation: label each sample with a phase. Proposed phases are takeoff_climb, leg_190, approach_220, intermediate_airport (touch-and-go, low approach, go-around or full stop), climb_040 and approach_landing_000. Which of these get targets, and how an approach is scored, depends on the client's answer to #213. Detect them from a heading bin held for at least N seconds plus the transitions between bins. Keep the method rule-based and documented. All 19 flights follow the same sequence, so a flight with a missing or extra leg should produce a warning.
  • Output: add a phase column to the telemetry table, plus a per-flight summary with each leg's start, end and duration.
Acceptance criteria
  • Every flight's trimmed duration falls between 20 and 35 min, or the flight is listed as an exception with a reason (P004_T1 is a likely exception: it is only 33 min in total)
  • A plot of altitude and heading against time, coloured by phase, for every flight, saved to inference/Results/ (gitignored)
  • Tests run on a hand-built flight with a known leg sequence
Lingua principale
Rust
Stelle
4
Fork
8
Merge medio
3g 12h
PR unite (30g)
16

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di oss-slu/PilotDataSynchronization

Tutte le issue di oss-slu/PilotDataSynchronization

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.