Kluczowych pojęć

Aby wygenerować izochronę, podaj interfejsowi API miejsce początkowe, środek transportu, np. samochód, motocykl, rower lub pieszo, oraz limit czasu. Możesz też dostosować ustawienia trasy i wygląd wynikowego wielokąta.

środki transportu,

Użyj wymaganego parametru travelMode (travel_mode), aby określić środek transportu:

  • DRIVE: oblicza dostępność dla samochodu osobowego na drogach przejezdnych, korzystając z opublikowanych ograniczeń prędkości, hierarchii dróg, kar za skręty i (opcjonalnie) warunków na drodze w czasie rzeczywistym.
  • TWO_WHEELER: oblicza osiągalność dla dwukołowego pojazdu silnikowego (takiego jak motocykl lub skuter), korzystając z reguł dostępu do dróg dla danego trybu i niższych modelowanych prędkości niż DRIVE na drogach szybkiego ruchu. W rezultacie izochrona TWO_WHEELER zwykle obejmuje obszar większy niż BICYCLE, ale mniejszy niż DRIVE wzdłuż autostrad.
  • BICYCLE: oblicza osiągalność dla rowerzysty na ulicach, ścieżkach rowerowych i wspólnych ścieżkach, po których można jeździć rowerem, z uwzględnieniem prędkości dostosowanej do rodzaju drogi i nachylenia, z wyłączeniem autostrad i dróg ekspresowych z kontrolowanym dostępem.
  • WALK: Oblicza osiągalność dla pieszych na chodnikach, ścieżkach, szlakach i ulicach dostępnych dla pieszych, z prędkością chodzenia dostosowaną do nachylenia. W przypadku pieszych ignorowane są ograniczenia dotyczące ruchu jednokierunkowego.

Horyzont czasowy

Głównym ograniczeniem, które podajesz usłudze, jest travelDuration (travel_duration). Określa ono horyzont czasowy obliczeń.

  • Minimalny i maksymalny czas trwania: czas trwania musi wynosić co najmniej "1s" (1 sekundę). Wartość 0 ("0s"), ujemne wartości czasu trwania i wartości czasu trwania poniżej 1 sekundy (np. "0.5s") zwracają błąd 400 INVALID_ARGUMENT. Interfejs API obsługuje maksymalny czas podróży wynoszący 3600 sekund (1 godzinę) w trybach DRIVE i TWO_WHEELER oraz 7200 sekund (2 godziny) w trybach WALK i BICYCLE.
  • Minimalny wielokąt: interfejs API konwertuje osiągnięte segmenty drogi na komórki siatki przestrzennej, dlatego bardzo krótkie czasy zwracają mały wielokąt obejmujący komórki siatki wokół przyciągniętego punktu początkowego.
  • Wydajność: czas obliczeń zależy od żądanego czasu trwania i wybranego środka transportu. Izochrona jazdy samochodem obejmuje znacznie większy obszar geograficzny i sieć dróg niż izochrona spaceru, co skutkuje większym opóźnieniem w przypadku żądania dotyczącego jazdy samochodem.
  • Formatowanie: interfejs API używa google.protobuf.Duration, dlatego czas trwania musi być sformatowany jako ciąg znaków kończący się na "s" (np. "3600s"), a nie jako liczba całkowita.

Punkty początkowe i przyciąganie do drogi

Punkt początkowy izochrony możesz określić na 2 sposoby:

  • Współrzędne (location): para współrzędnych szerokości i długości geograficznej. Podaj zarówno latitude (w [-90, 90]), jak i longitude (w [-180, 180]). Jeśli pominiesz jedną z tych wartości, interfejs API potraktuje ją jako 0.0, co spowoduje umieszczenie punktu na równiku lub południku zerowym. Jeśli pominiesz oba parametry ({}) lub wyślesz (0, 0), interfejs API zwróci błąd 400 INVALID_ARGUMENT.
  • Identyfikatory miejsc (place): unikalny identyfikator konkretnego miejsca w Mapach Google. Gdy podasz identyfikator miejsca, usługa określi współrzędne środka ciężkości miejsca i przyciągnie ten punkt do najbliższej drogi. Użyj formatu nazwy zasobu zaczynającego się od places/ (np. places/ChIJIQBpAG2ahYAR_6128GcTUEo). Akceptowany jest też sam identyfikator miejsca bez prefiksu places/. Więcej informacji o identyfikatorach miejsc znajdziesz w artykule Identyfikatory miejsc.

Niezależnie od metody wprowadzania interfejs API nie oblicza czasu podróży z dokładnego punktu fizycznego, jeśli ten punkt nie znajduje się na drodze, np. w parku lub budynku. Aby poradzić sobie z tą sytuacją, usługa korzysta z przyciągania do drogi. Przyciąganie do drogi ma te funkcje:

  • Inteligentne przyciąganie: usługa próbuje przyciągnąć punkt początkowy do najbliższego przejezdnego odcinka drogi.
  • Uwzględnianie trybu: logika przyciągania uwzględnia travel_mode. Jeśli poprosisz o DRIVE lub TWO_WHEELER, interfejs API zignoruje ścieżki tylko dla pieszych i będzie szukać najbliższej ulicy, po której można jeździć. Jeśli poprosisz o WALK, interfejs API będzie traktować priorytetowo ścieżki i chodniki.
  • Przypadki niepowodzenia: jeśli interfejs API nie może znaleźć odpowiedniego odcinka drogi w maksymalnej odległości przyciągania od punktu początkowego (około 200 metrów lub mniej w przypadku WALK i BICYCLE), zwraca błąd 404 NOT_FOUND. Duże obiekty geograficzne (takie jak parki, kampusy czy punkty widokowe) mogą mieć centroid identyfikatora miejsca dalej niż odległość przyciągania od najbliższej drogi, którą można przejechać w danym trybie podróży. W takich przypadkach podaj współrzędne location wjazdu na drogę.

Kierunek podróży (przyjazd lub wyjazd)

Osiągalność przychodzącą i wychodzącą możesz obliczyć za pomocą parametru travelDirection (travel_direction):

  • FROM (ruch wychodzący): oblicza obszar, do którego można dotrzeć z punktu początkowego w określonym czasie. Jest to przydatne w przypadku stref dostawy lokalnej lub obszarów świadczenia usług.
  • TO (Inbound): oblicza obszar, z którego można dotrzeć do punktu początkowego w określonym czasie. Jest to przydatne do określania stref zasięgu, np. skąd pracownicy mogą dojeżdżać do centrali.

Świadomość ruchu

Za pomocą parametru routingPreference (routing_preference) możesz kontrolować, jak dane o ruchu wpływają na wygenerowany wielokąt:

  • TRAFFIC_UNAWARE (domyślny): do generowania wielokąta izochrony używa ograniczeń prędkości i hierarchii dróg. Dzięki temu powstaje deterministyczny kształt, który nie zmienia się w zależności od pory dnia. Ten parametr jest idealny do ogólnej analizy lub planowania scenariusza bazowego.
  • TRAFFIC_AWARE: oblicza izochrony na podstawie warunków na drodze w czasie rzeczywistym w momencie przetwarzania żądania (w wersji 1 nie można skonfigurować niestandardowych sygnatur czasowych odjazdu ani przyjazdu w przyszłości lub w przeszłości). Powoduje to, że obszar, do którego można dotrzeć, zmniejsza się w godzinach największego zapotrzebowania i zwiększa poza nimi. W warunkach swobodnego ruchu lub poza godzinami największego zapotrzebowania parametry TRAFFIC_AWARE i TRAFFIC_UNAWARE mogą zwracać niemal identyczne wielokąty. Uwaga: wyznaczanie trasy z uwzględnieniem natężenia ruchu jest obsługiwane tylko wtedy, gdy parametr travelMode ma wartość DRIVE lub TWO_WHEELER.

Wygładzanie i dokładność

Wygląd i dokładność wielokątów wyjściowych możesz dostosować za pomocą parametrów polygonFidelity (polygon_fidelity) i enableSmoothing (enable_smoothing). Chociaż te opcje są niezależne, współpracują ze sobą, aby określić ostateczny kształt.

  • polygonFidelity: określa rozdzielczość komórek siatki przestrzennej używanej do przybliżania osiągalnej granicy:

    • LOW: używa największych komórek siatki (o szerokości kilkuset metrów). Najlepiej nadaje się do pokrywania dużych obszarów z mniejszą liczbą wierzchołków i bez wewnętrznych luk, co daje uogólniony kształt, który może przeszacować obszar możliwy do osiągnięcia wzdłuż wąskich korytarzy drogowych.
    • MEDIUM: zrównoważona dokładność i liczba wierzchołków.
    • HIGH: używa najmniejszych komórek siatki (około 100–150 metrów szerokości). Zapewnia lepsze dopasowanie do sieci dróg, ale może powodować powstawanie pustych obszarów w miejscach, gdzie sieć dróg jest rzadka.
    • POLYGON_FIDELITY_UNSPECIFIED: jeśli nie zostanie określona, usługa automatycznie wybierze rozdzielczość na podstawie środka transportu i czasu trwania, używając mniejszych komórek w przypadku krótkich czasów trwania i WALK oraz większych komórek w przypadku długich czasów trwania. Aby porównać izochrony dla różnych czasów trwania lub środków transportu, ustaw parametr polygonFidelity.
      Wysoka, średnia i niska wierność wielokątów
      Wysoka, średnia i niska dokładność wielokątów
  • enableSmoothing: określa, czy schodkowe krawędzie komórek siatki zdefiniowane przez dokładność są zaokrąglone.

    • false (nieprzetworzone): ustawienie domyślne. Zwraca granicę wyrównaną do siatki. Krawędzie są schodkowe wzdłuż komórek siatki. Najlepsze rozwiązanie do dokładnych analiz, takich jak rygorystyczne testy punktu w wielokącie.
    • true (wygładzony): zaokrągla ostre rogi, aby wyświetlić mapę wizualną, zachowując przy tym przybliżony obszar każdego pierścienia. Granica nie jest już wyznaczana przez komórki siatki.
      Izochrona z wygładzaniem i bez niego
      Izochrona z wygładzaniem i bez