1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.orekit.files.rinex.navigation.parsers.ephemeris;
18
19 import org.orekit.files.rinex.navigation.RinexNavigation;
20 import org.orekit.files.rinex.navigation.RinexNavigationParser;
21 import org.orekit.files.rinex.navigation.parsers.ParseInfo;
22 import org.orekit.propagation.analytical.gnss.data.NavICL1NvNavigationMessage;
23 import org.orekit.utils.units.Unit;
24
25
26
27
28
29
30 public class NavICL1NvParser extends CivilianNavigationParser<NavICL1NvNavigationMessage> {
31
32
33
34
35
36 public NavICL1NvParser(final ParseInfo parseInfo, final NavICL1NvNavigationMessage message) {
37 super(parseInfo, message);
38 }
39
40
41 @Override
42 public void parseLine05() {
43 final ParseInfo parseInfo = getParseInfo();
44 final NavICL1NvNavigationMessage message = getMessage();
45 message.setIDot(parseInfo.parseDouble1(RinexNavigationParser.RAD_PER_S));
46 message.setDeltaN0Dot(parseInfo.parseDouble2(RinexNavigationParser.RAD_PER_S2));
47 message.setReferenceSignalFlag(parseInfo.parseInt4());
48 }
49
50
51 @Override
52 public void parseLine06() {
53 final ParseInfo parseInfo = getParseInfo();
54 final NavICL1NvNavigationMessage message = getMessage();
55 final int uraIndex = parseInfo.parseInt1();
56 message.setUrai(uraIndex);
57 message.setL1SpsHealth(parseInfo.parseInt2());
58 message.setTGD(parseInfo.parseDouble3(Unit.SECOND));
59 message.setTGDSL5(parseInfo.parseDouble4(Unit.SECOND));
60 }
61
62
63 @Override
64 public void parseLine07() {
65 final ParseInfo parseInfo = getParseInfo();
66 final NavICL1NvNavigationMessage message = getMessage();
67 message.setIscSL1P(parseInfo.parseDouble1(Unit.SECOND));
68 message.setIscL1DL1P(parseInfo.parseDouble2(Unit.SECOND));
69 message.setIscL1PS(parseInfo.parseDouble3(Unit.SECOND));
70 message.setIscL1DS(parseInfo.parseDouble4(Unit.SECOND));
71 }
72
73
74 @Override
75 public void parseLine08() {
76 final ParseInfo parseInfo = getParseInfo();
77 final NavICL1NvNavigationMessage message = getMessage();
78 message.setTransmissionTime(parseInfo.parseDouble1(Unit.SECOND));
79 message.setWeek(parseInfo.parseInt2());
80 parseInfo.closePendingRecord();
81 }
82
83
84 @Override
85 public void closeRecord(final RinexNavigation file) {
86 file.addNavICL1NVNavigationMessage(getMessage());
87 }
88
89 }