Team Ai
Datasetpublic

juliensimon/constellation-tle-latest

Constellation TLEs -- 18 Satellite Constellations Credit: NASA Part of the Orbital Mechanics Datasets collection on Hugging Face. Dataset description Daily Two-Line Element (TLE) snapshots for 18 satellite constellations sourced from CelesTrak. Covers GNSS navigation (GPS, Galileo, BeiDou, GLONASS, SBAS), LEO broadband (OneWeb, Kuiper, Qianfan, Hulianwang), LEO communications (Iridium, Globalstar, ORBCOMM), Earth observation (Planet Labs, Spire Global)… See the full description on the dataset page: https://huggingface.co/datasets/juliensimon/constellation-tle-latest.

sourceHugging Facecc-by-4.0updated 10h agoView on Hugging Face
1likes1.2kdownloads
Dataset Card

Constellation TLEs -- 18 Satellite Constellations

<div align="center"> <img src="banner.jpg" alt="An orbital sunrise illuminates the Earth's atmosphere, seen from the ISS" width="400"> <p><em>Credit: NASA</em></p> </div>

Part of the [Orbital Mechanics Datasets](https://huggingface.co/collections/juliensimon/orbital-mechanics-datasets-69c24caca4ab3934c9856994) collection on Hugging Face.

Dataset description

Daily Two-Line Element (TLE) snapshots for 18 satellite constellations sourced from CelesTrak. Covers GNSS navigation (GPS, Galileo, BeiDou, GLONASS, SBAS), LEO broadband (OneWeb, Kuiper, Qianfan, Hulianwang), LEO communications (Iridium, Globalstar, ORBCOMM), Earth observation (Planet Labs, Spire Global), and GEO communications (SES, Intelsat, Eutelsat, Telesat).

Two-Line Element sets (TLEs) are the standard format for representing satellite orbital elements, developed by NORAD and used universally with the SGP4/SDP4 propagation model. This dataset provides daily-fresh TLEs for every major non-Starlink constellation in orbit, organized by operator for easy access.

Raw .tle files are provided alongside Parquet for maximum compatibility: orbit propagation libraries like python-sgp4, orekit, and STK consume the standard three-line TLE format directly. Because TLE accuracy degrades rapidly (especially for LEO objects), daily updates are essential for operational applications.

Starlink TLEs are published separately in starlink-tle-latest due to the constellation's size (7,000+ satellites).

Constellations

ConstellationOperatorOrbitSatellites
OneWebEutelsat OneWebLEO651
KuiperAmazonLEO391
Qianfan (G60)Shanghai SpacecomLEO238
Hulianwang (GuoWang)China SatNetLEO198
Iridium NEXTIridiumLEO80
GlobalstarGlobalstarLEO28
ORBCOMMORBCOMMLEO14
Planet LabsPlanet LabsLEO115
Spire GlobalSpire GlobalLEO92
GPS (NAVSTAR)USSFMEO40
GalileoEU/ESAMEO49
BeiDouCNSAMEO/GEO56
SBASVariousGEO6
SESSESGEO69
IntelsatIntelsatGEO26
EutelsatEutelsatGEO28
TelesatTelesatGEO/LEO4

Total: 2,085 satellites -- 1,807 LEO, 145 MEO, 133 GEO

Raw TLE files

For applications that consume standard 3-line TLE format (e.g., SGP4 propagators):

Schema (all configs)

ColumnTypeDescription
norad_cat_idint64NORAD catalog number -- unique integer assigned by US Space Command to every tracked object
namestringSatellite name as listed in Space-Track (e.g., 'STARLINK-1234', 'ONEWEB-0012', 'NAVSTAR 78')
constellationstringConstellation identifier (e.g., 'starlink', 'oneweb', 'planet', 'galileo')
line1stringTLE line 1 (69 characters): satellite number, classification, epoch, first/second derivative of mean motion, BSTAR drag term, element set number
line2stringTLE line 2 (69 characters): inclination, RAAN, eccentricity, argument of perigee, mean anomaly, mean motion (rev/day); use with SGP4 propagator
epoch_utctimestamp[ns, tz=UTC]TLE reference epoch in UTC; elements are most accurate within +/-1-2 days of this time

Quick stats

  • —2,085 satellites across 17 constellations
  • —1,807 LEO + 145 MEO + 133 GEO
  • —Snapshot: 2026-10-10 11:18 UTC

Usage

python
from datasets import load_dataset

# Load a specific constellation
gps = load_dataset("juliensimon/constellation-tle-latest", "gps", split="train")
oneweb = load_dataset("juliensimon/constellation-tle-latest", "oneweb", split="train")

# Use with sgp4 library for orbit propagation
from sgp4.api import Satrec
sat = Satrec.twoline2rv(gps[0]["line1"], gps[0]["line2"])

# Load all GNSS constellations
import pandas as pd
gnss = pd.concat([
    load_dataset("juliensimon/constellation-tle-latest", c, split="train").to_pandas()
    for c in ["gps", "galileo", "beidou", "glonass", "sbas"]
])
print(f"{len(gnss)} GNSS satellites")

# Compare constellation sizes with matplotlib
import matplotlib.pyplot as plt
sizes = {}
for config in ["oneweb", "iridium", "planet", "spire", "gps"]:
    ds = load_dataset("juliensimon/constellation-tle-latest", config, split="train")
    sizes[config] = len(ds)
plt.bar(sizes.keys(), sizes.values())
plt.ylabel("Satellites")
plt.title("Constellation Sizes")
plt.show()

Data source

CelesTrak (Dr. T.S. Kelso), mirroring NORAD/18th Space Defense Squadron data. No authentication required.

Update schedule

Daily at 05:30 UTC via GitHub Actions.

Related datasets

Citation

bibtex
@dataset{constellation_tle_latest,
  title = {Constellation TLEs -- 18 Satellite Constellations},
  author = {Simon, Julien},
  year = {2026},
  url = {https://huggingface.co/datasets/juliensimon/constellation-tle-latest},
  publisher = {Hugging Face}
}

License

CC-BY-4.0