@astronomy-bundle/moon 9.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,191 @@
1
+ interface LatLon {
2
+ lat: number;
3
+ lon: number;
4
+ }
5
+ interface Location extends LatLon {
6
+ elevation: number;
7
+ }
8
+
9
+ type Time = {
10
+ year: number;
11
+ month: number;
12
+ day: number;
13
+ hour: number;
14
+ min: number;
15
+ sec: number;
16
+ };
17
+
18
+ declare class TimeOfInterest {
19
+ readonly time: Time;
20
+ readonly jd: number;
21
+ readonly T: number;
22
+ constructor(time: Time);
23
+ static fromCurrentTime(): TimeOfInterest;
24
+ static fromTime(year: number, month: number, day: number, hour?: number, min?: number, sec?: number): TimeOfInterest;
25
+ static fromDate(date: Date): TimeOfInterest;
26
+ static fromYearOfDay(year: number, dayOfYear: number): TimeOfInterest;
27
+ static fromJulianDay(jd: number): TimeOfInterest;
28
+ static fromJulianCenturiesJ2000(T: number): TimeOfInterest;
29
+ getTime(): Time;
30
+ getString(): string;
31
+ getDate(): Date;
32
+ getDecimalYear(): number;
33
+ getDayOfYear(): number;
34
+ getDayOfWeek(): number;
35
+ isLeapYear(): boolean;
36
+ getJulianDay(): number;
37
+ getJulianDay0(): number;
38
+ getJulianCenturiesJ2000(): number;
39
+ getJulianMillenniaJ2000(): number;
40
+ getGreenwichMeanSiderealTime(): number;
41
+ getGreenwichApparentSiderealTime(): number;
42
+ getLocalMeanSiderealTime(location: LatLon): number;
43
+ getLocalApparentSiderealTime(location: LatLon): number;
44
+ getDeltaT(): number;
45
+ }
46
+
47
+ interface RectangularCoordinates {
48
+ x: number;
49
+ y: number;
50
+ z: number;
51
+ }
52
+ interface EclipticSphericalCoordinates {
53
+ lon: number;
54
+ lat: number;
55
+ radiusVector: number;
56
+ }
57
+ interface EquatorialSphericalCoordinates {
58
+ rightAscension: number;
59
+ declination: number;
60
+ radiusVector: number;
61
+ }
62
+ interface LocalHorizontalCoordinates {
63
+ azimuth: number;
64
+ altitude: number;
65
+ radiusVector: number;
66
+ }
67
+
68
+ interface AstronomicalObjectInterface {
69
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
70
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
71
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
72
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
73
+ getGeocentricEquatorialSphericalJ2000Coordinates(): EquatorialSphericalCoordinates;
74
+ getGeocentricEquatorialSphericalDateCoordinates(): EquatorialSphericalCoordinates;
75
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
76
+ getApparentGeocentricEquatorialSphericalCoordinates(): EquatorialSphericalCoordinates;
77
+ getTopocentricEquatorialSphericalCoordinates(location: Location): EquatorialSphericalCoordinates;
78
+ getTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
79
+ getApparentTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
80
+ }
81
+
82
+ declare abstract class AstronomicalObject implements AstronomicalObjectInterface {
83
+ protected readonly toi: TimeOfInterest;
84
+ readonly name: string;
85
+ protected readonly jd: number;
86
+ protected readonly jd0: number;
87
+ protected readonly T: number;
88
+ protected readonly t: number;
89
+ protected constructor(toi?: TimeOfInterest, name?: string);
90
+ getTimeOfInterest(): TimeOfInterest;
91
+ abstract getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
92
+ abstract getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
93
+ abstract getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
94
+ abstract getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
95
+ abstract getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
96
+ abstract getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
97
+ abstract getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
98
+ abstract getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
99
+ getGeocentricEquatorialSphericalJ2000Coordinates(): EquatorialSphericalCoordinates;
100
+ getGeocentricEquatorialSphericalDateCoordinates(): EquatorialSphericalCoordinates;
101
+ getApparentGeocentricEclipticRectangularCoordinates(): RectangularCoordinates;
102
+ abstract getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
103
+ getApparentGeocentricEquatorialSphericalCoordinates(): EquatorialSphericalCoordinates;
104
+ getTopocentricEquatorialSphericalCoordinates(location: Location): EquatorialSphericalCoordinates;
105
+ getTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
106
+ getApparentTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
107
+ getDistanceToEarth(): number;
108
+ getApparentDistanceToEarth(): number;
109
+ getTopocentricDistanceToEarth(location: Location): number;
110
+ getLightTime(): number;
111
+ }
112
+
113
+ type Vsop87Element = Array<Array<number>>;
114
+ type Vsop87Group = Array<Vsop87Element>;
115
+ type Vsop87 = {
116
+ VSOP87_X: Vsop87Group;
117
+ VSOP87_Y: Vsop87Group;
118
+ VSOP87_Z: Vsop87Group;
119
+ };
120
+
121
+ declare abstract class EarthBase extends AstronomicalObject {
122
+ private readonly vsop87Date;
123
+ private readonly vsop87J2000;
124
+ protected constructor(toi: TimeOfInterest | undefined, vsop87Date: Vsop87, vsop87J2000: Vsop87);
125
+ getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
126
+ getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
127
+ getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
128
+ getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
129
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
130
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
131
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
132
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
133
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
134
+ getNutationInLongitude(): number;
135
+ getNutationInObliquity(): number;
136
+ getMeanObliquityOfEcliptic(): number;
137
+ getTrueObliquityOfEcliptic(): number;
138
+ }
139
+
140
+ declare abstract class SunBase extends AstronomicalObject {
141
+ private readonly earth;
142
+ protected constructor(toi: TimeOfInterest | undefined, earth: EarthBase);
143
+ getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
144
+ getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
145
+ getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
146
+ getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
147
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
148
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
149
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
150
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
151
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
152
+ getAngularDiameter(): number;
153
+ getTopocentricAngularDiameter(location: Location): number;
154
+ getApparentMagnitude(): number;
155
+ getTopocentricApparentMagnitude(): number;
156
+ }
157
+
158
+ declare abstract class MoonBase extends AstronomicalObject {
159
+ private readonly sun;
160
+ private readonly earth;
161
+ protected constructor(toi: TimeOfInterest | undefined, sun: SunBase, earth: EarthBase);
162
+ getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
163
+ getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
164
+ getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
165
+ getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
166
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
167
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
168
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
169
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
170
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
171
+ getAngularDiameter(): number;
172
+ getTopocentricAngularDiameter(location: Location): number;
173
+ getElongation(): number;
174
+ getTopocentricElongation(location: Location): number;
175
+ getPhaseAngle(): number;
176
+ getTopocentricPhaseAngle(location: Location): number;
177
+ getIlluminatedFraction(): number;
178
+ getTopocentricIlluminatedFraction(location: Location): number;
179
+ getPositionAngleOfBrightLimb(): number;
180
+ getTopocentricPositionAngleOfBrightLimb(location: Location): number;
181
+ isWaxing(): boolean;
182
+ isTopocentricWaxing(location: Location): boolean;
183
+ getApparentMagnitude(): number;
184
+ getTopocentricApparentMagnitude(location: Location): number;
185
+ getUpcomingNewMoon(): TimeOfInterest;
186
+ getUpcomingFirstQuarter(): TimeOfInterest;
187
+ getUpcomingFullMoon(): TimeOfInterest;
188
+ getUpcomingLastQuarter(): TimeOfInterest;
189
+ }
190
+
191
+ export { MoonBase as M, TimeOfInterest as T };
@@ -0,0 +1,191 @@
1
+ interface LatLon {
2
+ lat: number;
3
+ lon: number;
4
+ }
5
+ interface Location extends LatLon {
6
+ elevation: number;
7
+ }
8
+
9
+ type Time = {
10
+ year: number;
11
+ month: number;
12
+ day: number;
13
+ hour: number;
14
+ min: number;
15
+ sec: number;
16
+ };
17
+
18
+ declare class TimeOfInterest {
19
+ readonly time: Time;
20
+ readonly jd: number;
21
+ readonly T: number;
22
+ constructor(time: Time);
23
+ static fromCurrentTime(): TimeOfInterest;
24
+ static fromTime(year: number, month: number, day: number, hour?: number, min?: number, sec?: number): TimeOfInterest;
25
+ static fromDate(date: Date): TimeOfInterest;
26
+ static fromYearOfDay(year: number, dayOfYear: number): TimeOfInterest;
27
+ static fromJulianDay(jd: number): TimeOfInterest;
28
+ static fromJulianCenturiesJ2000(T: number): TimeOfInterest;
29
+ getTime(): Time;
30
+ getString(): string;
31
+ getDate(): Date;
32
+ getDecimalYear(): number;
33
+ getDayOfYear(): number;
34
+ getDayOfWeek(): number;
35
+ isLeapYear(): boolean;
36
+ getJulianDay(): number;
37
+ getJulianDay0(): number;
38
+ getJulianCenturiesJ2000(): number;
39
+ getJulianMillenniaJ2000(): number;
40
+ getGreenwichMeanSiderealTime(): number;
41
+ getGreenwichApparentSiderealTime(): number;
42
+ getLocalMeanSiderealTime(location: LatLon): number;
43
+ getLocalApparentSiderealTime(location: LatLon): number;
44
+ getDeltaT(): number;
45
+ }
46
+
47
+ interface RectangularCoordinates {
48
+ x: number;
49
+ y: number;
50
+ z: number;
51
+ }
52
+ interface EclipticSphericalCoordinates {
53
+ lon: number;
54
+ lat: number;
55
+ radiusVector: number;
56
+ }
57
+ interface EquatorialSphericalCoordinates {
58
+ rightAscension: number;
59
+ declination: number;
60
+ radiusVector: number;
61
+ }
62
+ interface LocalHorizontalCoordinates {
63
+ azimuth: number;
64
+ altitude: number;
65
+ radiusVector: number;
66
+ }
67
+
68
+ interface AstronomicalObjectInterface {
69
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
70
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
71
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
72
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
73
+ getGeocentricEquatorialSphericalJ2000Coordinates(): EquatorialSphericalCoordinates;
74
+ getGeocentricEquatorialSphericalDateCoordinates(): EquatorialSphericalCoordinates;
75
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
76
+ getApparentGeocentricEquatorialSphericalCoordinates(): EquatorialSphericalCoordinates;
77
+ getTopocentricEquatorialSphericalCoordinates(location: Location): EquatorialSphericalCoordinates;
78
+ getTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
79
+ getApparentTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
80
+ }
81
+
82
+ declare abstract class AstronomicalObject implements AstronomicalObjectInterface {
83
+ protected readonly toi: TimeOfInterest;
84
+ readonly name: string;
85
+ protected readonly jd: number;
86
+ protected readonly jd0: number;
87
+ protected readonly T: number;
88
+ protected readonly t: number;
89
+ protected constructor(toi?: TimeOfInterest, name?: string);
90
+ getTimeOfInterest(): TimeOfInterest;
91
+ abstract getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
92
+ abstract getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
93
+ abstract getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
94
+ abstract getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
95
+ abstract getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
96
+ abstract getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
97
+ abstract getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
98
+ abstract getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
99
+ getGeocentricEquatorialSphericalJ2000Coordinates(): EquatorialSphericalCoordinates;
100
+ getGeocentricEquatorialSphericalDateCoordinates(): EquatorialSphericalCoordinates;
101
+ getApparentGeocentricEclipticRectangularCoordinates(): RectangularCoordinates;
102
+ abstract getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
103
+ getApparentGeocentricEquatorialSphericalCoordinates(): EquatorialSphericalCoordinates;
104
+ getTopocentricEquatorialSphericalCoordinates(location: Location): EquatorialSphericalCoordinates;
105
+ getTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
106
+ getApparentTopocentricHorizontalCoordinates(location: Location): LocalHorizontalCoordinates;
107
+ getDistanceToEarth(): number;
108
+ getApparentDistanceToEarth(): number;
109
+ getTopocentricDistanceToEarth(location: Location): number;
110
+ getLightTime(): number;
111
+ }
112
+
113
+ type Vsop87Element = Array<Array<number>>;
114
+ type Vsop87Group = Array<Vsop87Element>;
115
+ type Vsop87 = {
116
+ VSOP87_X: Vsop87Group;
117
+ VSOP87_Y: Vsop87Group;
118
+ VSOP87_Z: Vsop87Group;
119
+ };
120
+
121
+ declare abstract class EarthBase extends AstronomicalObject {
122
+ private readonly vsop87Date;
123
+ private readonly vsop87J2000;
124
+ protected constructor(toi: TimeOfInterest | undefined, vsop87Date: Vsop87, vsop87J2000: Vsop87);
125
+ getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
126
+ getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
127
+ getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
128
+ getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
129
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
130
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
131
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
132
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
133
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
134
+ getNutationInLongitude(): number;
135
+ getNutationInObliquity(): number;
136
+ getMeanObliquityOfEcliptic(): number;
137
+ getTrueObliquityOfEcliptic(): number;
138
+ }
139
+
140
+ declare abstract class SunBase extends AstronomicalObject {
141
+ private readonly earth;
142
+ protected constructor(toi: TimeOfInterest | undefined, earth: EarthBase);
143
+ getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
144
+ getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
145
+ getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
146
+ getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
147
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
148
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
149
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
150
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
151
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
152
+ getAngularDiameter(): number;
153
+ getTopocentricAngularDiameter(location: Location): number;
154
+ getApparentMagnitude(): number;
155
+ getTopocentricApparentMagnitude(): number;
156
+ }
157
+
158
+ declare abstract class MoonBase extends AstronomicalObject {
159
+ private readonly sun;
160
+ private readonly earth;
161
+ protected constructor(toi: TimeOfInterest | undefined, sun: SunBase, earth: EarthBase);
162
+ getHeliocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
163
+ getHeliocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
164
+ getHeliocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
165
+ getHeliocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
166
+ getGeocentricEclipticRectangularJ2000Coordinates(): RectangularCoordinates;
167
+ getGeocentricEclipticRectangularDateCoordinates(): RectangularCoordinates;
168
+ getGeocentricEclipticSphericalJ2000Coordinates(): EclipticSphericalCoordinates;
169
+ getGeocentricEclipticSphericalDateCoordinates(): EclipticSphericalCoordinates;
170
+ getApparentGeocentricEclipticSphericalCoordinates(): EclipticSphericalCoordinates;
171
+ getAngularDiameter(): number;
172
+ getTopocentricAngularDiameter(location: Location): number;
173
+ getElongation(): number;
174
+ getTopocentricElongation(location: Location): number;
175
+ getPhaseAngle(): number;
176
+ getTopocentricPhaseAngle(location: Location): number;
177
+ getIlluminatedFraction(): number;
178
+ getTopocentricIlluminatedFraction(location: Location): number;
179
+ getPositionAngleOfBrightLimb(): number;
180
+ getTopocentricPositionAngleOfBrightLimb(location: Location): number;
181
+ isWaxing(): boolean;
182
+ isTopocentricWaxing(location: Location): boolean;
183
+ getApparentMagnitude(): number;
184
+ getTopocentricApparentMagnitude(location: Location): number;
185
+ getUpcomingNewMoon(): TimeOfInterest;
186
+ getUpcomingFirstQuarter(): TimeOfInterest;
187
+ getUpcomingFullMoon(): TimeOfInterest;
188
+ getUpcomingLastQuarter(): TimeOfInterest;
189
+ }
190
+
191
+ export { MoonBase as M, TimeOfInterest as T };