Capstone 2 · Certified Orbital Analyst

Ground-Track Coverage Tool

Given any TLE, produce ground track + coverage + country-overflight table.

The brief

Build a Python tool that, given any TLE as input, outputs (1) the 24-hour ground track as a GeoJSON LineString with timestamped vertices, (2) a coverage polygon assuming a 1000-km swath sensor, (3) a country-overflight table listing each country overflown with total dwell time in seconds. The country mapping must use the Natural Earth admin-0 boundary dataset (provided). Visualize the ground track on a Folium map, color-coded by altitude.

From Hawaiʻi — what this capstone asks of you

The Pacific is one ocean, but most country-overflight tables cut it down the middle. As you build the dwell-time tool, try a Pacific-centric projection (`+proj=merc +lon_0=180`). Run your tool against the ISS and ask: how many minutes per day does the ISS spend over the Pacific Ocean, vs. over land? Most people are surprised at the answer.

Rubric

  1. Tool runs from CLI: `python coverage_tool.py --tle path/to/tle.txt`
  2. Ground track GeoJSON is correctly geodesic (no straight-line shortcuts across the pole)
  3. Country dwell table is consistent with the ground track (per-country dwell ≤ total propagation time)
  4. Coverage polygon area is consistent with 1000-km swath × ground-track length
  5. Folium HTML map renders correctly with altitude-colored ground track

Deliverable

Python project (CLI + library) + sample outputs for ISS, Hubble, and a Starlink satellite

Dataset

https://github.com/ops-sketch/academy-labs/tree/main/capstones/02-coverage-tool

Earned credential

Successful completion of this capstone (all rubric items met) mints the Certified Orbital Analyst certificate at /academy/verify/{certId}/.

Submission. Certificate issuance is gated to LaunchDetect Gold ($9.99/month). Submit your capstone deliverable via the form at /academy/verify/ (coming soon — backend in v2). For now, build it, push to GitHub, and link it on your portfolio.
Where the lab work starts: Week 10 — Spaceports and orbits →
← Back to Orbital Analyst Full syllabus