Distance Matrix

Ejemplo 2 – Encontrar el servicio de automóviles más cercano

En el sector de los seguros de vehículos, es muy habitual utilizar la Distance Matrix API para reducir el tiempo que se tarda en atender a los vehículos.

Dado que el vehículo averiado y las grúas comparten una ubicación de latitud/longitud, cuando el vehículo averiado solicita asistencia, el sistema puede utilizar la Distance Matrix API para decidir qué grúa llegará primero.

En este ejemplo tenemos dos vehículos averiados como destino y cinco grúas como origen:

{
    "calculationMode": "THE_FASTEST",
    "destinations": [
        {
            "latitude": -23.5654032,
            "longitude": -46.62117004,
            "siteId": "veiculo1-Cambuci"
        },
        {
            "latitude": -23.574136,
            "longitude": -46.655844,
            "siteId": "veiculo2-Jardins"
        }
    ],
    "origins": [
        {
            "latitude": -23.58664317,
            "longitude": -46.63833618,
            "siteId": "guincho1-VilaMariana"
        },
        {
            "latitude": -23.562412,
            "longitude": -46.638788,
            "siteId": "guincho2-Liberdade"
        },
        {
            "latitude": -23.55363650451996,
            "longitude": -46.620810158377516,
            "siteId": "guincho3-Mooca"
        },
        {
            "latitude": -23.561603,
            "longitude": -46.655840,
            "siteId": "guincho4-MASP"
        },
        {
            "latitude": -23.535016,
            "longitude": -46.735701,
            "siteId": "guincho5-CEAGESP"
        }
    ],
    "tripProfile": "MAPLINK"
}

La respuesta devuelve la array de objetos elements, donde cada objeto representa la relación entre cada par de origen y destino.

En este caso, se devolverá la distancia entre cada cabrestante y el vehículo. De este modo, podrá identificar qué cabrestante podrá prestar asistencia rápidamente.

Cada objeto en elements tendrá la siguiente información:

  • origin – Identificador del punto de origen;
  • destination – Identificador del punto de destino;
  • distance – Distancia total en metros;
  • nominalDuration – Duración total en segundos;
  • averageSpeed – Velocidad media del trayecto entre origen y destino en km/h.

A continuación encontrará la respuesta completa:

{
    "id": "60761bd2b966b04b48d1019c",
    "clientId": "maplink",
    "elements": [
        {
            "origin": "guincho1-VilaMariana",
            "destination": "veiculo1-Cambuci",
            "distance": 3569,
            "nominalDuration": 643,
            "averageSpeed": 19.98
        },
        {
            "origin": "guincho1-VilaMariana",
            "destination": "veiculo2-Jardins",
            "distance": 3711,
            "nominalDuration": 365,
            "averageSpeed": 36.6
        },
        {
            "origin": "guincho2-Liberdade",
            "destination": "veiculo1-Cambuci",
            "distance": 4209,
            "nominalDuration": 514,
            "averageSpeed": 29.48
        },
        {
            "origin": "guincho2-Liberdade",
            "destination": "veiculo2-Jardins",
            "distance": 3710,
            "nominalDuration": 336,
            "averageSpeed": 39.75
        },
        {
            "origin": "guincho3-Mooca",
            "destination": "veiculo1-Cambuci",
            "distance": 2787,
            "nominalDuration": 426,
            "averageSpeed": 23.55
        },
        {
            "origin": "guincho3-Mooca",
            "destination": "veiculo2-Jardins",
            "distance": 5265,
            "nominalDuration": 490,
            "averageSpeed": 38.68
        },
        {
            "origin": "guincho4-MASP",
            "destination": "veiculo1-Cambuci",
            "distance": 6842,
            "nominalDuration": 859,
            "averageSpeed": 28.67
        },
        {
            "origin": "guincho4-MASP",
            "destination": "veiculo2-Jardins",
            "distance": 2082,
            "nominalDuration": 305,
            "averageSpeed": 24.57
        },
        {
            "origin": "guincho5-CEAGESP",
            "destination": "veiculo1-Cambuci",
            "distance": 15608,
            "nominalDuration": 1588,
            "averageSpeed": 35.38
        },
        {
            "origin": "guincho5-CEAGESP",
            "destination": "veiculo2-Jardins",
            "distance": 11217,
            "nominalDuration": 1057,
            "averageSpeed": 38.2
        }
    ],
    "createdAt": 1618353108108
}

En una visualización tabular del resultado, se puede concluir lo siguiente:

  1. El vehículo "veiculo1-Cambuci" recibirá un servicio más rápido y cercano por parte de la grúa "guincho3-Mooca";
  2. El vehículo "veiculo2-Jardins" recibirá un servicio más rápido y cercano por parte de la grúa "guincho4-MASP".
origin (vehículos)destination (grúas)distancenominalDurationaverageSpeed
guincho1-VilaMarianaveiculo1-Cambuci356964319.98
guincho2-Liberdadeveiculo1-Cambuci420951429.48
guincho3-Moocaveiculo1-Cambuci278742623.55
guincho4-MASPveiculo1-Cambuci684285928.67
guincho5-CEAGESPveiculo1-Cambuci15608158835.38
guincho1-VilaMarianaveiculo1-Jardins371136536.6
guincho2-Liberdadeveiculo1-Jardins371033639.75
guincho3-Moocaveiculo1-Jardins526549038.68
guincho4-MASPveiculo1-Jardins208230524.57
guincho5-CEAGESPveiculo1-Jardins11217105738.2
Resultado de la solicitud organizado en una tabla