Flight Trajectory Project
Overview
Extends the base flight example with satellite and beam geometry so you can experiment with richer trajectory analytics.
Demonstrates custom distribution logic that keeps all legs of a given flight on the same worker while balancing distance travelled across the cluster.
Ships ready-to-use waypoints, satellite catalogues and beam files to exercise the Explore cartography bundles (2D maps, 3D deck.gl, network overlays).
Manager (flight_trajectory.flight_trajectory)
Validates arguments such as number of flights, waypoint file, satellite data and beam catalogues before seeding
WorkDispatcher
.Normalises paths for managed machines, wipes/creates the dataframe export folder and exposes
from_toml
/to_toml
helpers so Execute snippets can persist configuration.Implements
build_distribution
which uses haversine distances to partition flights, guaranteeing that large trajectories are spread evenly.
Args (flight_trajectory.app_args)
Pydantic model capturing the extra artefacts required for this scenario (waypoints GeoJSON, beam CSV, satellite constellation definition, number of flights to replay).
Reuses
agi_env.app_args
helpers so serialization back toapp_settings.toml
stays consistent with the Streamlit UI.
Worker (flight_trajectory_worker.flight_trajectory_worker)
Extends
PolarsWorker
to enrich telemetry with beam/satellite metadata and produce the dataframes consumed by Explore’s 3D visualisations.Uses pre/post-install scripts to unpack heavy assets and includes Cython hooks for performance-critical sections.
Publishes per-flight metadata back to the manager so the Workplan viewer can highlight idle workers or overloaded partitions.
Assets & Tests
app_test.py
validates the install → distribute → run lifecycle.test/_test_*
modules cover the manager orchestration, worker calculations and dataset-specific helpers.src/app_settings.toml
documents the default Explore page selection (maps, network graphs, 3D deck.gl) shipped with the project.