mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-11-04 10:09:42 +00:00
Merge branch 'master' of ssh://sapsailing.com/home/trac/git into bug5938
This commit is contained in:
commit
6f74365255
12 files changed
+64292
-12
No files matched your search
+1
-1
@@ -1,4 +1,4 @@
|
||||
FROM docker.sapsailing.com/sapjvm8:8.1.095
|
||||
FROM docker.sapsailing.com/sapjvm8:8.1.096
|
||||
ARG RELEASE
|
||||
LABEL maintainer=axel.uhl@sap.com
|
||||
# Download and extract the release
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
FROM buildpack-deps:bullseye
|
||||
ARG SAPJVM_VERSION=8.1.095
|
||||
ARG SAPJVM_VERSION=8.1.096
|
||||
LABEL maintainer=axel.uhl@sap.com
|
||||
# Download and extract the SAP JVM 8
|
||||
ENV PATH=${PATH}:/opt/sapjvm_8/bin
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ARG SAPJVM_VERSION=8.1.095
|
||||
ARG SAPJVM_VERSION=8.1.096
|
||||
FROM docker.sapsailing.com/sapjvm8:${SAPJVM_VERSION}
|
||||
LABEL maintainer=axel.uhl@sap.com
|
||||
# Download and extract the release
|
||||
|
||||
+2
-1
@@ -263,4 +263,5 @@ InRace=In race
|
||||
InTrackingInterval=In tracking interval
|
||||
NumberOfCompetitors=Number of Competitors
|
||||
CompetitorInLeaderboard=Competitor in Leaderboard
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
CompetitorSailingDomainRetrieverChain=Competitors in Leaderboards
|
||||
SmoothedSpeed=Smoothed Speed
|
||||
+2
-1
@@ -266,4 +266,5 @@ InRace=In der Wettfahrt
|
||||
InTrackingInterval=Im Tracking-Zeitraum der Wettfahrt
|
||||
NumberOfCompetitors=Anzahl Teilnehmer
|
||||
CompetitorInLeaderboard=Teilnehmer aus Rangliste
|
||||
CompetitorSailingDomainRetrieverChain=Teilnehmer in Ranglisten
|
||||
CompetitorSailingDomainRetrieverChain=Teilnehmer in Ranglisten
|
||||
SmoothedSpeed=Geglättete Geschwindigkeit
|
||||
+6
-2
@@ -6,16 +6,17 @@ import com.sap.sailing.domain.common.TackType;
|
||||
import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sse.common.Bearing;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Speed;
|
||||
import com.sap.sse.datamining.annotations.Connector;
|
||||
import com.sap.sse.datamining.annotations.Dimension;
|
||||
import com.sap.sse.datamining.annotations.Statistic;
|
||||
|
||||
public interface HasGPSFixContext {
|
||||
@Connector(scanForStatistics = false)
|
||||
public HasTrackedLegOfCompetitorContext getTrackedLegOfCompetitorContext();
|
||||
HasTrackedLegOfCompetitorContext getTrackedLegOfCompetitorContext();
|
||||
|
||||
@Connector(ordinal = 1)
|
||||
public GPSFixMoving getGPSFix();
|
||||
GPSFixMoving getGPSFix();
|
||||
|
||||
@Dimension(messageKey="TackType", ordinal=6)
|
||||
TackType getTackType() throws NoWindException;
|
||||
@@ -34,4 +35,7 @@ public interface HasGPSFixContext {
|
||||
|
||||
@Statistic(messageKey = "AbsoluteXTE", resultDecimals = 2)
|
||||
Distance getAbsoluteXTE();
|
||||
|
||||
@Statistic(messageKey = "SmoothedSpeed", resultDecimals = 2)
|
||||
Speed getSmoothedSpeed();
|
||||
}
|
||||
+3
-3
@@ -26,17 +26,17 @@ public class GPSFixRetrievalProcessor extends AbstractRetrievalProcessor<HasTrac
|
||||
|
||||
@Override
|
||||
protected Iterable<HasGPSFixContext> retrieveData(HasTrackedLegOfCompetitorContext element) {
|
||||
Collection<HasGPSFixContext> gpsFixesWithContext = new ArrayList<>();
|
||||
final Collection<HasGPSFixContext> gpsFixesWithContext = new ArrayList<>();
|
||||
final GPSFixTrack<Competitor, GPSFixMoving> competitorTrack = element.getTrackedLegContext().getTrackedRaceContext().getTrackedRace().getTrack(element.getCompetitor());
|
||||
competitorTrack.lockForRead();
|
||||
try {
|
||||
TrackedLegOfCompetitor trackedLegOfCompetitor = element.getTrackedLegOfCompetitor();
|
||||
final TrackedLegOfCompetitor trackedLegOfCompetitor = element.getTrackedLegOfCompetitor();
|
||||
if (trackedLegOfCompetitor.getStartTime() != null && trackedLegOfCompetitor.getFinishTime() != null) {
|
||||
for (GPSFixMoving gpsFix : competitorTrack.getFixes(trackedLegOfCompetitor.getStartTime(), true, trackedLegOfCompetitor.getFinishTime(), true)) {
|
||||
if (isAborted()) {
|
||||
break;
|
||||
}
|
||||
HasGPSFixContext gpsFixWithContext = new GPSFixWithContext(new TrackedLegOfCompetitorWithSpecificTimePointWithContext(
|
||||
final HasGPSFixContext gpsFixWithContext = new GPSFixWithContext(new TrackedLegOfCompetitorWithSpecificTimePointWithContext(
|
||||
element.getTrackedLegContext(), element.getTrackedLegOfCompetitor(), gpsFix.getTimePoint()), gpsFix);
|
||||
gpsFixesWithContext.add(gpsFixWithContext);
|
||||
}
|
||||
|
||||
+12
@@ -9,6 +9,7 @@ import com.sap.sailing.domain.common.tracking.GPSFixMoving;
|
||||
import com.sap.sailing.domain.tracking.TrackedRace;
|
||||
import com.sap.sse.common.Bearing;
|
||||
import com.sap.sse.common.Distance;
|
||||
import com.sap.sse.common.Speed;
|
||||
import com.sap.sse.common.TimePoint;
|
||||
|
||||
/**
|
||||
@@ -95,4 +96,15 @@ public class GPSFixWithContext implements HasGPSFixContext {
|
||||
public TackType getTackType() throws NoWindException {
|
||||
return getTrackedLegOfCompetitorContext().getTrackedLegOfCompetitor().getTackType(getTimePoint());
|
||||
}
|
||||
|
||||
@Override
|
||||
public Speed getSmoothedSpeed() {
|
||||
final SpeedWithBearing result;
|
||||
if (getGPSFix().isEstimatedSpeedCached()) {
|
||||
result = getGPSFix().getCachedEstimatedSpeed();
|
||||
} else {
|
||||
result = getTrackedLegOfCompetitorContext().getTrackedRace().getTrack(getTrackedLegOfCompetitorContext().getCompetitor()).getEstimatedSpeed(getTimePoint());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
+1
@@ -11,6 +11,7 @@
|
||||
therefore less likely to kill expensive queries when there is still enough free memory.</li>
|
||||
<li>Added two dimensions on wind fix datamining ("is in race" and "is in tracking time range").</li>
|
||||
<li>Added a simple data mining retriever chain allowing for competitor counting.</li>
|
||||
<li>Added a statistic for smoothed speed on GPS fixes in data mining.</li>
|
||||
</ul>
|
||||
<h5 class="articleSubheadline">November 2023</h5>
|
||||
<ul class="bulletList">
|
||||
|
||||
+1
-1
@@ -1685,7 +1685,7 @@ seriesHeaderUpcoming=Upcoming
|
||||
eventRegattaLeaderboardLastScoreUpdate=Last Score Update
|
||||
eventRegattaRaceNotTracked=Not Tracked
|
||||
footerJobs=Jobs
|
||||
footerCopyright=\u00A9 2011-2023 SAP Sailing Analytics
|
||||
footerCopyright=\u00A9 2011-2024 SAP Sailing Analytics
|
||||
footerLanguage=SAP Sailing in
|
||||
footerLegal=Legal Disclosure
|
||||
footerPrivacy=Privacy
|
||||
|
||||
+1
-1
@@ -1663,7 +1663,7 @@ seriesHeaderUpcoming=Demnächst
|
||||
eventRegattaLeaderboardLastScoreUpdate=Letztes Ergebnis-Update
|
||||
eventRegattaRaceNotTracked=Nicht getrackt
|
||||
footerJobs=Jobs
|
||||
footerCopyright=\u00A9 2011-2022 SAP Sailing Analytics
|
||||
footerCopyright=\u00A9 2011-2024 SAP Sailing Analytics
|
||||
footerLanguage=SAP Sailing in
|
||||
footerLegal=Impressum
|
||||
footerPrivacy=Datenschutz
|
||||
|
||||
Reference in new issue
Block a user