1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.orekit.estimation.common;
19
20 import java.util.Map;
21
22 import org.hipparchus.util.FastMath;
23 import org.orekit.estimation.measurements.AngularAzEl;
24 import org.orekit.estimation.measurements.ObservableSatellite;
25 import org.orekit.estimation.measurements.Range;
26 import org.orekit.estimation.measurements.modifiers.Bias;
27
28
29
30
31 class AzElParser extends MeasurementsParser<AngularAzEl> {
32
33 @Override
34 public AngularAzEl parseFields(final String[] fields,
35 final Map<String, StationData> stations,
36 final PVData pvData,
37 final ObservableSatellite satellite,
38 final Bias<Range> satRangeBias,
39 final Weights weights,
40 final String line,
41 final int lineNumber,
42 final String fileName) {
43 checkFields(5, fields, line, lineNumber, fileName);
44 final StationData stationData = getStationData(fields[2], stations, line, lineNumber, fileName);
45 final AngularAzEl azEl = new AngularAzEl(stationData.getStation(),
46 getDate(fields[0], line, lineNumber, fileName),
47 new double[] {
48 FastMath.toRadians(Double.parseDouble(fields[3])),
49 FastMath.toRadians(Double.parseDouble(fields[4]))
50 },
51 stationData.getAzElSigma(),
52 weights.getAzElBaseWeight(),
53 satellite);
54 if (stationData.getRefractionCorrection() != null) {
55 azEl.addModifier(stationData.getRefractionCorrection());
56 }
57 if (stationData.getAzELBias() != null) {
58 azEl.addModifier(stationData.getAzELBias());
59 }
60 return azEl;
61 }
62 }