Roads API gibt die zulässige Höchstgeschwindigkeit für einen Straßenabschnitt zurück. Bei Straßensegmenten mit variablen Geschwindigkeitsbegrenzungen wird die Standardgeschwindigkeitsbegrenzung für das Segment zurückgegeben.
Die Genauigkeit der von Roads API zurückgegebenen Geschwindigkeitsbegrenzungen kann nicht garantiert werden. Die Daten zur Geschwindigkeitsbegrenzung werden nicht in Echtzeit angegeben und können geschätzt, ungenau, unvollständig und/oder veraltet sein. Weitere Informationen zu den Regionen, in denen Daten zu Geschwindigkeitsbegrenzungen verfügbar sind, finden Sie unter Abdeckungsdetails.
Anfragen
Eine Anfrage für Geschwindigkeitsbegrenzungen muss über HTTPS gesendet werden und hat das folgende Format:
https://roads.googleapis.com/v1/speedLimits?parameters&key=YOUR_API_KEY
Parameterverwendung
Erforderliche Parameter
- Entweder ein
path
- oder einplaceId
-Parameter.path
: Eine Liste mit bis zu 100 Paaren für Breiten- und Längengrad, die einen Pfad darstellen. Breiten- und Längengradwerte müssen durch Kommas getrennt werden. Breiten- und Längengradangaben müssen durch einen senkrechten Strich (|) getrennt werden. Wenn Sie den Parameterpath
angeben, wird über die API zuerst der Pfad zur wahrscheinlichsten Strecke für ein Fahrzeug aufgenommen (wie bei der AnfragesnapToRoads
) und dann die Geschwindigkeitsbegrenzung für das entsprechende Straßensegment. Wenn der API-Pfad den Pfad nicht erfassen soll, müssen Sie einenplaceId
-Parameter übergeben, wie unten erläutert. Das folgende Beispiel zeigt den Parameterpath
mit drei Paaren aus Breiten- und Längengrad:path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796
.placeId
: Die Orts-ID(s), die ein oder mehrere Straßensegmente darstellen Jede Orts-ID muss sich auf einen Straßenabschnitt beziehen und nicht auf eine andere Art von Ort. Sie können bei jeder Anfrage bis zu 100 Orts-IDs übergeben. Die API führt kein Andocken der angegebenen Orts-IDs durch. Die Antwort enthält eine Geschwindigkeitsbegrenzung für jede Orts-ID in der Anfrage. Sie können einesnapToRoads
- odernearestRoads
-Anfrage senden, um die relevanten Orts-IDs zu finden und diese dann als Eingabe für diespeedLimits
-Anfrage bereitzustellen. Das folgende Beispiel zeigt den ParameterplaceId
mit zwei Orts-IDs:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
: Der API-Schlüssel Ihrer Anwendung. Die Anwendung muss sich selbst jedes Mal identifizieren, wenn sie eine Anfrage an Roads API sendet. Dazu muss in jede Anfrage ein API-Schlüssel eingefügt werden. Schlüssel anfordern
Optionale Parameter
units
: gibt an, ob Geschwindigkeitsbegrenzungen in Kilometern oder Meilen pro Stunde zurückgegeben werden sollen. Das kann entwederKPH
oderMPH
sein. 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ßensegmenten.speedLimit
: Die Höchstgeschwindigkeit für diesen Straßenabschnitt.units
: gibt entwederKPH
oderMPH
zurück.
snappedPoints
: ein Array von Andockpunkten. Dieses Array ist nur vorhanden, wenn die Anfrage einenpath
-Parameter enthielt. Jeder Punkt besteht aus den folgenden Feldern:location
: Enthält die Wertelatitude
undlongitude
.originalIndex
: Eine Ganzzahl, die den entsprechenden Wert in der ursprünglichen Anfrage angibt. Jeder Wert in der Anfrage sollte einem Andockwert in der Antwort zugeordnet sein. Diese Werte werden aus0
indexiert. Ein Punkt mit einemoriginalIndex
von4
ist also der angepinnte Wert des fünften Breiten-/Längengrads, der an den Parameterpath
übergeben wird.placeId
: Eine eindeutige Kennung für einen Ort. Alle von Roads API zurückgegebenen Orts-IDs entsprechen Straßensegmenten.placeId
kann in einer Anfrage für Geschwindigkeitsbegrenzungen übergeben werden, um die Geschwindigkeitsbegrenzung für diesen Straßenabschnitt zu ermitteln.
warning_message
: Ein String mit einer für den Nutzer sichtbaren Warnung.
Beispielanfrage mit einem Pfad
Mit dieser Anfrage wird die Geschwindigkeitsbegrenzung für jedes Straßensegment abgerufen, das den angegebenen Breiten- und Längengraden in einem Pfad über die 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 Warnung für zu wenig Daten in der obigen Antwort. Wenn Sie Geschwindigkeitsbegrenzungen für die nächstgelegenen Straßensegmente an beliebigen Punkten anfordern, müssen Sie stattdessen speedLimits
mit Orts-IDs aufrufen, die vom nearestRoads
-Endpunkt abgerufen wurden.
Beispielanfrage mit Orts-IDs
Statt Breitengrad/Längengrad-Paare können Sie die Orts-IDs der Straßensegmente übergeben. Wir empfehlen, Orts-IDs für Straßensegmente mit Anfragen vom Typ snapToRoads
oder nearestRoads
abzurufen. Wenn Sie Orts-IDs übergeben, gibt die API die Geschwindigkeitsbegrenzung für das Straßensegment zurück, das durch die einzelnen Orts-IDs dargestellt wird. Die API wendet keinen Straßenverlauf auf die angegebenen Orts-IDs an.
Im folgenden Beispiel werden die Geschwindigkeitsbegrenzungen für einige Straßensegmente angefordert, die die Brücke Vasco da Gama in Lissabon (Portugal) überschreiten.
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 das Volumen der Aufrufe des Speed Limit-Dienstes zu minimieren, empfehlen wir, die Orte Ihrer Assets in Intervallen von 5 bis 15 Minuten zu abfragen. Der genaue Wert hängt von der Geschwindigkeit ab, mit der ein Asset bewegt wird. Wenn es sich um ein stationäres Asset handelt, reicht ein einzelnes Standortbeispiel aus. Es sind 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 oder alle Geschwindigkeitsbegrenzungen?
Die häufigste Ursache dafür, dass speedLimits
fehlt, ist die Geschwindigkeitsbegrenzung für einen Ort, der kein Straßensegment ist.
Im Beispiel oben wird die Vasco da Gama-Brücke zur Veranschaulichung von Konzepten verwendet. Die Brücke unterstützt die E90-Brücke über den Rio Tejo. Die Brücke selbst hat die Orts-ID ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Das erste Straßensegment in der obigen Antwort ist Teil der E90-Straße und hat die Orts-ID ChIJX12duJAwGQ0Ra0d4Oi4jOGE. Wenn Sie in der Beispielanfrage die Straßen-ID durch die Orts-ID der Brücke ersetzen, gibt es in der Antwort nur zwei Geschwindigkeitsbegrenzungen im Array speedLimits
, da die Orts-ID der Brücke nicht auf ein einzelnes Straßensegment verweist. Wenn keine der Orts-IDs für Straßensegmente bestimmt ist, enthält die Antwort keine Geschwindigkeitsbegrenzungen.
Wenn Sie Geschwindigkeitsbegrenzungsanfragen mit Orts-IDs stellen, achten Sie darauf, dass jede Orts-ID auf einen Straßenabschnitt und nicht auf eine andere Art von Ort verweist. Orts-IDs für einzelne Straßensegmente lassen sich am besten mit Anfragen vom Typ snapToRoads
oder nearestRoads
abrufen. Mit beiden können mehrere Orts-IDs von einem einzigen Aufruf zurückgegeben werden.