bug6184: exclude the maneuver-based wind estimations from the wind sources used for maneuver classification

This commit is contained in:
Axel Uhl committed 2025-11-19 13:57:38 +01:00
1 parent 3d4d8c4217
commit 1368179ac0
3 files changed
+9 -3

No files matched your search

@@ -10,6 +10,7 @@ import java.util.stream.Collectors;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sailing.domain.common.NauticalSide;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
import com.sap.sailing.domain.maneuverdetection.ApproximatedFixesCalculator;
import com.sap.sailing.domain.maneuverdetection.IncrementalApproximatedFixesCalculator;
@@ -257,7 +258,8 @@ public class IncrementalManeuverDetectorImpl extends ManeuverDetectorImpl implem
// maneuver spot calculation => recalculate maneuvers of existing maneuver curve
CompleteManeuverCurve maneuverCurve = currentExistingManeuverSpot.getManeuverCurve();
WindMeasurement windMeasurement = currentExistingManeuverSpot.getWindMeasurement();
Wind wind = trackedRace.getWind(windMeasurement.getPosition(), windMeasurement.getTimePoint());
Wind wind = trackedRace.getWind(windMeasurement.getPosition(), windMeasurement.getTimePoint(),
/* exclude */ trackedRace.getWindSources(WindSourceType.MANEUVER_BASED_ESTIMATION));
List<Maneuver> maneuvers = determineManeuversFromManeuverCurve(maneuverCurve.getMainCurveBoundaries(),
maneuverCurve.getManeuverCurveWithStableSpeedAndCourseBoundaries(), wind,
maneuverCurve.getMarkPassing());
@@ -19,6 +19,7 @@ import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Tack;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
import com.sap.sailing.domain.maneuverdetection.ApproximatedFixesCalculator;
import com.sap.sailing.domain.maneuverdetection.ManeuverDetector;
@@ -321,7 +322,8 @@ public class ManeuverDetectorImpl extends AbstractManeuverDetectorImpl {
}
TimePoint maneuverTimePoint = maneuverCurve.getMainCurveBoundaries().getTimePoint();
Position maneuverPosition = track.getEstimatedPosition(maneuverTimePoint, /* extrapolate */false);
final Wind wind = trackedRace.getWind(maneuverPosition, maneuverTimePoint);
final Wind wind = trackedRace.getWind(maneuverPosition, maneuverTimePoint,
/* exclude */ trackedRace.getWindSources(WindSourceType.MANEUVER_BASED_ESTIMATION));
List<Maneuver> maneuvers = determineManeuversFromManeuverCurve(maneuverCurve.getMainCurveBoundaries(),
maneuverCurve.getManeuverCurveWithStableSpeedAndCourseBoundaries(), wind,
maneuverCurve.getMarkPassing());
@@ -12,6 +12,7 @@ import com.sap.sailing.domain.common.ManeuverType;
import com.sap.sailing.domain.common.Position;
import com.sap.sailing.domain.common.SpeedWithBearing;
import com.sap.sailing.domain.common.Wind;
import com.sap.sailing.domain.common.WindSourceType;
import com.sap.sailing.domain.common.impl.KnotSpeedWithBearingImpl;
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
import com.sap.sailing.domain.maneuverdetection.CompleteManeuverCurveWithEstimationData;
@@ -74,7 +75,8 @@ public class ManeuverDetectorWithEstimationDataSupportDecoratorImpl
TimePoint maneuverTimePoint = maneuverCurve.getMainCurveBoundaries().getTimePoint();
Position maneuverPosition = maneuverDetector.track.getEstimatedPosition(maneuverTimePoint,
/* extrapolate */false);
Wind wind = maneuverDetector.trackedRace.getWind(maneuverPosition, maneuverTimePoint);
Wind wind = maneuverDetector.trackedRace.getWind(maneuverPosition, maneuverTimePoint,
/* exclude */ maneuverDetector.trackedRace.getWindSources(WindSourceType.MANEUVER_BASED_ESTIMATION));
maneuvers
.addAll(maneuverDetector.determineManeuversFromManeuverCurve(maneuverCurve.getMainCurveBoundaries(),
maneuverCurve.getManeuverCurveWithStableSpeedAndCourseBoundaries(), wind,