Multiple improvements
Sonarqube Scanner / Prepare environment (push) Successful in 10s
Sonarqube Scanner / Build and test (push) Successful in 28s
Sonarqube Scanner / SonarQube analysis (push) Successful in 1m8s
Sonarqube Scanner / Deploy to Server (push) Successful in 8s

This commit is contained in:
2026-10-05 01:18:14 +02:00
parent 2b07e9bc47
commit 49a9de0355
27 changed files with 797 additions and 80 deletions
+28 -8
View File
@@ -3,12 +3,12 @@
## Stationen und Weg getrennt speichern
- Stationen mit Koordinaten stehen als `wpt` unmittelbar unter `gpx`.
- Beim ersten Speichern eines neuen Entwurfs startet während der Bearbeitung eine Aufzeichnung:
sofort eine Position, danach alle 30 Sekunden eine neue GPS-Abfrage.
- Der Schalter „Meinen Weg aufnehmen“ ist beim Start und beim Öffnen eines
Entwurfs aus. Einschalten fragt sofort den Standort ab, danach alle zwei Minuten.
Bei noch nicht gespeicherten Entwürfen beginnt die Aufnahme nach dem ersten Speichern.
Schließen, Abbrechen, Rückkehr zur Streckenliste oder Wechsel der Strecke
beendet die Aufzeichnung. Nach einem Neustart ist sie inaktiv. Beim erneuten
Öffnen eines lokalen Entwurfs zur Bearbeitung beginnt eine neue Sitzung.
Speichern innerhalb derselben Sitzung hebt Pause oder bewusstes Stoppen nicht auf.
beendet die Aufzeichnung und schaltet sie aus. Speichern innerhalb derselben
Sitzung hebt Pause oder bewusstes Stoppen nicht auf.
- Die sichtbaren Schaltflächen erlauben Pausieren, Fortsetzen und Beenden.
Beim Löschen des Entwurfs endet die Aufzeichnung ebenfalls.
- Tatsächliche Positionen stehen als `trk/trkseg/trkpt` mit Zeitstempel und,
@@ -28,6 +28,9 @@ Positionen. Speicherfehler pausieren die Aufzeichnung und zeigen einen Hinweis.
Entwürfe und Stationen dürfen ohne GPS erstellt und gespeichert werden.
In der Streckenbearbeitung können unter „Orte auf dem Weg ergänzen“ fehlende
Positionen ergänzt, vorhandene geändert und weitere hinzugefügt werden.
Das Zielkreuz an jedem Wegpunkt fragt frische GPS-Koordinaten ab und füllt nur
dessen Felder. Es startet keine Aufnahme; die Änderung muss gespeichert werden.
Verspätete Antworten nach dem Wechseln oder Schließen werden verworfen.
Breiten- und Längengrad müssen gemeinsam angegeben werden oder beide leer bleiben.
Stationen haben eigene Felder unter „Ort ergänzen“.
@@ -56,18 +59,34 @@ Coverage-Lauf geprüft.
## Normalisierung auf dem Server
Beim Einreichen oder Ersetzen einer GPX-Datei normalisiert der Node-Dienst den
aufgezeichneten Weg zu `rte/rtept`. Bereits vorhandene Routenpunkte haben Vorrang.
aufgezeichneten Weg und gültige Stations-Wegpunkte zu `rte/rtept`. Bereits
vorhandene Routenpunkte bilden anstelle von Trackpunkten den Grundverlauf.
Aufeinanderfolgende Trackpunkte innerhalb des eingestellten Abstands werden
zusammengefasst. Der erste Punkt bleibt der Vertreter; der nächste wird erst
übernommen, wenn er weiter entfernt liegt. So werden kleine Schwankungen
während einer Pause nicht fortlaufend zur Weglänge addiert.
Nach dem Vereinfachen des Tracks werden alle gültigen `wpt` ergänzt. Sie werden
nicht durch den Clusterabstand entfernt. Ihre Reihenfolge in der Datei bleibt
erhalten; der Einfügeort im verbleibenden Weg wird anhand der kleinsten
zusätzlichen Weglänge gewählt. Übereinstimmende Orte werden zusammengeführt.
Eine Strecke mit nur Stationen erhält einen Weg in Stationsreihenfolge.
Weglänge, Routenpunktzahl und Suchgrenzen beziehen sich auf den gemeinsamen Weg.
Aus Stationen ergänzte Routenpunkte tragen in ihren GPX-Erweiterungen die
Kennung `wegwichtel:waypointRoutePoint`. Dadurch lassen sich bei erneuter
Normalisierung bzw. Verschieben/Löschen einer Station alte ergänzte Anker
entfernen und anhand der aktuellen `wpt` neu berechnen. Ursprüngliche Wegpunkte
im aufgezeichneten Verlauf bleiben erhalten. Beim Anhängen einer anderen Strecke
wird deren berechneter Weg als zusätzlicher Verlauf übernommen. Wiederholte
Normalisierung darf keine zusätzlichen Stationsanker erzeugen.
`GPX_CLUSTER_METERS` in `.env` steuert den Abstand, standardmäßig 20 Meter.
Das Verfahren ist eine geometrische Vereinfachung ohne externen Routingdienst.
Es berechnet keine Wege auf einer Straßenkarte. GPS-Lücken werden bei der
Routenberechnung übersprungen; zwischen gültigen Nachbarpunkten entsteht eine
direkte Verbindung. Die Lücken bleiben für spätere Bearbeitung als Erweiterungen
erhalten. Gibt es keine gültigen Wegpositionen, bleiben Weglänge und Punktzahl
erhalten. Gibt es weder gültige Wegpositionen noch Stationen mit Koordinaten, bleiben Weglänge und Punktzahl
bei 0 Metern und 0 Punkten; Stationen bleiben trotzdem gespeichert.
Die gespeicherte Serverdatei enthält den normalisierten Weg. Änderungen an
@@ -82,7 +101,8 @@ Zwei Pfeile zeigen gleichzeitig die Richtung:
- zum nächsten Routenpunkt, ohne Entfernungsangabe;
- zur nächsten noch offenen Station mit Koordinaten, mit Metern.
Bei einer Strecke mit ausschließlich Stationen fehlt nur die Wegführung.
Bei einem lokalen Entwurf mit ausschließlich Stationen fehlt vor dem Hochladen
die Wegführung. Nach dem Hochladen verbindet der berechnete Weg die Stationen.
Stationen ohne Koordinaten lösen keine Standort-Erkennung aus. Während einer
Pause werden die Pfeile verborgen.