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/<klienta_atslega>/calculate_matrix?

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 punktu koordinātas, starp kurām jāveic attāluma aprēķināšana. Jāatbilst šādam formātam: [[x1,y1],[x2,y2],…,[xn,yn]], kur:
  • x1 - X koordināta 1. punktam maršrutā.
  • y1 - Y koordināta 1. punktam maršrutā.
  • x2 - X koordināta 2. punktam maršrutā.
  • y2 - Y koordināta 2. punktam maršrutā.
  • 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 koordinātas parametrā p tiek padotas WGS84 (EPSG:4326) koordinātu sistēmā. Pēc noklusējuma koordinātas tiek padotas LKS-92 (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 Teksta ievads, 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:
  • 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 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.

Paraugi

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

Rezultāts:

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

Ievads: https://api.kartes.lv/v3/<klienta_atslega>/calculate_matrix?p=[[512159,6306468],[512133,6306442],[510561,6308316],[512367,6306283]]

Rezultāts:

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