s2-tools
Version:
A collection of geospatial tools primarily designed for WGS84, Web Mercator, and S2.
211 lines • 4.78 kB
TypeScript
import type { SGP4ErrorOutput, SGP4Output } from './propagation';
/**
* Classification of TLE
* - U: unclassified
* - C: classified
* - S: secret
*/
export type Classification = 'U' | 'C' | 'S';
/**
* Mode of operation AFSPC or Improved
* - a: afspc
* - i: improved
*/
export type OperationMode = 'a' | 'i';
/**
* Method of orbit determination
* - d: deep space
* - n: near earth
*/
export type Method = 'd' | 'n';
/** TLE Data Interface */
export interface TLEData {
name: string;
number: number;
class: Classification;
id: string;
date: string | Date;
fdmm: number;
sdmm: number;
drag: number;
ephemeris: number;
esn: number;
inclination: number;
ascension: number;
eccentricity: number;
perigee: number;
anomaly: number;
motion: number;
revolution: number;
rms?: number;
}
/** Celestrak TLE Data Interface */
export interface TLEDataCelestrak {
OBJECT_NAME: string;
OBJECT_ID: string;
EPOCH: string;
MEAN_MOTION: number;
ECCENTRICITY: number;
INCLINATION: number;
RA_OF_ASC_NODE: number;
ARG_OF_PERICENTER: number;
MEAN_ANOMALY: number;
EPHEMERIS_TYPE: number;
CLASSIFICATION_TYPE: string;
NORAD_CAT_ID: number;
ELEMENT_SET_NO: number;
REV_AT_EPOCH: number;
BSTAR: number;
MEAN_MOTION_DOT: number;
MEAN_MOTION_DDOT: number;
RMS: string;
DATA_SOURCE: string;
}
/**
* # Satellite Orbit Class
*
* Input TLE example
* STARLINK-1007
* 1 44713C 19074A 23048.53451389 -.00009219 00000+0 -61811-3 0 482
* 2 44713 53.0512 157.2379 0001140 81.3827 74.7980 15.06382459 15
*/
export declare class Satellite {
#private;
init: boolean;
name: string;
number: number;
class: Classification;
id: string;
date: Date;
epochyr: number;
epochdays: number;
jdsatepoch: number;
fdmm: number;
sdmm: number;
drag: number;
ephemeris: number;
esn: number;
inclination: number;
ascension: number;
eccentricity: number;
perigee: number;
anomaly: number;
motion: number;
revolution: number;
opsmode: OperationMode;
rms?: number;
isimp: number;
method: Method;
aycof: number;
con41: number;
cc1: number;
cc4: number;
cc5: number;
d2: number;
d3: number;
d4: number;
delmo: number;
eta: number;
argpdot: number;
omgcof: number;
sinmao: number;
t2cof: number;
t3cof: number;
t4cof: number;
t5cof: number;
x1mth2: number;
x7thm1: number;
mdot: number;
nodedot: number;
xlcof: number;
xmcof: number;
nodecf: number;
irez: number;
d2201: number;
d2211: number;
d3210: number;
d3222: number;
d4410: number;
d4422: number;
d5220: number;
d5232: number;
d5421: number;
d5433: number;
dedt: number;
del1: number;
del2: number;
del3: number;
didt: number;
dmdt: number;
dnodt: number;
domdt: number;
e3: number;
ee2: number;
peo: number;
pgho: number;
pho: number;
pinco: number;
plo: number;
se2: number;
se3: number;
sgh2: number;
sgh3: number;
sgh4: number;
sh2: number;
sh3: number;
si2: number;
si3: number;
sl2: number;
sl3: number;
sl4: number;
gsto: number;
xfact: number;
xgh2: number;
xgh3: number;
xgh4: number;
xh2: number;
xh3: number;
xi2: number;
xi3: number;
xl2: number;
xl3: number;
xl4: number;
xlamo: number;
zmol: number;
zmos: number;
atime: number;
xli: number;
xni: number;
/**
* Constructor
* @param data - TLE data or TLE string
* @param initialize - initialize the object on creation
*/
constructor(data: TLEData | string, initialize?: boolean);
/** API */
/**
* propagate the satellite's position and velocity given a Date input
* @param time - Date object
* @returns - SGP4ErrorOutput or SGP4Output
*/
propagate(time: Date): SGP4ErrorOutput | SGP4Output;
/**
* time in minutes since epoch
* @param time - time in minutes
* @returns - satellite state at that time
*/
sgp4(time: number): SGP4ErrorOutput | SGP4Output;
/**
* Converts satellite state to an array that is readable by the GPU
* @returns - satellite state in an array
*/
gpu(): number[];
}
/**
* Covnert Celestrak TLE data to a standard TLE data object
* [JSON example](https://celestrak.org/NORAD/elements/supplemental/index.php?FORMAT=json)
* @param data - Celestrak TLE data
* @returns - TLE data
*/
export declare function convertCelestrak(data: TLEDataCelestrak): TLEData;
//# sourceMappingURL=sat.d.ts.map