Skip to main content

Import TLEs at scale

Difficulty: Intermediate. Time: about 20 minutes. Needs: a browser and a real catalog file (hundreds of TLEs); guest mode works.

You will import a large TLE catalog, read the per-record validation report the way an operator does, re-import a refreshed drop to see dedupe preserve your curation, and use visibility groups to keep a big scene workable.

1. Import the first file

  1. Open the Assets panel and import your catalog file (.tle, .3le, or .txt; three-line format with name lines is fine).
  2. Do not skip the validation report. Import is per record, never all-or-nothing: a 500-satellite file with three bad records imports 497 and names the three failures with their reason and the offending text.

Expected outcome: the accepted count matches your expectation, each failure is identifiable by satellite name or NORAD id, and the population appears under the import group.

2. Add more files

Import your remaining files the same way. Multiple files coexist naturally because identity is per orbit definition, not per file. If two files contain the same satellite, the later import updates the earlier asset in place rather than duplicating it.

Formats can mix: TLE files for satellites, CSV or JSON tables for ground stations and metadata. Tabular imports infer columns case-insensitively (id or name, latitude and longitude, type) and warn precisely about anything missing; tle_line1/tle_line2 columns promote a tabular row into full propagation. See Uploads and TLE ingestion.

3. Understand dedupe before you rely on it

Re-import one of your files unchanged, and watch what does not happen: no duplicates. The registry keeps one asset per physical orbit definition, and on re-import:

  • Unchanged records update in place, keeping their id, selection state, and visibility, including a deliberate hide.
  • Genuinely new records are added and made visible immediately.

This is the property that makes a weekly TLE drop a refresh instead of a mess: the 40 unchanged satellites keep your grouping and visibility choices; the two new ones show up flagged with fresh provenance.

4. Manage the population with visibility groups

With hundreds of assets, visibility is your working tool:

  1. In the Assets panel, toggle whole groups on and off; visibility state is remembered per asset and survives re-imports.
  2. Keep the working subset visible and hide the rest.
  3. Note the distinction that keeps analytics honest: group visibility is a rendering decision, not a filter. Analytics scope follows the active filters, and the assistant reports exactly which assets an action matched. Hiding a group declutters the globe; it does not exclude those assets from a fleet statistic unless your filter does.

Expected outcome: a globe showing only the subset you are studying, with assistant answers still stating their true scope.

5. Keep epochs healthy

Scale amplifies staleness. Two behaviors protect you, and you should verify both against your data:

  • Each satellite propagates only within a validity window of about 14 days around its own epoch.
  • Records more than 90 days behind the newest epoch in the catalog are treated as decayed and dropped from rendering rather than drawn in fictional positions.

Sort your source files by epoch age periodically and refresh the laggards; the satellite card shows epoch and epoch age for spot checks.

Troubleshooting
  • Accepted count lower than expected: read the rejection list; wrapped lines and id mismatches dominate. Fix the source file and re-import; dedupe makes re-import safe.
  • Import seemed to "lose" satellites: they are likely decayed records (epoch more than 90 days behind the newest) or hidden groups, not data loss; check the Assets panel and epoch ages.
  • Globe feels heavy: hide groups you are not studying, or drop the rendering quality tier in Settings; catalog-scale populations are batched for draw efficiency but visibility is still the biggest lever.
  • A re-import undid my curation: it should not; visibility and ids survive identical re-imports. If a record's orbit definition actually changed, it updates in place by design.

Where next

  • Assets for the registry model behind all of this.
  • Connect telemetry when the fleet stops being files and starts being a feed.