Kluczowych pojęć

Aby wygenerować izochronę, podaj w interfejsie API punkt początkowy, tryb podróży, np. samochodem, rowerem lub pieszo, oraz limit czasu. Możesz też dostosować preferencje dotyczące wyznaczania trasy i wygląd wynikowego wielokąta.

Horyzont czasowy

Głównym ograniczeniem, które przekazujesz do usługi, jest travel_duration. Określa to horyzont czasowy obliczeń.

  • Maksymalny czas trwania: interfejs API obsługuje maksymalny czas podróży wynoszący 3600 sekund (1 godzinę) w przypadku trybu DRIVE i 7200 sekund (2 godziny) w przypadku trybów WALKBICYCLE.
  • Wydajność: czas obliczeń zależy od wybranego czasu trwania i środka transportu. Isochrona dojazdu samochodem w ciągu godziny obejmuje znacznie większy obszar geograficzny i sieć dróg niż isochrona dojścia pieszo w ciągu godziny, co powoduje większe opóźnienie w przypadku żądania dotyczącego dojazdu samochodem.
  • Formatowanie: ponieważ interfejs API używa google.protobuf.Duration, czas trwania musi być sformatowany jako ciąg znaków kończący się literą „s” (np. "3600s"), a nie jako liczba całkowita.

Punkty początkowe i przyciąganie do dróg

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

  • Współrzędne: para szerokości i długości geograficznej (location).
  • Identyfikatory miejsc: niepowtarzalny identyfikator konkretnego miejsca w Mapach Google (place). Gdy podasz identyfikator miejsca, usługa użyje środka tego miejsca jako punktu początkowego. Pamiętaj, że interfejs API oczekuje nazwy zasobu w formacie places/ChIJ.... Więcej informacji o identyfikatorach miejsc znajdziesz w artykule Identyfikatory miejsc.

Niezależnie od metody wprowadzania danych interfejs API nie oblicza czasu podróży z dokładnego punktu fizycznego, jeśli nie znajduje się on na drodze, np. w parku lub budynku. Aby sobie z tym poradzić, usługa korzysta z przyciągania do dróg. Przyciąganie do drogi ma następujące funkcje:

  • Inteligentne przyciąganie: usługa próbuje przyciągnąć punkt początkowy do najbliższego przejezdnego odcinka drogi.
  • Świadomość trybu: logika przyciągania uwzględnia travel_mode. Jeśli poprosisz o DRIVE, interfejs API zignoruje ścieżki przeznaczone tylko dla pieszych i poszuka najbliższej ulicy, po której można jeździć samochodem. Jeśli wyślesz żądanie WALK, interfejs API nada priorytet ścieżkom pieszym i chodnikom.
  • Przypadki niepowodzenia: jeśli interfejs API nie może znaleźć odpowiedniego odcinka drogi w odległości około 100 metrów od punktu początkowego, zwraca błąd 404 NOT_FOUND. Zwykle oznacza to, że punkt jest zbyt oddalony od sieci dróg lub znajduje się na obszarze, na którym dane mapy nie obsługują wybranego trybu podróży.

Kierunek podróży (przyjazd a wyjazd)

Zasięg przychodzący i wychodzący możesz obliczyć za pomocą parametru travelDirection:

  • FROM (Wychodzący): oblicza obszar, do którego można dotrzeć z punktu początkowego w określonym czasie. Jest to odpowiednie w przypadku takich zastosowań jak strefy dostaw lub zasięg usług.
  • TO (Wewnętrzne): oblicza obszar, z którego można dotrzeć do punktu początkowego w określonym czasie. Jest to przydatne do określania stref dojazdu, np. miejsc, z których pracownicy mogą dojeżdżać do biura centralnego.

Świadomość ruchu

Kontroluj, jak dane o ruchu wpływają na generowany wielokąt, za pomocą parametru routing_preference:

  • TRAFFIC_UNAWARE (Domyślne): do generowania wielokąta izochronicznego używa ograniczeń prędkości i hierarchii dróg. Daje to 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 scenariuszy podstawowych.
  • TRAFFIC_AWARE: oblicza izochrony na podstawie aktualnych lub prognozowanych warunków drogowych w momencie wysłania żądania, co powoduje zmniejszenie obszaru dostępnego w godzinach szczytu i zwiększenie go poza godzinami szczytu. Uwaga: routing uwzględniający ruch jest obsługiwany tylko wtedy, gdy parametr travelMode ma wartość DRIVE.

Wygładzanie i wierność

Wygląd i precyzję wyjściowych wielokątów możesz dostosować za pomocą parametrów polygon_fidelityenable_smoothing. Chociaż te opcje są niezależne, współpracują ze sobą, aby określić ostateczny kształt.

  • polygon_fidelity: określa rozmiar komórek siatki bazowej używanych do obliczania obszaru, do którego można dotrzeć.

    • LOW: używa większych komórek siatki. Najlepsza do pokrywania dużych obszarów bez przerw, co daje uogólniony kształt.
    • MEDIUM: zrównoważona precyzja.
    • HIGH: używa mniejszych komórek siatki. Daje lepsze dopasowanie do sieci dróg, ale może powodować powstawanie pustych obszarów lub dziur, jeśli sieć dróg jest rzadka.
    • POLYGON_FIDELITY_UNSPECIFIED: Jeśli nie określono inaczej, usługa dynamicznie wybiera wierność na podstawie żądanego czasu trwania podróży.
      Wysoka, średnia i niska wierność wielokątów
      Wysoka, średnia i niska wierność wielokątów
  • enable_smoothing: określa, czy ostre krawędzie komórek siatki zdefiniowanych przez wierność mają być zaokrąglone.

    • false (Raw): domyślne. Zwraca dokładne obliczenia geometryczne. Krawędzie są postrzępione lub schodkowe. Najlepsza do dokładnych analiz, np. ścisłych testów punktu w wielokącie. Krótszy czas oczekiwania niż w przypadku wygładzania.
    • true (Wygładzone): stosuje algorytm przetwarzania końcowego, aby zaokrąglić rogi. Najlepszy wybór do wizualnego wyświetlania na mapach.
      Isochrona z wygładzaniem i bez niego
      Izochrona z wygładzaniem i bez niego