Concetti fondamentali

Per generare un isocrono, fornisci all'API un'origine, una modalità di viaggio come guida, due ruote, bicicletta o a piedi e un limite di tempo. Puoi anche regolare le preferenze di routing e l'aspetto visivo del poligono risultante.

Modalità di viaggio

Utilizza il parametro obbligatorio travelMode (travel_mode) per specificare la modalità di trasporto:

  • DRIVE: calcola la raggiungibilità di un'auto lungo strade percorribili utilizzando i limiti di velocità pubblicati, la gerarchia delle strade, le penalità di svolta e, facoltativamente, le condizioni del traffico in tempo reale.
  • TWO_WHEELER: calcola la raggiungibilità per un veicolo a motore a due ruote (come una moto o uno scooter) utilizzando regole di accesso stradale specifiche per la modalità e velocità modellate inferiori rispetto a DRIVE sulle strade ad alta velocità. Di conseguenza, un'isocrona di TWO_WHEELER copre in genere un'area più grande di BICYCLE, ma più piccola di DRIVE lungo le autostrade ad alta velocità.
  • BICYCLE: calcola la raggiungibilità per un ciclista lungo strade accessibili alle biciclette, corsie ciclabili e percorsi condivisi, con velocità regolate in base al tipo di strada e alla pendenza, escluse le autostrade e le superstrade ad accesso controllato.
  • WALK: calcola la raggiungibilità per un pedone lungo marciapiedi, sentieri, percorsi e strade accessibili ai pedoni, con la velocità di camminata regolata in base alla pendenza. Il percorso a piedi ignora le restrizioni per i veicoli a senso unico.

Orizzonte temporale

Il vincolo principale che fornisci al servizio è travelDuration (travel_duration). Definisce l'orizzonte temporale per il calcolo.

  • Durata minima e massima: la durata deve essere di almeno "1s" (1 secondo). Zero ("0s"), durate negative e durate inferiori a un secondo (ad esempio "0.5s") restituiscono un errore 400 INVALID_ARGUMENT. L'API supporta un tempo di percorrenza massimo di 3600 secondi (1 ora) per le modalità DRIVE e TWO_WHEELER e di 7200 secondi (2 ore) per le modalità WALK e BICYCLE.
  • Area minima del poligono: poiché l'API converte i segmenti stradali raggiunti in celle della griglia spaziale, durate molto brevi restituiscono un piccolo poligono che copre le celle della griglia attorno all'origine agganciata.
  • Prestazioni: il tempo di calcolo varia in base alla durata richiesta e alla modalità di viaggio selezionata. Un isocrono di guida di un'ora copre un'area geografica e una rete stradale significativamente più ampie rispetto a un isocrono di camminata di un'ora, il che comporta una latenza maggiore per la richiesta di guida.
  • Formattazione: poiché l'API utilizza google.protobuf.Duration, la durata deve essere formattata come una stringa che termina con "s" (ad esempio, "3600s"), anziché come un numero intero.

Punti di partenza e aggancio alla strada

Puoi specificare il punto di partenza dell'isocrona in due modi:

  • Coordinate (location): una coppia di latitudine e longitudine. Fornisci sia latitude (in [-90, 90]) sia longitude (in [-180, 180]). Se ometti uno dei due, l'API lo considera come 0.0, il che posiziona il punto sull'Equatore o sul meridiano di Greenwich. Se ometti entrambi ({}) o invii (0, 0), l'API restituisce un errore 400 INVALID_ARGUMENT.
  • ID luogo (place): un identificatore univoco per un luogo specifico su Google Maps. Quando fornisci un ID luogo, il servizio risolve il luogo nelle sue coordinate del baricentro e aggancia quel punto alla strada più vicina. Utilizza il formato del nome della risorsa che inizia con places/ (ad esempio, places/ChIJIQBpAG2ahYAR_6128GcTUEo). È accettato anche un ID luogo semplice senza il prefisso places/. Per saperne di più sugli ID luogo, consulta ID luogo.

Indipendentemente dal metodo di input, l'API non calcola i tempi di percorrenza dal punto fisico esatto se questo non si trova su una strada, ad esempio all'interno di un parco o di un edificio. Per gestire questa situazione, il servizio utilizza lo snapping alla strada. L'aggancio alla strada ha le seguenti caratteristiche:

  • Aggancio intelligente: il servizio tenta di agganciare il punto di partenza al segmento stradale percorribile più vicino.
  • Consapevolezza della modalità: la logica di aggancio tiene conto della travel_mode. Se richiedi DRIVE o TWO_WHEELER, l'API ignora i percorsi solo pedonali e cerca la strada percorribile più vicina. Se richiedi WALK, l'API dà la priorità a percorsi pedonali e marciapiedi.
  • Casi di errore: se l'API non riesce a trovare un segmento stradale adatto entro la distanza massima di aggancio dal punto di origine (circa 200 metri o meno per WALK e BICYCLE), l'API restituisce un errore 404 NOT_FOUND. Gli elementi geografici di grandi dimensioni (come parchi, campus o punti panoramici) potrebbero avere un baricentro dell'ID luogo più lontano della distanza di aggancio dalla strada più vicina utilizzabile dalla modalità di viaggio. In questi casi, passa invece le coordinate location esplicite di un ingresso stradale.

Direzione di percorribilità (in entrata o in uscita)

Puoi calcolare la raggiungibilità in entrata e in uscita utilizzando il parametro travelDirection (travel_direction):

  • FROM Questo è adatto per casi d'uso come zone di consegna o copertura del servizio.
  • TO (In entrata): calcola l'area da cui puoi viaggiare verso il punto di partenza entro il limite di tempo specificato. Questo è adatto per determinare le zone di attrazione, ad esempio da dove i dipendenti possono spostarsi per raggiungere un ufficio centrale.

Consapevolezza del traffico

Controlla l'influenza dei dati sul traffico sul poligono generato con il parametro routingPreference (routing_preference):

  • TRAFFIC_UNAWARE (predefinito): utilizza i limiti di velocità a flusso libero e la gerarchia delle strade per generare il poligono isocrono. In questo modo si ottiene una forma deterministica che non varia in base all'ora del giorno. Questo parametro è ideale per l'analisi generale o la pianificazione di scenari di base.
  • TRAFFIC_AWARE: calcola le isocrone utilizzando le condizioni del traffico in tempo reale nel momento esatto in cui viene elaborata la richiesta (i timestamp di partenza o arrivo futuri o storici personalizzati non sono configurabili nella versione 1). In questo modo, l'area raggiungibile si riduce durante la congestione e si espande durante le ore non di punta. In condizioni di traffico regolare o non di punta, TRAFFIC_AWARE e TRAFFIC_UNAWARE potrebbero restituire poligoni quasi identici. Nota: il routing basato sul traffico è supportato solo quando travelMode è impostato su DRIVE o TWO_WHEELER.

Smussamento e fedeltà

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

  • polygonFidelity: controlla la risoluzione delle celle della griglia spaziale utilizzata per approssimare il confine raggiungibile:

    • LOW: utilizza le celle della griglia più grandi (diverse centinaia di metri di larghezza). Ideale per coprire aree di grandi dimensioni con meno vertici e senza spazi vuoti interni, con una forma generalizzata che può sovrastimare l'area raggiungibile lungo corridoi stradali stretti.
    • MEDIUM: precisione e numero di vertici bilanciati.
    • HIGH: utilizza le celle della griglia più piccole (circa 100-150 metri di larghezza). Il risultato è un adattamento più preciso alla rete stradale raggiunta, ma può produrre fori interni dove la rete stradale è scarsa.
    • POLYGON_FIDELITY_UNSPECIFIED: se non specificato, il servizio seleziona automaticamente la risoluzione in base alla modalità di viaggio e alla durata, utilizzando celle più piccole per durate brevi e per WALK e celle più grandi per durate lunghe. Per confrontare gli isocroni in base a durate o modalità di viaggio diverse, imposta polygonFidelity in modo esplicito.
      Fedeltà poligonale alta, media e bassa
      Fedeltà poligonale alta, media e bassa
  • enableSmoothing: controlla se i bordi a gradini delle celle della griglia definiti dalla fedeltà vengono arrotondati.

    • false (Raw): l'impostazione predefinita. Restituisce il confine allineato alla griglia. I bordi appaiono scalettati lungo le celle della griglia. Ideale per l'accuratezza analitica, ad esempio per test rigorosi di punti in poligoni.
    • true (Smussato): arrotonda gli angoli acuti per la visualizzazione della mappa, preservando approssimativamente l'area di ogni anello. Il confine non segue più le celle della griglia.
      Isocrona con e senza smoothing
      Isocrono con e senza smussamento