Ograniczenia prędkości

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Roads API zwraca opublikowane ograniczenie prędkości dla danego segmentu drogi. W przypadku segmentów drogi ze zmiennymi limitami prędkości zwracany jest domyślny limit prędkości.

Nie możemy zagwarantować dokładności danych o ograniczeniach prędkości, które zwraca Roads API. Podane ograniczenia prędkości nie są wyświetlane w czasie rzeczywistym i mogą być szacunkowe, niedokładne, niepełne lub nieaktualne. Sprawdź szczegóły zasięgu, aby sprawdzić regiony, w których dostępne są dane dotyczące ograniczeń prędkości.

Żądania

Żądanie ograniczeń prędkości musi być wysyłane przez protokół HTTPS i mieć taką postać:

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

Wykorzystanie parametrów

Parametry wymagane

  • Parametr path lub placeId.
    • path – lista maksymalnie 100 par szerokości i długości geograficznej reprezentujących ścieżkę. Wartości szerokości i długości geograficznej muszą być rozdzielone przecinkami. Pary szerokości i długości geograficznej muszą być rozdzielone pionową kreską „|”. Gdy podasz parametr path, interfejs API najpierw rzuci ścieżkę do najbardziej prawdopodobnej drogi, jaką pokonał pojazd (tak samo jak w przypadku żądania snapToRoads), a następnie określi ograniczenie prędkości dla odpowiedniego segmentu drogi. Jeśli nie chcesz, aby interfejs API pobierał ścieżkę, musisz przekazać parametr placeId w sposób opisany poniżej. Poniższy przykład przedstawia parametr path z 3 parami szerokości i długości geograficznej: path=60.170880,24.942795|60.170879,24.942796|60.170877,24.942796.
    • placeId – identyfikatory miejsc reprezentujące co najmniej jeden fragment drogi. Upewnij się, że każdy identyfikator miejsca odnosi się do segmentu drogi, a nie do innego typu miejsca. W ramach każdej prośby możesz przekazać do 100 identyfikatorów miejsc. Interfejs API nie wykonuje sprawdzania drogi na podstawie podanych identyfikatorów miejsc. Odpowiedź zawiera ograniczenie prędkości dla każdego identyfikatora miejsca w żądaniu. Aby znaleźć odpowiednie identyfikatory miejsc, możesz wysłać żądanie snapToRoads lub nearestRoads, a następnie podać je w żądaniu speedLimits. Poniższy przykład przedstawia parametr placeId z 2 identyfikatorami miejsc: placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU
  • key – klucz interfejsu API aplikacji. Aplikacja musi sprawdzać się za każdym razem, gdy wysyła żądanie do Roads API, umieszczając w każdym z nich klucz interfejsu API. Dowiedz się, jak uzyskać klucz.

Parametry opcjonalne

  • units – informacja o tym, czy należy przywrócić ograniczenia prędkości w kilometrach lub milach na godzinę. Możliwe wartości to KPH lub MPH. Domyślna wartość to KPH.

Odpowiedzi

W odpowiedzi speedLimits mogą znajdować się te elementy:

  • speedLimits – tablica metadanych drogi; Każdy element składa się z następujących pól:
    • placeId – unikalny identyfikator miejsca; Wszystkie identyfikatory miejsc zwracane przez wartość Roads API będą odpowiadać segmentom drogi.
    • speedLimit – ograniczenie prędkości dla tego fragmentu drogi.
    • units – zwraca albo KPH, albo MPH.
  • snappedPoints – tablica przyciąganych punktów; Ta tablica jest dostępna tylko wtedy, gdy żądanie zawiera parametr path. Każdy punkt składa się z następujących pól:
    • location – zawiera wartość latitude i longitude.
    • originalIndex – liczba całkowita wskazująca odpowiednią wartość w pierwotnym żądaniu. Każda wartość w żądaniu powinna być zmapowana na zawężoną wartość w odpowiedzi. Te wartości są indeksowane z poziomu 0, więc punkt z originalIndex o wartości 4 to Snapchat – wartość piątej szerokości i długości geograficznej przekazanej do parametru path.
    • placeId – unikalny identyfikator miejsca; Wszystkie identyfikatory miejsc zwracane przez wartość Roads API będą odpowiadać segmentom drogi. placeId może być przekazywany w żądaniu ograniczeń prędkości, aby umożliwić ograniczenie prędkości na danym odcinku drogi.
  • warning_message – ciąg znaków z ostrzeżeniem widocznym dla użytkowników;

Przykładowe żądanie ze ścieżką

W odpowiedzi na to żądanie osiągamy limit prędkości dla każdego segmentu drogi znajdującego się najbliżej określonych par szerokości i długości geograficznej na ścieżce biegnącej przez most Vasco da Gama w Lizbonie.

Wyślij prośbę

https://roads.googleapis.com/v1/speedLimits?path=38.75807927603043,-9.03741754643809|38.6896537,-9.1770515|41.1399289,-8.6094075&key=YOUR_API_KEY

Odpowiedź

{
  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."
}

Zwróć uwagę na komunikat z ostrzeżeniem, który pojawia się w odpowiedzi powyżej. Jeśli żądasz ograniczeń prędkości dla najbliższych segmentów drogi w dowolnym punkcie, musisz wywołać speedLimits za pomocą identyfikatorów miejsc pobranych z punktu końcowego nearestRoads.

Przykładowe żądanie używające identyfikatorów miejsc

Zamiast używać kombinacji szerokości i długości geograficznej, możesz przekazywać identyfikatory miejsc przez segmenty drogi. Zalecamy uzyskiwanie identyfikatorów miejsc na potrzeby segmentów drogi za pomocą żądań snapToRoads lub nearestRoads. Po przekazaniu identyfikatorów miejsc interfejs API zwraca ograniczenie prędkości dla segmentu drogi reprezentowanego przez każdy z identyfikatorów. Interfejs API nie stosuje żadnych wskazówek dotyczących drogi do przekazywanych identyfikatorów miejsc.

W poniższym przykładzie obowiązują ograniczenia prędkości na niektórych fragmentach drogi biegnących przez most Vasco da Gama w Lizbonie.

Wyślij prośbę

https://roads.googleapis.com/v1/speedLimits?placeId=ChIJX12duJAwGQ0Ra0d4Oi4jOGE&placeId=ChIJLQcticc0GQ0RoiNZJVa5GxU&placeId=ChIJJ4vQRudkJA0RpednU70A-5M&key=YOUR_API_KEY

Odpowiedź

{
  "speedLimits": [
    {
      placeId: "ChIJX12duJAwGQ0Ra0d4Oi4jOGE",
      speedLimit: 105,
      units: "KPH"
    },
    {
      placeId: "ChIJLQcticc0GQ0RoiNZJVa5GxU",
      speedLimit: 70,
      units: "KPH"
    },
    {
      placeId: "ChIJJ4vQRudkJA0RpednU70A-5M",
      speedLimit: 55,
      units: "KPH"
    }
  ]
}

Rekomendacje dotyczące wykorzystania

Aby zminimalizować liczbę wywołań funkcji ograniczenia prędkości, zalecamy próbkowanie lokalizacji zasobów w odstępach co 5–15 minut (dokładna wartość zależy od szybkości przenoszenia zasobu). Jeśli zasób ma charakter stacjonarny, odpowiednia jest jedna próbka lokalizacji (nie trzeba wykonywać wielu wywołań).

Aby zminimalizować ogólny czas oczekiwania, zalecamy wywoływanie usługi ograniczenia prędkości po nagromadzeniu się niektórych danych zamiast wywoływania interfejsu API po każdym otrzymaniu lokalizacji zasobu mobilnego.

Dlaczego brakuje niektórych lub wszystkich ograniczeń prędkości?

Najczęstszą przyczyną braku wartości speedLimits jest prośba o wyznaczenie ograniczenia prędkości w miejscu, które nie jest fragmentem drogi.

W powyższym przykładzie most jest ilustrowany przez most Vasco da Gama. Most obsługuje most E90 nad Rio Tejo. Sam most ma identyfikator miejsca ChIJUzt97ZEwGQ0RM1JzQfqoDtU. Pierwszy fragment drogi w powyższej odpowiedzi jest częścią drogi E90 o identyfikatorze miejsca ChIJX12duJAwGQ0Ra0d4Oi4jOGE. W przykładowym żądaniu zastąpienia miejsca na drodze identyfikator miejsca mostu w odpowiedzi pojawią się w tablicy speedLimits tylko dwa ograniczenia prędkości, ponieważ identyfikator miejsca mostu nie odnosi się do pojedynczego segmentu drogi. Ponadto, jeśli żaden z miejsc nie odnosi się do segmentów drogi, odpowiedź nie będzie zawierać żadnych ograniczeń prędkości.

Podczas tworzenia ograniczeń dotyczących prędkości za pomocą identyfikatorów miejsc upewnij się, że każdy identyfikator miejsca odnosi się do segmentu drogi, a nie do innego typu miejsca. Identyfikatory miejsc dla poszczególnych segmentów drogi najlepiej pobierać za pomocą żądań snapToRoads lub nearestRoads. Każde z nich może zwracać wiele identyfikatorów miejsc z pojedynczego wywołania.