satcat
v2.1.0
Published
SATCAT (Satellite Catalogue) Format Parser
Maintainers
Readme
SATCAT (Satellite Catalogue)
- Format definition: https://celestrak.org/satcat/satcat-format.php
- Raw data (approx. 5MB): https://celestrak.org/pub/satcat.txt
NOTICE
The satellite catalog will run out of 5-digit catalog numbers at 69999, which is estimated to occur around 2026‑07‑20. At that point, newly cataloged objects will have 6-digit catalog numbers of 100000+ and GP data will not be available for them using the TLE format. CelesTrak developed new formats that removed this limitation in May 2020 and immediately began providing GP data in those formats for software developers. The same limitations apply to the legacy fixed-field SATCAT.
See https://celestrak.org/ for more information.
Install via npm
$ npm install --save satcatUsage
var Satcat = require( 'satcat' )Parsing a Stream
var parser = new Satcat.Parser()https.get( 'https://celestrak.org/pub/satcat.txt', function( response ) {
response.pipe( parser )
})parser.on( 'readable', function() {
var satellite = null
while( satellite = this.read() ) {
// ...
}
})Parsing a Record
var record = `1957-001B 00002 *D SPUTNIK 1 CIS 1957-10-04 TYMSC 1958-01-03 96.1 65.0 945 227 N/A `
var satellite = Satcat.Satellite.parse( record )Satellite {
id: '1957-001B',
catalogNumber: '00002',
multipleNames: false,
payload: true,
status: 'D',
name: 'SPUTNIK 1',
source: 'CIS',
launchDate: 1957-10-04T00:00:00.000Z,
launchSite: 'TYMSC',
decayDate: 1958-01-03T00:00:00.000Z,
orbitalPeriod: 96.1,
inclination: 65,
apogeeAltitude: 945,
perigeeAltitude: 227,
radarCrossSection: NaN,
orbitalStatus: ''
}Benchmarks
$ npm run benchmarkParsed 42972 records in 0.140 msExamples
node example/http- Streaming the Celestrak Satellite Cataloguenode example/file- Parsing & outputting the test data
