UNPKG

@tubular/astronomy

Version:

Astronomical calculations for planetary positions, moon phases, eclipses, rise, transit, and set times, and more.

154 lines 5.94 kB
import { Angle, SphericalPosition, SphericalPosition3D } from '@tubular/math'; import { IAstroDataService } from './i-astro-data.service'; import { ISkyObserver } from './i-sky-observer'; export interface AsteroidCometElements { e: number; epoch: string | number; i: number; L: number; Tp: number; q: number; ω: number; } export interface AsteroidCometDescription { designation: string; G?: number; H?: number; name: string; } export interface AsteroidCometInfo { body: AsteroidCometDescription; elements: AsteroidCometElements[]; } export interface EclipseInfo { isSolar: boolean; pos: SphericalPosition3D; radius: number; shadowPos: SphericalPosition; penumbraRadius: number; umbraRadius: number; centerSeparation: number; penumbralSeparation: number; inPenumbra: boolean; umbralSeparation: number; inUmbra: boolean; total: boolean; totality?: number; penumbralMagnitude?: number; annular: boolean; hybrid: boolean; surfaceShadow: ISkyObserver; } export interface RingInfo { B: number; B1: number; P: number; a: number; b: number; dU: number; } export interface OrbitalElements { L: number; a: number; e: number; i: number; Ω: number; pi: number; ω: number; M: number; C: number; v: number; partial: boolean; } export interface Libration { l: number; b: number; d: number; D: number; } export interface EclipseCircumstances { annular: boolean; duration: number; firstContact: number; lastContact: number; maxEclipse: number; maxTime: number; peakDuration: number; peakEnds?: number; peakStarts?: number; penumbralDuration?: number; penumbralFirstContact?: number; penumbralLastContact?: number; } export declare function lecToString(lec: EclipseCircumstances): string; export declare class CircumstancesOfEclipse implements EclipseCircumstances { annular: boolean; duration: number; firstContact: number; lastContact: number; maxEclipse: number; maxTime: number; peakDuration: number; peakEnds?: number; peakStarts?: number; penumbralDuration?: number; penumbralFirstContact?: number; penumbralLastContact?: number; constructor(ec: EclipseCircumstances); toString(): string; } export declare class SolarSystem { static createSkyObserver: (longitude: number, latitude: number) => ISkyObserver; private static sharedAdditionalsInitPending; private static sharedAdditionalsPendingPromise; private static sharedAdditionals; private ecliptic; private moon; private planets; private pluto; private planetNames; private planetSymbols; private static getPrecision; static getGreenwichMeanSiderealTime(time_JDU: number): number; static isNominalPlanet(planet: number): boolean; static isTruePlanet(planet: number): boolean; static isAsteroid(planet: number): boolean; static isComet(planet: number): boolean; static getAsteroidCount(): number; static getCometCount(): number; static getAsteroidAndCometNames(forMenu?: boolean, shortMenuNames?: boolean): string[]; static isAsteroidOrComet(planet: number): boolean; static orbitsSun(planet: number): boolean; static getOrbitalElements(planet: number, time_JDE: number): OrbitalElements; static getHeliocentricPositionFromElements(oe: OrbitalElements): SphericalPosition3D; static getMeanOrbitalPeriod(planet: number): number; static getMeanConjunctionPeriod(planet: number): number; static initAsteroidsAndComets(dataService: IAstroDataService): Promise<boolean>; getPlanetName(planet: number): string; getPlanetByName(planetName: string): number; getPlanetSymbol(planet: number): string; getHeliocentricPosition(planet: number, time_JDE: number, flags?: number): SphericalPosition3D; getEclipticPosition(planet: number, time_JDE: number, observer?: ISkyObserver, flags?: number, earthTime?: number): SphericalPosition3D; getEquatorialPosition(planet: number, time_JDE: number, observer?: ISkyObserver, flags?: number): SphericalPosition3D; getGreenwichApparentSiderealTime(time_JDU: number): number; getHorizontalPosition(planet: number, time_JDU: number, observer: ISkyObserver, flags?: number): SphericalPosition3D; getHourAngle(planet: number, time_JDU: number, observer: ISkyObserver, flags?: number): Angle; getParallacticAngle(planet: number, time_JDU: number, observer: ISkyObserver, flags?: number): Angle; getLunarPhase(time_JDE: number): number; getLunarIlluminatedFraction(time_JDE: number): number; protected getCosPhaseAngle(planet: number, time_JDE: number): number; getPhaseAngle(planet: number, time_JDE: number): number; getIlluminatedFraction(planet: number, time_JDE: number): number; getSolarElongation(planet: number, time_JDE: number, observer?: ISkyObserver, flags?: number): number; getSolarElongationInLongitude(planet: number, time_JDE: number): number; getSaturnRingInfo(time_JDE: number): RingInfo; getMagnitude(planet: number, time_JDE: number): number; getAngularDiameter(planet: number, time_JDE: number, observer?: ISkyObserver, polarSize?: boolean): number; getLunarLibration(time_JDE: number, observer?: ISkyObserver): Libration; getLunarEclipseInfo(time_JDE: number, raw?: boolean): EclipseInfo; getSolarEclipseInfo(time_JDE: number, locateShadow?: boolean): EclipseInfo; getLunarEclipseTotality(time_JDE: number, raw?: boolean, penumbraMagnitude?: number[]): number; getLocalSolarEclipseTotality(time_JDE: number, observer: ISkyObserver, raw?: boolean, annularity?: number[]): number; getTimeForDegreesOfChange(bodyID: number, startTime_JDE: number, degrees: number, maxTime_JDE: number): number; } //# sourceMappingURL=solar-system.d.ts.map