Roads API gibt die zulässige Höchstgeschwindigkeit für einen bestimmten Straßenabschnitt zurück. Bei Straßenabschnitten mit variablen Geschwindigkeitsbegrenzungen wird die Standardgeschwindigkeitsbegrenzung für das Segment zurückgegeben.
Die Genauigkeit der von der Roads API zurückgegebenen Daten zu Geschwindigkeitsbegrenzungen kann nicht garantiert werden. Die Daten zur Geschwindigkeitsbegrenzung werden nicht in Echtzeit bereitgestellt und können daher geschätzt, ungenau, unvollständig und/oder veraltet sein. Unter Details zur Abdeckung finden Sie die Regionen, in denen Daten zu Geschwindigkeitsbegrenzungen verfügbar sind.
Anfragen
Anfragen zu Geschwindigkeitsbegrenzungen müssen über HTTPS gesendet werden und haben das folgende Format:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
Parameterverwendung
Erforderliche Parameter
- Entweder ein
path
- oderplaceId
-Parameter.path
: Eine Liste von bis zu 100 Breiten- und Längengradpaaren, die einen Pfad darstellen. Breiten- und Längengradwerte müssen durch Kommas getrennt werden. Breiten- und Längengradpaare müssen durch einen senkrechten Strich „|“ getrennt werden. Wenn Sie denpath
-Parameter angeben, legt die API zuerst den Pfad an der wahrscheinlichsten Straße eines Fahrzeugs fest (wie bei dersnapToRoads
-Anfrage) und bestimmt dann die Höchstgeschwindigkeit für den entsprechenden Straßenabschnitt. Wenn die API den Pfad nicht ausrichten soll, müssen Sie wie unten beschrieben einenplaceId
-Parameter übergeben. Im folgenden Beispiel sehen Sie den Parameterpath
mit drei Breiten- und Längengradpaaren:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
.placeId
: Die Orts-ID(s) für ein oder mehrere Straßensegmente. Achten Sie darauf, dass sich jede Orts-ID auf einen Straßenabschnitt und nicht auf einen anderen Ortstyp bezieht. Mit jeder Anfrage können bis zu 100 Orts-IDs übergeben werden. Die API führt für die angegebenen Orts-IDs keine Straßenaufnahmen aus. Die Antwort enthält eine Höchstgeschwindigkeit für jede Orts-ID in der Anfrage. Sie können einesnapToRoads
- odernearestRoads
-Anfrage senden, um die relevanten Orts-IDs zu ermitteln und sie dann als Eingabe in diespeedLimits
-Anfrage anzugeben. Im folgenden Beispiel sehen Sie den ParameterplaceId
mit zwei Orts-IDs:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
: der API-Schlüssel Ihrer Anwendung. Ihre Anwendung muss sich jedes Mal identifizieren lassen, wenn sie eine Anfrage an die Roads API sendet. Dazu wird jeder Anfrage ein API-Schlüssel hinzugefügt. Weitere Informationen zum Abrufen eines Schlüssels
Optionale Parameter
units
: Gibt an, ob Höchstgeschwindigkeiten in Kilometern oder Meilen pro Stunde zurückgegeben werden sollen. Dies kann entweder aufKPH
oderMPH
festgelegt werden. Die Standardeinstellung istKPH
.
Antworten
Eine speedLimits
-Antwort kann folgende Elemente enthalten:
speedLimits
: Ein Array mit Straßenmetadaten. Jedes Element besteht aus den folgenden Feldern:placeId
: Eine eindeutige Kennung für einen Ort. Alle von Roads API zurückgegebenen Orts-IDs entsprechen Straßenabschnitten.speedLimit
: die Höchstgeschwindigkeit für diesen Straßenabschnitt.units
: gibt entwederKPH
oderMPH
zurück.
snappedPoints
: ein Array von ausgerichteten Punkten. Dieses Array ist nur vorhanden, wenn die Anfrage einenpath
-Parameter enthielt. Jeder Punkt besteht aus den folgenden Feldern:location
: enthält einenlatitude
- und einenlongitude
-Wert.originalIndex
: Eine Ganzzahl, die den entsprechenden Wert in der ursprünglichen Anfrage angibt. Jeder Wert in der Anfrage sollte einem angedockten Wert in der Antwort zugeordnet werden. Diese Werte sind ab0
indexiert. Ein Punkt mit demoriginalIndex
-Wert4
wird daher als Andockwert des fünften Breiten- und Längengrads an den Parameterpath
übergeben.placeId
: Eine eindeutige Kennung für einen Ort. Alle von Roads API zurückgegebenen Orts-IDs entsprechen Straßenabschnitten. DieplaceId
kann in einer Anfrage zu Geschwindigkeitsbegrenzungen übergeben werden, um die Geschwindigkeitsbegrenzung für einen Straßenabschnitt zu ermitteln.
warning_message
: Ein String mit einer für den Nutzer sichtbaren Warnung.
Beispielanfrage mit Pfad
Diese Anfrage ruft die Höchstgeschwindigkeit für jedes Straßensegment ab, das den angegebenen Paaren aus Breiten- und Längengrad auf einem Pfad über der Vasco da Gama-Brücke in Lissabon, Portugal, am nächsten ist.
Anfrage
https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY
Antwort
{ 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." }
Beachten Sie die Warnmeldung für Punktdichte in der obigen Antwort. Wenn Sie an beliebigen Stellen Geschwindigkeitsbegrenzungen für die nächstgelegenen Straßenabschnitte anfordern, müssen Sie stattdessen speedLimits
mit Orts-IDs aufrufen, die vom Endpunkt nearestRoads
abgerufen wurden.
Beispielanfrage mit Orts-IDs
Anstatt Paare aus Breiten- und Längengrad zu verwenden, können Sie die Orts-IDs der Straßensegmente übergeben. Wir empfehlen, Orts-IDs für Straßensegmente mit snapToRoads
- oder nearestRoads
-Anfragen abzurufen. Wenn Sie Orts-IDs übergeben, gibt die API die Höchstgeschwindigkeit für den Straßenabschnitt zurück, der durch die jeweilige Orts-ID dargestellt wird. Die API wendet keine Straßenanschlüsse auf die angegebenen Orts-IDs an.
Im folgenden Beispiel werden die Höchstgeschwindigkeit für einige der Straßenabschnitte, die die Vasco da Gama-Brücke in Lissabon, Portugal, überqueren, angefordert.
Anfrage
https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY
Antwort
{ "speedLimits": [ { placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE", speedLimit: 105, units: "KPH" }, { placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU", speedLimit: 70, units: "KPH" }, { placeId: "ChIJJ4vQRudkJA0RpednU70A-5M", speedLimit: 55, units: "KPH" } ] }
Nutzungsempfehlungen
Um die Anzahl der Aufrufe an den Geschwindigkeitsbegrenzungsdienst zu minimieren, empfehlen wir, die Standorte Ihrer Assets in Intervallen von 5 bis 15 Minuten zu erfassen. Der genaue Wert hängt von der Geschwindigkeit ab, mit der ein Asset bewegt wird. Wenn ein Asset unbeweglich ist, reicht ein einzelnes Standortbeispiel aus. Es sind also nicht mehrere Aufrufe erforderlich.
Zur Minimierung der Gesamtlatenz wird empfohlen, den Speed Limit-Dienst für die Geschwindigkeitsbegrenzung aufzurufen, sobald du einige Daten erfasst hast, und nicht jedes Mal, wenn der Standort eines mobilen Assets empfangen wird.
Warum fehlen einige/alle Geschwindigkeitsbegrenzungen?
Der häufigste Grund für das Fehlen von speedLimits
ist das Anfordern der Höchstgeschwindigkeit für einen Ort, der kein Straßenabschnitt ist.
Im obigen Beispiel wird die Vasco da Gama-Brücke zur Veranschaulichung von Konzepten verwendet. Sie stützt die E 90, die über den Rio Tejo führt. Die Brücke selbst hat die Orts-ID ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Das erste Straßensegment in der Antwort oben ist Teil der E90 und hat die Orts-ID „ChIJX12duJAwGQ0Ra0d4Oi4jOGE“. Wenn Sie in der Beispielanfrage die Orts-ID der Straße durch die Orts-ID der Brücke ersetzen, gibt es in der Antwort nur zwei Höchstgeschwindigkeiten im Array speedLimits
, da sich die Orts-ID der Brücke nicht auf einen einzelnen Straßenabschnitt bezieht. Wenn keine der Orts-IDs für Straßensegmente bestimmt ist, enthält die Antwort keine Geschwindigkeitsbegrenzungen.
Wenn Sie Anfragen zu Geschwindigkeitsbegrenzungen mit Orts-IDs stellen, achten Sie darauf, dass sich jede Orts-ID auf einen Straßenabschnitt und nicht auf einen anderen Ortstyp bezieht. Orts-IDs für einzelne Straßensegmente lassen sich am besten mit snapToRoads
- oder nearestRoads
-Anfragen abrufen. Bei beiden können in einem Aufruf mehrere Orts-IDs zurückgegeben werden.