Limiti di velocità

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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.

Non è possibile garantire la precisione dei dati del limite di velocità restituiti da Roads API. I dati sul limite di velocità forniti non sono in tempo reale e possono essere stimati, imprecisi, incompleti e/o obsoleti. Consulta i dettagli della copertura per visualizzare le regioni in cui sono disponibili i dati relativi al limite di velocità.

Richieste

Una richiesta di limiti di velocità deve essere inviata tramite HTTPS e ha il seguente formato:

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

Utilizzo dei parametri

Parametri obbligatori

  • Parametro path o placeId.
    • path: elenco di massimo 100 coppie latitudine/longitudine che rappresentano un percorso. I valori di latitudine e longitudine devono essere separati da virgole. Le coppie di latitudine/longitudine devono essere separate dal carattere della barra verticale: "|". Quando fornisci il parametro path, l'API fissa in primo luogo il percorso verso la strada probabilmente percorsa da un veicolo (come avviene per la richiesta di snapToRoads), quindi determina il limite di velocità per il tratto di strada pertinente. Se non vuoi che l'API agganci 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 faccia riferimento a un tratto di strada e non a un diverso tipo di luogo. Puoi trasmettere fino a 100 ID luogo con ogni richiesta. L'API non esegue l'aggancio stradale sugli ID dei luoghi 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 posizione: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key: la chiave API della tua applicazione. L'applicazione deve identificarsi ogni volta che invia una richiesta a Roads API includendo una chiave API in ogni richiesta. Scopri come ottenere una chiave.

Parametri facoltativi

  • units: se restituire i limiti di velocità in chilometri o miglia all'ora. È possibile impostarla su KPH o MPH. Il valore predefinito è KPH.

Risposte

I seguenti elementi potrebbero essere presenti in una risposta speedLimits:

  • speedLimits: una serie di metadati relativi alla strada. Ogni elemento è costituito dai seguenti campi:
    • placeId: identificatore univoco di un luogo. Tutti gli ID luogo restituiti da Roads API corrisponderanno ai segmenti stradali.
    • speedLimit: il limite di velocità per quel tratto di strada.
    • units: restituisce KPH o MPH.
  • snappedPoints: una matrice di punti agganciati. Questo array è presente solo se la richiesta conteneva un parametro path. Ogni punto è costituito dai seguenti campi:
    • location: contiene un valore latitude e un valore longitude.
    • originalIndex: un numero intero che indica il valore corrispondente nella richiesta originale. Ogni valore nella richiesta deve essere mappato a un valore troncato nella risposta. Questi valori sono indicizzati da 0, quindi un punto con originalIndex di 4 sarà il valore agganciato della quinta latitudine/longitudine passata al parametro path.
    • placeId: identificatore univoco di un luogo. Tutti gli ID luogo restituiti da Roads API corrisponderanno ai segmenti stradali. Il placeId può essere passato 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 con un percorso

Questa richiesta riceve il limite di velocità per ogni segmento di strada più vicino alle coppie di latitudine/longitudine specificate in un percorso che attraversa il ponte Vasco da Gama a Lisbona, 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 relativo alla sparsità dei punti nella risposta precedente. Se richiedi i limiti di velocità per i segmenti di strada più vicini in punti arbitrari, devi chiamare speedLimits con gli ID luogo recuperati dall'endpoint nearestRoads.

Esempio di richiesta con ID luogo

Invece di utilizzare le coppie latitudine/longitudine, puoi trasmettere gli ID posizione dei segmenti di strada. Ti consigliamo di ottenere gli ID luogo per i segmenti 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 ogni ID luogo. L'API non applica alcun agganciamento stradale agli ID luogo forniti.

L'esempio seguente richiede i limiti di velocità per alcuni tratti di strada che attraversano il ponte Vasco da Gama a Lisbona, 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"
    }
  ]
}

Consigli sull'utilizzo

Per ridurre al minimo il volume delle chiamate al servizio Limite di velocità, 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 una risorsa è ferma, è sufficiente un singolo campione della località (non è necessario effettuare più chiamate).

Per ridurre al minimo la latenza complessiva, consigliamo di chiamare il servizio Limite di velocità una volta accumulati dati, anziché chiamare l'API ogni volta che viene ricevuta la località di un asset per dispositivi mobili.

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

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

L'esempio precedente utilizza il ponte Vasco da Gama per illustrare i concetti; il ponte supporta la strada E90 che attraversa il Rio Tejo. Il bridge stesso ha un ID luogo di ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Il primo tratto di strada nella risposta precedente fa parte della strada E90 e ha un ID luogo di ChIJX12duJAwGQ0Ra0d4Oi4jOGE. Nella richiesta di esempio, se sostituisci l'ID luogo della strada con l'ID luogo del bridge, nella risposta saranno presenti solo due limiti di velocità nell'array speedLimits perché l'ID luogo del bridge non si riferisce a un singolo segmento di strada. Inoltre, se nessuno degli ID luogo è per i tratti di strada, la risposta non conterrà limiti di velocità.

Quando effettui richieste di limite di velocità utilizzando gli ID luogo, assicurati che ogni ID luogo faccia riferimento a un tratto di strada e non a un diverso tipo di luogo. È meglio recuperare gli ID luogo per i singoli tratti di strada utilizzando le richieste snapToRoads o nearestRoads, che possono restituire più ID luogo da una singola chiamata.