mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-24 13:03:55 +00:00
Fixed average interval in xml
This commit is contained in:
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!");
|
||||
|
||||
Reference in new issue
Block a user