Best practice per l'API Isochrone

Uniformità e fedeltà

Puoi personalizzare l'aspetto e la precisione dei poligoni di output utilizzando i parametri polygon_fidelity e enable_smoothing. Sebbene queste opzioni siano indipendenti, funzionano insieme per determinare la forma finale.

  • polygon_fidelity: risoluzione. Controlla le dimensioni delle celle della griglia sottostante (celle S2) utilizzate per calcolare l'area raggiungibile.
    • LOW: utilizza celle della griglia più grandi. Ideale per coprire grandi aree senza spazi vuoti, con una forma generalizzata.
    • MEDIUM: precisione bilanciata.
    • HIGH: utilizza celle della griglia più piccole. Produce un adattamento più preciso alla rete stradale, ma potrebbe generare aree vuote o "buchi" dove la rete stradale è scarsa.
    • Predefinito: se non viene specificato, il servizio seleziona dinamicamente la fedeltà in base alla durata del viaggio richiesta.
  • enable_smoothing: l'estetica. Controlla se i bordi netti delle celle della griglia definiti dalla fedeltà vengono arrotondati.
    • false (non elaborato): restituisce il calcolo geometrico esatto. I bordi appaiono frastagliati o a gradoni, riflettendo le celle della griglia. Ideale per l'accuratezza analitica, ad esempio test rigorosi punto-in-poligono.
    • true (uniforme): applica un algoritmo di post-elaborazione per arrotondare gli angoli. Ideale per la visualizzazione sulle mappe.

Come interagiscono: la fedeltà imposta il dettaglio di base su cui agisce l'algoritmo di uniformità.

  • Fedeltà elevata + uniformità: produce una forma dettagliata e dall'aspetto organico che segue da vicino le estremità delle strade.
  • Fedeltà bassa + uniformità: produce una forma ampia e generalizzata a "blob".

Dimensioni payload e rendering

Le isocrone di grandi dimensioni possono contenere migliaia di coordinate e i payload possono variare da 300 a 500 kilobyte.

  • Larghezza di banda: tieni presente che le dimensioni della risposta JSON sono significative per le richieste di durata massima.
  • Rendering: il rendering di poligoni estremamente dettagliati influisce sulle prestazioni. Valuta la possibilità di utilizzare il parametro enable_smoothing o le librerie di semplificazione lato client per ridurre il numero di vertici per la visualizzazione.

Gestione degli errori

Implementa la logica per i nuovi tentativi con backoff esponenziale per gli errori del server 5xx. Tuttavia, non riprovare a eseguire gli errori del client 4xx senza modificare i parametri:

  • INVALID_ARGUMENT (400): verifica che la durata sia positiva e rientri nel limite per la modalità selezionata, ovvero al massimo 3600 secondi per DRIVE e TWO_WHEELER o 7200 secondi per le altre modalità.
  • NOT_FOUND (404): il punto di origine non è riuscito ad allinearsi a una strada. Prova ad avvicinare la coordinata a una strada nota o assicurati che la regione sia supportata.