mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
DataMining: fixed one English metric name; added relative start metric
This commit is contained in:
+2
-1
@@ -119,7 +119,7 @@ TackAtStart=Tack at Start
|
||||
SpeedTenSecondsAfterStart=Speed 10s After Start
|
||||
RankThirtySecondsAfterStart=Rank 30s After Start
|
||||
WindwardDistanceToAdvantageousEndOfLineAtStartOfRace=Windward Distance to Advantageous End of Line at Start of Race
|
||||
WindwardDistanceToAdvantageousEndOfLineAtStartOfCompetitor=Windward Distance to Starboard Side of Line at Start of Competitor
|
||||
WindwardDistanceToAdvantageousEndOfLineAtStartOfCompetitor=Windward Distance to Advantageous Side of Line at Start of Competitor
|
||||
RankAfterHalfOfTheFirstLeg=Rank after the half of the first leg
|
||||
AdvantageousEndOfLine=Advantageous End of Line
|
||||
AdvantageOfStarboardSideOfStartLine=Advantage of starboard side of start line
|
||||
@@ -133,6 +133,7 @@ WindSourceType=Wind Source Type
|
||||
AbsoluteWindwardDistanceToStarboardSideAtStartOfCompetitor=Absolute Windward Distance to Starboardside of Line at Start of Competitor
|
||||
WindSourceName=Wind Source Name
|
||||
RelativeDistanceToAdvantageousEndOfLineAtStartOfRace=Relative Distance to Advantageous End of Line at Start of Race
|
||||
RelativeDistanceToAdvantageousEndOfLineAtStartOfCompetitor=Relative Distance to Advantageous End of Line at Start of Competitor
|
||||
windFrom=True Wind Direction (TWD)
|
||||
windSpeedKnots=True Wind Speed (kts)
|
||||
speedInKnots=Speed (kts)
|
||||
|
||||
+1
@@ -143,6 +143,7 @@ pitch=Neigung
|
||||
heel=Krängung
|
||||
WindwardDistanceToAdvantageousEndOfLineAtStartOfRaceVsRelativeDistanceToAdvantageousEndOfLine=Windwärtige Distanz zum Bevorteilten Ende der Startlinie zum Start des Rennens (X) vs. Relative Distanz zum Bevorteilten Ende der Startlinie zum Start des Rennens (Y)
|
||||
RelativeDistanceToAdvantageousEndOfLineAtStartOfRace=Relative Distanz zum Bevorteilten Ende der Startlinie zum Start des Rennens
|
||||
RelativeDistanceToAdvantageousEndOfLineAtStartOfCompetitor=Relative Distanz zum Bevorteilten Ende der Startlinie zum Startzeitpunkt des Teilnehmers
|
||||
rideHeight=Foiling-Höhe
|
||||
rideHeightPort=Foiling-Höhe Backbord-Rumpf
|
||||
rideHeightStarboard=Foiling-Höhe Steuerbord-Rumpf
|
||||
|
||||
+3
@@ -140,6 +140,9 @@ public interface HasRaceOfCompetitorContext {
|
||||
@Statistic(messageKey="RelativeDistanceToAdvantageousEndOfLineAtStartOfRace", resultDecimals=2)
|
||||
Double getRelativeDistanceToAdvantageousEndOfLineAtStartOfRace();
|
||||
|
||||
@Statistic(messageKey="RelativeDistanceToAdvantageousEndOfLineAtStartOfCompetitor", resultDecimals=2)
|
||||
Double getRelativeDistanceToAdvantageousEndOfLineAtStartOfCompetitor();
|
||||
|
||||
@Statistic(messageKey="RaceDuration")
|
||||
Duration getDuration();
|
||||
|
||||
|
||||
+20
-11
@@ -360,9 +360,18 @@ public class RaceOfCompetitorWithContext implements HasRaceOfCompetitorContext {
|
||||
|
||||
@Override
|
||||
public Double getRelativeDistanceToAdvantageousEndOfLineAtStartOfRace() {
|
||||
TrackedRace trackedRace = getTrackedRace();
|
||||
TimePoint startOfRace = trackedRace.getStartOfRace();
|
||||
LineDetails startLine = trackedRace.getStartLine(startOfRace);
|
||||
final TimePoint startOfRace = getTrackedRace().getStartOfRace();
|
||||
return getRelativeDistanceToAdvantageousEndOfLine(startOfRace);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getRelativeDistanceToAdvantageousEndOfLineAtStartOfCompetitor() {
|
||||
final TimePoint competitorStartTimePoint = getTrackedRace().getTrackedLeg(getCompetitor(), getTrackedRace().getRace().getCourse().getFirstLeg()).getStartTime();
|
||||
return getRelativeDistanceToAdvantageousEndOfLine(competitorStartTimePoint);
|
||||
}
|
||||
|
||||
private Double getRelativeDistanceToAdvantageousEndOfLine(final TimePoint timePoint) {
|
||||
final LineDetails startLine = getTrackedRace().getStartLine(timePoint);
|
||||
Mark advantageousMark = null;
|
||||
switch (startLine.getAdvantageousSideWhileApproachingLine()) {
|
||||
case PORT:
|
||||
@@ -375,14 +384,14 @@ public class RaceOfCompetitorWithContext implements HasRaceOfCompetitorContext {
|
||||
if (advantageousMark == null) {
|
||||
return null;
|
||||
}
|
||||
GPSFixTrack<Mark, GPSFix> advantageousMarkTrack = trackedRace.getOrCreateTrack(advantageousMark);
|
||||
Position advantageousMarkPosition = advantageousMarkTrack.getEstimatedPosition(startOfRace, false);
|
||||
GPSFixTrack<Competitor, GPSFixMoving> competitorTrack = trackedRace.getTrack(getCompetitor());
|
||||
Position competitorPosition = competitorTrack.getEstimatedPosition(startOfRace, false);
|
||||
Double distance = competitorPosition.getDistance(advantageousMarkPosition).getMeters();
|
||||
TrackedLegOfCompetitor firstTrackedLegOfCompetitor = getTrackedRace().getTrackedLeg(competitor, trackedRace.getRace().getCourse().getFirstLeg());
|
||||
TimePoint competitorStartTime = firstTrackedLegOfCompetitor.getStartTime();
|
||||
Double length = trackedRace.getStartLine(competitorStartTime).getLength().getMeters();
|
||||
final GPSFixTrack<Mark, GPSFix> advantageousMarkTrack = getTrackedRace().getOrCreateTrack(advantageousMark);
|
||||
final Position advantageousMarkPosition = advantageousMarkTrack.getEstimatedPosition(timePoint, false);
|
||||
final GPSFixTrack<Competitor, GPSFixMoving> competitorTrack = getTrackedRace().getTrack(getCompetitor());
|
||||
final Position competitorPosition = competitorTrack.getEstimatedPosition(timePoint, false);
|
||||
final Double distance = competitorPosition.getDistance(advantageousMarkPosition).getMeters();
|
||||
final TrackedLegOfCompetitor firstTrackedLegOfCompetitor = getTrackedRace().getTrackedLeg(competitor, getTrackedRace().getRace().getCourse().getFirstLeg());
|
||||
final TimePoint competitorStartTime = firstTrackedLegOfCompetitor.getStartTime();
|
||||
final Double length = getTrackedRace().getStartLine(competitorStartTime).getLength().getMeters();
|
||||
return distance / length;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user