Detectar incidentes (Geoanálisis)

Resumen

Crea una capa que detecta entidades que cumplen una condición determinada.

Ilustración

Diagrama del flujo de trabajo de Detectar incidentes
Flujo de trabajo de Detectar incidentes

Uso

  • Esta herramienta de geoprocesamiento está disponible con ArcGIS Enterprise 10.6 o posterior.

  • La siguiente tabla describe la terminología de la herramienta Detectar incidentes:

    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. Las entradas de Detectar incidentes deben tener 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

    Describe la entidad que se está analizando. Durante el análisis, se analizan todas las entidades.

  • Los incidentes son entidades que cumplen una condición específica.

  • Detectar incidentes creará una nueva salida. No modificará la entrada.

  • Detectar incidentes se puede completar en tablas o entidades de puntos, líneas o polígonos. 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. Se excluirá cualquier entidad que no presente ninguna entrada de tiempo.

  • Los recorridos se representan mediante la combinación única de campos de recorrido. Por ejemplo, si se utilizan los campos flightID y Destination como identificadores de recorrido, las entidades [ID007, Solden] y [ID007, Tokyo] estarían separadas en dos recorridos, dado que tienen valores diferentes para el campo Destination.

  • Las condiciones se crean mediante expresiones de Arcade. La condición inicial es obligatoria; la condición final es opcional. Si solo aplica una condición inicial, el incidente comienza cuando la condición inicial se ha evaluado como verdadera y finaliza cuando la condición inicial se ha evaluado como falsa. Por ejemplo, si los valores en un recorrido son [0, 10, 15, 20, 40, 10, 12, -2, -12] y la condición inicial es $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 aplica una condición final de $feature["values"] < 0, los resultados serían: [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 cada entidad secuencial es un incidente hasta que la condición final sea verdadera. Estos ejemplos se describen en la siguiente tabla:

    Posición123456789

    Valor

    0

    10

    15

    20

    40

    10

    12

    -2

    -12

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

    False

    False

    False

    True

    True

    False

    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 cada día. Esta división acelera el tiempo de procesamiento, ya que crea 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 condiciones se crean mediante expresiones de Arcade y pueden realizar seguimiento.

    Más información sobre expresiones de Arcade GeoAnalytics Server con Detectar incidentes

  • Un recorrido puede tener varios incidentes.

  • Las entidades de salida recuperarán los campos en la entrada, así como los siguientes 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. Un solo recorrido puede tener varios segmentos de incidentes. Por ejemplo, un recorrido con valores [0, 10, 15, 20, 40, 10, 12, -2, -12] y una condición inicial de $feature["values"] > 15 resultará 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 milésimas de segundo, 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.

  • 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 se especifica una condición final). 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 [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 o Ended. La duración de una entidad con el estatus de Started es siempre 0.

  • Es posible mejorar el rendimiento de la herramienta Detectar incidentes realizando una o varias de las siguientes acciones:

    • Defina el entorno de extensión para analizar únicamente datos de interés.
    • Genere como salida únicamente las entidades de incidentes.
    • Dividida los recorridos con el parámetro División de límite de tiempo.
    • Utilice datos locales en los que se ejecute el análisis.

  • Esta herramienta de geoprocesamiento se basa en ArcGIS GeoAnalytics Server. El análisis se completa en su GeoAnalytics Server y los resultados se almacenan en su contenido en ArcGIS Enterprise.

  • Al ejecutar herramientas de GeoAnalytics Server, el análisis se completa en GeoAnalytics Server. Para obtener un rendimiento óptimo, haga que los datos estén disponibles para GeoAnalytics Server mediante capas de entidades alojadas en su portal de ArcGIS Enterprise o mediante recursos compartidos de archivos de big data. Los datos que no son locales para su GeoAnalytics Server se moverán a GeoAnalytics Server antes de que comience el análisis. Significa que ejecutar una herramienta tardará más tiempo y, en algunos casos, mover los datos de ArcGIS Pro a GeoAnalytics Server podría fallar. El umbral de error depende de la velocidad de su red, así como del tamaño y complejidad de los datos. Se recomienda que siempre comparta sus datos o que cree un recurso compartido de archivos de big data.

    Más información acerca del uso compartido de datos en el portal

    Más información sobre cómo crear un archivo compartido de Big Data mediante Server Manager

Parámetros

EtiquetaExplicaciónTipo de datos
Capa de entrada

Las entidades de entrada que contienen incidentes potenciales.

Record Set
Nombre de salida

El nombre del servicio de entidades de salida.

String
Campos de pistas

Uno o varios campos que se utilizarán para identificar recorridos únicos.

Field
Condición inicial

La condición que se utilizará para identificar incidentes. Las expresiones están escritas en Arcade y pueden incluir los operadores [+ - * / ] y varios campos.

Si se agrega la capa al mapa, es posible usar los filtros Campos y Auxiliares para construir una expresión.

Calculator Expression
Condición final
(Opcional)

La condición que se utilizará para terminar incidentes. Si no se especifica ninguna condición final, los incidentes terminarán cuando la condición inicial ya no sea verdadera.

Las expresiones están escritas en Arcade y pueden incluir operadores y varios campos.

Si se agrega la capa al mapa, es posible usar los filtros Campos y Auxiliares para construir una expresión.

Calculator Expression
Modo de salida
(Opcional)

Especifica las entidades que se devolverán.

  • Todas las entidadesSe devolverán todas las entidades de entrada. Esta es la opción predeterminada.
  • IncidentesSolo se devolverán las entidades que se consideraron incidentes.
String
Almacenamiento de datos
(Opcional)

Especifica el ArcGIS Data Store en el que se guardará la salida. Por defecto es big data store espaciotemporal. Todos los resultados almacenados en un big data store espaciotemporal se almacenarán en WGS84. Los resultados almacenados en un data store relacional mantendrán su sistema de coordenadas.

  • Big data store espaciotemporalLa salida se almacenará en un big data store espaciotemporal. Esta es la opción predeterminada.
  • Data store relacionalLa salida se almacenará en un data store relacional.
String
División de límite de tiempo
(Opcional)

Un intervalo de tiempo en el que dividir los datos de entrada para el análisis. Un límite de tiempo permite analizar los valores dentro de un intervalo de tiempo definido. Por ejemplo, si utiliza un límite de tiempo de 1 día, desde el 1 de enero de 1980, los recorridos se dividirán al comienzo de cada día. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Time Unit
Referencia de límite de tiempo
(Opcional)

El tiempo de referencia utilizado para dividir los datos de entrada para el análisis. Se crearán límites de tiempo para todo el intervalo de los datos y no es necesario que el tiempo de referencia se encuentre en el comienzo. Si no se especifica ningún tiempo de referencia, se utilizará el 1 de enero de 1970. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Date

Salida derivada

EtiquetaExplicaciónTipo de datos
Clase de entidad de salida

Las entidades de salida que cumplen una condición determinada.

Conjunto de registros

arcpy.geoanalytics.DetectIncidents(input_layer, output_name, track_fields, start_condition, {end_condition}, {output_mode}, {data_store}, {time_boundary_split}, {time_boundary_reference})
NombreExplicaciónTipo de datos
input_layer

Las entidades de entrada que contienen incidentes potenciales.

Record Set
output_name

El nombre del servicio de entidades de salida.

String
track_fields
[track_fields,...]

Uno o varios campos que se utilizarán para identificar recorridos únicos.

Field
start_condition

La condición que se utilizará para identificar incidentes. Las expresiones están escritas en Arcade y pueden incluir los operadores [+ - * / ] y varios campos.

Calculator Expression
end_condition
(Opcional)

La condición que se utilizará para terminar incidentes. Si no se especifica ninguna condición final, los incidentes terminarán cuando la condición inicial ya no sea verdadera.

Calculator Expression
output_mode
(Opcional)

Especifica las entidades que se devolverán.

  • ALL_FEATURESSe devolverán todas las entidades de entrada. Esta es la opción predeterminada.
  • INCIDENTSSolo se devolverán las entidades que se consideraron incidentes.
String
data_store
(Opcional)

Especifica el ArcGIS Data Store en el que se guardará la salida. El valor predeterminado es SPATIOTEMPORAL_DATA_STORE. Todos los resultados almacenados en un big data store espaciotemporal se almacenarán en WGS84. Los resultados almacenados en un data store relacional mantendrán su sistema de coordenadas.

  • SPATIOTEMPORAL_DATA_STORELa salida se almacenará en un big data store espaciotemporal. Esta es la opción predeterminada.
  • RELATIONAL_DATA_STORELa salida se almacenará en un data store relacional.
String
time_boundary_split
(Opcional)

Un intervalo de tiempo en el que dividir los datos de entrada para el análisis. Un límite de tiempo permite analizar los valores dentro de un intervalo de tiempo definido. Por ejemplo, si utiliza un límite de tiempo de 1 día, desde el 1 de enero de 1980, los recorridos se dividirán al comienzo de cada día. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Time Unit
time_boundary_reference
(Opcional)

El tiempo de referencia utilizado para dividir los datos de entrada para el análisis. Se crearán límites de tiempo para todo el intervalo de los datos y no es necesario que el tiempo de referencia se encuentre en el comienzo. Si no se especifica ningún tiempo de referencia, se utilizará el 1 de enero de 1970. Este parámetro solo está disponible con ArcGIS Enterprise 10.7 y posteriores.

Date

Salida derivada

NombreExplicaciónTipo de datos
output

Las entidades de salida que cumplen una condición determinada.

Conjunto de registros

Muestra de código

Ejemplo 1 de DetectIncidents (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta DetectIncidents.

#-------------------------------------------------------------------------------
# Name: DetectIncidents.py
# Description: Detect Incidents when wind speed is greater than 100 miles per hour
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
outFS = "HurricaneTracks_Incidents"
trackIdentifier = "STAGE"
start_condition = "$feature['WINDSPEED'] > 100"
# Execute Reconstruct Tracks
arcpy.geoanalytics.DetectIncidents(inFeatures, outFS, trackIdentifier, calcExpression)

Entornos

Casos especiales

Sistema de coordenadas de salida

El sistema de coordenadas que se usará para el análisis. El análisis se completará en el sistema de coordenadas de entrada salvo que este parámetro especifique otra opción. En GeoAnalytics Tools, los resultados finales se almacenarán en el data store espaciotemporal en WGS84.

Información de licenciamiento

  • Basic: Requiere ArcGIS GeoAnalytics Server
  • Standard: Requiere ArcGIS GeoAnalytics Server
  • Advanced: Requiere ArcGIS GeoAnalytics Server

Temas relacionados