Dolge poti in veliko točk

Veliko sistemov TMS in načrtovanja pot izračuna samo (npr. z Azure Maps, Google ali TomTom) in nato potrebuje le še cestnino za točno to pot. V ta namen se načrtovane koordinate posredujejo kot točke v TollCalc API.

Posredovanje točk

POST /api/calculate sprejme origin, destination in neobvezno via (vmesne točke). Vsaka točka je naslov ali koordinata v obliki "lat;lon".

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" }
  }'

Omejitve in zmanjšanje na strežniku

Usmerjevalni motor obdela omejeno število točk na zahtevo (trenutno 50 skupaj, torej start + cilj + 48 via). TollCalc to rešuje pametno:

  • Naslovi (ki jih je treba najprej geokodirati): največ 48 via. Več naslovov → HTTP 400.
  • Koordinate ("lat;lon"): lahko jih pošljete več. TollCalc verigo na strežniku zmanjša do omejitve (downsampling). Start in cilj se vedno ohranita, oblika poti pa je prioritizirana s predizborom Douglas-Peucker. Noben odsek se ne odreže.

Pomembno: Zmanjšanje deluje le, če so vse točke koordinate ("lat;lon"). Takoj ko je vključen naslov, še vedno velja omejitev 48 via.

Preverjanje odstopanja (zagotavljanje kakovosti)

Ker lahko zmanjšana veriga teoretično popači pot, TollCalc kakovost preveri samodejno: izračunana pot se primerja z vašimi izvirnimi točkami, največje odstopanje pa se oceni glede na dolžino poti.

  • ≤ 2 % → običajen odgovor; odstopanje je v polju geometry_deviation_km.
  • > 2 % → HTTP 400 z error in pojasnjevalnim warning.

Primer zavrnjene zahteve:

{
  "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."
}

(Sporočilo API je trenutno v nemščini.)

Ob uspešnem zmanjšanju odgovor dodatno vsebuje:

Polje Pomen
route_source "downsampled" (odsotno, če zmanjšanje ni bilo potrebno)
waypoints_submitted število poslanih opornih točk
waypoints_used število dejansko usmerjenih točk
geometry_deviation_km največje odstopanje vaših točk od izračunane poti

Zakaj usmerjanje s točkami namesto map matchinga?

Poslano polilinijo bi lahko pritrdili na cestno omrežje z map matchingom, namesto da usmerjamo sami. TollCalc tega namerno ne počne – iz preprostega razloga: cestnina je odvisna točno od prevožene poti.

Cestnina se razlikuje glede na konkreten odsek avtoceste, upravljavca, predore in posebne cestnine, sistem (odprt/zaprt) in državo. Drug izvoz ali vzporedna cesta že pomeni napačno cestnino. Pot mora biti torej 100 % pravilna – ne „približno".

Rezultat map matchinga pa je močno odvisen od kakovosti vhoda:

  • GPS-šum, frekvenca vzorčenja in projekcija poslanih točk,
  • vrzeli zaradi predorov, trajektov ali izgube signala,
  • „poenostavljene" ali zglajene polilinije iz sistemov tretjih oseb.

Od zunaj ne moremo ugotoviti, ali je poslana geometrija res prevožena pot ali njena poenostavljena/popačena različica. Po pravilu garbage in, garbage out bi navedli cestnino za pot, ki je stranka ni nikoli prevozila – ne da bi to opazili.

Zato namerni pristop:

  • Poslane točke so zavezujoče točke, ne le „predlogi". Motor iz njih ustvari zagotovljeno prevozno pot, ki gre skozi vsako točko v pravilnem vrstnem redu.
  • Rezultat je ponovljiv, odstopanje od vaših izvirnih točk pa je merljivo in se navede.
  • Zagotavljanje kakovosti (zmanjšanje + preverjanje odstopanja) prevzamemo mi – ne stranka. Stranki ni treba dostaviti 100 % poti niti izvajati map matchinga: posreduje svojo načrtovano pot, mi poskrbimo za pravilno pot, primerno za cestninjenje.

Kompromis je nameren: raje pregledna zavrnitev (HTTP 400 z razlogom), ko poslane točke ne dajo nedvoumne poti, kot tiho napačna cestnina. Ko bo naš map matching dokazljivo zanesljiv, ga bomo ponovno preučili – do takrat usmerjanje s točkami ostaja zanesljiva izbira.

Kdaj postane težko

Zmanjšanje je zelo zanesljivo pri običajnih dolgih vožnjah. Težje je pri:

  • Zelo dolgih, večdnevnih vožnjah – daljša kot je pot, večji je razmik med točkami po zmanjšanju.
  • Razdelilnih vožnjah z veliko majhnimi postanki in zankami.
  • Odsekih s trajektom ali nakladanjem (velike vrzeli v GPS-sledi): cestna pot se lahko takrat precej razlikuje.
  • GPS-odstopajočih vrednostih (slab fix, predor): ena sama netočna točka lahko zviša odstopanje.
  • Namerno brez cestnine: če motor pelje po drugi cesti, se cestnina prav tako spremeni.

Dobre prakse za integracije TMS

  1. Ena vožnja na zahtevo – ne pošiljajte zgodovine položajev več dni.
  2. Koordinate namesto naslovov, kadar imate veliko točk.
  3. Dovolj gosto vzorčenje – približno 1 točka na kilometer zadostuje.
  4. Očistite GPS: odstranite netočne fixe (gpsFix=false, visoka accuracy).
  5. Odseke s trajektom/nakladanjem obravnavajte kot ločene zahteve.
  6. geometry_deviation_km beležite/spremljajte za nadzor kakovosti podatkov.

Poštena ocena

TollCalc izračuna cestnino za pot, ki jo prevozi usmerjevalni motor. Pri gostih koordinatnih verigah je ujemanje zelo visoko (v praksi običajno pod 1 %), a – v nasprotju z map matchingom – ni 1:1 garancija. Preverjanje odstopanja naredi to negotovost pregledno.

→ Izračunaj cestnino