About

The application

The Orbit Orchestra visualises thousands of objects currently in Earth orbit (satellites, space stations, and debris) as a real-time three-dimensional scene. Their positions are not streamed live; instead, the application uses the mathematics of orbital mechanics to calculate where each object should be at any given moment, based on periodically updated orbital data.

The result is a kind of silent choreography: the continuous, predictable motion of everything humanity has placed in the sky.

Controls

HUD controls

Scene

Satellites & orbits

A satellite stays in orbit because it moves fast enough sideways that, as it falls toward Earth, the planet's surface curves away beneath it. The higher the orbit, the slower the required speed, and the longer the orbital period.

Orbits are broadly divided into three zones:

Some orbits are highly elliptical, swinging from a low perigee to a high apogee. The Russian Molniya satellites used such orbits to achieve long visibility windows over high northern latitudes where geostationary orbit is impractical.

A satellite's inclination is the angle between its orbital plane and Earth's equator. An inclination of 0° means the satellite flies directly above the equator; 90° is a polar orbit that passes over both poles; 98° is a sun-synchronous orbit, tilted just past polar so the satellite always crosses the same latitude at the same local solar time.

TLE data and SGP4

Orbital positions in this application are computed from Two-Line Element sets (TLEs): a compact format that encodes the parameters needed to describe an orbit, along with drag and correction terms. TLEs are updated regularly by space-tracking agencies and distributed through services such as the KeepTrack API.

The propagation algorithm is SGP4 (Simplified General Perturbations 4), a mathematical model that accounts for atmospheric drag, Earth's non-spherical shape, and solar/lunar gravitational effects. Given a TLE and a timestamp, SGP4 computes where the satellite is without needing a live telemetry feed.

TLE data ages. A TLE that is several days old will produce a less accurate position, particularly for LEO satellites affected by atmospheric drag. The information panel shows the age of each satellite's TLE.

Groups

Objects are organised into groups based on their function or origin. Each group has its own colour in the visualisation.

Navigation

Weather & Earth observation

Communications

Science

Special

Debris

These groups contain tracked fragments from specific collision or destruction events. They represent some of the most significant debris-generating incidents in spaceflight history.

Data sources

Orbital element sets (TLEs) are sourced from the KeepTrack API v4, maintained by Theodore Kruczek. The full catalog (~30,000 objects) is fetched once per hour, parsed from 3-line TLE format, and cached server-side. Individual groups are filtered from this catalog by name, NORAD number, or orbital parameters, and also cached for one hour.

Orbital propagation uses satellite.js, a JavaScript implementation of the SGP4/SDP4 algorithm. Country outlines are from Natural Earth via world-atlas. The 3D globe is rendered with Three.js.

The starfield uses the HYG Database (Hipparcos, Yale Bright Star Catalog, Gliese Catalogue of Nearby Stars), compiled by David Nash. Star positions, magnitudes, and colour indices are drawn from this catalog. Moon position is calculated using a simplified version of the algorithm described in Jean Meeus, Astronomical Algorithms (2nd ed., 1998).