Roads API gibt die veröffentlichte Höchstgeschwindigkeit für einen bestimmten Straßenabschnitt zurück. Bei Straßensegmenten mit variablen Höchstgeschwindigkeiten wird die Standardgeschwindigkeit für das Segment zurückgegeben.
Die Genauigkeit der von Roads API zurückgegebenen Geschwindigkeitsbegrenzungsdaten kann nicht garantiert werden. Die Daten zur Geschwindigkeitsbegrenzung werden nicht in Echtzeit bereitgestellt und können geschätzt, ungenau, unvollständig und/oder veraltet sein. In den Details zur Abdeckung finden Sie die Regionen, in denen Daten zur Geschwindigkeitsbegrenzung verfügbar sind.
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 von bis zu 100 Breiten- und Längengraden, die einen Pfad darstellen. Die Werte für Breiten- und Längengrad müssen durch Kommas getrennt sein. Die Paare aus Breiten- und Längengrad müssen durch einen senkrechten Strich „|“ getrennt werden. Wenn Sie denpath
-Parameter angeben, erfasst die API zuerst den Pfad zu der wahrscheinlichsten Straße, die ein Fahrzeug zurückgelegt hat (wie bei dersnapToRoads
-Anfrage) und bestimmt dann die Geschwindigkeitsbegrenzung für das entsprechende Straßensegment. Wenn Sie nicht möchten, dass die API den Pfad erfasst, müssen Sie einenplaceId
-Parameter übergeben, wie unten erläutert. Im folgenden Beispiel sehen Sie den Parameterpath
mit drei Breiten- und Längengraden: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. Mit jeder Anfrage können Sie bis zu 100 Orts-IDs übergeben. Die API führt auf den bereitgestellten Orts-IDs keine Markierung aus. Die Antwort enthält ein Geschwindigkeitslimit für jede Orts-ID in der Anfrage. Sie können einesnapToRoads
- odernearestRoads
-Anfrage senden, um die relevanten Orts-IDs zu finden, und sie dann als Eingabe für diespeedLimits
-Anfrage bereitstellen. Im folgenden Beispiel sehen Sie denplaceId
-Parameter mit zwei Orts-IDs:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
: Der API-Schlüssel Ihrer Anwendung. Ihre Anwendung muss sich jedes Mal identifizieren, wenn eine Anfrage an Roads API gesendet wird, indem zu jeder Anfrage ein API-Schlüssel hinzugefügt wird. Hier erfahren Sie, wie Sie einen Schlüssel erhalten.
Optionale Parameter
units
: gibt an, ob Geschwindigkeitsbegrenzungen in Kilometern oder Meilen pro Stunde zurückgegeben werden sollen. Hier kann entwederKPH
oderMPH
festgelegt werden. Die Standardeinstellung istKPH
.
Antworten
Eine speedLimits
-Antwort kann die folgenden 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 den Straßenabschnitten.speedLimit
: Das Tempolimit für dieses Straßensegment.units
: gibtKPH
oderMPH
zurück
snappedPoints
: ein Array von Andockpunkten. Dieses Array ist nur vorhanden, wenn die Anfrage einenpath
-Parameter enthält. 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 in der Antwort hängenden Wert zugeordnet werden. Diese Werte werden aus0
indexiert. Ein Punkt mit einemoriginalIndex
von4
ist also der Andockwert des fünften Breiten- und 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 den Straßenabschnitten. Mit demplaceId
kann eine Anfrage für eine Geschwindigkeitsbegrenzung übergeben werden, um die Geschwindigkeitsbegrenzung für den entsprechenden 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 ermittelt, 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 Warnmeldung im Hinblick auf dünne Mengen in der Antwort oben. Falls 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ängengradpaare zu verwenden, können Sie auch die Orts-IDs der Straßenabschnitte übergeben. Wir empfehlen, Orts-IDs für Straßenabschnitte mithilfe von snapToRoads
- oder nearestRoads
-Anfragen zu erhalten. 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 keine Straßenführungen auf die angegebenen Orts-IDs an.
Im folgenden Beispiel werden die Geschwindigkeitsbegrenzungen für einige Straßenabschnitte angefordert, die über die Vasco da Gama-Brücke in Lissabon verlaufen.
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 Speed Limit-Dienst zu minimieren, empfehlen wir, die Speicherorte Ihrer Assets in Intervallen von 5 bis 15 Minuten zu abfragen. Der genaue Wert hängt von der Geschwindigkeit ab, mit der ein Asset übertragen wird. Wenn ein Asset nicht in Bewegung ist, ist ein einzelnes Standortbeispiel ausreichend. 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?
Der häufigste Grund für das Fehlen von speedLimits
ist die Anfrage der 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 Antwort oben ist Teil der E90 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 sich die Orts-ID der Brücke nicht auf ein einzelnes Straßensegment bezieht. Falls keine der Orts-IDs für Straßenabschnitte bestimmt ist, enthält die Antwort außerdem keine Geschwindigkeitsbegrenzungen.
Wenn Sie Geschwindigkeitsanfragen mit Orts-IDs senden, muss jede Orts-ID auf einen Straßenabschnitt verweisen und nicht einen anderen Ortstyp. Orts-IDs für einzelne Straßenabschnitte lassen sich am besten mit snapToRoads
- oder nearestRoads
-Anfragen abrufen. Mit diesen Anfragen können mehrere Orts-IDs von einem einzelnen Aufruf zurückgegeben werden.