reiseroute · diff

v1.0.0 to v1.0.0

55 added, 80 removed. Audit A to A.

---
name: reiseroute
version: 1.0.0
- type: assist
- author: ellmos-ai
- created: 2026-06-22
- updated: 2026-06-22
category: assist
- description: >
- Routenplanung von A nach B via OSRM (Open Source Routing Machine).
- Unterstützt Auto, Fahrrad und Fußgänger. Kein API-Key erforderlich.
- tags:
- - routing
- - navigation
- - osrm
- - openstreetmap
- - reise
+ description: Route planning from A to B via OSRM (Open Source Routing Machine). Supports car, bicycle and pedestrian. No API key required.
+
+ tags: [routing, navigation, osrm, openstreetmap, reise]
standalone: true
anthropic_compatible: true
bach_compatible: false
bach_origin: true
- languages:
- - de
- - en
- dependencies:
- python:
- - urllib.request
- - urllib.parse
- - urllib.error
- - json
+ languages: [de, en]
+ dependencies: {'python': ['urllib.request', 'urllib.parse', 'urllib.error', 'json']}
runtime: python3
entry_point: reiseroute_core.py
- provenance:
- origin: BACH hub routing-service
- origin_path: system/hub/_services/routing/routing_service.py
- origin_version: "1.0"
- origin_repo: github.com/ellmos-ai/bach
- origin_license: MIT
- last_sync_from_origin: "2026-06-22"
- last_sync_to_origin: null
- local_changes_since_sync: >
- urllib.parse-Import an den Kopf verschoben (war im Original nur im else-Zweig).
- geocode_place (Nominatim) integriert. Keine Origin-DB. Kein Store.
- Userneutral, headless, nur Stdlib.
+ provenance: {'origin': 'BACH hub routing-service', 'origin_path': 'system/hub/_services/routing/routing_service.py', 'origin_version': '1.0', 'origin_repo': 'github.com/ellmos-ai/bach', 'origin_license': 'MIT', 'last_sync_from_origin': '2026-06-22', 'last_sync_to_origin': None, 'local_changes_since_sync': 'urllib.parse-Import an den Kopf verschoben (war im Original nur im else-Zweig). geocode_place (Nominatim) integriert. Keine Origin-DB. Kein Store. Userneutral, headless, nur Stdlib.\n'}
+ language: de
---
- # Reiseroute
+ > **Deutsch** — Offizielle Deutsch-Version / Documento Oficial en Deutsch.
- **Routenplanung via OSRM (Open Source Routing Machine)**
+ # Travel Route (Deutsch)
+
+ **Route planning via OSRM (Open Source Routing Machine)**
+
---
- ## Überblick
+ ## Übersicht & Zweck
- Plant Routen zwischen zwei Orten (Namen oder Koordinaten) über den öffentlichen
- OSRM-Dienst (`router.project-osrm.org`). Gibt Distanz, Fahrzeit und Verkehrsmittel
- aus. Kein API-Key, kein Konto erforderlich.
+ Plans routes between two locations (names or coordinates) via the public
+ OSRM service (`router.project-osrm.org`). Returns distance, travel time and
+ mode of transport. No API key, no account required.
---
- ## Trigger
+ ## Triggers
- | Phrase | Aktion |
+ | Phrase | Action |
|---|---|
- | „Plan die Route von Berlin nach Hamburg" | Auto-Route, Ortsnamen geocodieren |
- | „Wie lange dauert die Fahrt von München nach Wien mit dem Auto?" | Auto-Route + Zeitangabe |
- | „Route mit dem Fahrrad von Potsdam nach Berlin" | Fahrrad-Modus |
- | „Zu Fuß von Kreuzberg nach Mitte Berlin" | Fußgänger-Modus |
- | „Strecke von 52.52,13.41 nach 53.55,9.99" | Direkt-Koordinaten |
+ | "Plan the route from Berlin to Hamburg" | Car route, geocode place names |
+ | "How long does the drive from Munich to Vienna take by car?" | Car route + time |
+ | "Cycle route from Potsdam to Berlin" | Bicycle mode |
+ | "Walk from Kreuzberg to Mitte, Berlin" | Pedestrian mode |
+ | "Route from 52.52,13.41 to 53.55,9.99" | Direct coordinates |
---
- ## Workflow
+ ## Workflow & Vorgehen
- 1. **Start- und Zielort extrahieren** aus der Nutzereingabe.
- 2. **Modus erkennen:** Auto (Standard), Fahrrad, Fuß.
- 3. **Geocodieren:** Ortsnamen → Koordinaten via Nominatim.
- 4. **OSRM anfragen:** Gibt Distanz (km) + Dauer (formatiert) zurück.
- 5. **Ergebnis ausgeben:** Übersichtliche Textzusammenfassung.
+ 1. **Extract start and destination** from the user input.
+ 2. **Detect mode:** car (default), bicycle, foot.
+ 3. **Geocode:** place names → coordinates via Nominatim.
+ 4. **Query OSRM:** returns distance (km) + duration (formatted).
+ 5. **Output result:** concise text summary.
---
## CLI
```bash
- # Auto-Route zwischen zwei Orten
+ # Car route between two places (Deutsch)
PYTHONDONTWRITEBYTECODE=1 python reiseroute_core.py "Berlin" "Hamburg"
- # Fahrrad
+ # Bicycle (Deutsch)
PYTHONDONTWRITEBYTECODE=1 python reiseroute_core.py "Potsdam" "Berlin" --modus fahrrad
- # Zu Fuß
+ # On foot (Deutsch)
PYTHONDONTWRITEBYTECODE=1 python reiseroute_core.py "Kreuzberg, Berlin" "Mitte, Berlin" --modus fuss
- # Koordinaten direkt (lat,lon)
+ # Coordinates directly (lat,lon) (Deutsch)
PYTHONDONTWRITEBYTECODE=1 python reiseroute_core.py "52.5200,13.4050" "53.5500,9.9937"
- # JSON-Ausgabe
- PYTHONDONTWRITEBYTECODE=1 python reiseroute_core.py "München" "Wien" --json
+ # JSON output (Deutsch)
+ PYTHONDONTWRITEBYTECODE=1 python reiseroute_core.py "Munich" "Vienna" --json
- # Hilfe
+ # Help (Deutsch)
PYTHONDONTWRITEBYTECODE=1 python reiseroute_core.py --help
```
---
- ## Modi
+ ## Modes
- | Modus | Alias | OSRM-Profil |
+ | Mode | Alias | OSRM profile |
|---|---|---|
- | auto (Standard) | car, pkw, fahren | driving |
+ | auto (default) | car, pkw, fahren | driving |
| fahrrad | bike, rad, radfahren | cycling |
| fuss | foot, laufen, gehen, zu fuss | foot |
---
## Store
- Kein persistenter Store. Routen werden nicht gespeichert.
+ No persistent store. Routes are not saved.
---
- ## Haltung
+ ## Attitude
- - Immer Start und Ziel vor der Berechnung benennen.
- - Klarstellen wenn ein Ort mehrdeutig ist (z.B. „Wien" = Österreich oder gleichnamige Stadt?).
- - Hinweis: OSRM liefert die schnellste Route ohne Echtzeit-Verkehr.
- - Bei sehr langen Fußgänger-Routen (> 20 km) einen Hinweis ausgeben.
+ - Always name start and destination before calculating.
+ - Clarify if a place is ambiguous (e.g. "Vienna" = Austria or a city of the same name?).
+ - Note: OSRM provides the fastest route without real-time traffic.
+ - Issue a note for very long pedestrian routes (> 20 km).
---
- ## Datenschutz
+ ## Privacy
- Anfragen gehen an `nominatim.openstreetmap.org` (Geocoding) und
- `router.project-osrm.org` (Routing). Keine Anmeldung, kein API-Key,
- keine persistente Datenspeicherung.
+ Requests go to `nominatim.openstreetmap.org` (geocoding) and
+ `router.project-osrm.org` (routing). No login, no API key,
+ no persistent data storage.
---
- ## Verwandte Ressourcen
+ ## Related Resources
- - `location-suche` — POI-Suche (nutzt ebenfalls Nominatim)
- - `wetter` — Wetter am Reiseziel
+ - `location-suche` — POI search (also uses Nominatim)
+ - `wetter` — weather at the destination
---
- ## Changelog
+ ## Änderungsprotokoll
- | Version | Datum | Änderung |
+ | Version | Date | Change |
|---|---|---|
- | 1.0.0 | 2026-06-22 | Erstellt aus BACH routing_service.py v1.0; Geocoding integriert |
-
+ | 1.0.0 | 2026-06-22 | Created from BACH routing_service.py v1.0; geocoding integrated |