Nota:
Questa funzionalità è attualmente supportata solo inMap Viewer Classic (precedentemente noto come Map Viewer).
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 |
---|---|
Percorso | Una sequenza di feature abilitate per variazioni temporali con tipo di tempo Istante. Le feature sono determinate per essere in sequenza da un campo identificatore di tracce e sono ordinate per tempo. Ad esempio, una città potrebbe avere una flotta di spazzaneve che registrano la loro posizione ogni 10 minuti. L'ID del veicolo potrebbe rappresentare i rilevamenti distinti. |
Richiesta di assistenza | Feature che soddisfano una condizione di interesse. |
Istante | Un singolo momento nel tempo rappresentato da un'ora di inizio e nessuna ora di fine. È necessario che gli input a Rileva Eventi siano di tipo istante di tempo. |
Intervallo | Un arco di tempo rappresentato da un'ora di inizio e un'ora di fine. |
Feature di interesse | Utilizzata per descrivere la feature analizzata. Durante l’analisi, tutte le feature vengono analizzate. |
Esempi
Il monitoraggio dell'acqua e dei suoi contaminanti è un ruolo importante svolto dai sensori. Ogni misurazione del sensore include un timestamp del momento in cui viene effettuata una misurazione, nonché un valore per i contaminanti di interesse. È possibile accedere ai dati delle misurazioni dell'acqua dalla propria area locale, con le misurazioni e i timestamp in ogni posizione. Si desidera cercare sensori che segnalino un grande incremento di un contaminante rispetto ai precedenti passaggi temporali.
Note sull'utilizzo
Lo strumento Rileva Eventi viene completato su tabelle o feature puntuali, lineari o areali. Il layer di input deve essere abilitato alle variazioni temporali con feature che rappresentano un istante nel tempo.
Vengono utilizzate solo le feature di input che dispongono di una voce di tempo. Qualunque feature priva di orario non sarà utilizzata o inclusa nelle tracce di output.
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. Per esempio, se i campi flightID e Destination sono usati come identificatori di traccia, le seguenti caratteristiche [ID007, Solden] e [ID007, Tokoyo] sarebbero in due tracce separate, poiché hanno valori diversi per il campo Destination.
Le condizioni iniziali e finali vengono create utilizzando un’espressione.
Per saperne di più sull'uso delle espressioni per rilevare gli eventi con GeoAnalytics Tools
È opzionale applicare una condizione finale. Se si applica solo una condizione iniziale, l'evento inizia quando la condizione iniziale restituisce True e termina quando la condizione iniziale restituisce False. Ad esempio, se i valori in una traccia fossero [0, 10, 15, 20, 40, 10, 12, -2, -12] e la condizione iniziale fosse $feature["values"] > 15, le feature che sono eventi sono quelle con [True] e sarebbero [0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False], mentre solo i valori superiori 15 sono incidenti. Se si applica opzionalmente una condizione finale di $feature["values"] < 0, i risultati sono i seguenti: [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False]. In questo esempio, l'evento inizia quando viene soddisfatta la condizione iniziale, quindi ogni feature sequenziale è un evento finché la condizione finale non è True. Questi esempi sono descritti nella tabella seguente:
Posizione: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
Valori | 0 | 100 | 15 | 20 | 40 | 100 | 12 | -2 | -12 |
Inizio: $feature["values"] > 15 e nessuna Fine | False | False | False | True | True | True | False | False | False |
Inizio: $feature["values"] > 15 e Fine: $feature["values"] < 0 | False | False | False | True | True | True | True | False | False |
Applicando un intervallo temporale segmenta le tracce in intervalli definiti. Ad esempio, se si imposta come confine di intervallo 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 di intervallo di tempo ricorrente, si consiglia per l'elaborazione di Big Data.
Le feature di output riportano i campi nell’input, nonché campi aggiuntivi:
- IncidentID-Un ID unico dato ad ogni feature che è un evento.
- IncidentStatus-Un campo stringa che rappresenta lo stato di un evento. Il valore sarà null se la feature non è un evento, Started se la feature è il primo evento a soddisfare la condizione iniziale, OnGoing se la feature è ancora un evento e Ended se una feature non è più un evento. Vi possono essere più segmenti di eventi in una singola traccia. Per esempio, una traccia con valori di [0, 10, 15, 20, 40, 10, 12, -2, -12] e una condizione iniziale di $feature["values"] > 15 risulterebbe in valori IncidentStatus di [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null].
- IncidentDuration-Il tempo in millisecondi in cui si verifica un evento. Viene calcolato come differenza tra feature di interesse e feature che ha avviato l’evento.
- Instant_Datetime-L'ora in cui la feature si verifica.
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 feature abilitate per variazioni temporali di tipo istante. Qualunque feature priva di orario non sarà inclusa nell’output.
Come funziona Rileva Eventi
Di seguito viene descritto il funzionamento dello strumento Rileva eventi:
Calcoli
Le feature sono ordinate in sequenza temporale per traccia. A partire dalla prima feature, la condizione iniziale viene valutata finché non è True. Una volta che una feature soddisfa la condizione iniziale, le feature successive vengono valutate finché la condizione iniziale non è False (se non è specificata alcuna condizione finale) o finché la condizione finale non è True (se una condizione finale è True). Una volta soddisfatta tale condizione, l'evento termina e il processo ricomincia. Potrebbero esservi più segmenti di evento in una singola traccia. Ad esempio, con una traccia con valori di [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20] e una condizione iniziale di $feature["values"] > 20, vi saranno due segmenti di evento: [10: null, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null].
La durata di un evento viene calcolato in millisecondi come tempo della feature meno l’inizio di un evento. La durante viene calcolata solo se la feature ha uno stato di Started, OnGoing e Ended. La durata di una feature con lo stato di Started è sempre 0.
Esempio ArcGIS API for Python
Lo strumento Rileva eventi è disponibile tramite ArcGIS API for Python.
Questo esempio trova il luogo e il momento in cui gli spazzaneve si stavano spostando a una velocità inferiore alle 10 miglia all'ora calcolando la media di una finestra mobile di cinque valori di velocità.
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import find_locations
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password")
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_VehicleData")
# Look through the big data file share for snowplow track data
snowplows = next(x for x in bdfs_search.layers if x.properties.name == "Snowplow_tracks")
# Set the tool environment settings
arcgis.env.verbose = True
arcgis.env.defaultAggregations = True
# Run the Detect Incidents tool
output = find_locations.detect_incidents(input_layer = snowplows,
track_fields = "plowID, dayOfYear",
start_condition_expression = "Mean($track.field["speed"].window(-5, 0)) < 10",
output_name = "Snow_Plow_Incidents")
# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('Fairbanks, AK', 10)
processed_map.add_layer(output)
processed_map
Strumenti simili
Utilizzare Rileva Eventi per trovare feature che sono incidenti. Altri strumenti possono essere utili per la risoluzione di problemi simili ma leggermente diversi.
Strumenti di analisi di Map Viewer Classic
Per ricostruire le caratteristiche temporali in tracce, usa lo strumento Ricostruisci tracce.
Per calcolare i valori di un campo, usa lo strumento Calcola campo.
Strumenti di analisi di ArcGIS Pro
Lo strumento Ricostruisci tracce è disponibile anche in ArcGIS Pro.
Lo strumento Calcola campo è disponibile anche in ArcGIS Pro.
Lo strumento Rileva eventi è disponibile in ArcGIS Pro.
Per eseguire questo strumento da ArcGIS Pro, il portale attivo deve essere Enterprise 10.6 o versione successiva. È necessario effettuare l'accesso utilizzando un account che ha privilegi per eseguire le analisi delle feature GeoAnalytics.