Attālumu matricas serviss

The service allows you to get a matrix of distances (points between which you need to determine the distance and the time).

API URL

The request URL should match the following pattern:

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

By default, the response is given in JSON (JSONP and XML are also available).

The HTTP GET request method is used.

  • klienta_atslega: Your authorisation key.

Query parameters

The request consists of the following GET parameters:

Parameter Description Possible values
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 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 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.

Response parameters

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.

Examples

Input:

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]]

Response:

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

Input:

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

Response:

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