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 48 via korlá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_km mezőben van.
  • > 2 % → HTTP 400 error mezővel és magyarázó warning mező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

  1. Egy fuvar kérésenként – ne küldd több nap pozícióelőzményét.
  2. Koordináták címek helyett, ha sok pontod van.
  3. Elég sűrű mintavétel – kb. 1 pont kilométerenként elegendő.
  4. Tisztítsd a GPS-t: távolítsd el a pontatlan fixeket (gpsFix=false, magas accuracy).
  5. Komp-/rakodási szakaszok külön kérésként.
  6. Naplózd/figyeld a geometry_deviation_km mező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.

→ Útdíj kiszámítása