Anotação:
Atualmente, essa funcionalidade só é compatível no Map Viewer Classic (antigamente conhecido comoMap Viewer).
Diagrama do fluxo de trabalho
Análise utilizando GeoAnalytics Tools
A análise usando GeoAnalytics Tools é executada usando processamento distribuído através de múltiplas máquinas e núcleos do ArcGIS GeoAnalytics Server . GeoAnalytics Tools e ferramentas de análise da feição padrão no ArcGIS Enterprise têm diferentes parâmetros e recursos. Para aprender mais sobre estas diferenças, consulte Diferenças da ferramenta da análise de feição.
Terminologia
Termo | Descrição |
---|---|
Caminho | Uma sequência de feições com horário ativado com o tipo de horário instantâneo. As feições são determinadas como sequenciais por um campo identificador de caminho e são ordenadas por tempo. Por exemplo, uma cidade pode ter uma frota de caminhões de arado de neve que registra sua localização a cada 10 minutos. O ID do veículo pode representar os caminhos distintos. |
Incidente | As feições que atendem uma condição de interesse. |
Instantâneo | Um momento único no tempo representado por um tempo inicial e sem tempo final. É exigido que as entradas para Detectar Incidentes tenham tipo de tempo de momento. |
Intervalo | Uma duração de tempo representado por um tempo incial e final. |
Feição de interesse | Utilizado para descrever a feição sendo analisada. Durante a análise, todas as feições são analisadas. |
Exemplos
A monitoração da água e seus contaminadores são papéis importantes que os sensores executam. Cada medida do sensor inclui um selo de tempo de quando uma medida aconteceu, como também um valor para os contaminadores de interesse. Você tiver acesso aos dados de medidas da água de sua área local, com a medida e selos de tempo em cada localização. Você deseja procurar por sensores que reportam um aumento grande em um contaminante acima dos intervalos de tempo anteriores.
Anotações de uso
Detectar Incidentes é finalizado em tabelas, feições de ponto, linha ou área. A camada de entrada deve ter o tempo habilitado com feições que representam um momento no tempo.
Somente feições de entrada que têm uma entrada de tempo serão utilizadas. Qualquer feição que não tiver tempo não será utilizada ou incluída nos resultados de saída.
O campo ou campos para identificar caminhos serão retornados nos resultados.
Você pode especificar um ou mais campos para identificar caminhos. Os caminhos são representados pela combinação única de um ou mais campos de caminho. Por exemplo, se os campos flightID e Destination forem usados como identificadores de caminho, as seguintes feições [ID007, Solden] e [ID007, Tokoyo] estariam em doi caminhos separados, uma vez que têm valores diferentes para o campo Destination.
Condições iniciais e finais são criadas utilizando uma expressão.
Saiba mais sobre como usar expressões para detectar incidentes com GeoAnalytics Tools
É opcional aplicar uma condição final. Se você somente aplicar uma condição inicial, o incidente inicia quando a condição inicial avalia para verdadeiro e finaliza quando a condição inicial avalia para falso. Por exemplo, se os valores em um caminho eram [0, 10, 15, 20, 40, 10, 12, -2, -12] e a condição inicial era $feature["values"] > 15, as feições que são incidentes são as com [True] e seriam [0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False], onde somente valores acima de 15 são incidentes. Se você opcionalmente aplicou uma condição final de $feature["values"] < 0, os resultados seriam como seguem: [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False]. Neste exemplo, o incidente inicia quando a condição inicial é atendida e então cada feição sequencial é um incidente até que a condição final seja verdadeira. Estes exemplos são descritos na tabela abaixo:
Posição: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
Valores | 0 | 10 | 15 | 20 | 40 | 10 | 12 | -2 | -12 |
Início: $feature["values"] > 15 e sem Fim | False | False | False | True | True | True | False | False | False |
Início: $feature["values"] > 15 e Fim: $feature["values"] < 0 | False | False | False | True | True | True | True | False | False |
Aplicando caminhos de segmentos de intervalo de tempo em uma intervalo definido. Por exemplo, se você definir o limite de intervalo de tempo como 1 dia, começando às 9:00 AM do dia 1º de Janeiro de 1990, cada caminho será truncado às 09:00AM para todos os dias. Eta divisão é uma maneira rápida para acelerar o tempo de computação, pois cria rapidamente caminhos menores para análise. Se a divisão por um limite de intervalo de tempo recorrente fizer sentido para sua análise, é recomendado para o processamento de grandes dados.
As feições de saída retornarão os campos na entrada assim como os campos adicionais:
- IncidentID—Um ID único fornecido para cada feição que for um incidente.
- IncidentStatus—Um campo de string representando o status de um incidente. O valor será null se a feição não for um incidente, Started se a feição é for o primeiro incidente para atende a condição inicial, OnGoing se a feição ainda for um incidente e Ended quando uma feição não for mais um incidente. Pode haver segmentos múltiplos de incidentes em um caminho único. Por exemplo, um caminho com valores de [0, 10, 15, 20, 40, 10, 12, -2, -12] e uma condição inicial de $feature["values"] > 15 resultaria em valores IncidentStatus de [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null].
- IncidentDuration—O tempo em milissegundos que ocorre um incidente. Isto é calculado como a diferença entre a feição de interesse e a feição que iniciou o incidente.
- Instant_Datetime—O tempo em que a feição ocorre.
Se Utilizar extensão de mapa atual estiver selecionada, somente as feições que forem visíveis dentro da extensão de mapa atual serão analisadas. Se não estiver marcada, todas as feições de entrada na camada de entrada serão analisadas, mesmo que estiverem fora da extensão de mapa atual.
Limitações
As entradas devem ser feições de tempo habilitadas do tipo momento. Quaisquer feições que não tiverem tempo não serão incluídas na saída.
Como a ferramenta Detectar Incidentes funciona
O seguinte descreve como funciona a ferramenta Detectar Incidentes:
Cálculos
As feições estão consecutivamente ordenadas no tempo por caminho. Iniciando a partir da primeira feição, a condição inicial é avaliada até que ela seja verdadeira. Uma vez que uma feição atenda a condição inicial, as próximas feições são avaliadas até que a condição inicial seja falsa (se nenhuma condição final for especificada) ou até que a condição final seja verdadeira (se uma condição final for é verdadeira). Após esta condição ser atendida, o incidente finaliza e o processo inicia novamente. Podendo haver segmentos de incidentes múltiplos em um caminho individual. Por exemplo, um caminho com valores de [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20] e uma condição inicial de $feature["values"] > 20, resultaria em dois segmentos de incidentes: [10: null, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null].
A duração de um incidente é calculada em milissegundos como o tempo da feição menos o início de um incidente. A duração é somente calculada se a feição tem tiver um status de Started, OnGoing, e Ended. A duração de uma feição com o status de Started é sempre 0.
Exemplo de ArcGIS API for Python
A ferramenta Detectar Incidente está disponível no ArcGIS API for Python.
Este exemplo descobre quando e onde os limpa-neve estavam se movendo menos de 10 milhas por hora calculando a média de uma janela móvel de cinco valores de velocidade.
# 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
Ferramentas semelhantes
Utilize Detectar Incidentes para localizar feições que são incidentes. Outras ferramentas podem ser úteis para solucionar problemas semelhantes, mas ligeiramente diferentes.
Ferramentas de análise do Map Viewer Classic
Para reconstruir feições ativadas por tempo em trilhas, use a ferramenta Reconstruir Caminhos.
Para calcular os valores de um campo, use a ferramenta Calcular Campo.
Ferramentas de análise do ArcGIS Pro
A ferramenta Reconstruir Caminhos está disponível no ArcGIS Pro.
A ferramenta Calcular Campo também está disponível no ArcGIS Pro.
A ferramenta Detectar Incidente está disponível no ArcGIS Pro.
Para executar a ferramenta do ArcGIS Pro, o portal ativo deve ser Enterprise 10.6 ou posterior. Você deve registrar no portal utilizando uma conta que tenha privilégios para executar GeoAnalytics Análise de Feição.