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 aDRIVEsulle strade ad alta velocità. Di conseguenza, un'isocrona diTWO_WHEELERcopre in genere un'area più grande diBICYCLE, ma più piccola diDRIVElungo 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 errore400 INVALID_ARGUMENT. L'API supporta un tempo di percorrenza massimo di 3600 secondi (1 ora) per le modalitàDRIVEeTWO_WHEELERe di 7200 secondi (2 ore) per le modalitàWALKeBICYCLE. - 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 sialatitude(in[-90, 90]) sialongitude(in[-180, 180]). Se ometti uno dei due, l'API lo considera come0.0, il che posiziona il punto sull'Equatore o sul meridiano di Greenwich. Se ometti entrambi ({}) o invii(0, 0), l'API restituisce un errore400 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 conplaces/(ad esempio,places/ChIJIQBpAG2ahYAR_6128GcTUEo). È accettato anche un ID luogo semplice senza il prefissoplaces/. 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 richiediDRIVEoTWO_WHEELER, l'API ignora i percorsi solo pedonali e cerca la strada percorribile più vicina. Se richiediWALK, 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
WALKeBICYCLE), l'API restituisce un errore404 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 coordinatelocationesplicite 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):
FROMQuesto è 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_AWAREeTRAFFIC_UNAWAREpotrebbero restituire poligoni quasi identici. Nota: il routing basato sul traffico è supportato solo quandotravelModeè impostato suDRIVEoTWO_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 perWALKe celle più grandi per durate lunghe. Per confrontare gli isocroni in base a durate o modalità di viaggio diverse, impostapolygonFidelityin modo esplicito.
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.
Isocrono con e senza smussamento