Nota:
Questa funzionalità è attualmente supportata solo inMap Viewer classico (precedentemente noto come Map Viewer). Sarà disponibile in una futura versione del nuovo Map Viewer.
Lo strumento Ricostruisci tracce collega punti sequenziali nel tempo in tracce e riepiloga le feature all'interno della traccia. Le tracce sono identificate da uno o più campi di tracce. Il layer risultante mostra la traccia come una linea o un'area, il conteggio delle feature all'interno di una traccia che sono state riepilogate e qualunque altra statistica che è stata specificata.
Diagramma del Workflow
Analisi tramite GeoAnalytics Tools
L'analisi che usa GeoAnalytics Tools è in esecuzione usando l'elaborazione distribuita tramite più computer ArcGIS GeoAnalytics Server e punteggi. GeoAnalytics Tools e strumenti di analisi feature standard in ArcGIS Enterprise hanno diversi parametri e funzionalità. Per ulteriori informazioni sulle differenze, consultare Differenze tra gli strumenti di analisi delle feature.
Terminologia
Periodo | Descrizione |
---|---|
Geodetico | Una linea tracciata su una sfera. Una linea geodetica tracciata sul globo rappresenta la curvatura del geoide della terra. |
Planare | Una distanza calcolata lungo una linea retta su una superficie piatta, vale a dire un piano cartesiano. Questa è definita anche distanza euclidea. |
Istante | Un singolo momento nel tempo rappresentato da un'ora di inizio e nessuna ora di fine. |
Intervallo | Un arco di tempo rappresentato da un'ora di inizio e un'ora di fine. |
Esempi
Gli uragani sono alcuni dei tipi di tempesta più violenti che si verificano negli Stati Uniti. Per valutare i premi assicurativi, si desidera conoscere i percorsi compiuti dagli uragani per determinare le posizioni in cui storicamente si sono registrati le perdite finanziarie e i danni alle proprietà più ingenti a causa degli uragani. È possibile accedere ai dati delle posizioni degli uragani negli Stati Uniti in un singolo dataset, con un timestamp in ciascuna posizione. Si desidera riepilogare tutte le informazioni per vedere un riepilogo dei valori per tutti gli uragani. È possibile riepilogare i dati utilizzando l'identificatore di tracce degli uragani per determinare le statistiche per ciascun uragano.
Note sull'utilizzo
Lo strumento Ricostruisci tracce viene eseguito su feature puntuali o areali. Il layer di input deve essere abilitato alle variazioni temporali con feature che rappresentano un istante nel tempo.
Per ottenere risultati lineari, verranno restituite solo le tracce che contengono più di un punto. Se si applica un buffer, verranno restituite tutte le feature.
Le feature di input saranno costituite da feature abilitate alle variazioni temporali che rappresentano un istante nel tempo I risultati sono feature lineari o areali che rappresentano un intervallo nel tempo. L'inizio e la fine dell'intervallo sono determinati dall'ora della prima e dell'ultima feature in una traccia.
Il calcolo più semplice in una traccia sarà un conteggio del numero di feature che sono state riepilogate. Le statistiche (conteggio, somma, minimo, massimo, intervallo, media, deviazione standard e primo e ultimo valore in un rilevamento) possono anche essere calcolate su campi numerici e le statistiche (conteggio, qualsiasi e primo e ultimo valore in un rilevamento) possono essere calcolate su campi stringa. La statistica di tipo stringa Any restituisce una stringa di esempio da ogni traccia. Le statistiche verranno calcolate su ogni traccia separatamente.
Il campo o i campi utilizzati per identificare le tracce verranno restituiti nei risultati.
È possibile specificare uno o più campi per identificare le tracce. Le tracce sono rappresentate dalla combinazione univoca di uno o più campi di tracce. Ad esempio, nei campiflightID eDestination vengono utilizzati come identificatori di tracce, le featureID007,Solden e ID007,Tokoyo saranno in due tracce distinte, dal momento che hanno valori diversi del campoDestination.
È possibile facoltativamente applicare un buffer alle feature di input. Quando si applica un buffer, le tracce risultanti saranno feature areali.
I buffer sono creati utilizzando un campo o un'espressione di buffer. Per ulteriori informazioni sulle espressioni di buffer e la formattazione, vedere Utilizzare le espressioni di buffer con GeoAnalytics Tools. È possibile applicare un'espressione che prende in considerazione le tracce. Ad esempio, è possibile eseguire il buffering della feature attuale attraverso il campowind_speed per le tre feature precedenti in una traccia con l'equazione mean($track.field["wind_speed].history(-4, -1)).
Quando si esegue il buffering delle feature di input, ogni feature di input è la prima memorizzata nel buffer. Quindi viene generato un involucro convesso per creare una traccia di area.
Per impostazione predefinita, le tracce vengono create utilizzando un metodo geodetico. Il metodo viene applicato ai due seguenti componenti dell'analisi:
- Tracce che superano la linea della data internazionale: quando si utilizza il metodo geodetico, i layer di input che superano la linea della data internazionale avranno tracce che superano correttamente la linea di cambio data internazionale. Si tratta dell'impostazione predefinita. Il layer di input o il riferimento spaziale di elaborazione deve essere impostato su un riferimento spaziale che supporta la disposizione automatica intorno alla linea della data internazionale, come una proiezione globale, ad esempio l'area equivalente cilindrica del mondo.
- Buffer: le feature di input possono essere facoltativamente memorizzate nel buffer. Per ulteriori informazioni su quando applicare un buffer geodetico o planare, vedere Crea Buffer.
Vi sono quattro metodi per suddividere le tracce:
- In base al tempo tra input: si applica una frazione di tempo
- A intervalli di tempo definiti: si applica un confine temporale
- In base alla distanza tra input: si applica una divisione della distanza
- Basato su espressione Arcade — Applica un'espressione suddivisa
L'applicazione di una frazione di tempo suddivide qualunque traccia tranne quando i dati di input sono maggiori del tempo specificato. Ad esempio, se si hanno cinque feature con lo stesso identificatore di tracce e gli orari [01:00, 02:00, 03:30, 06:00, 06:30] e si imposta una frazione di tempo di due ore, verranno suddivise tutte le feature che sono state misurate a più di due ore di distanza. In questo esempio, il risultato sarà una traccia con [01:00, 02:00, 03:30] e [06:00, 06:30], poiché la differenza tra 03:30 e 6:00 è superiore alle due ore.
Applicazione di tracce di segmenti di confini temporali a un intervallo definito. Ad esempio, se si imposta come confine temporale 1 giorno, a partire dalle 09:00 dell'1 gennaio 1990, ogni traccia sarà troncata alle 09:00 di ogni giorno. Questa suddivisione è un modo rapido per accelerare il tempo di calcolo, perché crea rapidamente tracce più piccole per l'analisi. Se per l'analisi è conveniente fare una divisione in base a un confine temporale ricorrente, si consiglia per l'elaborazione di Big Data.
L'applicazione di una divisione della distanza suddivide qualunque traccia tranne quando i dati di input sono maggiori della distanza specificata. Ad esempio, se si imposta una divisione della distanza di 5 chilometri e feature sequenziali ad una distanza superiore a 5 chilometri, faranno parte di una traccia differente.
L'applicazione di un'espressione di divisione, divide le tracce in base a valori, geometria o valori temporali. Ad esempio, è possibile dividere le tracce quando il valore di un campo è più del doppio del valore precedente in una traccia. A tale scopo, utilizzando un campo di esempio denominato WindSpeed, è possibile utilizzare la seguente espressione: var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Le tracce si dividono quando il valore precedente (speed[0]) è inferiore e due volte il valore corrente.
È possibile applicare al contempo nessuna, alcune o tutte le opzioni di suddivisione. Tutti gli esempi che seguono utilizzano un gap di divisione. I risultati diversi, presupponendo che si applichi una frazione di tempo di 6 ore, un confine temporale di 1 giorno e una divisione della distanza di 16 chilometri, sono i seguenti:
Opzioni di divisione | Descrizione |
---|---|
Sei punti di input con tempo e posizione. | Punti di input con lo stesso identificatore. La distanza tra i punti è contrassegnata in cima alla linea tratteggiata e il tempo di ciascuna misurazione di punti è contrassegnato sotto ai punti. Esistono quattro suddivisioni nella sequenza temporale. Le suddivisioni rosse rappresentano la divisione del confine temporale di 1 giorno, a partire da mezzanotte. La suddivisione blu rappresenta la divisione della distanza, quando la distanza tra due punti è maggiore di 16 km. La suddivisione viola rappresenta la frazione di tempo, quando la distanza temporale tra due punti sequenziali è maggiore di 6 ore. |
Esempi in assenza di frazione di tempo e divisione della distanza. | |
Esempio con una frazione di tempo di due ore. Tutte le feature con una frazione superiore a due ore vengono suddivise in tracce distinte. | |
Esempio con un confine temporale di 1 giorno, a partire da mezzanotte. Ad ogni intervallo di 1 giorno a partire dall'orario specificato (in questo caso mezzanotte), si crea una nuova traccia. | |
Esempio con una divisione della distanza di 16 chilometri. Tutte le feature con una distanza superiore a 16 chilometri (feature a 05:00 e 06:00) vengono suddivise in tracce distinte. | |
Esempio con una frazione di tempo di 6 ore e un confine temporale di 1 giorno a partire da mezzanotte. Tutte le feature con una frazione superiore a sei ore o che si intersecano con la divisione della durata temporale a mezzanotte vengono suddivise in tracce distinte. | |
Esempio con una frazione di tempo di 6 ore e una divisione della distanza di 16 km. Tutte le feature con una frazione superiore a sei ore (feature a 06:00 e 19:00) o una distanza superiore a 16 km vengono suddivise in tracce distinte. | |
Esempio con una divisione della distanza di 16 chilometri un confine temporale di un giorno a partire da mezzanotte. Tutte le feature con una distanza superiore a 16 km o che si intersecano con la divisione della durata temporale a mezzanotte vengono suddivise in tracce distinte. | |
Esempio con una divisione della distanza di 16 km, una frazione di tempo di 6 ore e un confine temporale di 1 giorno a partire da mezzanotte. Tutte le feature con una distanza superiore a 16 km o più distanti di 6 ore, o che si intersecano con la divisione della durata temporale a mezzanotte vengono suddivise in tracce distinte. |
Quando si divide una traccia utilizzando un'espressione di divisione di tempo, di distanza o di divisione, è possibile decidere come verranno creati i segmenti tra le divisioni. Una divisione dei confini temporali deve sempre creare un gap. Le opzioni di Divisione traccia sono disponibili con la versioneArcGIS Enterprise 10.9 o versione successiva. Sono disponibili le seguenti opzioni:
- Gap—Crea un gap tra le due feature che sono state divise.
- Fine dopo—Crea un segmento che termini dopo la divisione.
- Inizia prima—Crea un segmento che finisca e inizi prima della divisione.
Nel seguente diagramma viene mostrato un esempio dei tipi di divisione:
Opzioni di frazione di tempo | Descrizione |
Cinque punti di input con tempo e posizione. | Cinque punti di input con lo stesso identificatore. Il tempo di ogni punto è contrassegnato sotto la linea tratteggiata. C'è una divisione fra le 02.00 e le 05.00 per tutti gli esempi. Ogni traccia è divisa in due segmenti tra il terzo e il quarto punto della traccia. La prima traccia è verde e la seconda è viola. Il modo in cui le tracce sono divise è determinato dal parametro di tipo diviso. |
Apertura | Esempio con un gap tra i due punti che sono divisi. La prima traccia termina al terzo punto e la seconda traccia inizia al quarto punto. Si tratta dell'impostazione predefinita. |
Termina dopo | Esempio in cui la traccia termina dopo la divisione, al quarto punto. La seconda traccia inizia al quarto punto. |
Inizia prima | Esempio in cui la traccia si divide prima della divisione, al terzo punto. La seconda traccia inizia al terzo punto. |
Seguono degli esempi di come occorrerebbe definire le tracce usando i parametri di suddivisione e il parametro identificatore di campo utilizzando i voli di una compagnia aerea come esempio:
- La feature di un aereo presenta i campi aircraft ID, flight ID, pilot name,start time e flight_maneuver.
Il campoflight_maneuver rappresenta se l'aereo è a terra, in ascesa o in discesa o ad un'altitudine costante.
- Utilizzareaircraft ID come identificatore se si desidera sapere dove ha viaggiato ciascun aereo.
- Utilizzare il campoaircraft ID e il campoflight ID come identificatore se si desidera paragonare le varie rotte.
- Utilizzareaircraft id e il confine temporale di 1 anno se si desidera esaminare i voli di ciascun aereo per un anno alla volta.
- Utilizzare pilot name, aircraft ID, estart time se si desidera analizzare il volo di ciascun pilota.
- Utilizzareaircraft ID come identificatore e suddividere in distanze superiori ai 1000 chilometri per stabilire nuove 1.000 chilometri nelle misurazioni non deve appartenere alla stessa traccia.
- Utilizzare il campoaircraft ID come identificatore e dividere utilizzando un'espressione quando il valore nel campoflight_manuever cambia. Ad esempio,var manuever = TrackFieldWindow("maneuver", -1, 1); maneuver[0] != maneuver[1] verifica se il valore corrente in una traccia e il valore precedente corrispondono. Se non è così, la traccia è divisa.
Le tracce di output restituiranno i campi utilizzati come identificatori di tracce, il conteggio delle features all'interno di una traccia (count), l'ora di inizio e di fine di ogni traccia (start_datetime and end_datetime), la durata della traccia in millisecondi (duration) e qualsiasi altra statistica opzionale.
Se si seleziona Usa estensione mappa corrente, verranno analizzate solo le feature visibili nell'estensione mappa corrente. Se questa opzione non è selezionata, verranno analizzate tutte le feature di input del layer di input, anche se esterne all'estensione mappa corrente.
Limitazioni
Gli input devono essere layer puntuali o areali con feature abilitate per variazioni temporali di tipo istante. Qualunque feature priva di orario non sarà inclusa nelle tracce di output.
Come funziona Ricostruisci tracce
Le sezioni che seguono descrivono la funzionalità dello strumento Ricostruisci tracce.
Equazioni
La varianza è calcolata usando la seguente equazione:
La deviazione standard è calcolata come la radice quadrata della varianza.
Calcoli
I layer di input sono riepilogati in tracce utilizzando un identificatore univoco. I risultati di riepilogo sono calcolati all'interno di ciascuna traccia.
Ogni rilevamento può facoltativamente applicare statistiche numeriche (Conteggio,Somma, Minimo, Massimo, Intervallo, Media, Divisione standard, Variazione, Primo e Ultimo) o statistiche stringa (Conteggio,Qualsiasi,Primo e Ultimo) per le feature riepilogate all'interno di un rilevamento.
Le statistiche Primo e Ultimo riportano il primo o l'ultimo valore in un rilevamento. Ad esempio, con un rilevamento ordinato per tempo con i seguenti valori:[Toronto,Guelph,Montreal], il valorePrimo è Toronto, mentre il valore Ultimo è Montreal. Le statistiche Primo e Ultimo sono disponibili a partire dalla versione 10.8.1.
La statistica conteggio (per stringhe e campi numerici) conteggia il numero di valori non null. Il conteggio dei seguenti valori equivale a 5: [0, 1, 10, 5, null, 6] = 5. Il conteggio di questo set di valori equivale a 3: [Primary, Primary, Secondary, null] = 3.
Esempio ArcGIS API for Python
Lo strumento Ricostruisci tracce è disponibile tramite ArcGIS API for Python.
Questo esempio ricostruisce le tracce di un uragano.
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import summarize_data
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported")
exit(1)
# Find the big data file share dataset you'll use for analysis
search_result = portal.content.search("", "Big Data File Share")
# Look through the search results for a big data file share with the matching name
bdfs_search = next(x for x in search_result if x.title == "bigDataFileShares_NaturalDisasters")
# Look through the big data file share for hurricanes
hurricanes = next(x for x in bdfs_search.layers if x.properties.name == "Hurricanes")
# Set the tool environment settings
arcgis.env.verbose = True
# Reconstruct the hurricane tracks by their serial number
track_result = summarize_data.reconstruct_tracks(input_layer = hurricanes,
track_fields = "serial_num",
method = 'Geodesic',
output_name = "hurricane_tracks")
# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('World')
processed_map.add_layer(track_result)
processed_map
Strumenti simili
Utilizzare Ricostruisci tracce per riepilogare le feature all'interno di una traccia. Altri strumenti possono essere utili per la risoluzione di problemi simili ma leggermente diversi.
Strumenti di analisi di Map Viewer classico
Se stai cercando di riassumere punti, linee o aree usando diverse relazioni spaziali, usa lo strumento Join Features.
Strumenti di analisi di ArcGIS Pro
Lo strumento Ricostruisci tracce è disponibile anche in ArcGIS Pro.
Per eseguire lo strumento da ArcGIS Pro, sul portale attivo del progetto deve essere in esecuzioneArcGIS Enterprise 10.5 o versione successiva. Nella versione 10.5 è necessario effettuare l'accesso al portale utilizzando un account con privilegi per eseguire le analisi spaziali nel portale.