Optimized routing
This commit is contained in:
@@ -163,14 +163,38 @@ laufende Overpass-Verbindung. Berücksichtigt werden unter anderem
|
||||
explizit für Boote oder Schiffe freigegebene Flüsse. Gesperrte, private,
|
||||
stillgelegte oder im Bau befindliche Wege werden ausgeschlossen.
|
||||
|
||||
Wenn freie Laufzeitdaten fehlen, stehen zwei klar als nicht amtlich markierte Fallback-Korridore bereit:
|
||||
Nur im ausdrücklich aktivierten Demo-Modus
|
||||
`WATERMAPS_DEMO_DATA=true` stehen drei klar als nicht amtlich markierte
|
||||
Seed-Korridore bereit:
|
||||
|
||||
- Emden Außenhafen → Borkum Reede
|
||||
- Emden Außenhafen → östliche Unterems
|
||||
- Emden Außenhafen → Ems/Dortmund-Ems-Kanal → Datteln → Datteln-Hamm-Kanal → Wasserwanderrastplatz Hamm-Innenstadt (rund 153 sm)
|
||||
|
||||
Der Emden–Hamm-Fallback besitzt keine belastbaren Tiefen- oder Schleusenzeitdaten und ist bewusst auf Sportboote bis 2,5 m Tiefgang begrenzt. Vor der Fahrt sind aktuelle Sperrungen, Betriebszeiten, Wasserstände und amtliche Karten zu prüfen. Kostenfreie Inland-ENCs für den Dortmund-Ems- und Datteln-Hamm-Kanal stellt [ELWIS](https://www.elwis.de/DE/dynamisch/IENC/) bereit.
|
||||
Diese Seed-Geometrien dienen ausschließlich Entwicklung und Demonstration.
|
||||
Produktiv und im regulären lokalen Containerbetrieb ist der Demo-Modus
|
||||
deaktiviert. Fehlt dort der vollständige lokale Index beziehungsweise eine
|
||||
andere konfigurierte Routingquelle, liefert die API
|
||||
`503 fairway_sources_unavailable`, statt unbemerkt eine grobe Seed-Route zu
|
||||
zeichnen. Der Emden–Hamm-Seed besitzt keine belastbaren Tiefen- oder
|
||||
Schleusenzeitdaten und ist bewusst auf Sportboote bis 2,5 m Tiefgang begrenzt.
|
||||
Vor der Fahrt sind aktuelle Sperrungen, Betriebszeiten, Wasserstände und
|
||||
amtliche Karten zu prüfen. Kostenfreie Inland-ENCs für den Dortmund-Ems- und
|
||||
Datteln-Hamm-Kanal stellt [ELWIS](https://www.elwis.de/DE/dynamisch/IENC/)
|
||||
bereit.
|
||||
|
||||
Wenn kein Graph passt, liefert die API bewusst `422 no_fairway_route`, damit keine irreführende Luftlinie als Bootsroute gezeichnet wird. `alternatives` im Ergebnis enthält bis zu zwei weitere, topologisch unterschiedliche Optionen.
|
||||
Wenn eine verfügbare Routingquelle keinen passenden Graphen enthält, liefert
|
||||
die API bewusst `422 no_fairway_route`, damit keine irreführende Luftlinie als
|
||||
Bootsroute gezeichnet wird. Start, Zwischenziele und Ziel werden höchstens
|
||||
150 m vom Graphen entfernt zugeordnet. Die ausgegebene Liniengeometrie
|
||||
beginnt und endet am tatsächlichen Fahrwasser-Snap; eine ungeprüfte gerade
|
||||
Zufahrt vom angeklickten Punkt wird nicht als befahrbare Route ausgegeben.
|
||||
`routeSnaps` enthält dafür Originalpunkt, Snap-Punkt und Abstand. Ab 10 m
|
||||
erscheint zusätzlich ein sichtbarer Hinweis. `alternatives` im Ergebnis
|
||||
enthält bis zu zwei weitere, topologisch unterschiedliche Optionen. Wird das
|
||||
feste Rechenbudget in einem außergewöhnlich dichten Fahrwassernetz ohne
|
||||
belastbares Ergebnis erreicht, antwortet die API ausdrücklich mit
|
||||
`422 fairway_search_limited`, statt fälschlich „keine Route“ zu behaupten.
|
||||
|
||||
## Kursassistent entlang einer Route
|
||||
|
||||
|
||||
Reference in New Issue
Block a user