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 pastāv divi maršrutu dzinēji: OSRM un Jāņa sētas iekšēji izstrādātais. Ka pamatdzinējs tiek izmantots OSRM, izņemot tos gadījumus, kad OSRM neatbalsta pieprasītā maršruta funkcionalitāti.

Standarta maršruta izveide

Servisa URL

Servisa saitei jāatbilst šādai formai:

https://api.kartes.lv/v3//routing?

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

HTTP metode ir GET.

  • klienta_atslega - Jums piešķirtā klienta atslēga.

Pieprasījuma parametri

Iespējams padot šādus 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āšanas dzinē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.
pedestrian Ja tiek padots šis parametrs, tad maršrutēšana tiek veikta gājējiem.
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.

Paraugi

Ievads:

https://api.kartes.lv/v3//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//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]
}