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żDRIVEna drogach szybkiego ruchu. W rezultacie izochronaTWO_WHEELERzwykle obejmuje obszar większy niżBICYCLE, ale mniejszy niżDRIVEwzdł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łąd400 INVALID_ARGUMENT. Interfejs API obsługuje maksymalny czas podróży wynoszący 3600 sekund (1 godzinę) w trybachDRIVEiTWO_WHEELERoraz 7200 sekund (2 godziny) w trybachWALKiBICYCLE. - 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ównolatitude(w[-90, 90]), jak ilongitude(w[-180, 180]). Jeśli pominiesz jedną z tych wartości, interfejs API potraktuje ją jako0.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łąd400 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ę odplaces/(np.places/ChIJIQBpAG2ahYAR_6128GcTUEo). Akceptowany jest też sam identyfikator miejsca bez prefiksuplaces/. 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 oDRIVElubTWO_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 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 200 metrów lub mniej w przypadku
WALKiBICYCLE), zwraca błąd404 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ędnelocationwjazdu 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 parametryTRAFFIC_AWAREiTRAFFIC_UNAWAREmogą zwracać niemal identyczne wielokąty. Uwaga: wyznaczanie trasy z uwzględnieniem natężenia ruchu jest obsługiwane tylko wtedy, gdy parametrtravelModema wartośćDRIVElubTWO_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 iWALKoraz 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 parametrpolygonFidelity.
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