oxzoid/space-track-tle-history
收藏Hugging Face2026-04-02 更新2026-04-12 收录
下载链接:
https://hf-mirror.com/datasets/oxzoid/space-track-tle-history
下载链接
链接失效反馈官方服务:
资源简介:
---
license: cc-by-4.0
task_categories:
- time-series-forecasting
- tabular-regression
tags:
- space
- satellites
- orbital-mechanics
- tle
- space-debris
- space-situational-awareness
size_categories:
- 100M<n<1B
configs:
- config_name: default
data_files:
- split: train
path: data/tle_*.parquet
---
# Space-Track TLE History

Complete archive of Two-Line Element (TLE) orbital data for every tracked object in Earth orbit, from 1959 to 2026. Sourced from Space-Track.org bulk exports.
## Quick Start
```python
from datasets import load_dataset
# Load a specific year
ds = load_dataset("juliensimon/space-track-tle-history", data_files="data/tle_2024.parquet")
# Load everything (238M rows — use streaming for large-scale analysis)
ds = load_dataset("juliensimon/space-track-tle-history", streaming=True)
```
## Examples
### Track the ISS across 27 years of orbital data
```python
import duckdb
conn = duckdb.connect()
# ISS = NORAD 25544, launched 1998
iss = conn.sql("""
SELECT YEAR(epoch) as year, COUNT(*) as updates,
ROUND(AVG(altitude_km), 1) as avg_alt_km,
ROUND(MIN(altitude_km), 1) as min_alt_km
FROM read_parquet('hf://datasets/juliensimon/space-track-tle-history/data/tle_*.parquet')
WHERE norad_id = 25544
GROUP BY year ORDER BY year
""").df()
print(iss)
# year updates avg_alt min_alt max_alt
# 1998 190 374.6 183.8 404.7 ← initial orbit after Zarya launch
# 2006 2348 342.2 331.3 349.6 ← low point before reboost campaign
# 2011 2109 369.2 345.2 388.5 ← gradual raising begins
# 2018 1829 409.5 408.1 411.4 ← stabilized at ~410 km
# 2025 1617 421.8 416.5 424.9 ← current altitude
```
### Watch Skylab's reentry spiral (1973–1979)
```python
# Skylab 1 = NORAD 6633, decayed July 11, 1979
skylab = conn.sql("""
SELECT epoch, altitude_km, mean_motion, eccentricity
FROM read_parquet('hf://datasets/juliensimon/space-track-tle-history/data/tle_197*.parquet')
WHERE norad_id = 6633
ORDER BY epoch
""").df()
# 838 TLE records tracking Skylab's descent from 430 km to reentry:
# 1973: avg 431.6 km (just launched)
# 1976: avg 419.1 km (slowly decaying)
# 1978: avg 386.5 km (drag accelerating)
# 1979: avg 327.6 km, min 227.8 km (final months before July 11 reentry)
```
### Measure the Cosmos-Iridium collision debris cloud
```python
# On Feb 10, 2009, Cosmos 2251 and Iridium 33 collided at 790 km altitude.
# Use the SATCAT dataset to identify debris fragments, then track them in TLE history.
debris = conn.sql("""
WITH debris_ids AS (
SELECT norad_id,
CASE WHEN intl_designator LIKE '93036%' THEN 'Cosmos 2251'
WHEN intl_designator LIKE '97051%' THEN 'Iridium 33' END as source
FROM read_parquet('hf://datasets/juliensimon/space-track-satcat/data/satcat.parquet')
WHERE (intl_designator LIKE '93036%' OR intl_designator LIKE '97051%')
AND object_type = 'DEB'
)
SELECT d.source, YEAR(t.epoch) as year,
COUNT(DISTINCT t.norad_id) as tracked_fragments,
ROUND(AVG(t.altitude_km), 0) as avg_alt_km
FROM read_parquet('hf://datasets/juliensimon/space-track-tle-history/data/tle_*.parquet') t
JOIN debris_ids d ON t.norad_id = d.norad_id
GROUP BY d.source, year ORDER BY d.source, year
""").df()
print(debris)
# Cosmos 2251: 2 fragments pre-collision → 1,143 in 2009 → 670 in 2025 (decaying)
# Iridium 33: 0 pre-collision → 489 in 2009 → 131 in 2025
# Fragments slowly reenter: avg altitude drifts from 750 km down to 675 km
```
## Dataset Description
238 million TLE records spanning 68 years (1959–2026), covering 50,000+ tracked objects including active satellites, rocket bodies, and debris. One zstd-compressed Parquet file per year, 11 GB total. Raw orbital elements with no filtering or derived classifications.
This is the largest publicly available, ML-ready orbital element dataset. It covers the entire history of spaceflight from the earliest tracked objects to today's mega-constellations.
## Schema
| Column | Type | Description |
|--------|------|-------------|
| `norad_id` | int32 | NORAD catalog number (unique object ID) |
| `epoch` | timestamp[us, UTC] | TLE epoch — when the orbital elements were measured |
| `inclination` | float32 | Orbital inclination (degrees) |
| `raan` | float32 | Right ascension of ascending node (degrees) |
| `eccentricity` | float32 | Orbital eccentricity |
| `arg_perigee` | float32 | Argument of perigee (degrees) |
| `mean_anomaly` | float32 | Mean anomaly (degrees) |
| `mean_motion` | float64 | Mean motion (revolutions/day) |
| `mean_motion_dot` | float64 | First derivative of mean motion (rev/day²) — drag indicator |
| `bstar` | float64 | B* drag term — atmospheric drag coefficient |
| `intl_designator` | string | International designator (e.g., "98-067A" for ISS) |
| `altitude_km` | float32 | Derived perigee altitude (km) from Kepler's third law |
## What's In Here
The dataset includes every object tracked by the US Space Surveillance Network:
- **Active satellites**: Starlink, OneWeb, GPS, Galileo, ISS, Hubble, and thousands more
- **Rocket bodies**: upper stages from launches dating back to the 1960s
- **Debris**: fragments from collisions (e.g., Cosmos-Iridium 2009), ASAT tests (e.g., Fengyun-1C 2007), and breakup events
- **Decayed objects**: historical records of objects that have since reentered the atmosphere
## Use Cases
- **Orbit prediction**: train ML models to predict future orbital elements from historical trajectories
- **Collision risk assessment**: analyze conjunction events and close approaches
- **Debris tracking**: study the growth and evolution of orbital debris populations
- **Atmospheric drag modeling**: use B* and mean motion derivatives to study atmospheric density variations
- **Constellation analysis**: track the deployment and evolution of satellite constellations
- **Reentry prediction**: identify deorbiting objects from altitude decay patterns
- **Space traffic management**: analyze orbital shell congestion over time
- **Astrodynamics research**: benchmark orbit determination and propagation algorithms
## Updates
This dataset is updated **yearly** when Space-Track publishes new bulk exports. The TLE archive is append-only — historical data does not change. See the [pipeline repo](https://github.com/juliensimon/space-datasets) for the build script.
## Data Source
All orbital elements originate from the **US Space Surveillance Network** and are distributed by [Space-Track.org](https://www.space-track.org/), operated by the **18th Space Defense Squadron, United States Space Force**.
The data was collected from Space-Track's yearly bulk TLE exports, which contain raw two-line element sets for all cataloged objects. Each TLE set represents a single orbital state observation at a specific epoch.
## How to Propagate
TLE data is designed to be used with the SGP4/SDP4 propagator. To compute satellite positions:
```python
from sgp4.api import Satrec, jday
# Reconstruct TLE lines from the dataset fields for SGP4 propagation
# Or use the orbital elements directly for analytical studies
```
Note: TLE accuracy degrades with time from epoch. For positions, propagate from the nearest epoch. For historical analysis, the orbital elements themselves (altitude, inclination, eccentricity) are directly usable without propagation.
## File Sizes
Early years are small (few tracked objects); recent years are large (10,000+ active objects with frequent updates):
| Decade | Typical Year Size | Objects |
|--------|-------------------|---------|
| 1960s | 1–5 MB | ~200 |
| 1980s | 30–80 MB | ~5,000 |
| 2000s | 150–260 MB | ~10,000 |
| 2020s | 750–990 MB | ~25,000+ |
| 2026 | 256 MB (partial, Jan–Mar) | ~28,000 |
## Related Datasets
- **[space-track-satcat](https://huggingface.co/datasets/juliensimon/space-track-satcat)** — 68k objects with name, type, owner, launch/decay date. Join on `norad_id`.
- **[space-launch-log](https://huggingface.co/datasets/juliensimon/space-launch-log)** — 75k launches from 1942 to present
- **[starlink-fleet-data](https://huggingface.co/datasets/juliensimon/starlink-fleet-data)** — Enriched Starlink data with status classification and ISL capability
Dataset pipelines: [GitHub: juliensimon/space-datasets](https://github.com/juliensimon/space-datasets)
## License
CC-BY-4.0. Orbital element data is sourced from the US government (public domain) via Space-Track.org.
## Citation
```bibtex
@dataset{space_track_tle_history,
title={Space-Track TLE History: Complete Orbital Element Archive (1959–2026)},
author={Julien Simon},
year={2026},
url={https://huggingface.co/datasets/juliensimon/space-track-tle-history},
note={Orbital elements from Space-Track.org (18th Space Defense Squadron, USSF)}
}
```
提供机构:
oxzoid



