Maršruta izveides serviss

Standarta maršruta izveides serviss ļauj izveidot maršrutu starp diviem vai vairākiem punktiem (maksimāli 50 punkti). Savukārt maršruta optimizācijas serviss piedāvā optimālu autotransporta maršrutēšanu starp vairākiem punktiem (maksimāli 50 punkti).

Pašlaik kā pamata maršrutu izveides dzinējs ir OSRM. KIJS maršrutu izveides dzinējs tiek izmantots tajos gadījumos, kad OSRM dzinējs nepiedāvā kādu opciju, kas pieprasīta pieprasījumā. Vēl KIJS dzinēju var pieprasīt, speciāli to norādot pieprasījuma parametros.

Standarta maršrutēšana

Servisa URL

Servisa saitei jāatbilst šādai formai: https://api.kartes.lv/v3/<klienta_atslega>/routing?

Noklusētais atgriezto datu formāts ir JSON (pieejami arī JSONP un XML).

HTTP metode ir GET.

  • klienta_atslega - klienta atslēga, kura tika Jums piešķirta.

Pieprasījuma parametri

Iespējams padot sekojošus GET parametrus:

Parametrs Skaidrojums Vērtības
p Teksta ievads, kurā iekodētas divu punktu koordinātas [[x1,y1],[x2,y2],…,[xn,yn]], kur:
  • x1 - X koordināta punktam, no kura tiek veikta maršrutēšana.
  • y1 - Y koordināta punktam, no kura tiek veikta maršrutēšana.
  • x2 - X koordināta punktam, uz kuru tiek veikta maršrutēšana.
  • y2 - Y koordināta punktam, uz kuru tiek veikta maršrutēšana.
  • xn - X koordināta pēdējam punktam maršrutā.
  • yn - Y koordināta pēdējam punktam maršrutā.
wgs84 Ja tiek padots šis parametrs, tad rezultāta ģeotelpiskie dati tiek atgriezti wgs84 (EPSG:4326) koordinātu sistēmā. Pēc noklusējuma dati tiek atgriezti LKS-92 (EPSG:25884) koordinātu sistēmā.
useKijs Ja tiek padots šis parametrs, tad pieprasījuma izpildē tiks izmantots KIJS maršrutētājs. Pēc noklusējuma tiek izmantots OSRM maršrutētājs.
emergency Ja tiek padots šis parametrs, tad maršrutēšana tiek veikta pieņemot, ka transportlīdzeklis ir operatīvais transportlīdzeklis.
result_data_type Nosaka atgriežamo datu formātu, ja netiek norādīts, tad pēc noklusējuma atgriež JSON.
  • json
  • jsonp
  • xml
callback parametrs aktuāls, ja izvēlas result_data_type=jsonp, tad šī parametra funkcija tiek izsaukta, kad dati tiek atgriezti.

Atbildes parametri

Atbildē tiek atgriezts viens objekts, objekta parametri ir šādi:

Parametrs Skaidrojums Vērtības
length Kopējais maršruta garums metros.
crossing_time Kopējais maršruta ilgums minūtēs.
waypoints Masīvs ar objektiem, kas apraksta punktu indeksus ģeometrijas parametrā route. Objektu skaits atbildīs ievadīto punktu skaitam, katrs objekts sastāv no šiem parametriem:
  • index - indekss punkta objektam, kas atrodas parametrā route.
  • meters - attālums maršrutam metros no iepriekšējā punkta līdz šim.
  • minutes - braukšanas laiks no iepriekšējā punkta līdz šim.
route Masīvs ar punktu objektiem, kas apraksta maršrutu, punktu objekti sastāv no x un y parametriem, kas apraksta punkta koordinātas.

KIJS un OSRM maršrutēšana

KIJS maršrutētājs pēc noklusējuma tiek izmantots tajos gadījumos, kad pieprasījumā ir norādīta kāda funkcionalitāte, ko OSRM maršrutētājs pašlaik neatbalsta. Šādi gadījumi ir:

  • ja ir padoti aizlieguma punkti ("noentry" parametrs);
  • ja ir padots transportlīdzekļa svars ("weight" parametrs);
  • ja ir izmantota upju, gājēju, velosipēdu, ātrās palīdzības mašīnu maršrutēšanas profils.

Paraugi

Ievads: https://api.kartes.lv/v3/<klienta_atslega>/routing?p=[[571169,6274594],[555689,6277632]]

Rezultāts:

{
    "length":"18505",
    "crossing_time":"18",
    "waypoints":[
        {
            "index":"0",
            "meters":"0",
            "minutes":"0"
        },
        {
            "index":"298",
            "meters":"18505",
            "minutes":"18"
        }
    ],
    "route":[
        {
            "x":"571209",
            "y":"6274650",

        },
        {
            "x":"571241",
            "y":"6274628",

        },
        ...
        {
            "x":"555928",
            "y":"6278050",

        }
    ]
}

Maršrutu optimizācijas serviss

Maršrutu optimizācijas serviss balstīts uz maršrutēšanas servisu. Servisam ir iespējams optimizēt līdz 50 punktiem viena maršruta ietvaros. Tas darbojas, maršrutēšanas pieprasījumiem norādot secības (order) parametru. Iespējams veidot lineārus vai riņkveida maršrutus. Serviss atgriež punktu secību.

Optimizācijas pieprasījuma parametrs

Optimizēšanu nosaka papildu GET parametrs:

Parametrs Skaidrojums Vērtības
order Punktu secība. [0,n], kur:
  • 0 - sākuma punkta kārtas numurs (secība balstās uz koordinātu ievadi);
  • n - beigu punkta kārtas numurs. Ja maršrutam jābūt riņķveida, sākuma un beigu punktam jāsakrīt.

Paraugi

Ievads: https://api.kartes.lv/v3/<klienta_atslega>/routing?p=[[56.92,24.12],[56.95,24.13],[56.91,24.11],[56.98,24.16]]&wgs84&order=[0,3]

Rezultāts:

{
    "order": [0,2,1,3]
}