astronomy-bundle
Version:
Bundle for astronomical calculations such as position of moon, sun and planets, sunrise, sunset or solar eclipses. Most of the calculations are based on Jean Meeus 'Astronomical Algorithms' book and the VSOP87 theory.
50 lines (49 loc) • 2.96 kB
TypeScript
import AstronomicalObject from '../astronomicalObject/AstronomicalObject';
import { EclipticSphericalCoordinates, RectangularCoordinates } from '../coordinates/types/CoordinateTypes';
import { Location } from '../earth/types/LocationTypes';
import TimeOfInterest from '../time/TimeOfInterest';
import GoldenHandle from './events/GoldenHandle';
import LunarV from './events/LunarV';
import LunarX from './events/LunarX';
import { SelenographicLocation } from './types/LocationTypes';
export default class Moon extends AstronomicalObject {
private readonly sun;
private readonly earth;
constructor(toi?: TimeOfInterest);
getHeliocentricEclipticRectangularJ2000Coordinates(): Promise<RectangularCoordinates>;
getHeliocentricEclipticRectangularDateCoordinates(): Promise<RectangularCoordinates>;
getHeliocentricEclipticSphericalJ2000Coordinates(): Promise<EclipticSphericalCoordinates>;
getHeliocentricEclipticSphericalDateCoordinates(): Promise<EclipticSphericalCoordinates>;
getGeocentricEclipticRectangularJ2000Coordinates(): Promise<RectangularCoordinates>;
getGeocentricEclipticRectangularDateCoordinates(): Promise<RectangularCoordinates>;
getGeocentricEclipticSphericalJ2000Coordinates(): Promise<EclipticSphericalCoordinates>;
getGeocentricEclipticSphericalDateCoordinates(): Promise<EclipticSphericalCoordinates>;
getApparentGeocentricEclipticSphericalCoordinates(): Promise<EclipticSphericalCoordinates>;
getTransit(location: Location): Promise<TimeOfInterest>;
getRise(location: Location, standardAltitude?: number): Promise<TimeOfInterest>;
getSet(location: Location, standardAltitude?: number): Promise<TimeOfInterest>;
getAngularDiameter(): Promise<number>;
getTopocentricAngularDiameter(location: Location): Promise<number>;
getElongation(): Promise<number>;
getTopocentricElongation(location: Location): Promise<number>;
getPhaseAngle(): Promise<number>;
getTopocentricPhaseAngle(location: Location): Promise<number>;
getIlluminatedFraction(): Promise<number>;
getTopocentricIlluminatedFraction(location: Location): Promise<number>;
getPositionAngleOfBrightLimb(): Promise<number>;
getTopocentricPositionAngleOfBrightLimb(location: Location): Promise<number>;
isWaxing(): Promise<boolean>;
isTopocentricWaxing(location: Location): Promise<boolean>;
getApparentMagnitude(): Promise<number>;
getTopocentricApparentMagnitude(location: Location): Promise<number>;
getUpcomingNewMoon(): TimeOfInterest;
getUpcomingFirstQuarter(): TimeOfInterest;
getUpcomingFullMoon(): TimeOfInterest;
getUpcomingLastQuarter(): TimeOfInterest;
getGeocentricLibration(): Promise<SelenographicLocation>;
getSelenographicLocationOfEarth(): Promise<SelenographicLocation>;
getSelenographicLocationOfSun(): Promise<SelenographicLocation>;
getGoldenHandle(): GoldenHandle;
getLunarX(): LunarX;
getLunarV(): LunarV;
}