1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.rinex.navigation.parsers.ionosphere;
18
19 import org.hipparchus.util.FastMath;
20 import org.orekit.files.rinex.navigation.IonosphereAij;
21 import org.orekit.files.rinex.navigation.IonosphereNequickGMessage;
22 import org.orekit.files.rinex.navigation.RinexNavigation;
23 import org.orekit.files.rinex.navigation.parsers.ParseInfo;
24 import org.orekit.files.rinex.navigation.parsers.RecordLineParser;
25 import org.orekit.files.rinex.utils.ParsingUtils;
26
27
28
29
30
31 public class NeQuickGParser extends RecordLineParser {
32
33
34 private final ParseInfo parseInfo;
35
36
37 private final IonosphereNequickGMessage message;
38
39
40
41
42
43 public NeQuickGParser(final ParseInfo parseInfo, final IonosphereNequickGMessage message) {
44 this.parseInfo = parseInfo;
45 this.message = message;
46 }
47
48
49 @Override
50 public void parseLine00() {
51 message.setTransmitTime(parseInfo.parseDate(message.getSystem()));
52 message.getAij().setAi0(parseInfo.parseDouble2(IonosphereAij.SFU));
53 message.getAij().setAi1(parseInfo.parseDouble3(IonosphereAij.SFU_PER_DEG));
54 message.getAij().setAi2(parseInfo.parseDouble4(IonosphereAij.SFU_PER_DEG2));
55 }
56
57
58 @Override
59 public void parseLine01() {
60 message.setFlags((int) FastMath.rint(ParsingUtils.parseDouble(parseInfo.getLine(), 4, 19)));
61 parseInfo.closePendingRecord();
62 }
63
64
65 @Override
66 public void closeRecord(final RinexNavigation file) {
67 file.addNequickGMessage(message);
68 }
69
70 }