"Jāņa sēta" piedāvā vairākus uz OSRM bāzes un saviem ceļa datiem veidotus servisus.

Ja ir vēlme izmantot citus servisus (nearest, match, tile), sazinieties ar mums!

Kā maršrutēšanas dzinējs izmantots OSRM, taču maršrutu veidošanai un citiem servisiem tiek izmantoti "Jāņa sētas" ceļu dati — pilnvērtīgākais ceļu tīkls Latvijā. Patlaban piedāvājam maršrutēšanu gan autotransportam, gan gājējiem. Pilnu dokumentāciju var skatīt šeit.

Maršruta izveides serviss

Standarta maršruta izveides serviss (route) ļauj izveidot maršrutu starp diviem vai vairākiem punktiem (maksimāli 50 punkti).

Servisa URL

Servisa saitei jāatbilst šādai formai:

https://api.kartes.lv/v3//directions/{profile}/{service}/{coordinates}?

Atgriezto datu formāts ir JSON.

HTTP metode var būt GET vai POST.

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

Standarta maršruta izveide

Servisa saitei jāatbilst šādai formai:

https://api.kartes.lv/v3//directions/{profile}/route/{coordinates}?

Pieprasījuma parametri

Iespējams padot šādus GET parametrus:

Parametrs Skaidrojums Vērtības
profile Maršrutēšanas veids. Patlaban sagatavoti divi profili: autotransporta un gājēju
  • driving - autotransporta maršrutēšana (noklusētā vērtība);
  • walking - gājēju maršrutēšana
coordinates Maršruta galapunktu koordinātas (koordināšu pāri WGS-84 (EPSG:4326) koordinātu sistēmā). Iespējams padot līdz 50 punktiem. 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ā.
alternatives Alternatīvo maršrutu skaits.
  • true - atgriež alternatīvu maršrutu;
  • false - neatgriež alternatīvu maršrutu (noklusētā vērtība);
  • vesels skaitlis - alternatīvu skaits
geometries Atgrieztās ģeometrijas veids.
  • polyline (noklusētā vērtība)
  • polyline6
  • geojson
steps Maršruta informācija pa tā posmiem.
  • false - neatgriež (noklusētā vērtība);
  • false - atgriež
overview Pārskata ģeometrija — vienkāršotu vai detalizētu.
  • simplified - atgriež vienkāršotu (noklusētā vērtība);
  • full - atgriež detalizētu
  • false - neatgriež
summary Maršrutu aprakstošs nosaukums (piemēram, "Daugavgrīvas iela, Krišjāņa Valdemāra iela").
  • true - atgriež galveno ielu nosaukumus (ja pārāk īss maršruts - neko);
  • false - neatgriež
annotations Atgriež papildu metadatus par katru maršruta koordinātu.
  • true - atgriež visus metadatus;
  • false - neatgriež metadatus (noklusētā vērtība)
continue_straight Norāda, vai maršruta galapunktos drīkst apgriezties braukšanai pretējā virzienā.
  • true - neapgriežas (noklusētā vērtība);
  • false - apgriežas.
skip_waypoints Vai izlaist informāciju par galapunktiem (waypoints objektu) no atbildes.
  • false - neizlaist (noklusētā vērtība);
  • true - izlaist.

Atbildes parametri

Atbildē tiek atgriezti šādi parametri un objekti:

Parametrs Skaidrojums
geometry Maršruta ģeometrija. Atkarīga no overview parametra, formātu nosaka geometries parametrs.
steps Maršruta detalizēts apraksts soli pa solim.
distance Garums metros.
duration Ilgums sekundēs.
weight Svars (tiek izmantots maršrutu prioritizēšanā).
weight_name Svara profila nosaukums.
summary Maršrutu aprakstošs nosaukums (piemēram, "Daugavgrīvas iela, Krišjāņa Valdemāra iela"). Nosaka pieprasījuma parametrs summary.
legs Maršruta posma starp diviem galapunktiem (RoutLeg) objekts. Posmam vai posmiem (ja ir vairāk nekā divi galapunkti) seko distance, duration, weight, summary parametri.
waypoints Galapunktu objekts, kas apraksta galapunktu un satur name, hint, location, distance (šeit - attālums no dotajām koordinātām līdz galapunkta koordinātām) parametrus.
hint Unikāls iekšējais identifikators.
location Atrašanās vietas (galapunkta, krustojuma, manevra) koordinātas, kuras tiek izmantotas doto koordinātu vietā (atrodas uz dotā ceļa tīkla).
name Galapunkta ielas nosaukums (ja ir).

Paraugi

Ievads:

https://api.kartes.lv/v3//directions/driving/route/24.106237,56.964682;24.094009,56.960553?overview=full&annotations=true&steps=true

Rezultāts:

{
  "code": "Ok",
  "routes": [
    {
      "geometry": "g|tzIyfcrCbBFpBF|@BlAPf@HBp@@F?FAx@G|BKpF@R?TNfEHfCDfANpD@ZBh@BnB@NFzD?NfA@JAvH?hBB`AA\\DXRVLPBt@A`BC`@Ab@B\\HvAz@bAj@NJG`AADALCLGXQd@_@t@_@`@uJfGEM",
      "legs": [
        {
          "annotation": {
            "metadata": {
              "datasource_names": [
                "lua profile"
              ]
            },
            "nodes": [
              2049918,
              ...
              2048950
            ],
            "datasources": [
              0,
              ...
              0
            ],
            "speed": [
              13.7,
              ...
              5.4
            ],
            "weight": [
              3.6,
              ...
              0.9
            ],
            "duration": [
              4.1,
              ...
              1
            ],
            "distance": [
              55.991795,
              ...
              5.399539
            ]
          },
          "steps": [
            {
              "intersections": [
                {
                  "out": 0,
                  "entry": [
                    true
                  ],
                  "bearings": [
                    182
                  ],
                  "location": [
                    24.106207,
                    56.964683
                  ]
                },
                {
                  "out": 1,
                  "location": [
                    24.10617,
                    56.96418
                  ],
                  "bearings": [
                    0,
                    180,
                    270
                  ],
                  "entry": [
                    false,
                    true,
                    true
                  ],
                  "in": 0
                }
              ],
              "driving_side": "right",
              "geometry": "g|tzIyfcrCbBFpBF|@BlAPf@H",
              "mode": "driving",
              "duration": 16.7,
              "maneuver": {
                "bearing_after": 182,
                "location": [
                  24.106207,
                  56.964683
                ],
                "bearing_before": 0,
                "type": "depart"
              },
              "ref": "P1",
              "weight": 14.9,
              "distance": 220.1,
              "name": "Pulkveža Brieža iela"
            }
            ...
            {
              "intersections": [
                {
                  "in": 0,
                  "entry": [
                    true
                  ],
                  "bearings": [
                    232
                  ],
                  "location": [
                    24.09501,
                    56.95942
                  ]
                }
              ],
              "driving_side": "right",
              "geometry": "k{szIy`arC",
              "mode": "driving",
              "duration": 0,
              "maneuver": {
                "bearing_after": 0,
                "type": "arrive",
                "modifier": "left",
                "bearing_before": 52,
                "location": [
                  24.09501,
                  56.95942
                ]
              },
              "weight": 0,
              "distance": 0,
              "name": " "
            }
          ],
          "distance": 1629.4,
          "duration": 157.8,
          "summary": "Eksporta iela,  ",
          "weight": 149.7
        }
      ],
      "distance": 1629.4,
      "duration": 157.8,
      "weight_name": "routability",
      "weight": 149.7
    }
  ],
  "waypoints": [
    {
      "hint": "D1wBgP___38DAAAAJwAAAAAAAAAAAAAAupanQDs9YEIAAAAAAAAAAAMAAAAsAAAAAAAAAAAAAAAaAAAA39RvAUs2ZQP91G8BSjZlAwAAbwttuz33",
      "distance": 1.827851,
      "name": "Pulkveža Brieža iela",
      "location": [
        24.106207,
        56.964683
      ]
    },
    {
      "hint": "BXoMgAd6DIAAAAAACQAAAJgBAAB-AQAAAAAAAJEqrUA5zG1Dpi5fQwAAAAAKAAAAqwEAAJEBAAAaAAAAIqlvAbwhZQM5pW8BKSZlAwIAfw5tuz33",
      "distance": 140.090272,
      "name": " ",
      "location": [
        24.09501,
        56.95942
      ]
    }
  ]
}

Maršrutu optimizācijas serviss

Maršrutu optimizācijas jeb ceļojošā tirgotāja (Travelling salesman problem) serviss balstīts uz OSRM trip servisu. Serviss optimizē 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 papildu parametri

Servisa saitei jāatbilst šādai formai:

https://api.kartes.lv/v3//directions/{profile}/trip/{coordinates}?

Papildu maršrutu izveides servisam padotajiem parametriem, pieejami šādi papildu parametri:

Parametrs Skaidrojums Vērtības
roundtrip Vai maršruts atgriežas sākumpunktā (ir apļveida)?
  • true - atgriežas (noklusētā vērtība);
  • false - neatgriežas
source Nosaka maršruta sākumpunkta noteiktību.
  • any - var sākties jebkurā no dotajām koordinātām (noklusētā vērtība);
  • first - sākas galapunktā, kas dots kā pirmais
destination Nosaka maršruta beigu punkta noteiktību.
  • any - var beigties jebkurā no dotajām koordinātām (noklusētā vērtība);
  • last - beidzas galapunktā, kas dots kā pēdējais

Ja gan source, destination vērtība ir any, tomēr tiek pieņemts, ka apļveida maršruts sāksies galapunktā, kura koordinātas dotas kā pirmās.

Optimizācijas atbildes papildu parametri

Parametrs Skaidrojums
code Pieprasījuma sekmīgums. Ja sekmīgs, atbilde ir ok.
waypoints Galapunktu objekts, kas apraksta galapunktu un satur name, hint, location, distance (šeit - attālums no dotajām koordinātām līdz galapunkta koordinātām) parametrus. Galapunkti atgriezti dotajā secībā
waypoint_index Galapunkta secības numurs optimizētajā maršrutā.
trips Maršruta objekts (maršruta izklāsts pa posmiem).

Paraugi

Ievads:

https://api.kartes.lv/v3//directions/driving/trip/24.12,56.92;24.13,56.95;24.11,56.91;24.16,56.98?overview=full&annotations=true&steps=true&geometries=geojson&source=first&destination=last

Rezultāts:

{
  "code": "Ok",
  "trips": [
    {
      "geometry": {
        "coordinates": [
          [
            24.120225,
            56.920305
          ],
          ...
          [
            24.120225,
            56.920305
          ]
        ],
        "type": "LineString"
      },
      "legs": [
        {
          "annotation": {
            "metadata": {
              "datasource_names": [
                "lua profile"
              ]
            },
            "nodes": [
              2041236,
              ...
              2040145
            ],
            "datasources": [
              0,
              ...
              0
            ],
            "speed": [
              5.6,
              ...
              8.3
            ],
            "weight": [
              2.4,
              ...
              3
            ],
            "duration": [
              2.4,
              ...
              3
            ],
            "distance": [
              13.413894,
              ...
              24.901147
            ]
          },
          "steps": [
            {
              "intersections": [
                {
                  "out": 0,
                  "entry": [
                    true
                  ],
                  "bearings": [
                    292
                  ],
                  "location": [
                    24.120225,
                    56.920305
                  ]
                },
                {
                  "out": 2,
                  "location": [
                    24.11837,
                    56.92075
                  ],
                  "bearings": [
                    75,
                    120,
                    300
                  ],
                  "entry": [
                    true,
                    false,
                    true,
                    true
                  ],
                  "in": 1
                },
                {
                  "out": 3,
                  "location": [
                    24.11311,
                    56.92362
                  ],
                  "bearings": [
                    60,
                    150,
                    330
                  ],
                  "entry": [
                    true,
                    false,
                    true
                  ],
                  "in": 1
                }
              ],
              "driving_side": "right",
              "geometry": {
                "coordinates": [
                  [
                    24.120225,
                    56.920305
                  ]
                  ...
                  [
                    24.11164,
                    56.92479
                  ]
                ],
                "type": "LineString"
              },
              "mode": "driving",
              "duration": 138.2,
              "maneuver": {
                "bearing_after": 292,
                "type": "depart",
                "modifier": "left",
                "bearing_before": 0,
                "location": [
                  24.120225,
                  56.920305
                ]
              },
              "weight": 138.2,
              "distance": 737.7,
              "name": " "
            },
            ...
          ],
          "distance": 3466.5,
          "duration": 396.3,
          "summary": " , Putnu iela",
          "weight": 380
        },
        ...
      ],
      "distance": 25447.2,
      "duration": 2288.6,
      "weight_name": "routability",
      "weight": 2147.1
    }
  ],
  "waypoints": [
    {
      "waypoint_index": 0,
      "trips_index": 0,
      "location": [
        24.120225,
        56.920305
      ],
      "name": " ",
      "distance": 36.624429,
      "hint": "8YIPgAGDD4AYAAAAIwAAAMUAAABfAAAAnjtXQZrxmkEh0ttCL1BTQhgAAAAjAAAAxQAAAF8AAAAaAAAAoQtwAfGIZAPACnABwIdkAwEA_wZtuz33"
    },
    {
      "waypoint_index": 2,
      "trips_index": 0,
      "location": [
        24.1301,
        56.94996
      ],
      "name": " ",
      "distance": 7.544916,
      "hint": "dnIMgH1yDIBLAAAAAAAAAAAAAAA9AAAAVEIuQgAAAAAAAAAANckPQk4AAAAAAAAAAAAAAEAAAAAaAAAANDJwAcj8ZAPQMXAB8PxkAwAArxVtuz33"
    },
    {
      "waypoint_index": 1,
      "trips_index": 0,
      "location": [
        24.10957,
        56.91034
      ],
      "name": "Tumes iela",
      "distance": 46.035301,
      "hint": "H6MBgAGkAYAAAAAAHgAAADMAAAD7AAAAAAAAAOClx0FF_LFBIQ5SQwAAAAAeAAAAMwAAAPsAAAAaAAAAAuJvAQRiZAOw428BsGBkAwQAPwNtuz33"
    },
    {
      "waypoint_index": 3,
      "trips_index": 0,
      "location": [
        24.160294,
        56.979942
      ],
      "name": "Augstrozes iela",
      "distance": 19.010534,
      "hint": "hGcMgIxnDIACAAAALwAAAA4AAAAuAAAAs_4lQPa5PEIbJGRBe2U6QgIAAAAxAAAADwAAAC8AAAAaAAAAJqhwAeZxZQMAp3ABIHJlAwEAPwFtuz33"
    }
  ]
}

Attālumu tabulas (distance matrix) serviss

Attālumu tabulas jeb matricas (distance matrix) serviss ļauj saņemt attālumu un pārvietošanās laiku starp visiem norādītajiem koordināšu pāriem (piem., novērtēt visus attālumus starp četrām Latvijas pilsētām, iegūstot vērtības Rīga—Cēsis, Rīga—Valmiera, Rīga—Sigulda, Valmiera—Cēsis, Valmiera—Sigulda, Sigulda—Cēsis; atrast ātrāk sasniedzamo veikalu no konkrētas vietas (piem., atrašanās vietas koordinātām)). Servisam var padot ne vairāk kā 50 koordinātu pāru. Pieprasījumā jādefinē, kuras koordinātas ir "izejas punkti"/sākumpunkti (sources) un uz kuriem punktiem jāveic ceļš (destinations). Var izmantot gan autobraucēju, gan gājēju profilu.

Attālumu tabulas pieprasījuma papildu parametri

Servisa saitei jāatbilst šādai formai:

https://api.kartes.lv/v3//directions/{profile}/table/{coordinates}?

Papildu maršrutu izveides servisam padotajiem parametriem, jāizmanto šādi papildu parametri:

Parametrs Skaidrojums Vērtības
sources Definē, kuri no koordinātu pāriem ir sākumpunkti, no kurienes jārēķina pārvietošanās ilgums vai attālums. Tie jānorāda, balstoties ievadīto koordināšu secībā.
  • all - visi (noklusētā vērtība)
  • 0;1;2; … n - - tiek izmantotie konkrētie koordināšu pāri (atdalīti ar semikolu)
destinations Definē, kuri no koordinātu pāriem ir galamērķi, uz kuriem jārēķina pārvietošanās ilgums vai attālums. Tie jānorāda, balstoties ievadīto koordināšu secībā.
  • all - visi (noklusētā vērtība)
  • 0;1;4; … n - tiek izmantotie konkrētie koordināšu pāri (atdalīti ar semikolu)
annotations Norāda, vai tiks atgrieztas attāluma vai ilguma vērtības.
  • duration - ilgums (noklusētā vērtība);
  • distance - attālums;
  • duration,distance - attālums un ilgums.
fallback_speed Aktivizē iespēju saņemt attālumu pa gaisa līniju, ja nav iespējams izveidot maršrutu pa ceļiem. Šajā parametrā var norādīt ātrumu (kilometrus stundā), kas tiek izmantots šim aprēķinam. Decimālskaitlis
fallback_coordinate Gaisa līnijas attāluma gadījumā: vai aprēķinam izmantot dotās koordinātas, vai t.s. navigācijas koordinātas (uz ceļu tīkla).
  • input - dotās koordinātas (noklusētā vērtība);
  • snapped - navigācijas koordinātas (uz ceļu tīkla).
scale_factor Ja tiks atgrieztas ilguma (duration) vērtība, ir iespējams šīs vērtības proporcionāli mainīt, izmantojot šo reizinātāju. Decimālskaitlis

Ja skip_waypoints vērtība ir true , gan sources , gan destinations masīvi netiks atgriezti.

Attālumu tabulas papildu parametri

Parametrs Skaidrojums
code Pieprasījuma sekmīgums. Ja sekmīgs, atbilde ir ok. Ja nesekmīgs, atgriež NoTable.
durations Divdimensiju masīvs ar matricu, kas atgriež pārvietošanās laika vērtības sākumpunkts-galapunkts secībā. Šajā gadījumā minētā secība attiecas nevis uz ievadīto objektu secību, bet secību un skaitu sources un destinations parametros (tā 2;3 kļūst par 0;1 atbildes masīvā). Ilgums tiek atgriezts sekundēs.
distances Divdimensiju masīvs ar matricu, kas atgriež attāluma vērtības sākumpunkts-galapunkts secībā. Analoģiski ar durations masīvu minētā secība attiecas nevis uz ievadīto objektu secību, bet secību un skaitu sources un destinations parametros (tā 2;3 kļūst par 0;1 atbildes masīvā). Attālums tiek atgriezts metros.
sources Koordināšu pāru, kas izmantotas sākumpunktiem, jaunie identifikatori (kārtas numuri) un koordinātas (location masīvā)
destinations Koordināšu pāru, kas izmantotas galapunktiem, jaunie identifikatori (kārtas numuri) un koordinātas (location masīvā)
fallbackspeedcells Ja tiek izmantots fallback_speed parametrs, šajā atbildes parametrā tiek atgrieztas to sākumpunktu-galapunktu vērtības, kas tikušas aprēķinātas pa gaisa līniju.

Paraugi

Ievads (lai atgrieztu ilgumus starp atrašanās vietām, braucot ar auto):

https://api.kartes.lv/v3//directions/driving/table/23.401222,57.135960;23.212738,57.364682;22.920227,57.486678;24.036434,56.928184?sources=0;1&destinations=2;3

Rezultāts:

{
   "code":"Ok",
   "durations":[
      [
         2937.2,
         3077.2
      ],
      [
         1261.8,
         5107.9
      ]
   ],
   "sources":[
      {
         "hint":"3wAXgEgBF4AAAAAAJAAAAAAAAAB0AgAAAAAAAJ8OoUEAAAAA-8WuQwAAAAAkAAAAAAAAAHQCAAAjAAAAxnBjARDMZgMGE2UBWNNnAwAAvw0ZvrSg",
         "distance":9919.644635,
         "location":[
            23.29415,
            57.06856
         ],
         "name":""
      },
      {
         "hint":"b9gPgPvYD4AAAAAAJQAAAAAAAAAFAgAAAAAAAOiWJEEAAAAAEH8QQwAAAAAlAAAAAAAAAAUCAAAjAAAA7vVgAeA9awPCMmIBylBrAwAAbxMZvrSg",
         "distance":4909.313667,
         "location":[
            23.13163,
            57.35984
         ],
         "name":""
      }
   ],
   "destinations":[
      {
         "hint":"hZAPgAiRD4AKAAAAAAAAAMcBAAAAAAAA3HUJQQAAAAD1Vb5DAAAAAAoAAAAAAAAAxwEAAAAAAAAjAAAAMgFdARL2bAMjvF0BVi1tAwgA3wgZvrSg",
         "distance":3275.246139,
         "location":[
            22.87237,
            57.47253
         ],
         "name":""
      },
      {
         "hint":"NGkKgFIsAYAOAAAABAAAAAAAAAB2AAAA1gdzQfBGR0AAAAAAYF7yQg8AAAAEAAAAAAAAAHwAAAAjAAAATcRuAY6nZANSxG4BuKdkAwAA3wUZvrSg",
         "distance":4.687027,
         "location":[
            24.036429,
            56.928142
         ],
         "name":"Remtes iela"
      }
   ]
}