Merge branch 'master' into bug1923

This commit is contained in:
Axel Uhl committed 2014-05-07 16:25:05 +02:00
commit 7376f8be14
4 files changed
+48 -3

No files matched your search

@@ -131,6 +131,9 @@ DynamicTrackedRace, GPSTrackListener<Competitor, GPSFixMoving> {
public void recordFix(Competitor competitor, GPSFixMoving fix) {
DynamicGPSFixTrack<Competitor, GPSFixMoving> track = getTrack(competitor);
if (track != null) {
if (logger != null && logger.getLevel() != null && logger.getLevel().equals(Level.FINEST)) {
logger.finest(""+competitor.getName() + ": " + fix);
}
track.addGPSFix(fix); // the track notifies this tracked race which in turn notifies its listeners
}
}
@@ -1216,6 +1216,9 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
(newestEvent != null && timePoint.before(newestEvent))); i++) {
WindWithConfidence<Pair<Position, TimePoint>> averagedWindWithConfidence = windTrack.getAveragedWindWithConfidence(null, timePoint);
if (averagedWindWithConfidence != null) {
if (logger.getLevel() != null && logger.getLevel().equals(Level.FINEST)) {
logger.finest("Found averaged wind: " + averagedWindWithConfidence);
}
double confidence = averagedWindWithConfidence.getConfidence();
WindDTO windDTO = createWindDTOFromAlreadyAveraged(averagedWindWithConfidence.getObject(), timePoint);
windDTO.confidence = confidence;
@@ -1226,6 +1229,10 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
if (confidence > maxWindConfidence) {
maxWindConfidence = confidence;
}
} else {
if (logger.getLevel() != null && logger.getLevel().equals(Level.FINEST)) {
logger.finest("Did NOT find any averaged wind for timepoint " + timePoint + " and tracked race " + trackedRace.getRaceIdentifier().getRaceName());
}
}
timePoint = new MillisecondsTimePoint(timePoint.asMillis() + millisecondsStepWidth);
}
@@ -1353,6 +1360,9 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
while (fixIter.hasNext()) {
GPSFixMoving fix = fixIter.next();
if (fix.getTimePoint().compareTo(toTimePointExcluding) < 0) {
if (logger.getLevel() != null && logger.getLevel().equals(Level.FINEST)) {
logger.finest(""+competitor.getName()+": " + fix);
}
fixes.add(fix);
} else {
break;
@@ -1367,7 +1377,11 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
Position estimatedPosition = track.getEstimatedPosition(middle, extrapolate);
SpeedWithBearing estimatedSpeed = track.getEstimatedSpeed(middle);
if (estimatedPosition != null && estimatedSpeed != null) {
fixes.add(new GPSFixMovingImpl(estimatedPosition, middle, estimatedSpeed));
GPSFixMoving estimatedFix = new GPSFixMovingImpl(estimatedPosition, middle, estimatedSpeed);
if (logger.getLevel() != null && logger.getLevel().equals(Level.FINEST)) {
logger.finest(""+competitor.getName()+": " + estimatedFix+" (estimated)");
}
fixes.add(estimatedFix);
}
}
Iterator<GPSFixMoving> fixIter = fixes.iterator();
@@ -3961,4 +3975,4 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
}
}
}
@@ -38,6 +38,12 @@
<h2 class="articleSubheadline">May 2014</h2>
<ul class="bulletList">
<li>A hint regarding the "distance to start line" metrics: please keep in mind that currently this
measurement is calculated as the distance of the GPS tracker from the line. Unless the tracker
is mounted near the bow (or at the bow sprit, if any), the distance calculated this way will
be greater than what counts for crossing the line. Ordering, comparing and aggregating over this
figure still makes sense as long as you remember this detail.
</li>
<li>Introduced a new leaderboard entry "XTE +/-" featuring a signed cross-track error which shows
for a leg and also aggregated for an entire race on which side of the leg a competitor stayed on
average. Currently, the "side" is defined as viewing in the leg's direction, so "left" for a downwind