Sprawdzone metody korzystania z interfejsu Isochrones API

Wygładzanie i wierność

Wygląd i precyzję 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: rozdzielczość. Określa rozmiar podstawowych komórek siatki (komórek S2) używanych do obliczania obszaru osiągalnego.
    • LOW: używa większych komórek siatki. Najlepiej sprawdza się w przypadku 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. Powoduje lepsze dopasowanie do sieci dróg, ale może powodować puste obszary lub „dziury” w miejscach, gdzie sieć dróg jest rzadka.
    • Domyślnie: jeśli nie zostanie określona, usługa dynamicznie wybiera wierność na podstawie żądanego czasu podróży.
  • enable_smoothing: estetyka. Określa, czy ostre krawędzie komórek siatki zdefiniowane przez wierność mają być zaokrąglone.
    • false (surowe): zwraca dokładne obliczenia geometryczne. Krawędzie są poszarpane lub schodkowe, co odzwierciedla komórki siatki. Najlepiej sprawdza się w przypadku dokładności analitycznej, np. ścisłych testów punktu w wielokącie.
    • true (wygładzone): stosuje algorytm przetwarzania końcowego, aby zaokrąglić rogi. Najlepiej sprawdza się w przypadku wyświetlania wizualnego na mapach.

Jak ze sobą współpracują: wierność określa podstawowy poziom szczegółowości, na którym działa algorytm wygładzania.

  • Wysoka wierność + wygładzanie: tworzy szczegółowy kształt o naturalnym wyglądzie, który ściśle przylega do końców dróg.
  • Niska wierność + wygładzanie: tworzy szeroki, uogólniony kształt „plamy”.

Rozmiar ładunku i renderowanie

Duże izochrony mogą zawierać tysiące współrzędnych, a ładunki mogą mieć od 300 do 500 kilobajtów.

  • Przepustowość: pamiętaj, że rozmiar odpowiedzi JSON jest istotny w przypadku żądań o maksymalnym czasie trwania.
  • Renderowanie: renderowanie bardzo szczegółowych wielokątów wpływa na wydajność. Aby zmniejszyć liczbę wierzchołków do wyświetlenia, rozważ użycie parametru enable_smoothing lub bibliotek upraszczających po stronie klienta.

Obsługa błędów

W przypadku błędów serwera 5xx zaimplementuj logikę ponawiania ze wzrastającym czasem do ponowienia. Nie ponawiaj jednak błędów klienta 4xx bez zmiany parametrów:

  • INVALID_ARGUMENT (400): sprawdź, czy czas trwania jest dodatni i mieści się w limicie dla wybranego trybu, który wynosi maksymalnie 3600 sekund w przypadku trybu DRIVE lub 7200 sekund w przypadku innych trybów.
  • NOT_FOUND (404): punkt początkowy nie został przyciągnięty do drogi. Spróbuj przesunąć współrzędne bliżej znanej ulicy lub upewnij się, że region jest obsługiwany.