Aby wygenerować izochronę, podaj interfejsowi API punkt początkowy, tryb podróży (np. samochodem, motocyklem, rowerem lub pieszo) oraz limit czasu. Możesz też dostosować preferencje routingu i wygląd wynikowego wielokąta.
Horyzont czasowy
Głównym ograniczeniem, które przekazujesz do usługi, jest travel_duration. Określa ono horyzont czasowy obliczeń.
- Maksymalny czas trwania: interfejs API obsługuje maksymalny czas podróży wynoszący 3600 sekund (1 godzinę) w przypadku trybów
DRIVEiTWO_WHEELERoraz 7200 sekund (2 godziny) w przypadku trybówWALKiBICYCLE. - Wydajność: czas obliczeń jest proporcjonalny do żądanego czasu trwania i wybranego trybu podróży. Izochrona jazdy samochodem przez godzinę obejmuje znacznie większy obszar geograficzny i sieć dróg niż izochrona piesza przez godzinę, co powoduje większe opóźnienie w przypadku żądania jazdy.
- 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: unikalny 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 formatu nazwy zasobu, np.places/ChIJ.... 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 nie znajduje się on na drodze, np. w parku lub budynku. Aby rozwiązać ten problem, usługa używa przyciągania do dróg. Przyciąganie do dróg 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 oDRIVElubTWO_WHEELER, interfejs API zignoruje ścieżki tylko dla pieszych i poszuka najbliższej drogi, po której można jeździć. Jeśli poprosisz oWALK, 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 150–200 metrów, w zależności od trybu podróży: 200 metrów w przypadku
DRIVEiTWO_WHEELER, 180 metrów w przypadkuBICYCLEi 150 metrów w przypadkuWALK), interfejs API zwraca błąd404 NOT_FOUND. Zwykle oznacza to, że punkt jest zbyt daleko od sieci dróg lub znajduje się na obszarze, na którym dane mapy nie obsługują żądanego trybu podróży.
Kierunek podróży (do lub z miejsca docelowego)
Za pomocą parametru travelDirection możesz obliczyć zarówno zasięg dojazdu, jak i zasięg wyjazdu:
FROM(wyjazd): oblicza obszar, do którego można dotrzeć z punktu początkowego w określonym limicie czasu. Nadaje się do przypadków użycia, takich jak strefy dostawy lub zasięg usług.TO(dojazd): oblicza obszar, z którego można dotrzeć do punktu początkowego w określonym limicie czasu. Nadaje się do określania stref dojazdu, np. miejsc, z których pracownicy mogą dojeżdżać do centrali.
Uwzględnianie natężenia ruchu
Za pomocą parametru routing_preference możesz określić, jak dane o natężeniu ruchu wpływają na generowany wielokąt:
TRAFFIC_UNAWARE(domyślnie): do generowania wielokąta izochrony 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 analizy ogólnej lub planowania scenariuszy podstawowych.TRAFFIC_AWARE: oblicza izochrony na podstawie aktualnych lub przewidywanych warunków ruchu w momencie wysłania żądania, co powoduje, że obszar, do którego można dotrzeć, zmniejsza się w godzinach szczytu i zwiększa się poza nimi. Uwaga: routing uwzględniający natężenie ruchu jest obsługiwany tylko wtedy, gdytravel_modejest ustawiony naDRIVElubTWO_WHEELER.
Wygładzanie i dokładność
Wygląd i dokładność wielokątów wyjściowych możesz dostosować za pomocą parametrów polygon_fidelity i enable_smoothing. Te opcje są niezależne, ale współpracują ze sobą, aby określić ostateczny kształt.
polygon_fidelity: określa rozmiar podstawowych komórek siatki używanych do obliczania obszaru, do którego można dotrzeć.LOW: używa większych komórek siatki. Najlepsze rozwiązanie 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 to lepsze dopasowanie do sieci dróg, ale w przypadku rzadkiej sieci dróg może powodować puste obszary lub dziury.POLYGON_FIDELITY_UNSPECIFIED: jeśli nie zostanie określony, usługa dynamicznie wybierze dokładność na podstawie żądanego czasu podróży.
Wysoka, średnia i niska dokładność wielokąta
enable_smoothing: określa, czy ostre krawędzie komórek siatki zdefiniowane przez dokładność mają być zaokrąglone.false(surowe): wartość domyślna. Zwraca dokładne obliczenia geometryczne. Krawędzie są poszarpane lub schodkowe. Najlepsze rozwiązanie do dokładności analitycznej, np. ścisłych testów punktu w wielokącie. Mniejsze opóźnienie niż w przypadku wygładzania.true(wygładzone): stosuje algorytm przetwarzania końcowego, aby zaokrąglić rogi. Najlepsze rozwiązanie do wyświetlania wizualnego na mapach.
Izochrona z wygładzaniem i bez niego