Limiti di velocità

Roads API restituisce il limite di velocità pubblicato per un determinato segmento di strada. Nel caso di tratti di strada con limiti di velocità variabili, viene restituito il limite di velocità predefinito per il tratto.

L'accuratezza dei dati sui limiti di velocità restituiti da Roads API non può essere garantita. I dati sui limiti di velocità forniti non sono in tempo reale e potrebbero essere stimati, imprecisi, incompleti e/o obsoleti. Consulta i dettagli di copertura per vedere le regioni in cui sono disponibili i dati sui limiti di velocità.

Richieste

Una richiesta di limiti di velocità deve essere inviata tramite HTTPS e assume la seguente forma:

https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY

Utilizzo dei parametri

Parametri obbligatori

  • Un parametro path o placeId.
    • path: un elenco di massimo 100 coppie latitudine/longitudine che rappresenta un percorso. I valori di latitudine e longitudine devono essere separati da virgole. Le coppie latitudine/longitudine devono essere separate dal carattere della barra verticale: "|". Quando fornisci il parametro path, l'API prima aggancia il percorso alla strada più probabile percorsa da un veicolo (come accade per la richiesta snapToRoads), poi determina il limite di velocità per il tratto di strada pertinente. Se non vuoi che l'API accompagni il percorso, devi passare un parametro placeId come spiegato di seguito. L'esempio seguente mostra il parametro path con tre coppie latitudine/longitudine: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
    • placeId: gli ID luogo che rappresentano uno o più segmenti di strada. Assicurati che ogni ID luogo si riferisca a un tratto di strada e non a un tipo diverso di luogo. Puoi trasmettere fino a 100 ID luogo per ogni richiesta. L'API non esegue l'aggancio stradale sugli ID luogo forniti. La risposta include un limite di velocità per ogni ID luogo nella richiesta. Puoi inviare una richiesta snapToRoads o nearestRoads per trovare gli ID luogo pertinenti e fornirli come input alla richiesta speedLimits. L'esempio seguente mostra il parametro placeId con due ID luogo: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key: chiave API dell'applicazione. La tua applicazione deve identificarsi ogni volta che invia una richiesta all'Roads API includendo una chiave API in ogni richiesta. Scopri come ottenere una chiave.

Parametri facoltativi

  • units: indica se restituire i limiti di velocità in chilometri o miglia orarie. Può essere impostato su KPH o MPH. Il valore predefinito è KPH.

Risposte

In una risposta speedLimits possono essere presenti i seguenti elementi:

  • speedLimits: un array di metadati della strada. Ogni elemento è costituito dai seguenti campi:
    • placeId: un identificatore univoco di un luogo. Tutti gli ID luogo restituiti da Roads API corrisponderanno ai segmenti di strada.
    • speedLimit: il limite di velocità per il tratto di strada in questione.
    • units: restituisce KPH o MPH.
  • snappedPoints: un array di punti agganciati. Questo array è presente solo se la richiesta contiene un parametro path. Ogni punto è costituito dai seguenti campi:
    • location: contiene i valori latitude e longitude.
    • originalIndex: un numero intero che indica il valore corrispondente nella richiesta originale. Ogni valore nella richiesta deve essere mappato a un valore agganciato nella risposta. Questi valori sono indicizzati da 0, quindi un punto con originalIndex pari a 4 sarà il valore agganciato della quinta latitudine/longitudine passata al parametro path.
    • placeId: un identificatore univoco di un luogo. Tutti gli ID luogo restituiti da Roads API corrisponderanno ai segmenti di strada. Il placeId può essere superato in una richiesta di limiti di velocità per determinare il limite di velocità lungo quel tratto di strada.
  • warning_message: una stringa contenente un avviso visibile all'utente.

Esempio di richiesta che utilizza un percorso

Questa richiesta consente di ottenere il limite di velocità per ogni tratto di strada più vicino alle coppie latitudine/longitudine specificate in un percorso che attraversa il ponte Vasco da Gama a Lisbona, in Portogallo.

Richiedi

https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY

Risposta

{
  speedLimits:
  [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ],
  snappedPoints:
  [
    {
      location:
      {
        latitude: 38.75807927603043,
        longitude: -9.037417546438084
      },
      originalIndex: 0,
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE"
    },
    {
      location:
      {
        latitude: 38.689653701836896,
        longitude: -9.177051486847693
      },
      originalIndex: 1,
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU"
    },
    {
      location:
      {
        latitude: 41.13993011767777,
        longitude: -8.609400794783655
      },
      originalIndex: 2,
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M"
    }
  ],
  warningMessage: "Input path is too sparse. You should provide a path where consecutive points are closer to each other. Refer to the 'path' parameter in Google Roads API documentation."
}

Osserva il messaggio di avviso per la sparsità dei punti nella risposta riportata sopra. Se richiedi limiti di velocità per i tratti di strada più vicini in punti arbitrari, devi chiamare speedLimits con ID luogo recuperati dall'endpoint nearestRoads.

Esempio di richiesta che utilizza gli ID luogo

Anziché utilizzare le coppie latitudine/longitudine, puoi trasmettere gli ID luogo dei segmenti stradali. Ti consigliamo di ottenere gli ID luogo per i tratti di strada utilizzando le richieste snapToRoads o nearestRoads. Quando trasmetti gli ID luogo, l'API restituisce il limite di velocità per il tratto di strada rappresentato da ciascun ID luogo. L'API non applica alcun aggancio stradale agli ID luogo forniti.

Nell'esempio seguente vengono richiesti i limiti di velocità per alcuni tratti di strada che attraversano il ponte Vasco da Gama a Lisbona, in Portogallo.

Richiedi

https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY

Risposta

{
  "speedLimits": [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ]
}

Suggerimenti sull'utilizzo

Per ridurre al minimo il volume di chiamate al servizio Limite di velocità, ti consigliamo di campionare le località degli asset a intervalli di 5-15 minuti (il valore esatto dipende dalla velocità di spostamento di un asset). Se un asset è stazionario, è sufficiente un singolo campione di località (non è necessario effettuare più chiamate).

Per ridurre al minimo la latenza complessiva, ti consigliamo di chiamare il servizio Limite di velocità dopo aver accumulato dati, anziché chiamare l'API ogni volta che viene ricevuta la posizione di un asset mobile.

Perché mancano alcuni o tutti i limiti di velocità?

La causa più comune dell'assenza di speedLimits è la richiesta di un limite di velocità di un luogo che non è un tratto di strada.

Nell'esempio precedente viene utilizzato il ponte Vasco da Gama per illustrare i concetti. Il ponte supporta la strada E90 che attraversa il Rio Tejo. Il ponte stesso ha l'ID luogo ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Il primo tratto di strada nella risposta precedente fa parte della strada E90 e ha l'ID luogo ChIJX12duJAwGQ0Ra0d4Oi4jOGE. Nella richiesta di esempio, se sostituisci l'ID del luogo della strada con l'ID luogo del ponte, nella risposta ci saranno solo due limiti di velocità nell'array speedLimits, perché l'ID luogo del ponte non fa riferimento a un singolo tratto di strada. Inoltre, se nessuno degli ID luogo riguarda tratti di strada, la risposta non conterrà alcun limite di velocità.

Quando invii richieste di limiti di velocità utilizzando gli ID luogo, assicurati che ogni ID luogo si riferisca a un tratto di strada e non a un tipo diverso di luogo. Gli ID luogo per singoli tratti di strada vengono recuperati al meglio tramite le richieste snapToRoads o nearestRoads, ciascuna delle quali può restituire più ID luogo da una singola chiamata.