mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-10-28 14:57:12 +00:00
Removed MovingAverage processor from polar data miner
Was only meant for comparison purposes with Regression. Now regression is used every anyway, so we only need to have the regression processors
This commit is contained in:
1 parent
e25d10bddb
commit
071a23bc8f
12 files changed
+33
-195
No files matched your search
+1
-23
@@ -4,12 +4,9 @@ import java.util.List;
|
||||
|
||||
import org.moxieapps.gwt.highcharts.client.AxisTitle;
|
||||
import org.moxieapps.gwt.highcharts.client.Chart;
|
||||
import org.moxieapps.gwt.highcharts.client.PlotLine;
|
||||
import org.moxieapps.gwt.highcharts.client.Point;
|
||||
import org.moxieapps.gwt.highcharts.client.Series;
|
||||
import org.moxieapps.gwt.highcharts.client.Series.Type;
|
||||
import org.moxieapps.gwt.highcharts.client.plotOptions.Marker;
|
||||
import org.moxieapps.gwt.highcharts.client.plotOptions.SplinePlotOptions;
|
||||
|
||||
import com.google.gwt.event.dom.client.ClickEvent;
|
||||
import com.google.gwt.event.dom.client.ClickHandler;
|
||||
@@ -58,33 +55,14 @@ public class PolarSheetsXYDiagramPopupPanel extends DialogBox {
|
||||
}
|
||||
|
||||
private void addSpeedAndConfidenceSeriesForTackAndLegType(PolarSheetsXYDiagramData result, Tack tack, LegType legType, boolean showByDefault) {
|
||||
Point[] pointsForUpwindStarboardAverageSpeedMovingAverage = toPointArray(result.getPointsForAverageSpeedMovingAverage(tack, legType));
|
||||
Series speedSeriesMovingAverage = chart.createSeries();
|
||||
speedSeriesMovingAverage.setName(tack + " " + legType + " Speed - MovingAverage");
|
||||
speedSeriesMovingAverage.setPoints(pointsForUpwindStarboardAverageSpeedMovingAverage);
|
||||
chart.addSeries(speedSeriesMovingAverage, false, false);
|
||||
|
||||
Point[] pointsForUpwindStarboardAverageSpeedRegression = toPointArray(result.getPointsForAverageSpeedRegression(tack, legType));
|
||||
Series speedSeriesRegression = chart.createSeries();
|
||||
speedSeriesRegression.setName(tack + " " + legType + " Speed - Regression");
|
||||
speedSeriesRegression.setPoints(pointsForUpwindStarboardAverageSpeedRegression);
|
||||
chart.addSeries(speedSeriesRegression, false, false);
|
||||
|
||||
Point[] pointsForUpwindStarboardAverageConfidence = toPointArray(result.getPointsForAverageConfidence(tack, legType));
|
||||
Series confidenceSeries = chart
|
||||
.createSeries()
|
||||
.setYAxis(1)
|
||||
.setType(Series.Type.SPLINE)
|
||||
.setPlotOptions(
|
||||
new SplinePlotOptions().setColor("#AA4643").setMarker(new Marker().setEnabled(false))
|
||||
.setDashStyle(PlotLine.DashStyle.SHORT_DOT));
|
||||
confidenceSeries.setName(tack + " " + legType + " Confidence");
|
||||
confidenceSeries.setPoints(pointsForUpwindStarboardAverageConfidence);
|
||||
chart.addSeries(confidenceSeries, false, false);
|
||||
|
||||
|
||||
if (!showByDefault) {
|
||||
speedSeriesRegression.setVisible(false, false);
|
||||
confidenceSeries.setVisible(false, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+4
-30
@@ -61,10 +61,10 @@ import com.sap.sailing.domain.abstractlog.AbstractLog;
|
||||
import com.sap.sailing.domain.abstractlog.AbstractLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.MultiLogAnalyzer;
|
||||
import com.sap.sailing.domain.abstractlog.impl.AllEventsOfTypeFinder;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLog;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogEventFactory;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogFixedMarkPassingEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogFlagEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.RaceLogSuppressedMarkPassingsEvent;
|
||||
import com.sap.sailing.domain.abstractlog.race.analyzing.impl.AbortingFlagFinder;
|
||||
@@ -5585,45 +5585,20 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
@Override
|
||||
public PolarSheetsXYDiagramData createXYDiagramForBoatClass(String boatClassName) {
|
||||
BoatClass boatClass = getService().getBaseDomainFactory().getOrCreateBoatClass(boatClassName);
|
||||
Map<Pair<LegType, Tack>, List<Pair<Double, Double>>> movingAverageSpeedDataLists = new HashMap<>();
|
||||
Map<Pair<LegType, Tack>, List<Pair<Double, Double>>> regressionSpeedDataLists = new HashMap<>();
|
||||
Map<Pair<LegType, Tack>, List<Pair<Double, Double>>> averageConfidenceDataLists = new HashMap<>();
|
||||
for (LegType legType : new LegType[] { LegType.UPWIND, LegType.DOWNWIND }) {
|
||||
for (Tack tack : new Tack[] { Tack.PORT, Tack.STARBOARD }) {
|
||||
movingAverageSpeedDataLists.put(new Pair<LegType, Tack>(legType, tack),
|
||||
new ArrayList<Pair<Double, Double>>());
|
||||
regressionSpeedDataLists.put(new Pair<LegType, Tack>(legType, tack),
|
||||
new ArrayList<Pair<Double, Double>>());
|
||||
averageConfidenceDataLists.put(new Pair<LegType, Tack>(legType, tack),
|
||||
new ArrayList<Pair<Double, Double>>());
|
||||
}
|
||||
}
|
||||
for (double windInKnots = 0.1; windInKnots < 30; windInKnots = windInKnots + 0.1) {
|
||||
for (LegType legType : new LegType[] { LegType.UPWIND, LegType.DOWNWIND }) {
|
||||
for (Tack tack : new Tack[] { Tack.PORT, Tack.STARBOARD }) {
|
||||
|
||||
try {
|
||||
SpeedWithBearingWithConfidence<Void> averageUpwindStarboardMovingAverage = getService()
|
||||
.getPolarDataService().getAverageSpeedWithBearing(boatClass,
|
||||
new KnotSpeedImpl(windInKnots), legType, tack, false);
|
||||
|
||||
movingAverageSpeedDataLists.get(new Pair<LegType, Tack>(legType, tack)).add(
|
||||
new Pair<Double, Double>(windInKnots, averageUpwindStarboardMovingAverage.getObject()
|
||||
.getKnots()));
|
||||
|
||||
|
||||
averageConfidenceDataLists.get(new Pair<LegType, Tack>(legType, tack)).add(
|
||||
new Pair<Double, Double>(windInKnots, averageUpwindStarboardMovingAverage
|
||||
.getConfidence()));
|
||||
|
||||
} catch (NotEnoughDataHasBeenAddedException e) {
|
||||
// Do not add a point to the result
|
||||
}
|
||||
|
||||
for (Tack tack : new Tack[] { Tack.PORT, Tack.STARBOARD }) {
|
||||
try {
|
||||
SpeedWithBearingWithConfidence<Void> averageUpwindStarboardRegression = getService()
|
||||
.getPolarDataService().getAverageSpeedWithBearing(boatClass,
|
||||
new KnotSpeedImpl(windInKnots), legType, tack, true);
|
||||
new KnotSpeedImpl(windInKnots), legType, tack);
|
||||
|
||||
regressionSpeedDataLists.get(new Pair<LegType, Tack>(legType, tack)).add(
|
||||
new Pair<Double, Double>(windInKnots, averageUpwindStarboardRegression.getObject()
|
||||
@@ -5635,8 +5610,7 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
|
||||
}
|
||||
}
|
||||
|
||||
PolarSheetsXYDiagramData data = new PolarSheetsXYDiagramDataImpl(movingAverageSpeedDataLists,
|
||||
regressionSpeedDataLists, averageConfidenceDataLists);
|
||||
PolarSheetsXYDiagramData data = new PolarSheetsXYDiagramDataImpl(regressionSpeedDataLists);
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user