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.orekit.files.rinex.navigation.IonosphereBDGIMMessage;
20 import org.orekit.files.rinex.navigation.RinexNavigation;
21 import org.orekit.files.rinex.navigation.RinexNavigationParser;
22 import org.orekit.files.rinex.navigation.parsers.RecordLineParser;
23 import org.orekit.files.rinex.navigation.parsers.ParseInfo;
24
25
26
27
28
29 public class BdgimParser extends RecordLineParser {
30
31
32 private final ParseInfo parseInfo;
33
34
35 private final IonosphereBDGIMMessage message;
36
37
38
39
40
41 public BdgimParser(final ParseInfo parseInfo, final IonosphereBDGIMMessage message) {
42 this.parseInfo = parseInfo;
43 this.message = message;
44 }
45
46
47 @Override
48 public void parseLine00() {
49 message.setTransmitTime(parseInfo.parseDate(message.getSystem()));
50 message.setAlphaI(0, parseInfo.parseDouble2(RinexNavigationParser.TEC));
51 message.setAlphaI(1, parseInfo.parseDouble3(RinexNavigationParser.TEC));
52 message.setAlphaI(2, parseInfo.parseDouble4(RinexNavigationParser.TEC));
53 }
54
55
56 @Override
57 public void parseLine01() {
58 message.setAlphaI(3, parseInfo.parseDouble1(RinexNavigationParser.TEC));
59 message.setAlphaI(4, parseInfo.parseDouble2(RinexNavigationParser.TEC));
60 message.setAlphaI(5, parseInfo.parseDouble3(RinexNavigationParser.TEC));
61 message.setAlphaI(6, parseInfo.parseDouble4(RinexNavigationParser.TEC));
62 }
63
64
65 @Override
66 public void parseLine02() {
67 message.setAlphaI(7, parseInfo.parseDouble1(RinexNavigationParser.TEC));
68 message.setAlphaI(8, parseInfo.parseDouble2(RinexNavigationParser.TEC));
69 parseInfo.closePendingRecord();
70 }
71
72
73 @Override
74 public void closeRecord(final RinexNavigation file) {
75 file.addBDGIMMessage(message);
76 }
77
78 }