Nota:
Esta funcionalidad actualmente solo es compatible con Map Viewer Classic (anteriormente conocido como Map Viewer).
Diagrama de flujo de trabajo
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
Plazo | Descripción |
---|---|
Recorrido | 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.
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 de 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ían: [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: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
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
A continuación, se describe cómo funciona la herramienta 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")
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 Classic
Para reconstruir entidades con la función de tiempo habilitada en recorridos, utilice la herramienta Reconstruir recorridos.
Para calcular los valores de un campo, utilice la herramienta Calcular campo.
Herramientas de análisis de ArcGIS Pro
La herramienta Reconstruir recorridos también está disponible en ArcGIS Pro.
La herramienta Calcular campo también está disponible en ArcGIS Pro.
La herramienta 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.