Projekt

Allgemein

Profil

Aktionen

Feature #47

geschlossen
JH

Startfenster für topographische Profile: Startdistanz statt Etappen-Tracking

Feature #47: Startfenster für topographische Profile: Startdistanz statt Etappen-Tracking

Von Julius Haman vor 14 Tagen hinzugefügt. Vor 10 Tagen aktualisiert.

Status:
Erledigt
Priorität:
Normal
Zugewiesen an:
-
Zielversion:
Beginn:
Abgabedatum:
% erledigt:

100%

Geschätzter Aufwand:
Gefunden in Version:

Beschreibung

Ausgangslage

Die bisherige Funktion „Profil fortsetzen“ für topographische Profile erlaubte es, ein Profil in mehreren Etappen zu fahren und diese nachträglich zusammenzuführen. Die Umsetzung war komplex (Verwaltung mehrerer zusammengehöriger Trainings, Etappen-Reihenfolge, Zusammenführung der Aufzeichnungen, eigener Dialog „Etappe beginnen/fortsetzen“).

Umsetzung

Statt Etappen-Tracking gibt es beim Start eines topographischen Profils ein Startfenster (ProfileStartViewModel/ProfileStartView). Es ersetzt sowohl den Etappen-Dialog (ContinueProfileTrainingViewModel) als auch den separaten Fensterwahl-Dialog aus #51 (TrainingWindowChoiceViewModel).

Inhalt des Startfensters

  • Überschrift mit Profilname, Profillänge und Höhenprofil-Übersicht als Diagramm.
  • Startposition:
    • „Bei 0 km starten“ (Vorauswahl) oder
    • „Bei folgender Startdistanz starten“: Startdistanz per Klick auf das Höhenprofil oder durch Eingabe in km festlegen. Klick-Auflösung 0,01 km (10 m), der Wert wird auf die Profillänge begrenzt. Die gewählte Position wird als gestrichelte rote Linie im Profil markiert; beim Überfahren des Diagramms erscheint ein Tooltip (km/Höhe/Steigung) mit Hilfslinie.
  • Trainingsfenster wählen: neues Trainingsfenster mit 3D-Karte (Vorauswahl) oder klassisches Trainingsfenster.
  • Start / Abbrechen (Schließen mit X zählt als Abbrechen).

Aufruf

  • Aus der Profilverwaltung beim Start eines topographischen Profils.
  • Aus der Trainingsübersicht beim Fortsetzen eines noch nicht beendeten topographischen Trainings: Die Startdistanz wird mit der bisher gefahrenen Strecke des alten Trainings vorbelegt (frei änderbar), dazu der Hinweis „bisher gefahren bis x km“. Es wird immer ein neues, eigenständiges Training begonnen – keine Verknüpfung zu früheren Trainings auf demselben Profil und kein Fortsetzen des alten Trainings. Puls-/Leistungsprofile und freie Trainings werden weiterhin direkt fortgesetzt.

Datenmodell / Verhalten

  • Die Startdistanz (FreiesTrainingRequest.StartDistanceMeters) ist ein Offset auf dem Profil. Die Aufzeichnung selbst (TrainingPoint.Distance, DistanceFrom/DistanceTo) ist immer 0-basiert (Wegmessgerät des Trainings). Die absolute Profilposition (ProfilePositionMeters = Distanz + Offset) wird für Höhenlinie, Steigung, Höhenmeter, Lat/Lon, Fahrersicht, Restdistanz und Zielerkennung verwendet.
  • Der Trainings-Tacho wird beim ersten gefahrenen Tick auf 0 gesetzt, damit der erste Trainingspunkt exakt bei 0 km beginnt.
  • TCX-Export: Bei topographischen Trainings werden bevorzugt die aufgezeichneten Lat/Lon-Koordinaten verwendet (die 0-basierte Distanz ist allein keine gültige Profilposition mehr); Profil-Interpolation nur noch als Fallback für Altdaten.
  • Etappen-Konzept entfernt: StageNo/NewStageOfProfileTrainingId, Spalten „Etappe“ und „Etappen gefahren“ in der Trainingsübersicht, ProfileTraining.DistanceDriven/NextStageNo/Duration und der Converter StagesDrivenConverter. Ältere Daten aus der Etappen-Zeit können weiterhin mehrere Trainings in einem ProfileTraining gruppieren.
  • Nebenbei: ErgometerDataPlotControl reagiert zuverlässig auf Maus-Anvisieren/Klick (handledEventsToo) und loggt seinen Zustand; ShellView wartet mit dem Seitenwechsel bis die NavigationView geladen ist (Wpf.Ui 4.3.0).

Kompromiss

  • Deutlich einfacheres Datenmodell und weniger Code (Startdistanz als Offset statt Etappenverwaltung).
  • Verlust: Keine Anzeige/Auswertung mehr über den „Gesamtfortschritt eines Profils verteilt auf mehrere Trainings“ – jedes Training steht für sich.

Nicht Teil dieses Commits

Folge-Commits zu #47 (altes topographisches Training komplett entfernen, Distanz/Aufzeichnung am Zielende einfrieren) sind hier nicht beschrieben.

JH Von Julius Haman vor 14 Tagen aktualisiert Aktionen #1

Ergänzung: Übersichtsgrafik aus #44 als Datenquelle

Im Zuge von #44 (Trainingsdaten autark je TrainingPoint statt Live-Zugriff auf das Profil) ist eine optionale kleine Übersichtsgrafik im Trainingsdetail-Fenster angedacht, die das komplette Profil zeigt (sofern die Profil-Verknüpfung noch existiert) und die Endposition des jeweiligen Trainings markiert.

Diese Grafik kann als Quelle für den hier beschriebenen Startdistanz-Vorschlag dienen: Endposition des letzten Trainings auf demselben Profil als vorbefüllte (aber frei änderbare) Startdistanz für ein neues Training übernehmen.

JH Von Julius Haman vor 10 Tagen aktualisiert · Edited Aktionen #2

  • Thema wurde von Profil fortsetzen vereinfachen: Startdistanz statt Etappen-Tracking zu Startfenster für topographische Profile: Startdistanz statt Etappen-Tracking geändert
  • Beschreibung aktualisiert (Vergleich)

Betreff und Beschreibung an die tatsächliche Umsetzung angepasst (ursprünglich als Idee/offene Frage formuliert); außerdem Zeichenkodierung (Umlaute) korrigiert.

JH Von Julius Haman vor 10 Tagen aktualisiert Aktionen #3

JH Von Julius Haman vor 10 Tagen aktualisiert Aktionen #4

  • Zielversion wurde auf ErControl 3.0.5 gesetzt

JH Von Julius Haman vor 10 Tagen aktualisiert Aktionen #5

  • Zielversion wurde von ErControl 3.0.5 zu ErControl 3.1.0 geändert

JH Von Julius Haman vor 10 Tagen aktualisiert Aktionen #6

  • Status wurde von Neu zu Erledigt geändert
  • % erledigt wurde von 0 zu 100 geändert
Aktionen

Auch abrufbar als: PDF Atom