Fixed average interval in xml

This commit is contained in:
Simon Pamies committed 2014-03-12 11:42:26 +01:00
1 parent 2cc11d49ff
commit 47e39d3daa
1 file changed
+14 -14
@@ -207,6 +207,8 @@ public class LeaderboardData extends ExportAction {
LineDetails start = race.getStartLine(race.getStartOfTracking());
addNamedElementWithValue(raceElement, "start_line_length_in_meters", start.getLength().getMeters());
addNamedElementWithValue(raceElement, "start_advantage_in_meters", start.getAdvantage().getMeters());
addNamedElementWithValue(raceElement, "advantageous_side_while_approaching_start_line", start.getAdvantageousSideWhileApproachingLine().name());
addNamedElementWithValue(raceElement, "course_length_in_meters", race.getCourseLength().getMeters());
raceElement.addContent(createWindXML("wind_", race.getAverageWindSpeedWithConfidence(/*resolutionInMillis*/ 5*60*1000)));
@@ -272,6 +274,18 @@ public class LeaderboardData extends ExportAction {
addNamedElementWithValue(competitorRaceDataElement, "number_of_tacks", getNumberOfTacks(maneuvers));
addNamedElementWithValue(competitorRaceDataElement, "number_of_jibes", getNumberOfJibes(maneuvers));
addNamedElementWithValue(competitorRaceDataElement, "number_of_penalty_circles", getNumberOfPenaltyCircles(maneuvers));
GPSFixTrack<Competitor, GPSFixMoving> gpsFixesForCompetitor = race.getTrack(competitor);
if (gpsFixesForCompetitor != null) {
Duration averageIntervall = gpsFixesForCompetitor.getAverageIntervalBetweenFixes();
if (averageIntervall != null) {
addNamedElementWithValue(competitorRaceDataElement, "average_interval_between_fixes_outliers_removed_as_millis", averageIntervall.asMillis());
}
Duration averageIntervallRaw = gpsFixesForCompetitor.getAverageIntervalBetweenRawFixes();
if (averageIntervallRaw != null) {
addNamedElementWithValue(competitorRaceDataElement, "average_interval_between_fixes_raw_as_millis", averageIntervallRaw.asMillis());
}
}
int[] timePointsInSecondsBeforeStart = new int[]{0, 5, 10, 20, 30};
for (int i : timePointsInSecondsBeforeStart) {
@@ -280,18 +294,6 @@ public class LeaderboardData extends ExportAction {
addNamedElementWithValue(competitorRaceDataElement, "speed_"+i+"seconds_before_start_of_race_in_knots", race.getTrack(competitor).getEstimatedSpeed(beforeRaceStartTime).getKnots());
addNamedElementWithValue(competitorRaceDataElement, "distance_from_starboard_side_of_start_line_"+i+"seconds_before_start_in_meters", race.getDistanceFromStarboardSideOfStartLine(competitor, beforeRaceStartTime).getMeters());
GPSFixTrack<Competitor, GPSFixMoving> gpsFixesForCompetitor = race.getTrack(competitor);
if (gpsFixesForCompetitor != null) {
Duration averageIntervall = gpsFixesForCompetitor.getAverageIntervalBetweenFixes();
if (averageIntervall != null) {
addNamedElementWithValue(competitorRaceDataElement, "average_interval_between_fixes_outliers_removed_as_millis", averageIntervall.asMillis());
}
Duration averageIntervallRaw = gpsFixesForCompetitor.getAverageIntervalBetweenRawFixes();
if (averageIntervallRaw != null) {
addNamedElementWithValue(competitorRaceDataElement, "average_interval_between_fixes_raw_as_millis", averageIntervallRaw.asMillis());
}
}
Iterator<Mark> marksForStartLine = race.getStartLine(beforeRaceStartTime).getWaypoint().getControlPoint().getMarks().iterator();
Mark first = marksForStartLine.next();
Mark second = null;
@@ -343,8 +345,6 @@ public class LeaderboardData extends ExportAction {
addNamedElementWithValue(competitorRaceDataElement, "rank_based_on_distance_from_starboard_side_of_start_line", competitorToDistanceRank.get(competitor));
addNamedElementWithValue(competitorRaceDataElement, "speed_when_crossing_start_line_in_knots", race.getSpeedWhenCrossingStartLine(competitor).getKnots());
addNamedElementWithValue(competitorRaceDataElement, "maximum_race_speed_over_ground_in_knots", getMaximumSpeedOverGround(competitor, race).getKnots());
addNamedElementWithValue(competitorRaceDataElement, "start_advantage_in_meters", start.getAdvantage().getMeters());
addNamedElementWithValue(competitorRaceDataElement, "advantageous_side_while_approaching_start_line", start.getAdvantageousSideWhileApproachingLine().name());
Distance distanceTraveledInThisRace = race.getDistanceTraveled(competitor, race.getEndOfRace());
if (distanceTraveledInThisRace == null) {
raceConfidenceAndErrorMessages.getB().add("Competitor " + competitor.getName() + " has no valid distance traveled for this race!");