Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package fr.cs.examples.estimation;
import java.util.Map;
import org.orekit.estimation.measurements.ObservableSatellite;
import org.orekit.estimation.measurements.Range;
import org.orekit.estimation.measurements.modifiers.Bias;
public class RangeParser extends OrbitDetermination.MeasurementsParser<Range> {
/** Parser for range measurements */
/** {@inheritDoc} */
@Override
public Range parseFields(final String[] fields,
final Map<String, StationData> stations,
final PVData pvData,
final ObservableSatellite satellite,
final Bias<Range> satRangeBias,
final Weights weights,
final String line,
final int lineNumber,
final String fileName) {
checkFields(4, fields, line, lineNumber, fileName);
final StationData stationData = getStationData(fields[2], stations, line, lineNumber, fileName);
final Range range = new Range(stationData.station, true,
getDate(fields[0], line, lineNumber, fileName),
Double.parseDouble(fields[3]) * 1000.0,
stationData.rangeSigma,
weights.rangeBaseWeight,
satellite);
if (stationData.rangeBias != null) {
range.addModifier(stationData.rangeBias);
}
if (satRangeBias != null) {
range.addModifier(satRangeBias);
}
if (stationData.rangeTroposphericCorrection != null) {
range.addModifier(stationData.rangeTroposphericCorrection);
}
return range;
}
}