Viajes
Registros de recorridos del vehículo derivados de datos telemáticos brutos. Incluyen horas de inicio y fin, distancia, estadísticas de velocidad y detección de zona
La transformación de Viajes procesa datos telemáticos sin procesar en registros discretos de recorridos de vehículos. Cada fila en processed_common_data.Viajes representa un recorrido completo: dónde comenzó y terminó, cuánto tiempo tomó, qué distancia recorrió el vehículo y de qué zonas salió o a cuáles llegó.
La transformación integrada se ejecuta cada 8 horas y cubre una ventana deslizante de 12 horas de Datos brutos. En cada ejecución, los registros calculados previamente para esa ventana se reemplazan por un nuevo cálculo, de modo que la tabla siempre refleje los datos más recientes disponibles.
Tabla de salida: processed_common_data.Viajes
Cada fila representa un recorrido validado del vehículo. La tabla se indexa por device_id y recorrido_start_time.
device_id
entero
Identificador del dispositivo. Para obtener la etiqueta del Objeto, únase a raw_business_data.objects activado device_id donde is_deleted = false para evitar la multiplicación de filas a partir de asignaciones históricas de dispositivos.
recorrido_start_time
marca de tiempo
Tiempo en que comenzó el Recorrido. Determinado por el primer punto de un nuevo segmento de Movimiento después de una parada válida o una brecha de datos.
hora_de_fin_del_Recorrido
marca de tiempo
Hora en que terminó el recorrido. Se establece en el momento en que el dispositivo pasó de En movimiento a una parada que duró al menos 5 minutos.
duración del recorrido
texto
Duración del recorrido formateada como HH:MI:SS.
duración_del_recorrido_en_segundos
numeric
Duración del Recorrido en segundos. Use este campo para cálculos aritméticos.
distancia_del_Recorrido_en_metros
numeric
Distancia total del recorrido en metros, calculada a partir de la geometría de línea de PostGIS construida a partir de todos los puntos del recorrido.
velocidad_promedio
numeric
Velocidad promedio en todos los puntos del Recorrido, en km/h.
max_speed
numeric
Velocidad máxima registrada durante el Recorrido, en km/h.
min_speed
numeric
Velocidad mínima registrada durante el Recorrido, en km/h.
latitude_start
numeric
Latitud del primer punto del Recorrido, en grados.
longitude_start
numeric
Longitud del primer punto del Recorrido, en grados.
altitude_start
numeric
Altitud al inicio del Recorrido, en metros sobre el nivel del mar.
latitude_end
numeric
Latitud del último punto del recorrido, en grados.
longitud_fin
numeric
Longitud del último punto del recorrido, en grados.
altitud_fin
numeric
Altitud al final del recorrido, en metros sobre el nivel del mar.
puntos_en_recorrido
entero
Cantidad de puntos telemáticos sin procesar incluidos en el recorrido. Mínimo 2 para un recorrido válido.
zona_inicio
texto
Nombre de la zona de geocerca que contiene el punto de inicio del recorrido, si existe. Nulo si el punto de inicio no cae dentro de una zona definida.
zona_fin
texto
Nombre de la Zona que contiene el punto final del Recorrido, si existe. Null si el punto final no cae dentro de una zona definida.
Los ejemplos a continuación muestran patrones de consulta comunes. La consulta básica devuelve registros de recorrido de los últimos 7 días, ordenados por dispositivo y hora de inicio. El segundo ejemplo se une a raw_business_data.objects para incluir la etiqueta legible para humanos del Objeto junto con cada Recorrido.
Cómo se construyen los Viajes
Un registro de recorrido no es una lectura bruta del dispositivo; es una entidad derivada ensamblada a partir de cientos de puntos telemáticos individuales. La transformación trabaja sobre los Datos brutos por etapas: primero decidiendo qué puntos vale la pena conservar, luego clasificando el estado de Movimiento de cada punto, luego agrupando los puntos en segmentos de recorrido y, por último, calculando las métricas agregadas que aparecen en la tabla de salida. Entender este proceso le ayuda a interpretar correctamente los resultados y a reconocer cuándo es necesario ajustar la configuración predeterminada para su Flota.
Estos son los pasos del algoritmo que forma un registro de recorrido:
Recopilar y limpiar la entrada
La transformación lee las últimas 12 horas de datos de dos tablas de origen:
Seguimiento_datos_núcleopara las lecturas de posición y movimientoestadospara la bandera de movimiento de hardware que envía cada rastreador
Los puntos se filtran antes de cualquier procesamiento adicional:
Los registros con coordenadas cero se descartan.
Los puntos con menos de 3 satélites se excluyen del conjunto GNSS.
Puntos LBS (
satélites = -1) son la excepción: pasan para un manejo independiente en el siguiente paso, ya que las posiciones de torres celulares requieren distintas comprobaciones de validez antes de poder participar en la detección de recorridos.
Decidir si cada punto representa movimiento
Cada punto se clasifica en uno de tres estados:
En movimiento: la velocidad es igual o superior a 3 km/h, y la distancia desde el punto anterior supera 50 metros o el indicador de movimiento de hardware del rastreador está activo. Ambas condiciones evitan falsos positivos: la comprobación de distancia filtra picos de velocidad, y el indicador de hardware detecta el movimiento real a baja velocidad que la distancia por sí sola no detectaría.Detenido: la velocidad está por debajo del umbral o la distancia es insuficiente.aparcado: no hay una lectura de velocidad disponible para este punto.
Los puntos LBS pasan por una verificación adicional antes de recibir un estado. Todo punto LBS en el que la velocidad calculada entre posiciones consecutivas supere 200 km/h se descarta como un artefacto de posicionamiento. Un punto LBS que pasa esta verificación e inmediatamente sigue a un punto GNSS puede formar su propio segmento de recorrido de un solo punto, cubriendo casos en los que un dispositivo pasa del posicionamiento por satélite al posicionamiento por torres celulares a mitad del recorrido. Todos los demás puntos LBS no válidos se eliminan.
Agrupación de puntos en viajes
Con cada punto llevando un estado de movimiento, la transformación identifica los límites del recorrido. Un nuevo recorrido comienza cuando:
El dispositivo genera su primer punto de datos en la ventana de procesamiento.
El movimiento se reanuda después de una parada que cumple los criterios (se supera la duración mínima de estacionamiento).
El movimiento se reanuda después de un intervalo sin datos (se supera el tiempo de espera).
Un recorrido termina cuando:
El dispositivo ha estado Detenido de forma continua durante la duración mínima de estacionamiento.
Se produce una brecha de datos de la duración del tiempo de espera mientras el dispositivo no está En movimiento.
Los umbrales que controlan estos límites se enumeran en los Parámetros de configuración de referencia a continuación.
Cálculo de métricas de salida
Una vez que se establecen los límites del Recorrido, todos los puntos de cada Recorrido se agregan en una sola fila de salida:
distancia_del_Recorrido_en_metros: derivada de una geometría de línea de PostGIS construida a partir de la secuencia ordenada de puntos usandoST_MakeLine.velocidad_promedio,max_speed,min_speed: calculada a partir de todos los puntos del Recorrido.latitude_start,longitude_start,latitude_end,longitud_fin: tomado de los primeros y últimos puntos de la secuencia.zona_inicio,zona_fin: poblado al hacer coincidir las coordenadas de inicio y fin conprocessed_common_data.zones_geom. La coincidencia requiere que el punto caiga exactamente dentro del límite de la zona; no se aplica ningún búfer.
Filtrado de ruido antes de escribir los resultados
No todos los segmentos del recorrido que identifica el algoritmo vale la pena conservar. Los segmentos cortos causados por una breve recuperación del GPS, los dispositivos estacionarios con deriva ocasional de posición o los datos incompletos en el límite de la ventana se descartan. Un recorrido solo se escribe en la tabla de salida cuando cumple simultáneamente todas las condiciones siguientes:
Puntos en el recorrido
Al menos 2
Velocidad máxima registrada
Al menos 3 km/h
Distancia total del recorrido
Al menos 100 metros
Hora de inicio del recorrido
Debe determinarse (no nulo)
Hora de fin del recorrido
Debe determinarse (no nulo)
Las dos secciones de referencia siguientes contienen los parámetros configurables y las reglas de escalamiento de datos brutos que la transformación aplica internamente.
Personalizar la transformación
La transformación predeterminada de Viajes refleja la lógica general de detección de recorridos de Navixy. Si su escenario operativo requiere un comportamiento diferente, puede cargar la plantilla del flujo de trabajo en Transformation Builder, modificar los nodos relevantes y programar el flujo de trabajo ajustado como una transformación personalizada en processed_custom_data.
Varios nodos en el flujo de trabajo de Viajes usan funciones geométricas de PostGIS y funciones de ventana (LAG, FIRST_VALUE, LAST_VALUE, SUM OVER). Modificar estos nodos requiere un sólido conocimiento de SQL. Siempre obtenga una vista previa del resultado usando el botón Ejecutar en el Generador de transformaciones antes de programar un flujo de trabajo modificado.
Ejemplos de personalización
Expanda las secciones siguientes para ver algunos ejemplos de personalización basados en casos.
Uso de la plantilla del flujo de trabajo
Navixy proporciona una plantilla de flujo de trabajo de recorridos lista para usar que puede cargar en Transformation Builder como punto de partida. La plantilla cubre todos los pasos de procesamiento descritos en esta página, desde la ingesta de datos brutos hasta la coincidencia con zonas y la agregación.
Consulte la Plantillas página para la descarga, las instrucciones de importación y la configuración del nodo Output para esta transformación.
Próximos pasos
Transformaciones comunes: Volver al índice de transformaciones.
Plantillas: Descargue la plantilla de flujo de trabajo de recorridos e impórtela en Transformation Builder.
Transformation Builder: Aprenda a trabajar con el editor visual de flujos de trabajo, agregar nodos y previsualizar los resultados.
Capa de Datos brutos: Explore las tablas de origen que alimentan la transformación de recorridos:
Seguimiento_datos_núcleo,estados, yzones_geom.
Última actualización
¿Te fue útil?