Attālumu matricas serviss
Serviss ļauj iegūt attālumu matricu (punkti, starp kuriem nepieciešams noteikt attālumu un laiku tā veikšanai).
Servisa URL
Servisa saitei jāatbilst šādai formai:
https://api.kartes.lv/v3//calculate_matrix?
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 | Teksts, kurā iekodētas punktu koordinātas, starp kurām jāveic attāluma aprēķināšana. Maksimālais punktu skaits - 15 | Jāatbilst šādam formātam: [[x1,y1],[x2,y2],…,[xn,yn]], kur:
|
wgs84 | Ja tiek padots šis parametrs, tad koordinātas parametrā p tiek padotas WGS84 (EPSG:4326) koordinātu sistēmā. Pēc noklusējuma koordinātas tiek padotas TM Baltic93 (EPSG:25884) koordinātu sistēmā. | |
weight | Autotransporta pašmasa kilogramos. | |
emergency | Ja tiek padots šis parametrs, tad maršrutēšana tiek veikta, pieņemot, ka transportlīdzeklis ir operatīvais transportlīdzeklis. | |
noentry | Teksts, kurā padod punktus, starp kuriem braukt ir aizliegts. Ievades formāts atbilst p parametra ievades formātam. | |
result_data_type | Nosaka atgriežamo datu formātu, ja netiek norādīts, tad pēc noklusējuma atgriež JSON. | Pieejami 3 formāti:
|
callback | Parametrs aktuāls, ja izvēlas result_data_type=jsonp, tad šī parametra funkcija tiek izsaukta, kad dati tiek atgriezti. |
Atbildes parametri
Atbildē tiek atgriezta pati matrica, katrā rezultāta "šūnā" pieejami šādi dati:
- Distance - attālums no punkta A uz punktu B metros.
- Time - attāluma no punkta A uz punktu B veikšanai nepieciešamais laiks sekundēs.
- Score, Direction - tehniskie parametri, kurus klients var ignorēt.
Kļūdu kodi
Kods | Skaidrojums |
---|---|
200 | Missing input data. Tiek atgriezts, ja vaicājumā nav ievadītas punktu koordinātas. |
200 | Wrong input data. Tiek atgriezts, ja vaicājumā nav ievadīti vai nav korekti ievadīti pieprasījuma parametri. |
200 | Too many points, maximum allowed 15. Tiek atgriezts, ja vaicājumā norādīto punktu skaits pārsniedz 15. |
200 | Iespējamas kļūdas, ko ģenerē loģistikas serviss, piemēram Route not found (Flags: …) u.c. |
404 | No location found. Tiek atgriezts, ja nekas nav ticis atrasts. |
5xx | Servera kļūda. |
Paraugi
Pieprasījums:
https://api.kartes.lv/v3//calculate_matrix?p=[[56.77017,24.77124],[56.66856,25.42099]]&wgs84&weight=50000&noentry=[[56.95138,24.09656],[56.96305,24.09539],[56.91045,24.7637]]
Atbilde:
{
"matrix": {
"Dimension": 2,
"Matrix": [
[
[
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
},
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
}
],
[
{
"Distance": 46700.74,
"Time": 2150,
"Score": 0.0035773059353232,
"Direction": 0
},
{
"Distance": 47852.94,
"Time": 2265,
"Score": 0.0039888578467071,
"Direction": 0
}
]
],
[
[
{
"Distance": 46799.57,
"Time": 2155,
"Score": 0.0035754146520048,
"Direction": 1
},
{
"Distance": 46799.57,
"Time": 2155,
"Score": 0.0035754146520048,
"Direction": 1
}
],
[
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
},
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
}
]
]
]
},
"calc": 0.20980906486511
}
Pieprasījums:
https://api.kartes.lv/v3//calculate_matrix?p=[[512159,6306468],[512133,6306442],[510561,6308316],[512367,6306283]]
Atbilde:
{
"matrix": {
"Dimension": 4,
"Matrix": [
[
[
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
},
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
}
],
[
{
"Distance": 477.8,
"Time": 64,
"Score": 0.0001012386273942,
"Direction": 1
},
{
"Distance": 477.8,
"Time": 64,
"Score": 0.0001012386273942,
"Direction": 1
}
],
[
{
"Distance": 2526.01,
"Time": 182,
"Score": 0.00026312601403333,
"Direction": 1
},
{
"Distance": 2526.01,
"Time": 182,
"Score": 0.00026312601403333,
"Direction": 1
}
],
[
{
"Distance": 761.26,
"Time": 85,
"Score": 0.00013076540199108,
"Direction": 1
},
{
"Distance": 761.26,
"Time": 85,
"Score": 0.00013076540199108,
"Direction": 1
}
]
],
....
[
[
{
"Distance": 371.69,
"Time": 57,
"Score": 0.00010561797535047,
"Direction": 1
},
{
"Distance": 371.69,
"Time": 57,
"Score": 0.00010561797535047,
"Direction": 1
}
],
[
{
"Distance": 849.5,
"Time": 121,
"Score": 0.00020685661002062,
"Direction": 1
},
{
"Distance": 849.5,
"Time": 121,
"Score": 0.00020685661002062,
"Direction": 1
}
],
[
{
"Distance": 2897.7,
"Time": 239,
"Score": 0.0003687439893838,
"Direction": 1
},
{
"Distance": 2897.7,
"Time": 239,
"Score": 0.0003687439893838,
"Direction": 1
}
],
[
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
},
{
"Distance": 0,
"Time": 0,
"Score": 0,
"Direction": 0
}
]
]
]
},
"calc": 0.21299600601196
}