From bbf7e447d5da5ae400efcc290248b189d983cd8d Mon Sep 17 00:00:00 2001 From: Frederik Petersen Date: Thu, 9 Apr 2015 13:15:25 +0200 Subject: [PATCH] Removed bug in polar filter AngleCluster based polar mining is now also a part of the pipeline. The filter filtered out reaching courses. This part of the filter has now been removed. --- .../clusters/test/BearingClusterGroupTest.java | 5 +++++ .../mining/GPSFixMovingWithPolarContext.java | 17 ++++++----------- .../polars/mining/PolarFixFilterCriteria.java | 7 +------ ...SpeedRegressionPerAngleClusterProcessor.java | 7 ++++--- 4 files changed, 16 insertions(+), 20 deletions(-) diff --git a/java/com.sap.sailing.polars.test/src/com/sap/sailing/polars/clusters/test/BearingClusterGroupTest.java b/java/com.sap.sailing.polars.test/src/com/sap/sailing/polars/clusters/test/BearingClusterGroupTest.java index 25108f84544..c92afdcc90d 100644 --- a/java/com.sap.sailing.polars.test/src/com/sap/sailing/polars/clusters/test/BearingClusterGroupTest.java +++ b/java/com.sap.sailing.polars.test/src/com/sap/sailing/polars/clusters/test/BearingClusterGroupTest.java @@ -25,5 +25,10 @@ public class BearingClusterGroupTest { Cluster cluster2 = group.getClusterFor(new DegreeBearingImpl(-178)); assertTrue(cluster1.equals(cluster2)); + + cluster1 = group.getClusterFor(new DegreeBearingImpl(-90)); + cluster2 = group.getClusterFor(new DegreeBearingImpl(-91)); + + assertTrue(cluster1.equals(cluster2)); } } diff --git a/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/GPSFixMovingWithPolarContext.java b/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/GPSFixMovingWithPolarContext.java index 4646958eb58..0fcef352889 100644 --- a/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/GPSFixMovingWithPolarContext.java +++ b/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/GPSFixMovingWithPolarContext.java @@ -8,6 +8,7 @@ import com.sap.sailing.domain.base.Competitor; import com.sap.sailing.domain.base.SpeedWithBearingWithConfidence; import com.sap.sailing.domain.common.Bearing; import com.sap.sailing.domain.common.LegType; +import com.sap.sailing.domain.common.NoWindException; import com.sap.sailing.domain.common.Position; import com.sap.sailing.domain.common.Speed; import com.sap.sailing.domain.common.SpeedWithBearing; @@ -170,18 +171,12 @@ public class GPSFixMovingWithPolarContext implements MovingAveragePolarClusterKe @Override public LegType getLegType() { - return getLegTypeWithPolarConstraints(getAngleToTheWind().getObject()); - } - - public static LegType getLegTypeWithPolarConstraints(Bearing angleDifferenceWindToBoat) { - double absoluteDiffInDeg = Math.abs(angleDifferenceWindToBoat.getDegrees()); - LegType result = null; - if (absoluteDiffInDeg > 20 && absoluteDiffInDeg < 75) { - result = LegType.UPWIND; - } else if (absoluteDiffInDeg > 105) { - result = LegType.DOWNWIND; + TimePoint timePoint = fix.getTimePoint(); + try { + return race.getCurrentLeg(timePoint).getLegType(timePoint); + } catch (NoWindException e) { + return null; } - return result; } @Override diff --git a/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/PolarFixFilterCriteria.java b/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/PolarFixFilterCriteria.java index 1d21d6641fc..0e665d8ae82 100644 --- a/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/PolarFixFilterCriteria.java +++ b/java/com.sap.sailing.polars/src/com/sap/sailing/polars/mining/PolarFixFilterCriteria.java @@ -49,7 +49,6 @@ public class PolarFixFilterCriteria implements FilterCriterion(speed, /*FIXME*/ 0.5, null);