Skip To Content

Wykryj zdarzenia

Notatka:

Ta funkcja jest aktualnie obsługiwana tylko w przeglądarce map Map Viewer Classic (wcześniej noszącej nazwę Map Viewer). Będzie ona dostępna w przyszłej wersji nowej przeglądarki map Map Viewer.

Wykryj zdarzenia Narzędzie Wykryj zdarzenia analizuje następujące po sobie w czasie obiekty pod kątem danego warunku. Obiekty spełniające określony warunek są oznaczane jako zdarzenia. W warstwie wynikowej wyświetlane są obiekty wejściowe w tym samym formacie, który jest używany w danych wejściowych, z dodatkowymi polami zawierającymi informacje o tym, czy dany obiekt jest zdarzeniem, status zdarzenia, czas trwania zdarzenia i unikalny identyfikator zdarzenia.

Diagram procedury wykonywania zadań

Diagram procedury wykonywania zadań Wykryj zdarzenia

Analiza z użyciem narzędzi GeoAnalytics Tools

Analiza z użyciem narzędzi GeoAnalytics Tools jest uruchamiana przy zastosowaniu przetwarzania rozproszonego na wielu komputerach i rdzeniach ArcGIS GeoAnalytics Server. Narzędzia GeoAnalytics Tools oraz narzędzia do standardowej analizy obiektowej w oprogramowaniu ArcGIS Enterprise mają różne parametry i możliwości. Więcej informacji o tych różnicach można znaleźć w sekcji Różnice między narzędziami analizy obiektowej.

Terminologia

Okres ważnościOpis

Ścieżka

Sekwencja obiektów zawierających dane czasowe typu Moment. Obiekty należące do sekwencji są ustalane według pola identyfikatora ścieżki, a ich kolejność jest ustalana według czasu. Na przykład w mieście może być eksploatowana flota pługów śnieżnych, których lokalizacja jest rejestrowana co 10 minut. Poszczególne ścieżki mogą być reprezentowane przez identyfikator pojazdu.

Zdarzenie

Obiekty spełniające warunek będący obiektem zainteresowania.

Moment

Jeden moment czasu reprezentowany przez czas rozpoczęcia (bez czasu zakończenia). Dane wejściowe narzędzia Wykryj zdarzenia muszą zawierać czas typu Moment.

Przedział

Czas trwania reprezentowany przez czas rozpoczęcia i zakończenia.

Interesujący obiekt

Zawiera opis analizowanego obiektu. Podczas analizy analizowane są wszystkie obiekty.

Przykłady

Jednym z ważnych zadań realizowanych za pomocą czujników jest monitorowanie jakości wody i jej zanieczyszczeń. Pomiar z każdego czujnika zawiera informacje o czasie jego wykonania, jak również wartość określającą poziom badanych zanieczyszczeń. Dostępne są lokalne dane pomiarowe dotyczące wody zawierające wartość i czas pomiaru dla każdej lokalizacji. Wyszukiwane są czujniki zgłaszające duży wzrost poziomu zanieczyszczeń względem poprzednich etapów czasowych.

Uwagi dotyczące korzystania

W narzędziu Wykryj zdarzenia może używać tabel i obiektów punktowych, liniowych oraz powierzchniowych. Warstwa wejściowa musi zawierać dane czasowe z obiektami reprezentującymi moment w czasie.

Zostaną użyte tylko te obiekty wejściowe, które zawierają dane czasowe. Obiekty bez danych czasowych nie będą używane ani uwzględniane w danych wynikowych.

W wynikach zwracane jest pole lub pola używane do identyfikacji ścieżek.

Do identyfikacji ścieżek można wybrać jedno lub większą liczbę pól. Ścieżki są reprezentowane przez unikalną kombinację jednego lub większej liczby pól ścieżki. Jeśli na przykład jako identyfikatory ścieżek używane są pola flightID i Destination, następujące obiekty [ID007, Solden i ID007, Tokoyo] będą znajdować się na dwóch oddzielnych ścieżkach, ponieważ mają różne wartości pola Destination.

Warunki początkowy i końcowy są tworzone przy użyciu wyrażenia.

Dowiedz się więcej o korzystaniu z wyrażeń w narzędziu Wykryj zdarzenia z narzędzi GeoAnalytics Tools

Warunek końcowy jest opcjonalny. Jeśli zostanie zastosowany tylko warunek początkowy, zdarzenie rozpocznie się, gdy warunek początkowy uzyska wartość prawda (true) i zakończy się, gdy jego wartość zmieni się na fałsz (false). Na przykład jeśli wartości w ścieżce to [0, 10, 15, 20, 40, 10, 12, -2, -12], a warunek początkowy to $feature["values"] > 15, obiektami-zdarzeniami są te o wartości [True] i [0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False], gdzie zdarzeniami są tylko obiekty o wartości przekraczającej 15. Jeśli opcjonalnie zostanie zastosowany warunek końcowy $feature["values"] < 0, wyniki będą następujące: [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False]. W tym przykładzie zdarzenia rozpoczynają się, gdy spełniony jest warunek początkowy, po czym każdy obiekt w sekwencji jest zdarzeniem do chwili, gdy warunek końcowy uzyska wartość prawda (true). Te przykłady zostały przedstawione w poniższej tabeli:

Pozycja:123456789

Wartości

0

10

15

20

40

10

12

-2

-12

Początkowy: $feature["values"] > 15 i brak końcowego

False

False

False

True

True

True

False

False

False

Początkowy: $feature["values"] > 15 i końcowy: $feature["values"] < 0

False

False

False

True

True

True

True

False

False

Zastosowanie przedziału czasu powoduje dzielenie ścieżek na segmenty zgodnie ze zdefiniowanymi interwałami. Jeśli na przykład granica przedziału czasu zostanie skonfigurowana na 1 dzień, począwszy od 9:00 rano w dniu 1 stycznia 1990, to każda ścieżka będzie obcinana dla każdego dnia o godz. 9:00 rano. Ten podział to prosty sposób na skrócenie czasu przetwarzania, ponieważ pozwala szybko tworzyć mniejsze ścieżki na potrzeby analizy. Jeśli podział za pomocą granic wyznaczanych przez powtarzalne przedziały czasu ma sens w danej analizie, jest to zalecana metoda w przypadku przetwarzania dużych zbiorów danych.

Obiekty wynikowe będą zawierały pola z obiektów wejściowych oraz dodatkowe pola:

  • IncidentID— unikalny identyfikator przypisywany do każdego obiektu, który jest zdarzeniem.
  • IncidentStatus— pole znakowe reprezentujące status zdarzenia. Wartością będzie null, jeśli obiekt nie jest zdarzeniem, Started, jeśli obiekt jest pierwszym zdarzeniem spełniającym warunek początkowy, OnGoing, jeśli obiekt jest nadal zdarzeniem i Ended, gdy obiekt nie jest już zdarzeniem. Pojedyncza ścieżka może zawierać wiele segmentów zdarzeń. Na przykład dla ścieżki o wartościach [0, 10, 15, 20, 40, 10, 12, -2, -12] i warunku początkowym $feature["values"] > 15 wartościami w polu IncidentStatus będą [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null].
  • IncidentDuration— czas trwania zdarzenia w milisekundach. Jest obliczany jako różnica między badanym obiektem a obiektem, który rozpoczął zdarzenie.
  • Instant_Datetime— czas wystąpienia obiektu.

Jeśli zaznaczono opcję Użyj bieżącego zasięgu mapy, analizowane będą tylko obiekty widoczne w bieżącym zasięgu mapy. Jeśli opcja ta nie została zaznaczona, przeanalizowane zostaną wszystkie obiekty wejściowe w warstwie wejściowej, nawet jeśli znajdują się one poza bieżącym zasięgiem mapy.

Ograniczenia

Danymi wejściowymi muszą być obiekty zawierające dane czasowe typu Moment. Obiekty bez danych czasowych nie będą uwzględniane w danych wynikowych.

Jak działa narzędzie Wykryj zdarzenia

Poniżej przedstawiono sposób działania narzędzia Wykryj zdarzenia:

Obliczenia

Obiekty w ścieżkach są porządkowane według czasu. Począwszy od pierwszego obiektu, sprawdzany jest warunek początkowy do chwili, gdy uzyska on wartość prawda (true). Gdy któryś z obiektów spełni warunek początkowy, kolejne obiekty będą sprawdzane, dopóki warunek początkowy któregoś z nich nie uzyska wartości fałsz (false) (jeśli nie ma warunku końcowego) lub dopóki warunek końcowy nie uzyska wartości prawda (true) (jeśli jest używany). Gdy ten warunek zostanie spełniony, zdarzenie kończy się, a proces rozpoczyna się od początku. W poszczególnych ścieżkach może znajdować się wiele segmentów zdarzeń. Na przykład w ścieżce o wartościach [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20] i warunku początkowym $feature["values"] > 20 będą znajdowały się dwa segmenty zdarzeń: [10: null, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null].

Czas trwania zdarzenia jest obliczany w milisekundach jako czas obiektu minus czas rozpoczęcia zdarzenia. Czas trwania jest obliczany tylko wtedy, gdy status obiektu to Started, OnGoing i Ended. Czas trwania obiektu o statusie Started to zawsze 0.

Przykład użycia interfejsu ArcGIS API for Python

Narzędzie Wykryj zdarzenia jest dostępne za pośrednictwem interfejsu ArcGIS API for Python.

Ten przykład ilustruje wyszukiwanie czasów i miejsc, w których pługi śnieżne poruszały się z prędkością mniejszą niż 10 km na godzinę, przez obliczenie średniej wartości ruchomego okna o pięciu wartościach prędkości.


# 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", 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_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

Podobne narzędzia

Za pomocą narzędzia Wykryj zdarzenia można wyszukiwać obiekty, które są zdarzeniami. Do rozwiązywania podobnych, ale nieco innych problemów, mogą być przydatne inne narzędzia.

Narzędzia analizy Map Viewer Classic

Aby zrekonstruować ścieżki obiektów z danymi czasowymi, użyj narzędzia Rekonstruuj ścieżki.

Aby obliczyć wartości pola, użyj narzędzia Oblicz pole.

Narzędzia analizy aplikacji ArcGIS Desktop

Narzędzie Rekonstruuj ścieżki jest także dostępne w aplikacji ArcGIS Pro.

Narzędzie Oblicz pole jest także dostępne w aplikacji ArcGIS Pro.

Narzędzie Wykryj zdarzenia jest dostępne w aplikacji ArcGIS Pro.

Aby możliwe było uruchomienie tego narzędzia z poziomu aplikacji ArcGIS Pro, aktywny portal musi być w wersji Enterprise 10.6 lub nowszej. Należy zalogować się do portalu przy użyciu konta z uprawnieniami do wykonywania analizy obiektowej w ramach analizy geoprzestrzennej.