Hosszú útvonalak és sok pont
Sok TMS és tervezőrendszer maga számolja az útvonalat (pl. Azure Maps, Google vagy TomTom), és utána már csak a pontosan ehhez az útvonalhoz tartozó útdíjra van szüksége. Ehhez a tervezett koordinátákat pontokként adjuk át a TollCalc API-nak.
Pontok átadása
A POST /api/calculate fogadja az origin, destination mezőket és opcionálisan a via (köztes pontok) listát. Minden pont vagy cím, vagy koordináta "lat;lon" formátumban.
curl -X POST https://app.tollcalc.eu/api/calculate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_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" }
}'
Korlátok és szerveroldali downsampling
Az útvonal-tervező motor kérésenként korlátozott számú pontot dolgoz fel (jelenleg összesen 50-et, azaz start + cél + 48 via). A TollCalc ezt okosan kezeli:
- Címek (amelyeket előbb geokódolni kell): legfeljebb 48
via. Több cím → HTTP 400. - Koordináták (
"lat;lon"): többet is küldhetsz. A TollCalc a láncot szerveroldalon a korlátra csökkenti (downsampling). A start és a cél mindig megmarad, az útvonal alakját pedig Douglas-Peucker előválogatás priorizálja. Egyetlen szakasz sem vágódik le.
Fontos: A downsampling csak akkor működik, ha minden pont koordináta (
"lat;lon"). Amint egy cím is szerepel, továbbra is a 48viakorlát érvényes.
Eltérés-ellenőrzés (minőségbiztosítás)
Mivel a csökkentett pontlánc elméletileg torzíthatja az útvonalat, a TollCalc automatikusan ellenőrzi a minőséget: a kiszámított útvonalat összeveti az eredeti pontjaiddal, és a maximális eltérést az útvonal hosszához viszonyítva értékeli.
- ≤ 2 % → normál válasz; az eltérés a
geometry_deviation_kmmezőben van. - > 2 % → HTTP 400
errormezővel és magyarázówarningmezővel.
Példa elutasított kérésre:
{
"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."
}
(Az API üzenete jelenleg németül van.)
Sikeres downsampling esetén a válasz ezen kívül tartalmazza:
| Mező | Jelentés |
|---|---|
route_source |
"downsampled" (hiányzik, ha nem volt szükség csökkentésre) |
waypoints_submitted |
a beküldött támaszpontok száma |
waypoints_used |
a ténylegesen útvonalazott pontok száma |
geometry_deviation_km |
az Ön pontjainak maximális eltérése a számított útvonaltól |
Miért pontokkal történő routing a map matching helyett?
A beadott vonalláncot map matchinggel is rá lehetne illeszteni az úthálózatra, ahelyett hogy magunk terveznénk. A TollCalc ezt szándékosan nem teszi – egyszerű okból: az útdíj pontosan a megtett útvonaltól függ.
Az útdíj az adott autópálya-szakasz, az üzemeltető, az alagutak és külön díjak, a rendszer (nyitott/zárt) és az ország szerint változik. Egy másik kijárat vagy egy párhuzamos út máris hibás útdíjat eredményez. Az útvonalnak tehát 100 %-ban helyesnek kell lennie – nem „nagyjából".
A map matching eredménye azonban erősen függ a bemenet minőségétől:
- GPS-zaj, mintavételi gyakoriság és a beadott pontok vetítése,
- alagutak, kompok vagy jelmegszakadás okozta hézagok,
- harmadik féltől származó „egyszerűsített" vagy simított vonalláncok.
Kívülről nem tudjuk megállapítani, hogy a beadott geometria valóban a megtett útvonal-e, vagy annak egyszerűsített/torzított változata. A garbage in, garbage out elv szerint olyan útvonalra adnánk meg útdíjat, amelyet az ügyfél soha nem tett meg – anélkül, hogy ez feltűnne.
Ezért a szándékos megközelítés:
- A beadott pontok kötelező pontok, nem csupán „javaslatok". A motor ezekből garantáltan járható útvonalat készít, amely a helyes sorrendben halad át minden ponton.
- Az eredmény reprodukálható, és az eredeti pontjaidtól való eltérés mérhető és kimutatásra kerül.
- A minőségbiztosítást (downsampling + eltérés-ellenőrzés) mi végezzük – nem az ügyfél. Az ügyfélnek nem kell 100 %-os útvonalat adnia, és nem kell map matchinget futtatnia: átadja a tervezett útvonalát, mi gondoskodunk a helyes, díjszámításra alkalmas útvonalról.
A kompromisszum szándékos: inkább átlátható elutasítás (HTTP 400 indoklással), ha a beadott pontok nem adnak egyértelmű útvonalat, mint csendben hibás útdíj. Amint a map matchingünk bizonyítottan megbízható, újra megvizsgáljuk – addig a pontokkal történő routing a megbízható választás.
Mikor válik nehézzé
A downsampling normál hosszú fuvaroknál nagyon megbízhatóan működik. Nehezebb a következőknél:
- Nagyon hosszú, többnapos fuvarok – minél hosszabb az útvonal, annál nagyobb a pontok távolsága a downsampling után.
- Elosztó/gyűjtő fuvarok sok kis megállóval és hurokkal.
- Komp- vagy rakodási szakaszok (nagy hézagok a GPS-nyomvonalban): a közúti útvonal ekkor jelentősen eltérhet.
- GPS-kiugrások (rossz fix, alagút): egyetlen pontatlan pont is felviheti az eltérést.
- Szándékosan díjmentes útvonalak: ha a motor más útra tér, az útdíj is változik.
Bevált gyakorlatok TMS-integrációkhoz
- Egy fuvar kérésenként – ne küldd több nap pozícióelőzményét.
- Koordináták címek helyett, ha sok pontod van.
- Elég sűrű mintavétel – kb. 1 pont kilométerenként elegendő.
- Tisztítsd a GPS-t: távolítsd el a pontatlan fixeket (
gpsFix=false, magasaccuracy). - Komp-/rakodási szakaszok külön kérésként.
- Naplózd/figyeld a
geometry_deviation_kmmezőt az adatminőség szemmel tartásához.
Őszinte értékelés
A TollCalc annak az útvonalnak az útdíját számolja, amelyet az útvonal-tervező motor megtesz. Sűrű koordinátaláncoknál az egyezés nagyon magas (a gyakorlatban általában 1 % alatt), de – a map matchinggel ellentétben – nem 1:1 garancia. Az eltérés-ellenőrzés átláthatóvá teszi ezt a bizonytalanságot.