Lange Routen & viele Wegpunkte
Viele TMS- und Planungssysteme berechnen die Route bereits selbst (z. B. mit Azure Maps, Google oder TomTom) und benötigen anschließend nur noch die Maut für genau diese Strecke. Dazu übergibt man die geplanten Koordinaten als Wegpunkte an die TollCalc-API.
Wegpunkte übergeben
POST /api/calculate nimmt origin, destination und optional via (Zwischenpunkte). Jeder Punkt ist entweder eine Adresse oder eine Koordinate im Format "lat;lon".
curl -X POST https://app.tollcalc.eu/api/calculate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer IHR_API_TOKEN" \
-d '{
"origin": "48.1374;11.5755",
"destination": "52.5200;13.4050",
"via": ["49.0134;12.1016", "50.1109;8.6821"],
"vehicle": { "weight": 40, "axles": 5, "emission_class": "euro6", "co2_class": "class_1" }
}'
Grenzen und serverseitiges Downsampling
Die Routing-Engine verarbeitet pro Anfrage eine begrenzte Anzahl an Wegpunkten (aktuell 50 insgesamt, also Start + Ziel + 48 via). TollCalc geht damit intelligent um:
- Adressen (die erst geokodiert werden müssen): maximal 48
via. Mehr Adressen → HTTP 400. - Koordinaten (
"lat;lon"): Sie dürfen mehr übergeben. TollCalc reduziert die Kette serverseitig automatisch auf das Limit (Downsampling). Start und Ziel bleiben immer erhalten, und die Form der Route wird über eine Douglas-Peucker-Vorauswahl priorisiert. Es wird keine Teilstrecke abgeschnitten.
Wichtig: Damit das Downsampling greift, müssen alle Punkte Koordinaten (
"lat;lon") sein. Sobald eine Adresse enthalten ist, gilt weiterhin das Limit von 48via.
Abweichungsprüfung (Qualitätssicherung)
Weil eine reduzierte Punktkette die Route theoretisch verfälschen könnte, prüft TollCalc die Qualität automatisch: Die berechnete Route wird mit Ihren ursprünglichen Punkten verglichen und die maximale Abweichung relativ zur Streckenlänge bewertet.
- ≤ 2 % → normale Antwort; die Abweichung steht im Feld
geometry_deviation_km. - > 2 % → HTTP 400 mit
errorund einer erklärendenwarning.
Beispiel einer abgelehnten Anfrage:
{
"error": "Downsampling-Abweichung zu groß",
"warning": "Die aus den Stützpunkten berechnete Route weicht zu stark von der Eingabe ab: max. 67.87 km bzw. 2.14 % der Strecke (erlaubt 2 %). Bitte dichtere oder mehr Koordinaten im Format \"lat;lon\" senden."
}
Bei erfolgreichem Downsampling enthält die Antwort zusätzlich:
| Feld | Bedeutung |
|---|---|
route_source |
"downsampled" (nicht gesetzt, wenn keine Reduktion nötig war) |
waypoints_submitted |
Anzahl der übergebenen Stützpunkte |
waypoints_used |
Anzahl der tatsächlich gerouteten Wegpunkte |
geometry_deviation_km |
maximale Abweichung Ihrer Punkte zur berechneten Route |
Warum Routing mit Wegpunkten statt Map-Matching?
Man könnte eine übergebene Polyline per Map-Matching auf das Straßennetz ziehen, statt selbst zu routen. TollCalc macht das bewusst nicht – aus einem einfachen Grund: Die Maut hängt exakt an der befahrenen Strecke.
Die Maut unterscheidet sich je nach konkretem Autobahnabschnitt, Betreiber, Tunnel- und Sondermauten, Mautsystem (Open/Closed) und Land. Schon eine andere Ausfahrt oder eine abweichende Parallelstrecke ergibt eine falsche Maut. Die Route muss also 100 % stimmen – nicht „ungefähr".
Ein Map-Matching-Ergebnis hängt jedoch stark von der Qualität der Eingabe ab:
- GPS-Rauschen, Abtastrate und Projektion der übergebenen Punkte,
- Lücken durch Tunnel, Fähren oder Sendepausen,
- „vereinfachte" oder geglättete Polylines aus Fremdsystemen.
Wir können von außen nicht erkennen, ob eine gelieferte Geometrie wirklich die gefahrene Route ist oder eine vereinfachte bzw. verfälschte Variante. Nach dem Motto garbage in, garbage out würden wir dann eine Maut für eine Route ausweisen, die der Kunde nie gefahren ist – ohne dass es auffällt.
Deshalb der bewusste Ansatz:
- Die übergebenen Punkte sind verbindliche Wegpunkte, keine bloßen „Vorschläge". Die Routing-Engine erzeugt daraus eine garantiert befahrbare Route, die jeden Wegpunkt in der richtigen Reihenfolge passiert.
- Das Ergebnis ist reproduzierbar, und die Abweichung zu Ihren Originalpunkten ist messbar und wird ausgewiesen.
- Die Qualitätssicherung (Downsampling + Abweichungsprüfung) übernehmen wir – nicht der Client. Er soll keine 100-%-Route liefern müssen und auch kein Map-Matching betreiben: Er übergibt seine geplante Strecke, wir kümmern uns um die korrekte, mautfähige Route.
Der Trade-off ist bewusst: Lieber eine transparente Ablehnung (HTTP 400 mit Begründung), wenn die übergebenen Punkte keine eindeutige Route ergeben, als eine still falsche Maut. Sobald unser Map-Matching nachweislich trägt, prüfen wir es erneut – bis dahin bleibt Routing mit Wegpunkten die verlässliche Wahl.
Wann es schwierig wird
Das Downsampling funktioniert für normale Fernverkehrstouren sehr zuverlässig. Schwieriger wird es bei:
- Sehr langen, mehrtägigen Touren – je länger die Strecke, desto größer der Punktabstand nach dem Downsampling.
- Verteil-/Stückgut-Touren mit vielen kleinen Stopps und Schleifen.
- Fähr- oder Verladeabschnitten (große Lücken im GPS-Verlauf): Die Straßenroute kann dann deutlich abweichen.
- GPS-Ausreißern (schlechter Fix, Tunnel): Ein einzelner ungenauer Punkt kann die Abweichung nach oben treiben.
- Bewusst mautfreien Routen: Wird die Strecke von der Routing-Engine anders geführt, ändert sich auch die Maut.
Best Practices für TMS-Integrationen
- Eine Tour pro Anfrage – senden Sie nicht die Positionshistorie mehrerer Tage.
- Koordinaten statt Adressen, wenn Sie viele Punkte haben.
- Dicht genug abtasten – rund 1 Punkt pro Kilometer reicht.
- GPS bereinigen: ungenaue Fixes (
gpsFix=false, hoheaccuracy) vorher entfernen. - Fähr-/Verladeabschnitte als separate Anfragen behandeln.
geometry_deviation_kmloggen/monitoren, um die Datenqualität im Blick zu behalten.
Ehrliche Einordnung
TollCalc berechnet die Maut auf der von der Routing-Engine gefahrenen Route. Bei dichten Koordinatenketten ist die Übereinstimmung sehr hoch (in der Praxis meist unter 1 %), aber es ist – anders als bei einem Map-Matching – keine 1:1-Garantie. Die Abweichungsprüfung macht diese Unsicherheit transparent.