Idioma:
  • Português
  • Español

Distance Matrix

A Distance Matrix API é um serviço que fornece a distância e tempo de viagem para uma matriz de origens e destinos considerando as especificações inseridas na request. A API retorna informações com base na rota recomendada entre os pontos inicial e final.


Simulação de uso

Vamos simular a obtenção da matriz de distância entre 3 sites, onde o modo de cálculo da rota escolhido foi a mais curta.

  • MASP

     

     

  • CEAGESP

     

     

  • ZOO de São Paulo

     

     

Legenda: Visualização dos pontos no mapa.

Dados de entrada

O parâmetro “avoidanceTypes” possui a função de incluir restrições que serão levadas em consideração na construção da rota, os valores disponíveis são: “TUNNELS”, “BRIDGES”, “FERRIES”, “TOLL_ROADS”, “TOLL_GATES”.

O parâmetro “calculationMode” foi preenchido com “THE_SHORTEST”, isso garante que que o itinerário calculado pela API Distance Matrix é o trajeto mais curto, para o modo de cálculo mais rápido, é utilizado o valor “THE_FASTEST”.

Nos parâmetros “destinations” e “origins” foram adicionadas as coordenadas dos 3 sites para que a API faça o cálculo da matriz de distância entre os pontos. O parâmetro “siteid” é utilizado para identificar os sites com seus respectivos pares de coordenadas.

O parâmetro “restrictionZones” não foi utilizado nesta simulação, mas esse parâmetro é capaz de determinar quais áreas devem ser evitadas no momento do cálculo do itinerário (necessário utilizar a API Restriction Zone). O parâmetro “speedPreferences” não foi utilizado nesta simulação, mas com ele é possível editar as velocidades das vias manualmente, isso faz com que a API ignore as velocidades médias padrões definidas previamente.

O parâmetro “startDate” determina a data e hora em que a viagem começará. Este parâmetro é obrigatório somente se o parâmetro “useRealSpeeds” for igual a “true”.

O parâmetro “useRealSpeeds” está igual a “false”; Nesta simulação foram utilizadas as velocidades padrões das vias.

Os parâmetros “vehicleSpecification” permite especificar as características do veículo de transporte como: Tipo de carga, Altura máxima, Comprimento máximo, Comprimento máximo entre os eixos, peso máximo, peso máximo para materiais perigosos, peso máximo para materiais explosivos, peso máximo para materiais poluidores, peso máximo por eixos e largura máxima. Para essa simulação esses parâmetros não foram utilizados.

Para a simulação foi utilizado o perfil de itinerário de rotas “BRAZIL”.


Exemplo de request

No caso da simulação acima, o código de request seria:

Exemplo de request API Distance Matrix
{
    "avoidanceTypes": [],
    "calculationMode": "THE_SHORTEST",
    "destinations": [
        {
            "latitude": -23.561603,
            "longitude": -46.655840,
            "siteId": "MASP"
        },
        {
            "latitude": -23.535016,
            "longitude": -46.735701,
            "siteId": "CEAGESP"
        },
        {
            "latitude": -23.650886,
            "longitude": -46.626675,
            "siteId": "ZOO"
        }
    ],
    "origins": [
        {
            "latitude": -23.561603,
            "longitude": -46.655840,
            "siteId": "MASP"
        },
        {
            "latitude": -23.535016,
            "longitude": -46.735701,
            "siteId": "CEAGESP"
        },
         {
            "latitude": -23.650886,
            "longitude": -46.626675,
            "siteId": "ZOO"
        }
    ],
    "restrictionZones": [],
    "speedPreferences": [],
    "startDate": 0,
    "useRealSpeeds": false,
    "tripProfile": "MAPLINKBR",
    "vehicleSpecification": {
        "loadTypes": [
            "RAW_MATERIALS"
        ],
        "maxHeight": 0,
        "maxLength": 0,
        "maxLengthBetweenAxles": 0,
        "maxWeight": 0,
        "maxWeightForDangerousMaterials": 0,
        "maxWeightForExplodingMaterials": 0,
        "maxWeightForPollutingMaterials": 0,
        "maxWeightPerAxle": 0,
        "maxWidth": 0
    }
}

Exemplo de response

No caso da simulação acima, o código de response seria:

Exemplo de response API Distance Matrix
{
    "id": "5f6295695f9698634f2de3bb",
    "clientId": "*",
    "elements": [
        {
            "origin": "MASP",
            "destination": "MASP",
            "distance": 0,
            "nominalDuration": 0,
            "averageSpeed": 0.0,
            "speedProfilePenalty": 0
        },
        {
            "origin": "MASP",
            "destination": "CEAGESP",
            "distance": 11820,
            "nominalDuration": 1203,
            "averageSpeed": 35.37,
            "speedProfilePenalty": 0
        },
        {
            "origin": "MASP",
            "destination": "ZOO",
            "distance": 13744,
            "nominalDuration": 1516,
            "averageSpeed": 32.64,
            "speedProfilePenalty": 0
        },
        {
            "origin": "CEAGESP",
            "destination": "MASP",
            "distance": 10724,
            "nominalDuration": 1125,
            "averageSpeed": 34.32,
            "speedProfilePenalty": 0
        },
        {
            "origin": "CEAGESP",
            "destination": "CEAGESP",
            "distance": 0,
            "nominalDuration": 0,
            "averageSpeed": 0.0,
            "speedProfilePenalty": 0
        },
        {
            "origin": "CEAGESP",
            "destination": "ZOO",
            "distance": 19612,
            "nominalDuration": 2074,
            "averageSpeed": 34.04,
            "speedProfilePenalty": 0
        },
        {
            "origin": "ZOO",
            "destination": "MASP",
            "distance": 12240,
            "nominalDuration": 1390,
            "averageSpeed": 31.7,
            "speedProfilePenalty": 0
        },
        {
            "origin": "ZOO",
            "destination": "CEAGESP",
            "distance": 19657,
            "nominalDuration": 1932,
            "averageSpeed": 36.63,
            "speedProfilePenalty": 0
        },
        {
            "origin": "ZOO",
            "destination": "ZOO",
            "distance": 0,
            "nominalDuration": 0,
            "averageSpeed": 0.0,
            "speedProfilePenalty": 0
        }
    ],
    "createdAt": 1600296299267
}


Resumo do cálculo

Partida Chegada Distância Duração Velocidade média Perfil de velocidade penalizada
MASP MASP 0 km 0 segundo 0 km/h 0
MASP CEAGESP 11.82 km 1203 segundos 35.37 km/h 0
MASP ZOO 13.74 km 1516 segundos 32.34 km/h 0
CEAGESP MASP 10.72 km 1125 segundos 34.32 km/h 0
CEAGESP CEAGESP 0 km 0 segundo 0 km/h 0
CEAGESP ZOO 16.61 km 2074 segundos 34.04 km/h 0
ZOO MASP 12.24 km 1390 segundos 31.70 km/h 0
ZOO CEAGESP 19.65 km 1932 segundos 36.63 km/h 0
ZOO ZOO 0 km 0 segundo 0 km/h 0
End of Content