Roads API gibt die zulässige Höchstgeschwindigkeit für einen bestimmten Straßenabschnitt zurück. Bei Straßenabschnitten mit variablen Geschwindigkeitsbegrenzungen wird die standardmäßige Höchstgeschwindigkeit für das Segment zurückgegeben.
Die Genauigkeit der vom Roads API zurückgegebenen Daten zu Geschwindigkeitsbegrenzungen kann nicht garantiert werden. Die Daten zu Geschwindigkeitsbegrenzungen werden nicht in Echtzeit angegeben und können geschätzt, ungenau, unvollständig und/oder veraltet sein. Unter Abdeckungsdetails finden Sie die Regionen, für die Daten zu Geschwindigkeitsbegrenzungen 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
- 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ängengradangaben müssen durch einen senkrechten Strich (|) getrennt werden. Wenn Sie den Parameterpath
angeben, schneidet die API zuerst den Pfad an der wahrscheinlichsten Straße ab (wie bei dersnapToRoads
-Anfrage) und legt dann die Geschwindigkeitsbegrenzung für den entsprechenden Straßenabschnitt fest. Wenn Sie nicht möchten, dass die API den Pfad andocken 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 einen oder mehrere Straßenabschnitte repräsentiert. Jede Orts-ID muss sich auf einen Straßenabschnitt und nicht auf einen anderen Ortstyp beziehen. Mit jeder Anfrage können bis zu 100 Orts-IDs übergeben werden. Die API führt keine Straßenausrichtung an den 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 sie dann als Eingabe für diespeedLimits
-Anfrage angeben. Das folgende Beispiel zeigt den ParameterplaceId
mit zwei Orts-IDs:placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
key
: Der API-Schlüssel Ihrer Anwendung. Ihre Anwendung muss sich jedes Mal identifizieren, wenn sie eine Anfrage an Roads API sendet. Dazu muss jeder Anfrage ein API-Schlüssel hinzugefügt werden. 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. Dies kann aufKPH
oderMPH
festgelegt werden. Die Standardeinstellung istKPH
.
Antworten
Die folgenden Elemente können in einer speedLimits
-Antwort vorhanden sein:
speedLimits
: Ein Array von 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
: Höchstgeschwindigkeit für den betreffenden Straßenabschnittunits
: gibt entwederKPH
oderMPH
zurück.
snappedPoints
: ein Array mit angedockten 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 entsprechen. Diese Werte werden ab0
indexiert, sodass ein Punkt mit einemoriginalIndex
von4
der ausgerichtete Wert des fünften Breiten- und Längengrads ist, der an denpath
-Parameter übergeben wird.placeId
: Eine eindeutige Kennung für einen Ort. Alle von Roads API zurückgegebenen Orts-IDs entsprechen Straßenabschnitten. DerplaceId
kann in einer Anfrage für Geschwindigkeitsbegrenzungen übergeben werden, um die Geschwindigkeitsbegrenzung auf diesem Straßenabschnitt zu bestimmen.
warning_message
: Ein String, der eine für den Nutzer sichtbare Warnung enthält.
Beispielanfrage mit einem Pfad
Mit dieser Anfrage wird die Geschwindigkeitsbegrenzung für jeden Straßenabschnitt abgerufen, der den angegebenen Breiten- und Längengradangaben auf 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." }
In der Antwort oben sehen Sie eine Warnmeldung bezüglich der Punktdichte. Wenn Sie Geschwindigkeitsbegrenzungen für die nächstgelegenen Straßenabschnitte an beliebigen Punkten anfordern möchten, müssen Sie stattdessen speedLimits
mit Orts-IDs aufrufen, die vom Endpunkt nearestRoads
abgerufen werden.
Beispielanfrage mit Orts-IDs
Statt Paare aus Breiten- und Längengraden zu verwenden, können Sie auch die Orts-IDs der Straßenabschnitte übergeben. Wir empfehlen, Orts-IDs für Straßenabschnitte 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ßenausrichtung auf die angegebenen Orts-IDs an.
Im folgenden Beispiel werden die Geschwindigkeitsbegrenzungen für einige Straßenabschnitte abgefragt, die die Vasco da Gama-Brücke in Lissabon, Portugal, überqueren.
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 des Speed Limit-Dienstes 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 stationär ist, 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/alle Geschwindigkeitsbegrenzungen?
Der häufigste Grund für das Fehlen von speedLimits
ist die Abfrage der Höchstgeschwindigkeit für einen Ort, der kein Straßenabschnitt ist.
Im Beispiel oben wird die Vasco da Gama-Brücke verwendet, um Konzepte zu veranschaulichen. Die Brücke unterstützt die E 90, die den Rio Tejo überquert. Die Brücke selbst hat die Orts-ID ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Das erste Straßensegment in der obigen Antwort ist Teil der E90 und hat die Orts-ID ChiJX12duJAwGQ0Ra0d4Oi4jOGE. Wenn Sie in der Beispielanfrage die Orts-ID durch die Orts-ID der Brücke ersetzen, gibt es in der Antwort nur zwei Geschwindigkeitsbegrenzungen im speedLimits
-Array, da sich die Orts-ID der Brücke nicht auf einen einzelnen Straßenabschnitt bezieht. Wenn keine der Orts-IDs für Straßenabschnitte bestimmt ist, enthält die Antwort außerdem keine Geschwindigkeitsbegrenzungen.
Achten Sie bei Anfragen zu Geschwindigkeitsbegrenzungen mithilfe von Orts-IDs darauf, dass sich jede Orts-ID auf einen Straßenabschnitt und nicht auf einen anderen Ortstyp bezieht. Orts-IDs für einzelne Straßenabschnitte lassen sich am besten mit snapToRoads
- oder nearestRoads
-Anfragen abrufen. Von beiden können mehrere Orts-IDs aus einem einzigen Aufruf zurückgegeben werden.