gnss-js 1.0.1 → 1.2.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.
- package/README.md +54 -0
- package/dist/analysis.cjs +3 -3
- package/dist/analysis.js +3 -3
- package/dist/{chunk-HKN3PUGN.js → chunk-5SPJH4MG.js} +35 -26
- package/dist/{chunk-WP2JFDLA.js → chunk-7EEWQ5DU.js} +93 -118
- package/dist/{chunk-SO3POWWR.js → chunk-G3N4S3DM.js} +2 -2
- package/dist/{chunk-7NOFXKET.js → chunk-HVXYFUCB.js} +72 -257
- package/dist/chunk-L5OUUNLT.js +198 -0
- package/dist/{chunk-HBLU2EJ4.js → chunk-OZCYOM5D.js} +1 -1
- package/dist/{chunk-4YN353Q7.js → chunk-VANVV4F7.js} +21 -7
- package/dist/{chunk-LWNTWBHB.js → chunk-W5WKEV7U.js} +3 -2
- package/dist/constants.cjs +3 -2
- package/dist/constants.js +7 -7
- package/dist/{ephemeris-C10stHhM.d.cts → ephemeris-Ohl6NAfw.d.cts} +11 -1
- package/dist/{ephemeris-C10stHhM.d.ts → ephemeris-Ohl6NAfw.d.ts} +11 -1
- package/dist/frames.cjs +250 -0
- package/dist/frames.d.cts +56 -0
- package/dist/frames.d.ts +56 -0
- package/dist/frames.js +222 -0
- package/dist/index.cjs +133 -152
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +96 -88
- package/dist/orbit.cjs +103 -7
- package/dist/orbit.d.cts +1 -1
- package/dist/orbit.d.ts +1 -1
- package/dist/orbit.js +3 -1
- package/dist/positioning.cjs +565 -0
- package/dist/positioning.d.cts +68 -0
- package/dist/positioning.d.ts +68 -0
- package/dist/positioning.js +206 -0
- package/dist/rinex.js +2 -2
- package/dist/rtcm3.cjs +116 -117
- package/dist/rtcm3.d.cts +9 -3
- package/dist/rtcm3.d.ts +9 -3
- package/dist/rtcm3.js +9 -2
- package/dist/signals.cjs +55 -26
- package/dist/signals.d.cts +26 -26
- package/dist/signals.d.ts +26 -26
- package/dist/signals.js +2 -1
- package/dist/time.js +20 -18
- package/package.json +11 -2
package/dist/index.js
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
connectToMountpoint,
|
|
3
|
+
fetchSourcetable,
|
|
4
|
+
parseSourcetable
|
|
5
|
+
} from "./chunk-BJHTBYNG.js";
|
|
1
6
|
import {
|
|
2
7
|
CompletenessAccumulator,
|
|
3
8
|
CycleSlipAccumulator,
|
|
4
9
|
MultipathAccumulator,
|
|
5
10
|
analyzeQuality
|
|
6
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-G3N4S3DM.js";
|
|
7
12
|
import {
|
|
8
13
|
frequencyLabel,
|
|
9
14
|
parseAntex
|
|
@@ -48,43 +53,71 @@ import {
|
|
|
48
53
|
phiBOCc,
|
|
49
54
|
phiBOCs,
|
|
50
55
|
phiBPSK
|
|
51
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-5SPJH4MG.js";
|
|
52
57
|
import {
|
|
53
58
|
Scale,
|
|
54
|
-
getBdsTime,
|
|
55
|
-
getDateFromBdsTime,
|
|
56
59
|
getDateFromDayOfWeek,
|
|
57
60
|
getDateFromDayOfYear,
|
|
58
|
-
getDateFromGalTime,
|
|
59
|
-
getDateFromGloN,
|
|
60
|
-
getDateFromGpsData,
|
|
61
|
-
getDateFromGpsTime,
|
|
62
61
|
getDateFromHourCode,
|
|
63
62
|
getDateFromJulianDate,
|
|
64
63
|
getDateFromMJD,
|
|
65
64
|
getDateFromMJD2000,
|
|
66
65
|
getDateFromRINEX,
|
|
67
|
-
getDateFromTai,
|
|
68
66
|
getDateFromTimeOfDay,
|
|
67
|
+
getDayOfWeek,
|
|
68
|
+
getDayOfYear,
|
|
69
|
+
getHourCode,
|
|
70
|
+
getJulianDate,
|
|
71
|
+
getMJD,
|
|
72
|
+
getMJD2000,
|
|
73
|
+
getRINEX,
|
|
74
|
+
getTimeOfDay,
|
|
75
|
+
getWeekOfYear
|
|
76
|
+
} from "./chunk-L5OUUNLT.js";
|
|
77
|
+
import {
|
|
78
|
+
deg2dms,
|
|
79
|
+
deg2rad,
|
|
80
|
+
euclidean3D,
|
|
81
|
+
geodeticToGeohash,
|
|
82
|
+
geodeticToMaidenhead,
|
|
83
|
+
geodeticToUtm,
|
|
84
|
+
greatCircleMidpoint,
|
|
85
|
+
horizonDistance,
|
|
86
|
+
rad2deg,
|
|
87
|
+
rhumbLine,
|
|
88
|
+
vincenty
|
|
89
|
+
} from "./chunk-MIIM4LDY.js";
|
|
90
|
+
import {
|
|
91
|
+
computeAllPositions,
|
|
92
|
+
computeDop,
|
|
93
|
+
computeLiveSkyPositions,
|
|
94
|
+
computeSatPosition,
|
|
95
|
+
ecefToAzEl,
|
|
96
|
+
glonassPosition,
|
|
97
|
+
keplerPosition,
|
|
98
|
+
navTimesFromEph,
|
|
99
|
+
selectEphemeris
|
|
100
|
+
} from "./chunk-VANVV4F7.js";
|
|
101
|
+
import {
|
|
102
|
+
getBdsTime,
|
|
103
|
+
getDateFromBdsTime,
|
|
104
|
+
getDateFromGalTime,
|
|
105
|
+
getDateFromGloN,
|
|
106
|
+
getDateFromGpsData,
|
|
107
|
+
getDateFromGpsTime,
|
|
108
|
+
getDateFromTai,
|
|
69
109
|
getDateFromTt,
|
|
70
110
|
getDateFromUnixTime,
|
|
71
111
|
getDateFromUtc,
|
|
72
|
-
getDayOfWeek,
|
|
73
|
-
getDayOfYear,
|
|
74
112
|
getGalTime,
|
|
75
113
|
getGloN4,
|
|
76
114
|
getGloNA,
|
|
77
115
|
getGpsLeap,
|
|
78
116
|
getGpsTime,
|
|
79
|
-
getHourCode,
|
|
80
117
|
getHoursFromTimeDifference,
|
|
81
|
-
getJulianDate,
|
|
82
118
|
getLeap,
|
|
83
|
-
getMJD,
|
|
84
|
-
getMJD2000,
|
|
85
119
|
getMinutesFromTimeDifference,
|
|
86
120
|
getNtpTime,
|
|
87
|
-
getRINEX,
|
|
88
121
|
getSecondsFromTimeDifference,
|
|
89
122
|
getTaiDate,
|
|
90
123
|
getTimeDifference,
|
|
@@ -93,54 +126,27 @@ import {
|
|
|
93
126
|
getTimeDifferenceFromMinutes,
|
|
94
127
|
getTimeDifferenceFromObject,
|
|
95
128
|
getTimeDifferenceFromSeconds,
|
|
96
|
-
getTimeOfDay,
|
|
97
129
|
getTimeOfWeek,
|
|
98
130
|
getTotalDaysFromTimeDifference,
|
|
99
131
|
getTtDate,
|
|
100
132
|
getUnixTime,
|
|
101
133
|
getUtcDate,
|
|
102
|
-
getWeekNumber
|
|
103
|
-
|
|
104
|
-
} from "./chunk-7NOFXKET.js";
|
|
134
|
+
getWeekNumber
|
|
135
|
+
} from "./chunk-HVXYFUCB.js";
|
|
105
136
|
import {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
greatCircleMidpoint,
|
|
113
|
-
horizonDistance,
|
|
114
|
-
rad2deg,
|
|
115
|
-
rhumbLine,
|
|
116
|
-
vincenty
|
|
117
|
-
} from "./chunk-MIIM4LDY.js";
|
|
137
|
+
clampUnit,
|
|
138
|
+
ecefToGeodetic,
|
|
139
|
+
geodeticToEcef,
|
|
140
|
+
getAer,
|
|
141
|
+
getEnuDifference
|
|
142
|
+
} from "./chunk-37QNKGTC.js";
|
|
118
143
|
import "./chunk-5S5MONFK.js";
|
|
119
144
|
import {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
MILLISECONDS_IN_MINUTE,
|
|
126
|
-
MILLISECONDS_IN_SECOND,
|
|
127
|
-
MILLISECONDS_IN_WEEK,
|
|
128
|
-
MILLISECONDS_TT_TAI,
|
|
129
|
-
RINEX_CODES,
|
|
130
|
-
SECONDS_IN_DAY,
|
|
131
|
-
SECONDS_IN_HOUR,
|
|
132
|
-
SECONDS_IN_MINUTE,
|
|
133
|
-
SECONDS_IN_WEEK,
|
|
134
|
-
START_BDS_TIME,
|
|
135
|
-
START_GAL_TIME,
|
|
136
|
-
START_GLO_LEAP,
|
|
137
|
-
START_GPS_TIME,
|
|
138
|
-
START_JULIAN_TAI,
|
|
139
|
-
START_MJD_UNIX_SECONDS,
|
|
140
|
-
START_NTP_TIME,
|
|
141
|
-
START_TAI_TIME,
|
|
142
|
-
START_UNIX_TIME
|
|
143
|
-
} from "./chunk-LEEU5OIO.js";
|
|
145
|
+
WGS84_ECCENTRICITY_SQUARED,
|
|
146
|
+
WGS84_FLATTENING,
|
|
147
|
+
WGS84_SEMI_MAJOR_AXIS,
|
|
148
|
+
WGS84_SEMI_MINOR_AXIS
|
|
149
|
+
} from "./chunk-6FAL6P4G.js";
|
|
144
150
|
import {
|
|
145
151
|
EMPTY_WARNINGS,
|
|
146
152
|
WarningAccumulator,
|
|
@@ -159,7 +165,7 @@ import {
|
|
|
159
165
|
parseRinexStream,
|
|
160
166
|
systemCmp,
|
|
161
167
|
systemName
|
|
162
|
-
} from "./chunk-
|
|
168
|
+
} from "./chunk-OZCYOM5D.js";
|
|
163
169
|
import {
|
|
164
170
|
BitReader,
|
|
165
171
|
RTCM3_MESSAGE_NAMES,
|
|
@@ -170,11 +176,39 @@ import {
|
|
|
170
176
|
decodeMsmFull,
|
|
171
177
|
msmEpochToDate,
|
|
172
178
|
readString,
|
|
179
|
+
reportDecodeError,
|
|
173
180
|
resetGloFreqCache,
|
|
174
181
|
rtcm3Constellation,
|
|
182
|
+
setGloFreqNumber,
|
|
183
|
+
setRtcm3DebugHandler,
|
|
175
184
|
updateStationMeta,
|
|
176
185
|
updateStreamStats
|
|
177
|
-
} from "./chunk-
|
|
186
|
+
} from "./chunk-7EEWQ5DU.js";
|
|
187
|
+
import {
|
|
188
|
+
DAYS_MJD2000_MJD,
|
|
189
|
+
DAYS_MJD_JULIAN,
|
|
190
|
+
MILLISECONDS_GPS_TAI,
|
|
191
|
+
MILLISECONDS_IN_DAY,
|
|
192
|
+
MILLISECONDS_IN_HOUR,
|
|
193
|
+
MILLISECONDS_IN_MINUTE,
|
|
194
|
+
MILLISECONDS_IN_SECOND,
|
|
195
|
+
MILLISECONDS_IN_WEEK,
|
|
196
|
+
MILLISECONDS_TT_TAI,
|
|
197
|
+
RINEX_CODES,
|
|
198
|
+
SECONDS_IN_DAY,
|
|
199
|
+
SECONDS_IN_HOUR,
|
|
200
|
+
SECONDS_IN_MINUTE,
|
|
201
|
+
SECONDS_IN_WEEK,
|
|
202
|
+
START_BDS_TIME,
|
|
203
|
+
START_GAL_TIME,
|
|
204
|
+
START_GLO_LEAP,
|
|
205
|
+
START_GPS_TIME,
|
|
206
|
+
START_JULIAN_TAI,
|
|
207
|
+
START_MJD_UNIX_SECONDS,
|
|
208
|
+
START_NTP_TIME,
|
|
209
|
+
START_TAI_TIME,
|
|
210
|
+
START_UNIX_TIME
|
|
211
|
+
} from "./chunk-LEEU5OIO.js";
|
|
178
212
|
import {
|
|
179
213
|
ARC_GAP_FACTOR,
|
|
180
214
|
BAND_LABELS,
|
|
@@ -196,36 +230,7 @@ import {
|
|
|
196
230
|
formatUTCTime,
|
|
197
231
|
getFreq,
|
|
198
232
|
gloFreq
|
|
199
|
-
} from "./chunk-
|
|
200
|
-
import {
|
|
201
|
-
computeAllPositions,
|
|
202
|
-
computeDop,
|
|
203
|
-
computeLiveSkyPositions,
|
|
204
|
-
computeSatPosition,
|
|
205
|
-
ecefToAzEl,
|
|
206
|
-
glonassPosition,
|
|
207
|
-
keplerPosition,
|
|
208
|
-
navTimesFromEph,
|
|
209
|
-
selectEphemeris
|
|
210
|
-
} from "./chunk-4YN353Q7.js";
|
|
211
|
-
import {
|
|
212
|
-
clampUnit,
|
|
213
|
-
ecefToGeodetic,
|
|
214
|
-
geodeticToEcef,
|
|
215
|
-
getAer,
|
|
216
|
-
getEnuDifference
|
|
217
|
-
} from "./chunk-37QNKGTC.js";
|
|
218
|
-
import {
|
|
219
|
-
WGS84_ECCENTRICITY_SQUARED,
|
|
220
|
-
WGS84_FLATTENING,
|
|
221
|
-
WGS84_SEMI_MAJOR_AXIS,
|
|
222
|
-
WGS84_SEMI_MINOR_AXIS
|
|
223
|
-
} from "./chunk-6FAL6P4G.js";
|
|
224
|
-
import {
|
|
225
|
-
connectToMountpoint,
|
|
226
|
-
fetchSourcetable,
|
|
227
|
-
parseSourcetable
|
|
228
|
-
} from "./chunk-BJHTBYNG.js";
|
|
233
|
+
} from "./chunk-W5WKEV7U.js";
|
|
229
234
|
export {
|
|
230
235
|
ARC_GAP_FACTOR,
|
|
231
236
|
BAND_LABELS,
|
|
@@ -413,10 +418,13 @@ export {
|
|
|
413
418
|
phiBPSK,
|
|
414
419
|
rad2deg,
|
|
415
420
|
readString,
|
|
421
|
+
reportDecodeError,
|
|
416
422
|
resetGloFreqCache,
|
|
417
423
|
rhumbLine,
|
|
418
424
|
rtcm3Constellation,
|
|
419
425
|
selectEphemeris,
|
|
426
|
+
setGloFreqNumber,
|
|
427
|
+
setRtcm3DebugHandler,
|
|
420
428
|
systemCmp,
|
|
421
429
|
systemName,
|
|
422
430
|
updateStationMeta,
|
package/dist/orbit.cjs
CHANGED
|
@@ -71,12 +71,103 @@ function ecefToGeodetic(x, y, z) {
|
|
|
71
71
|
return [lat, lon, alt];
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
+
// src/constants/time.ts
|
|
75
|
+
var MILLISECONDS_IN_SECOND = 1e3;
|
|
76
|
+
var MILLISECONDS_GPS_TAI = 19e3;
|
|
77
|
+
var START_GPS_TIME = /* @__PURE__ */ new Date("1980-01-06T00:00:00Z");
|
|
78
|
+
var START_BDS_TIME = /* @__PURE__ */ new Date("2006-01-01T00:00:14Z");
|
|
79
|
+
var START_NTP_TIME = /* @__PURE__ */ new Date("1900-01-01T00:00:00Z");
|
|
80
|
+
|
|
81
|
+
// src/time/gnss.ts
|
|
82
|
+
function getTaiDate(date) {
|
|
83
|
+
return new Date(date.getTime() + MILLISECONDS_GPS_TAI);
|
|
84
|
+
}
|
|
85
|
+
function getNtpTime(date) {
|
|
86
|
+
return getTaiDate(date).getTime() - START_NTP_TIME.getTime();
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// src/time/utc.ts
|
|
90
|
+
var LEAP_SECONDS_TABLE = [
|
|
91
|
+
[3692217600, 37],
|
|
92
|
+
// 1 Jan 2017
|
|
93
|
+
[3644697600, 36],
|
|
94
|
+
// 1 Jul 2015
|
|
95
|
+
[3550089600, 35],
|
|
96
|
+
// 1 Jul 2012
|
|
97
|
+
[3439756800, 34],
|
|
98
|
+
// 1 Jan 2009
|
|
99
|
+
[3345062400, 33],
|
|
100
|
+
// 1 Jan 2006
|
|
101
|
+
[3124137600, 32],
|
|
102
|
+
// 1 Jan 1999
|
|
103
|
+
[3076704e3, 31],
|
|
104
|
+
// 1 Jul 1997
|
|
105
|
+
[3029443200, 30],
|
|
106
|
+
// 1 Jan 1996
|
|
107
|
+
[2982009600, 29],
|
|
108
|
+
// 1 Jul 1994
|
|
109
|
+
[2950473600, 28],
|
|
110
|
+
// 1 Jul 1993
|
|
111
|
+
[2918937600, 27],
|
|
112
|
+
// 1 Jul 1992
|
|
113
|
+
[2871676800, 26],
|
|
114
|
+
// 1 Jan 1991
|
|
115
|
+
[2840140800, 25],
|
|
116
|
+
// 1 Jan 1990
|
|
117
|
+
[2776982400, 24],
|
|
118
|
+
// 1 Jan 1988
|
|
119
|
+
[2698012800, 23],
|
|
120
|
+
// 1 Jul 1985
|
|
121
|
+
[2634854400, 22],
|
|
122
|
+
// 1 Jul 1983
|
|
123
|
+
[2603318400, 21],
|
|
124
|
+
// 1 Jul 1982
|
|
125
|
+
[2571782400, 20],
|
|
126
|
+
// 1 Jul 1981
|
|
127
|
+
[2524521600, 19],
|
|
128
|
+
// 1 Jan 1980
|
|
129
|
+
[2492985600, 18],
|
|
130
|
+
// 1 Jan 1979
|
|
131
|
+
[2461449600, 17],
|
|
132
|
+
// 1 Jan 1978
|
|
133
|
+
[2429913600, 16],
|
|
134
|
+
// 1 Jan 1977
|
|
135
|
+
[2398291200, 15],
|
|
136
|
+
// 1 Jan 1976
|
|
137
|
+
[2366755200, 14],
|
|
138
|
+
// 1 Jan 1975
|
|
139
|
+
[2335219200, 13],
|
|
140
|
+
// 1 Jan 1974
|
|
141
|
+
[2303683200, 12],
|
|
142
|
+
// 1 Jan 1973
|
|
143
|
+
[2287785600, 11],
|
|
144
|
+
// 1 Jul 1972
|
|
145
|
+
[2272060800, 10]
|
|
146
|
+
// 1 Jan 1972
|
|
147
|
+
];
|
|
148
|
+
function getLeap(date) {
|
|
149
|
+
const ntp_time = getNtpTime(date);
|
|
150
|
+
for (const [timestamp, leapSeconds] of LEAP_SECONDS_TABLE) {
|
|
151
|
+
if (ntp_time / MILLISECONDS_IN_SECOND - leapSeconds >= timestamp) {
|
|
152
|
+
return leapSeconds;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return 8;
|
|
156
|
+
}
|
|
157
|
+
function getGpsLeap(date) {
|
|
158
|
+
const leap_seconds = getLeap(date);
|
|
159
|
+
if (leap_seconds < 0) return 0;
|
|
160
|
+
return leap_seconds - 19;
|
|
161
|
+
}
|
|
162
|
+
|
|
74
163
|
// src/orbit/index.ts
|
|
75
164
|
var GM_GPS = 3986005e8;
|
|
76
165
|
var GM_GAL = 3986004418e5;
|
|
77
166
|
var GM_BDS = 3986004418e5;
|
|
78
167
|
var GM_GLO = 39860044e7;
|
|
79
168
|
var OMEGA_E = 72921151467e-15;
|
|
169
|
+
var BDS_GEO_MAX_INCLINATION_RAD = 0.1;
|
|
170
|
+
var BDS_GEO_MIN_SEMIMAJOR_AXIS_M = 4e7;
|
|
80
171
|
var AE_GLO = 6378136;
|
|
81
172
|
var J2_GLO = 108263e-8;
|
|
82
173
|
var TWO_PI = 2 * Math.PI;
|
|
@@ -114,7 +205,7 @@ function keplerPosition(eph, t) {
|
|
|
114
205
|
const ik = eph.i0 + dik + eph.idot * tk;
|
|
115
206
|
const xp = rk * Math.cos(uk);
|
|
116
207
|
const yp = rk * Math.sin(uk);
|
|
117
|
-
const isBdsGeo = eph.system === "C" && Math.abs(eph.i0) <
|
|
208
|
+
const isBdsGeo = eph.system === "C" && Math.abs(eph.i0) < BDS_GEO_MAX_INCLINATION_RAD && a > BDS_GEO_MIN_SEMIMAJOR_AXIS_M;
|
|
118
209
|
if (isBdsGeo) {
|
|
119
210
|
const omegak2 = eph.omega0 + eph.omegaDot * tk - OMEGA_E * eph.toe;
|
|
120
211
|
const cosO2 = Math.cos(omegak2);
|
|
@@ -293,11 +384,13 @@ function selectEphemeris(ephemerides, prn, timeMs) {
|
|
|
293
384
|
}
|
|
294
385
|
function computeSatPosition(eph, timeMs) {
|
|
295
386
|
if (eph.system === "R" || eph.system === "S") {
|
|
296
|
-
|
|
387
|
+
const leapMs = getGpsLeap(new Date(timeMs)) * 1e3;
|
|
388
|
+
return glonassPosition(eph, (timeMs - leapMs) / 1e3);
|
|
297
389
|
}
|
|
298
|
-
const GPS_EPOCH =
|
|
390
|
+
const GPS_EPOCH = START_GPS_TIME.getTime();
|
|
299
391
|
const gpsSeconds = (timeMs - GPS_EPOCH) / 1e3;
|
|
300
|
-
|
|
392
|
+
let tow = gpsSeconds % (7 * 86400);
|
|
393
|
+
if (eph.system === "C") tow = (tow - 14 + 604800) % 604800;
|
|
301
394
|
return keplerPosition(eph, tow);
|
|
302
395
|
}
|
|
303
396
|
function navTimesFromEph(ephs) {
|
|
@@ -379,8 +472,8 @@ function selectBest(ephs, timeMs) {
|
|
|
379
472
|
}
|
|
380
473
|
return best;
|
|
381
474
|
}
|
|
382
|
-
var GPS_EPOCH_MS =
|
|
383
|
-
var BDS_EPOCH_MS =
|
|
475
|
+
var GPS_EPOCH_MS = START_GPS_TIME.getTime();
|
|
476
|
+
var BDS_EPOCH_MS = START_BDS_TIME.getTime();
|
|
384
477
|
var GAL_EPOCH_MS = GPS_EPOCH_MS;
|
|
385
478
|
function ephInfoToEphemeris(info) {
|
|
386
479
|
const sys = info.prn.charAt(0);
|
|
@@ -421,6 +514,9 @@ function ephInfoToEphemeris(info) {
|
|
|
421
514
|
}
|
|
422
515
|
if (info.sqrtA === void 0 || info.eccentricity === void 0 || info.inclination === void 0 || info.omega0 === void 0 || info.argPerigee === void 0 || info.meanAnomaly === void 0 || info.toe === void 0 || info.week === void 0)
|
|
423
516
|
return null;
|
|
517
|
+
if (info.eccentricity < 0 || info.eccentricity >= 1 || info.sqrtA < 3e3 || info.sqrtA > 9e3 || info.toe < 0 || info.toe > 604800) {
|
|
518
|
+
return null;
|
|
519
|
+
}
|
|
424
520
|
let epochMs;
|
|
425
521
|
const tocSec = info.toc ?? info.toe;
|
|
426
522
|
if (sys === "C") {
|
|
@@ -462,7 +558,7 @@ function ephInfoToEphemeris(info) {
|
|
|
462
558
|
};
|
|
463
559
|
}
|
|
464
560
|
function computeLiveSkyPositions(ephemerides, rxPos, cn0Map) {
|
|
465
|
-
const now = Date.now();
|
|
561
|
+
const now = Date.now() + getGpsLeap(/* @__PURE__ */ new Date()) * 1e3;
|
|
466
562
|
const result = [];
|
|
467
563
|
const [rxX, rxY, rxZ] = rxPos;
|
|
468
564
|
const [rxLat, rxLon] = ecefToGeodetic(rxX, rxY, rxZ);
|
package/dist/orbit.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris } from './nav-BAI1a9vK.cjs';
|
|
2
|
-
import { E as EphemerisInfo } from './ephemeris-
|
|
2
|
+
import { E as EphemerisInfo } from './ephemeris-Ohl6NAfw.cjs';
|
|
3
3
|
export { e as ecefToGeodetic, g as geodeticToEcef } from './ecef-CF0uAysr.cjs';
|
|
4
4
|
|
|
5
5
|
/**
|
package/dist/orbit.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { E as Ephemeris, G as GlonassEphemeris, K as KeplerEphemeris } from './nav-BAI1a9vK.js';
|
|
2
|
-
import { E as EphemerisInfo } from './ephemeris-
|
|
2
|
+
import { E as EphemerisInfo } from './ephemeris-Ohl6NAfw.js';
|
|
3
3
|
export { e as ecefToGeodetic, g as geodeticToEcef } from './ecef-CF0uAysr.js';
|
|
4
4
|
|
|
5
5
|
/**
|
package/dist/orbit.js
CHANGED
|
@@ -8,12 +8,14 @@ import {
|
|
|
8
8
|
keplerPosition,
|
|
9
9
|
navTimesFromEph,
|
|
10
10
|
selectEphemeris
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-VANVV4F7.js";
|
|
12
|
+
import "./chunk-HVXYFUCB.js";
|
|
12
13
|
import {
|
|
13
14
|
ecefToGeodetic,
|
|
14
15
|
geodeticToEcef
|
|
15
16
|
} from "./chunk-37QNKGTC.js";
|
|
16
17
|
import "./chunk-6FAL6P4G.js";
|
|
18
|
+
import "./chunk-LEEU5OIO.js";
|
|
17
19
|
export {
|
|
18
20
|
computeAllPositions,
|
|
19
21
|
computeDop,
|