mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-24 13:03:55 +00:00
Fixed rank gains again and maneuver count
This commit is contained in:
1 parent
219a877a22
commit
faf5e4eacc
1 file changed
+13
-7
@@ -266,6 +266,13 @@ public class LeaderboardData extends ExportAction {
|
||||
raceConfidenceAndErrorMessages.getB().add("Competitor " + competitor.getName() + " has no valid data for this race!");
|
||||
continue;
|
||||
}
|
||||
|
||||
List<Maneuver> maneuvers = getManeuvers(race, competitor, /*waitForLatest*/ false);
|
||||
addNamedElementWithValue(competitorRaceDataElement, "number_of_maneuvers", maneuvers != null ? maneuvers.size() : 0);
|
||||
addNamedElementWithValue(competitorRaceDataElement, "number_of_tacks", getNumberOfTacks(maneuvers));
|
||||
addNamedElementWithValue(competitorRaceDataElement, "number_of_jibes", getNumberOfJibes(maneuvers));
|
||||
addNamedElementWithValue(competitorRaceDataElement, "number_of_penalty_circles", getNumberOfPenaltyCircles(maneuvers));
|
||||
|
||||
int[] timePointsInSecondsBeforeStart = new int[]{0, 5, 10, 20, 30};
|
||||
for (int i : timePointsInSecondsBeforeStart) {
|
||||
TimePoint beforeRaceStartTime = race.getStartOfRace().minus(i*1000);
|
||||
@@ -273,12 +280,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());
|
||||
|
||||
List<Maneuver> maneuvers = getManeuvers(race, competitor, /*waitForLatest*/ false);
|
||||
addNamedElementWithValue(competitorRaceDataElement, "number_of_maneuvers", maneuvers != null ? maneuvers.size() : 0);
|
||||
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();
|
||||
@@ -497,7 +498,12 @@ public class LeaderboardData extends ExportAction {
|
||||
|
||||
addNamedElementWithValue(competitorLegDataElement, "leg_rank_at_leg_start", competitorLeg.getRank(competitorLeg.getStartTime()));
|
||||
addNamedElementWithValue(competitorLegDataElement, "leg_rank_at_leg_finish", competitorLeg.getRank(legFinishTime));
|
||||
addNamedElementWithValue(competitorLegDataElement, "rank_gain_for_this_leg_between_start_and_finish", competitorLeg.getRank(competitorLeg.getStartTime())-competitorLeg.getRank(legFinishTime));
|
||||
|
||||
if (legCounter>1) {
|
||||
addNamedElementWithValue(competitorLegDataElement, "rank_gain_for_this_leg_between_start_and_finish", competitorLeg.getRank(competitorLeg.getStartTime())-competitorLeg.getRank(legFinishTime));
|
||||
} else {
|
||||
addNamedElementWithValue(competitorLegDataElement, "rank_gain_for_this_leg_between_start_and_finish", 0);
|
||||
}
|
||||
|
||||
List<Maneuver> maneuvers = competitorLeg.getManeuvers(legFinishTime, /*waitForLatest*/false);
|
||||
addNamedElementWithValue(competitorLegDataElement, "maneuver_count", maneuvers.size());
|
||||
|
||||
Reference in new issue
Block a user