Freiraum ist ein funktionsfähiger Proof of Concept für OSM-basierte Routenplanung mit Wohnmobilen und Wohnwagen. Die Anwendung berücksichtigt Fahrzeughöhe, -breite und -länge bei der Routenberechnung und zeigt bekannte, für das Fahrzeug kritische Höhen- und Breitenbeschränkungen als Warnmarker auf der Karte.
Wichtiger Hinweis: Die Anwendung kann nur Beschränkungen auswerten, die in OpenStreetMap erfasst sind. Beschilderung und tatsächliche Gegebenheiten vor Ort haben immer Vorrang.
- Start und Ziel über eine deutsche Adresssuche auswählen
- Start- und Zielpunkt alternativ direkt auf der Karte setzen
- Höhe und Breite des Fahrzeugs eingeben
- Gesamtlänge inklusive Deichsel oder Fahrradträger ergänzen
- eine für große Fahrzeuge optimierte Route berechnen
- Route, Fahrzeit, Entfernung und deutsche Abbiegehinweise anzeigen
- bekannte niedrige Durchfahrten und schmale Engstellen in Routennähe erkennen
- kritische OSM-Objekte über rote Marker und Detail-Popups prüfen
- Start und Ziel mit einem Klick tauschen
- die Anwendung auf Desktop und Smartphone verwenden
- Start und Ziel eingeben oder auf der Karte setzen.
- Höhe und Breite des Wohnmobils oder Gespanns eintragen.
- Optional die Gesamtlänge ergänzen.
- Sichere Route berechnen auswählen.
- Route und Gefahrenhinweise auf der Karte prüfen.
- Einen roten Marker anklicken, um Grenzwert, Fahrzeugmaß und das zugrunde liegende OSM-Objekt zu sehen.
- Die Beschilderung vor Ort vor der Durchfahrt erneut kontrollieren.
Ein roter Marker erscheint, wenn innerhalb eines schmalen Korridors entlang
der Route ein numerischer OSM-Wert für maxheight, maxheight:physical,
maxwidth oder maxwidth:physical bei oder unter dem eingegebenen
Fahrzeugmaß liegt. Die Marker zeigen Gefahrenstellen in Routennähe; sie
müssen nicht zwingend auf der tatsächlich gewählten Fahrspur liegen.
flowchart LR
UI["React-Oberfläche"] --> GEO["/api/geocode"]
UI --> ROUTE["/api/route"]
UI --> RISK["/api/restrictions"]
GEO --> NOM["Nominatim"]
ROUTE --> VAL["Valhalla Truck Routing"]
RISK --> OVER["Overpass API"]
UI --> MAP["Leaflet + OSM-Kacheln"]
| Baustein | Aufgabe |
|---|---|
| Next.js / vinext | Full-Stack-Anwendung und API-Routen |
| React | Eingabe, Status, Ergebnis- und Detailansichten |
| Leaflet | Interaktive OSM-Karte, Route und Marker |
| Nominatim | Geocodierung von Start und Ziel |
| Valhalla | Truck-Routing mit Höhe, Breite und Länge |
| Overpass API | Abfrage von OSM-Höhen- und Breitenbeschränkungen |
| Cloudflare-Vite-Plugin | Worker-kompatibler Produktions-Build |
POST /api/route validiert Koordinaten und Fahrzeugmaße und übergibt sie an
Valhalla mit dem Profil truck. Die API normalisiert das Ergebnis für die
Oberfläche:
- kodierte Routengeometrie
- Entfernung und Fahrzeit
- deutsche Manöver
- Autobahn-, Maut- und Fährhinweise
Nach erfolgreicher Routenberechnung wird die Geometrie auf maximal 70 Punkte
reduziert. POST /api/restrictions fragt in einem 90-Meter-Korridor um diese
Linie folgende OSM-Tags ab:
maxheightmaxheight:physicalmaxwidthmaxwidth:physical
Metrische Angaben sowie Fuß-/Zollangaben werden in Meter umgerechnet. Nur Objekte, deren Grenzwert das aktuelle Fahrzeugmaß erreicht oder unterschreitet, werden an die Karte zurückgegeben. OSM-Texte werden vor der Ausgabe in Leaflet-Popups maskiert.
| Route | Methode | Beschreibung |
|---|---|---|
/api/geocode?q=… |
GET |
Liefert passende OSM-Orte für eine Suchanfrage |
/api/route |
POST |
Berechnet die maßabhängige Fahrzeugroute |
/api/restrictions |
POST |
Ermittelt kritische OSM-Beschränkungen entlang der Route |
app/
├── api/
│ ├── geocode/route.ts
│ ├── restrictions/route.ts
│ └── route/route.ts
├── CamperRouter.tsx
├── globals.css
├── layout.tsx
└── page.tsx
docs/
└── screenshots/
- Node.js
>=22.13.0 - Internetzugriff auf OSM-Kacheln, Nominatim, Valhalla und Overpass
npm install
npm run devDanach ist die Anwendung unter http://localhost:3000 erreichbar.
npm run build
npm testBei einer Adresssuche und Routenberechnung werden die dafür erforderlichen Suchbegriffe, Koordinaten und Fahrzeugmaße serverseitig an die jeweiligen Kartendienste übertragen. Die Anwendung speichert selbst keine Routen oder Nutzerdaten dauerhaft.
- Kartendaten und Kacheln: © OpenStreetMap-Mitwirkende
- Geocodierung: Nominatim
- Routing: Valhalla
- Einschränkungen: Overpass API
Öffentliche Dienste können zeitweise langsam oder nicht erreichbar sein. Eine fehlende Warnung bedeutet nicht automatisch, dass eine Durchfahrt sicher ist. Der Proof of Concept ersetzt kein zugelassenes Navigationssystem und keine Kontrolle der Verkehrszeichen.

