Orbital intelligence and space situational awareness tools
npm install @rotastellar/intelOrbital Intelligence & Space Situational Awareness
Track satellites, parse TLEs, analyze conjunctions, and detect orbital patterns.
``bash`
npm install @rotastellar/intel
`typescript
import { TLE } from '@rotastellar/intel';
// Parse a Two-Line Element set
const tleLines = [
"ISS (ZARYA)",
"1 25544U 98067A 24001.50000000 .00016717 00000-0 10270-3 0 9025",
"2 25544 51.6400 208.9163 0006703 40.5765 35.4667 15.49560927421258"
];
const tle = TLE.parse(tleLines);
console.log(Satellite: ${tle.name});NORAD ID: ${tle.noradId}
console.log();Inclination: ${tle.inclinationDeg.toFixed(2)}°
console.log();Period: ${tle.orbitalPeriodMinutes.toFixed(2)} minutes
console.log();
// Get position at epoch
const position = tle.propagate();
console.log(Position: ${position.latitude.toFixed(2)}°, ${position.longitude.toFixed(2)}°);`
`typescript
import { Tracker, GroundStation } from '@rotastellar/intel';
import { Position } from '@rotastellar/sdk';
// Create a tracker
const tracker = new Tracker();
tracker.addTle('ISS', tle);
// Get current position
const pos = tracker.getPosition('ISS');
// Calculate passes over a ground station
const gs = new GroundStation({
name: 'KSC',
position: new Position({ latitude: 28.5729, longitude: -80.6490, altitudeKm: 0.0 }),
minElevationDeg: 10.0
});
const passes = tracker.predictPasses('ISS', gs, { hours: 24 });
for (const p of passes) {
console.log(AOS: ${p.aos.toISOString()}, Max El: ${p.maxElevationDeg.toFixed(1)}°);`
}
`typescript
import { ConjunctionAnalyzer, RiskLevel } from '@rotastellar/intel';
const analyzer = new ConjunctionAnalyzer();
// Analyze collision probability
const conjunction = analyzer.analyze({
primaryId: 'ISS',
secondaryId: 'DEBRIS-12345',
missDistanceKm: 0.5,
relativeVelocityKmS: 10.0
});
console.log(Risk Level: ${conjunction.riskLevel});Collision Probability: ${conjunction.collisionProbability.toExponential(2)}
console.log();
if (conjunction.riskLevel === RiskLevel.CRITICAL) {
console.log('⚠️ Maneuver recommended!');
}
`
`typescript
import { PatternDetector, PatternType } from '@rotastellar/intel';
const detector = new PatternDetector();
// Detect maneuvers from TLE history
const patterns = await detector.detect({ satelliteId: 'STARLINK-1234', days: 30 });
for (const pattern of patterns) {
if (pattern.patternType === PatternType.ORBIT_RAISE) {
console.log(Orbit raise detected: +${pattern.deltaAltitudeKm.toFixed(1)} km);Maneuver: Δv = ${pattern.deltaVMs.toFixed(2)} m/s
} else if (pattern.patternType === PatternType.MANEUVER) {
console.log();``
}
}
- TLE Parsing — Full Two-Line Element support with SGP4 propagation
- Satellite Tracking — Real-time position and pass prediction
- Conjunction Analysis — Collision probability using NASA CARA methodology
- Pattern Detection — Maneuver detection, anomaly identification
- Website: https://rotastellar.com/products/orbital-intelligence
- Documentation: https://docs.rotastellar.com/sdks/node/intel
- Main SDK: https://www.npmjs.com/package/@rotastellar/sdk
Created by Subhadip Mitra at RotaStellar.
MIT License — Copyright (c) 2026 RotaStellar