La herramienta Reconstruir recorridos conecta puntos secuenciales de tiempo a recorridos y resume las entidades dentro del recorrido. Los recorridos se identifican mediante uno o más campos de recorridos. La capa resultante muestra el recorrido como una línea o un área, el recuento de las entidades dentro de un recorrido que se han resumido y cualquier otra estadística adicional que se haya especificado.
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 |
---|---|
Geodésica | Una línea dibujada en una esfera. Una línea geodésica dibujada en el globo representa la curvatura del geoide de la Tierra. |
Planar | Distancia en línea recta medida en una superficie plana (es decir, plano cartesiano). También se conoce como distancia euclidiana. |
Instante | Un único momento en el tiempo representado por una hora de inicio y sin hora de finalización. |
Intervalo | Una duración de tiempo representada por una hora de inicio y una hora de finalización. |
Ejemplos
Los huracanes son uno de los tipos de tormentas más violento que se produce en Estados Unidos. Para evaluar las tarifas de los seguros, desea saber el recorrido que han hecho los huracanes para determinar las ubicaciones que, históricamente, han tenido mayores pérdidas materiales y financieras. Tiene acceso a los datos de ubicación de los huracanes en Estados Unidos en un único dataset, con una marca de hora en cada ubicación. Desea resumir toda la información para ver un resumen de los valores para todos los huracanes. Puede resumir los datos utilizando el identificador de los recorridos de los huracanes a fin de determinar las estadísticas para cada huracán.
Notas de uso
Reconstruir recorridos se ejecuta en entidades de puntos o áreas. La capa de entrada debe tener el tiempo habilitado con entidades que representen un instante en el tiempo.
Para los resultados lineales, solo se devolverán los recorridos que contengan más de un punto. Si aplica una zona de influencia, se devolverán todas las entidades.
Las entidades de entrada deben estar formadas por entidades con el tiempo habilitado que representen un instante en el tiempo. Los resultados son entidades de líneas o áreas que representan un intervalo en el tiempo. El inicio y el final del intervalo vienen determinados por la hora en la primera y última entidad de un recorrido.
El cálculo más básico en un recorrido será el recuento del número de entidades que se han resumido. Las estadísticas (recuento, suma, mínimo, máximo, rango, valor medio, desviación estándar, varianza y los valores primero y último de un recorrido) también se pueden calcular en campos numéricos y las estadísticas (recuento, cualquiera y los valores primero y último de un recorrido) se pueden calcular en campos de cadena de caracteres. La estadística de cadena de caracteres "cualquiera" devuelve una cadena de caracteres de muestra de cada recorrido. Las estadísticas se calcularán por separado para cada recorrido.
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 Destinationcomo identificadores de recorrido, las entidades ID007, Solden e ID007, Tokoyo estarían en dos recorridos separados, dado que tienen valores de campo Destination diferentes.
Si lo desea, puede aplicar una zona de influencia a las entidades de entrada. Cuando aplica una zona de influencia, los recorridos resultantes serán entidades de área.
Las zonas de influencia se crean utilizando una expresión de campo o de zona de influencia. Para obtener más información sobre las expresiones de zona de influencia y su formato, consulte Utilizar expresiones de zona de influencia con GeoAnalytics Tools. Puede aplicar una expresión que realice seguimiento. Por ejemplo, podría crear una zona de influencia de la entidad actual por el valor medio del campo wind_speed para las tres entidades anteriores de un recorrido con la ecuación mean($track.field["wind_speed].history(-4, -1)).
Al crear zonas de influencia para entidades de entrada, se crea una zona de influencia para cada entrada. A continuación, se genera una envoltura convexa para crear un recorrido de área.
De forma predeterminada, los recorridos se crean utilizando un método geodésico. El método se aplica a los dos componentes siguientes del análisis:
- Recorridos que cruzan la línea de fecha internacional: cuando se utiliza el método geodésico, las capas de entrada que cruzan la línea de fecha internacional tendrán recorridos que cruzarán correctamente la línea de fecha internacional. Esta es la opción predeterminada. La capa de entrada o la referencia espacial de procesamiento deben estar definidas con una referencia espacial que admita el ajuste alrededor de la línea de fecha internacional, por ejemplo, una proyección global del tipo Área equivalente cilíndrica mundial.
- Zonas de influencia: se puede crear una zona de influencia de las entidades de entrada. Para obtener más información sobre cuándo aplicar una zona de influencia geodésica o planar, consulte Crear zonas de influencia.
Existen cuatro formas de dividir recorridos:
- En función del tiempo entre entradas: aplica una división de tiempo
- A intervalos de tiempo definidos: aplica un límite de tiempo
- En función de la distancia entre entradas: aplica una división de distancia
- Basado en una expresión de Arcade: aplica una expresión de división.
Al aplicar una división de tiempo, se disuelve cualquier recorrido cuando los datos de entrada estén mucho más separados que el tiempo especificado. Por ejemplo, si tenía cinco entidades con el mismo identificador de recorrido y las horas [01:00, 02:00, 03:30, 06:00, 06:30] y define una división de tiempo de dos horas, se dividirán todas las entidades medidas con más de dos horas de separación. En este ejemplo, el resultado sería un recorrido con [01:00, 02:00, 03:30] y [06:00, 06:30], porque la diferencia entre 03:30 y 6:00 es superior a dos horas.
Al aplicar un límite de tiempo, los recorridos se segmentan con un intervalo definido. Por ejemplo, si establece el límite 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 tiempo recurrente, le recomendamos que lo haga para procesar big data.
Al aplicar una división de distancia, se disuelve cualquier recorrido cuando los datos de entrada estén mucho más separados que la distancia especificada. Por ejemplo, si fija una división de distancia de 5 kilómetros y las entidades secuenciales están separadas más de 5 kilómetros, formarían parte de un recorrido diferente.
La aplicación de una expresión de división divide los recorridos basándose en valores, geometría o valores temporales. Por ejemplo, puede dividir recorridos cuando el valor de un campo es superior al doble del valor anterior de un recorrido. Para esto, si usa un campo de ejemplo llamado WindSpeed, puede utilizar la siguiente expresión: var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Los recorridos se dividen cuando el valor anterior (speed[0]) es inferior al doble del valor actual.
Puede aplicar ninguna, alguna o todas las opciones de división al mismo tiempo. Todos los ejemplos siguientes utilizan un división de espacio. Los distintos resultados, suponiendo que aplique una división de tiempo de 6 horas, un límite de tiempo de 1 día y una división de distancia de 16 kilómetros, son los siguientes:
Opción de división | Descripción |
---|---|
Seis puntos de entrada con un tiempo y una ubicación. | Puntos de entrada con el mismo identificador. La distancia entre dos puntos se marca en la parte superior de la línea punteada y la hora de cada medición de punto se marca debajo de los puntos. La línea temporal presenta cuatro divisiones. Las divisiones de color rojo representan la división de límite de tiempo de 1 día, partiendo de las 0:00 horas. La división azul representa la división de distancia si la distancia entre dos puntos es mayor de 16 km. La división morada representa la división de tiempo si la distancia temporal entre dos puntos secuenciales es de más de 6 horas. |
Ejemplo sin división de tiempo ni división de distancia. | |
Ejemplo con una división de tiempo de dos horas. Las entidades separadas más de dos horas se dividen en recorridos separados. | |
Ejemplo con un límite de tiempo de 1 día empezando a medianoche. En cada intervalo de 1 día a partir de la hora especificada (aquí las 0:00 horas), se crea un nuevo recorrido. | |
Ejemplo con una división de distancia de 16 kilómetros. Las entidades separadas más de 16 kilómetros (las entidades a las 05:00 y las 06:00 horas) se dividen en recorridos separados. | |
Ejemplo con una división de tiempo de 6 horas y una división de límite de tiempo de 1 día a las 0:00 horas. Las entidades separadas por más de seis horas de diferencia o que se intersecan con la división de duración de las 0:00 horas se dividen en recorridos separados. | |
Ejemplo con una división de tiempo de 6 horas y una división de distancia de 16 km. Las entidades separadas más de seis horas (las entidades a las 06:00 y las 19:00 horas) o más de 16 km se dividen en recorridos separados. | |
Ejemplo con una división de distancia de 16 km y un límite de tiempo de un día a partir de las 0:00 horas. Las entidades separadas por más de 16 km o que se intersecan con la división de duración de las 0:00 horas se dividen en recorridos separados. | |
Ejemplo con una división de distancia de 16 km, una división de tiempo de 6 horas y un límite de tiempo de un día a partir de las 0:00 horas. Las entidades separadas por más de 16 km o por más de 6 horas, o las que se intersecan con la división de duración de las 0:00 horas se dividen en recorridos separados. |
Si divide un recorrido utilizando una división de tiempo, división de distancia o expresión de división, puede decidir cómo se crean los segmentos entre la división. La división de límite de tiempo siempre creará un espacio. Las opciones de división de recorrido están disponibles con ArcGIS Enterprise 10.9 o posterior. Existen las siguientes opciones:
- Espacio: permite crear un espacio entre las dos entidades que se dividieron.
- Finalizar después: permite crear un segmento que acabe después de la división.
- Comenzar antes: permite crear un segmento que acabe y comience antes de la división.
En el diagrama siguiente se muestra un ejemplo de los tipos de división:
Opción de división de tiempo | Descripción |
Cinco puntos de entrada con un tiempo y ubicación | Cinco puntos de entrada con el mismo identificador. El tiempo de cada punto se marca debajo de la línea de puntos. Existe una división entre las 2:00 a.m. y las 5:00 a.m. en todos los ejemplos. Cada recorrido se divide en dos segmentos entre el tercer punto y el cuarto punto del recorrido. El primer recorrido es verde y el segundo, morado. El parámetro de tipo de división determinar cómo se dividen los recorridos. |
Espacio | Ejemplo con un espacio entre los dos puntos que se han dividido. El primer recorrido termina en el tercer punto y el segundo recorrido empieza en el cuarto punto. Esta es la opción predeterminada. |
Finalizar después | Ejemplo en el que el recorrido termina tras la división, en el cuarto punto. El segundo recorrido empieza en el cuarto punto. |
Iniciar antes | Ejemplo en el que el recorrido se divide antes de la división, en el tercer punto. El segundo recorrido empieza en el tercer punto. |
A continuación, se ofrecen ejemplos de cómo convendría definir los recorridos mediante los parámetros de división y el parámetro de identificador de campo partiendo del ejemplo del vuelo de un avión comercial:
- Una entidad de avión tiene los campos aircraft ID, flight ID, pilot name,start time y flight_maneuver.
El campo flight_maneuver representa si el avión ha aterrizado, está despegando, está aterrizando o vuelva a una altitud constante.
- Use aircraft ID como identificador si le interesa saber hacia dónde ha viajado cada avión.
- Use aircraft ID y el campo flight ID como identificador si le interesa comparar rutas diferentes.
- Use aircraft id y el límite de tiempo de 1 año si desea examinar los vuelos de cada avión en un año cada vez.
- Use pilot name, aircraft ID y start time si desea examinar el vuelo de cada piloto.
- Use aircraft ID como identificador y divida las distancias mayores de 1.000 kilómetros para determinar los nuevos recorridos, partiendo de que un salto de 1.000 kilómetros en las mediciones no debe considerarse como perteneciente al mismo recorrido.
- Utilice el campo aircraft ID como identificador y divida mediante el uso de una expresión cuando el valor del campo flight_manuever cambie. Por ejemplo, var manuever = TrackFieldWindow("maneuver", -1, 1); maneuver[0] != maneuver[1] compruebe si el valor actual de un recorrido y el valor anterior coinciden. Si no coinciden, el recorrido se divide.
Los recorridos de salida devolverán los campos utilizados como identificadores de recorrido, el recuento de las entidades dentro de un recorrido (count), la hora de inicio y finalización de cada recorrido (start_datetime y end_datetime), la duración del recorrido en milésimas de segundo (duration) y cualquier otra estadística opcional.
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 capas de puntos o áreas con entidades con el tiempo habilitado de tipo instante. Las entidades sin tiempo no se incluirán en los recorridos de salida.
Cómo funciona Reconstruir recorridos
En la sección siguiente se describe la funcionalidad de la herramienta Reconstruir recorridos.
Ecuaciones
La varianza se calcula usando la siguiente ecuación:
La desviación estándar se calcula como la raíz cuadrada de la varianza.
Cálculos
Las capas de entrada se resumen en recorridos utilizando un identificador único. Los resultados del resumen se calculan dentro de cada recorrido.
Cada recorrido puede aplicar estadísticas numéricas (Recuento, Suma, Mínimo, Máximo, Rango, Valor medio, Desviación estándar, Varianza, Primero y Último) o estadísticas de cadena de caracteres (Recuento, Cualquiera, Primero y Último) para las entidades resumidas dentro de un recorrido.
Las estadísticas Primero y Último devuelven el primer o el último valor de un recorrido. Por ejemplo, con un recorrido cronológico con los siguientes valores: [Toronto,Guelph,Montreal], el primer valor es Toronto y el último valor es Montreal. Las estadísticas Primero y Último están disponibles en 10.8.1.
La estadística de recuento (para campos de cadena de caracteres y numéricos) cuenta el número de valores no nulos. El recuento de los siguientes valores es de 5: [0, 1, 10, 5, null, 6] = 5. El recuento de este conjunto de valores es de 3: [Primary, Primary, Secondary, null] = 3.
Ejemplo de ArcGIS API for Python
La herramienta Reconstruir recorridos está disponible a través de ArcGIS API for Python.
En este ejemplo se reconstruyen los recorridos de huracanes.# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
from arcgis.geoanalytics import summarize_data
# 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
bd_file = next(x for x in search_result if x.title == "bigDataFileShares_NaturalDisasters")
# Look through the big data file share for hurricanes
hurricanes = next(x for x in bd_file.layers if x.properties.name == "Hurricanes")
# Set the tool environment settings
arcgis.env.verbose = True
# Reconstruct the hurricane tracks by their serial number
track_result = summarize_data.reconstruct_tracks(input_layer = hurricanes,
track_fields = "serial_num",
method = 'Geodesic',
output_name = "hurricane_tracks")
# Visualize the tool results if you are running Python in a Jupyter Notebook
processed_map = portal.map('World')
processed_map.add_layer(track_result)
processed_map
Herramientas similares
Utilice Reconstruir recorridos para resumir entidades dentro de un recorrido. Existen otras herramientas que pueden resultar de utilidad para solucionar problemas similares, aunque ligeramente diferentes.
Herramientas de análisis del Map Viewer
Si está intentando resumir puntos, líneas o áreas utilizando distintas relaciones espaciales, utilice Unir entidades GeoAnalytics Tools.
Herramientas de análisis de ArcGIS Desktop
Reconstruir recorridos GeoAnalytics Tools también está disponible en ArcGIS Pro.
Para ejecutar la herramienta desde ArcGIS Pro, en el portal activo de su proyecto se debe estar ejecutando ArcGIS Enterprise 10.5 o posterior. A partir de la versión 10.5, debe iniciar sesión en el portal utilizando una cuenta que tenga privilegios para realizar análisis espaciales en el portal.