Skip To Content

Detectar incidentes

Detectar incidentes La herramienta Detectar incidentes examina las entidades secuenciales de tiempo utilizando una condición especificada. Las entidades que cumplan la condición especificada se marcan como incidentes. La capa resultante muestra las entidades de entrada en el mismo formato de la entrada, con campos adicionales que indiquen si la entidad es un incidente, el estado del incidente, la duración de este y un identificador de incidente exclusivo.

Diagrama de flujo de trabajo

Diagrama del flujo de trabajo de Detectar incidentes

Análisis mediante GeoAnalytics Tools

El análisis mediante GeoAnalytics Tools se ejecuta con el procesamiento distribuido en varios equipos y núcleos de ArcGIS GeoAnalytics Server. Las GeoAnalytics Tools y las herramientas de análisis de entidades estándar de ArcGIS Enterprise tienen parámetros y capacidades diferentes. Para obtener más información sobre las diferencias, consulte Diferencias de las herramientas de análisis de entidades.

Terminología

PlazoDescripción

Pista

Una secuencia de entidades que tenga la función de tiempo habilitada con el tipo de tiempo de instante. Las entidades están definidas para estar en la secuencia por un campo de identificación de recorrido y están ordenadas por el tiempo. Por ejemplo, una ciudad podría tener una flota de camiones quitanieves que registren su ubicación cada 10 minutos. El Id. del vehículo podría representar los diferentes recorridos.

Incidente

Entidades que cumplen una condición de interés.

Instante

Un único momento en el tiempo representado por una hora de inicio y sin hora de finalización. Se requiere que las entradas que van a Detectar incidentes tengan el tipo de tiempo de instante.

Intervalo

Una duración de tiempo representada por una hora de inicio y una hora de finalización.

Entidad de interés

Se utiliza para describir la entidad que se está analizando. Durante el análisis, se analizan todas las entidades.

Ejemplos

La supervisión del agua y sus contaminantes es un papel importante que desempeñan los sensores. Cada medición de sensor incluye una marca de tiempo del momento en el que se da la medición, así como un valor para los contaminantes de interés. Tiene acceso a datos de medición de agua desde su área local, con medidas y marcas de tiempo en cada ubicación. Desea buscar sensores que informen de un gran aumento en un contaminante respecto a periodos de tiempo anteriores.

Notas de uso

Detectar incidentes se completa en tablas o entidades de puntos, líneas o áreas. La capa de entrada debe tener el tiempo habilitado con entidades que representen un instante en el tiempo.

Solo se utilizarán entidades de entrada que presenten una entrada de tiempo. Cualquier entidad sin tiempo no se usará ni se incluirá en los resultados de salida.

Los campos utilizados para identificar los recorridos se devolverán en los resultados.

Puede especificar uno o más campos para identificar los recorridos. Los recorridos se representan mediante la combinación única de uno o más campos de recorridos. Por ejemplo, si se utilizan los campos flightID y Destination como identificadores de recorrido, las siguientes entidades [ID007, Solden] e [ID007, Tokyo] estarían en dos recorridos separados, dado que tienen valores diferentes para el campo Destination.

Las condiciones inicial y final se crean utilizando una expresión.

Obtener más información sobre cómo utilizar expresiones para Detectar incidentes con GeoAnalytics Tools

Aplicar una condición final es opcional. Si solo aplica una condición inicial, el incidente comienza cuando la condición inicial se evalúa como verdadera y finaliza cuando la condición inicial se evalúa como falsa. Por ejemplo, si los valores en un recorrido fueron [0, 10, 15, 20, 40, 10, 12, -2, -12] y la condición inicial fue $feature["values"] > 15, las entidades que son incidentes son aquellas con [True] y sería: [0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False]; solo los valores por encima de 15 son incidentes. Si optó por una condición final de $feature["values"] < 0, los resultados serían los siguientes: [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False]. En este ejemplo, el incidente comienza cuando se cumple la condición inicial y, a continuación, cada entidad secuencial es un incidente hasta que la condición final sea verdadera. Dichos ejemplos se describen en la siguiente tabla:

Posición:123456789

Valores

0

10

15

20

40

10

12

-2

-12

Inicial: $feature["values"] > 15 y sin Final

False

False

False

True

True

True

False

False

False

Inicial: $feature["values"] > 15 y Final: $feature["values"] < 0

False

False

False

True

True

True

True

False

False

Aplicar segmentos de intervalos de tiempo realiza un seguimiento en un intervalo definido. Por ejemplo, si establece el límite de intervalo de tiempo en 1 día, a partir de las 9:00 AM del 1 de enero de 1990, cada recorrido se truncará a las 9:00 AM para cada día. Esta división es una forma rápida de acelerar el tiempo de procesamiento, ya que crea rápidamente recorridos más pequeños para el análisis. Si a su análisis le conviene dividir por un límite de intervalo de tiempo recurrente, le recomendamos que lo haga para procesar big data.

Las entidades de salida recuperarán los campos en la entrada, así como los campos adicionales:

  • IncidentID: un Id. único dado a toda entidad que sea un incidente.
  • IncidentStatus: un campo de cadena de caracteres que representa el estatus de un incidente. El valor será null si la entidad no es un incidente, Started si la entidad es el primer incidente que cumple la condición de inicio, OnGoing si la entidad es todavía un incidente y Ended cuando una entidad ya no sea un incidente. Puede haber varios segmentos de incidentes en un solo recorrido. Por ejemplo, un recorrido con valores de [0, 10, 15, 20, 40, 10, 12, -2, -12] y una condición inicial de $feature["values"] > 15 resultaría en valores IncidentStatus de [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null].
  • IncidentDuration: el tiempo, en milisegundos, en el que ocurre un incidente. Se calcula como la diferencia entre la entidad de interés y la entidad que comenzó el incidente.
  • Instant_Datetime: la hora a la que ocurre una entidad.

Si Usar la extensión del mapa actual se ha activado, solo se analizarán las entidades que estén visibles en la extensión de mapa actual. Si está desactivada, se analizarán todas las entidades de entrada de la capa de entrada, aunque estén fuera de la extensión de mapa actual.

Limitaciones

Las entradas deben ser entidades que tengan la función de tiempo habilitada de tipo instante. Las entidades sin tiempo no se incluirán en la salida.

Cómo funciona Detectar incidentes

Cálculos

Las entidades se ordenan secuencialmente en el tiempo por recorrido. Comenzando desde la primera entidad, la condición inicial se evalúa hasta que sea verdadera. Una vez que una entidad cumple la condición inicial, las siguientes entidades se evalúan hasta que la condición de inicio sea falsa (si no se especifica ninguna condición final) o hasta que la condición final sea verdadera (si una condición final es verdadera). Una vez que se cumple esa condición, el incidente termina y el proceso comienza de nuevo. Puede haber varios segmentos de incidentes en un recorrido individual. Por ejemplo, con un recorrido con los valores de [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20] y una condición inicial de $feature["values"] > 20, habría dos 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].

La duración de un incidente se calcula en milésimas de segundo como la hora de la entidad menos el comienzo de un incidente. La duración solo se calcula si la entidad tiene un estatus de Started, OnGoing y Ended. La duración de una entidad con el estatus de Started es siempre 0.

Ejemplo de ArcGIS API for Python

La herramienta Detectar incidentes está disponible a través de ArcGIS API for Python.

En este ejemplo se busca cuándo y dónde las quitanieves se estaban moviendo a una velocidad inferior a 10 millas por hora al calcular el valor medio de una ventana en movimiento de cinco valores de velocidad.


# 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

Herramientas similares

Use Detectar incidentes para buscar entidades que sean incidentes. Existen otras herramientas que pueden resultar de utilidad para solucionar problemas similares, aunque ligeramente diferentes.

Herramientas de análisis del Map Viewer

Si desea reconstruir entidades que tengan la función de tiempo habilitada en recorridos, utilice la GeoAnalytics Tools Reconstruir recorridos.

Si desea calcular los valores de un campo, utilice la GeoAnalytics Tools Calcular campo.

Herramientas de análisis de ArcGIS Desktop

La GeoAnalytics Tools Reconstruir recorridos también está disponible en ArcGIS Pro.

La GeoAnalytics Tools Calcular campo también está disponible en ArcGIS Pro.

La GeoAnalytics Tools Detectar incidentes está disponible en ArcGIS Pro.

Para ejecutar esta herramienta desde ArcGIS Pro, su portal activo debe ser Enterprise 10.6 o posterior. Debe iniciar sesión utilizando una cuenta que tenga privilegios para realizar análisis de entidades de GeoAnalytics.