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_tomlhelpers so Execute snippets can persist configuration.Implements
build_distributionwhich 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_argshelpers so serialization back toapp_settings.tomlstays consistent with the Streamlit UI.
Worker (flight_trajectory_worker.flight_trajectory_worker)
Extends
PolarsWorkerto 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.pyvalidates the install → distribute → run lifecycle.test/_test_*modules cover the manager orchestration, worker calculations and dataset-specific helpers.src/app_settings.tomldocuments the default Explore page selection (maps, network graphs, 3D deck.gl) shipped with the project.