कोर्स सामग्री
Guía de Configuración de Filtros Traccar Optimización del Rastreo GPS con Configuraciones XML
Traccar, un sistema de rastreo GPS de código abierto, ofrece potentes capacidades de filtrado para mejorar la precisión y eficiencia de los datos de ubicación
Emmanuel Díaz Leal Hernández
Curso de traccar
Accede al curso de traccar aquí: Curso de traccar
Eliminar datos viejos en Traccar
Puedes eliminar datos antiguos en Traccar siguiendo esta guía: Cómo purgar (eliminar) datos antiguos en Traccar.
Traccar Filters: Guía para Optimizar tu Archivo XML
Si alguna vez has visto un vehículo "saltar" de una ciudad a otra en un segundo o tu base de datos se ha llenado de puntos en la coordenada (0,0), sabes que los filtros no son opcionales. Traccar es extremadamente potente, pero por defecto es permisivo. Configurar el archivo XML correctamente es la diferencia entre un sistema de rastreo profesional y un acumulador de basura digital.
1. Filtros Críticos (Configuración Recomendada)
Antes de ver la lista completa, estos son los filtros que yo considero obligatorios para cualquier despliegue de BySMax. Evitan los errores más comunes de los trackers comerciales:
filter.invalid: Ignora posiciones donde el GPS no tiene línea de visión (túneles, garajes).filter.zero: Elimina el clásico error de coordenadas (0,0) que envían los dispositivos al reiniciarse.filter.accuracy: Si el margen de error es mayor a 100 metros, el punto no es confiable.
2. Diccionario Completo de Configuraciones
Usa esta tabla como referencia técnica para tu archivo de configuración.
| Configuración | Descripción Técnica | Ejemplo en XML |
|---|---|---|
| filter.enable | Activa o desactiva todo el sistema de filtrado. | <entry key='filter.enable'>true</entry> |
| filter.invalid | Descarta posiciones marcadas como inválidas por el hardware. | <entry key='filter.invalid'>true</entry> |
| filter.zero | Filtra coordenadas exactas en (0,0). | <entry key='filter.zero'>true</entry> |
| filter.duplicate | Elimina puntos con el mismo timestamp y ubicación. | <entry key='filter.duplicate'>true</entry> |
| filter.outdated | Filtra mensajes que no contienen una ubicación válida. | <entry key='filter.outdated'>true</entry> |
| filter.future | Rechaza puntos con fecha futura (relojes mal sincronizados). | <entry key='filter.future'>86400</entry> |
| filter.past | Descarta posiciones muy antiguas recibidas tarde. | <entry key='filter.past'>86400</entry> |
| filter.accuracy | Filtra posiciones con precisión menor a X metros. | <entry key='filter.accuracy'>100</entry> |
| filter.approximate | Elimina ubicaciones por torres de celular o WiFi (LBS). | <entry key='filter.approximate'>true</entry> |
| filter.static | No guarda posiciones si la velocidad es 0. | <entry key='filter.static'>true</entry> |
| filter.distance | Ignora el punto si no se ha movido X metros. | <entry key='filter.distance'>10</entry> |
| filter.maxSpeed | Filtra saltos de señal que implican velocidades imposibles. | <entry key='filter.maxSpeed'>80</entry> |
| filter.minPeriod | Fija un tiempo mínimo entre actualizaciones (segundos). | <entry key='filter.minPeriod'>120</entry> |
| filter.dailyLimit | Límite máximo de posiciones por día por dispositivo. | <entry key='filter.dailyLimit'>1000</entry> |
| filter.skipLimit | Failsafe: después de X tiempo, acepta el punto pase lo que pase. | <entry key='filter.skipLimit'>3600</entry> |
| filter.skipAttributes | Omite el filtrado si el dispositivo tiene ciertos atributos. | <entry key='filter.skipAttributes'>alarm,ignition</entry> |
3. Conclusión y Mejores Prácticas
Implementar estos filtros reduce significativamente la carga de tu servidor y el almacenamiento en base de datos. No existe una configuración única; un camión de carga requiere filtros distintos a los de un activo estático.
- Empieza poco a poco: Activa primero los filtros de
invalidyzero. - Analiza tu hardware: Algunos trackers reportan velocidad en nudos, otros en km/h; ajusta tu
maxSpeeden consecuencia. - Usa la documentación oficial: Siempre valida tus entradas con la referencia de Traccar.
Configuración Adicional de Filtros
Como administrador de tu propio servidor Traccar, puedes aplicar multitud de filtros y parámetros de configuración para definir qué reportes de posición se guardan en la base de datos.
Para habilitar el sistema de filtros, primero debes añadir el siguiente parámetro en tu archivo traccar.xml:
<entry key='filter.enable'>true</entry>
A partir de ahí, puedes añadir las directivas que necesites para limpiar los datos que envían los localizadores GPS.
Evitar el "baile" o rebote de posiciones (Deriva GPS)
Cuando un localizador GPS establece conexión con los satélites, es normal que reporte pequeñas variaciones de pocos metros aunque el vehículo esté totalmente estacionado. Esto crea un efecto visual molesto (un "enjambre" de marcadores en el mapa). Para solucionarlo, puedes definir una distancia mínima en metros para que el reporte sea guardado:
<entry key='filter.distance'>20</entry>
(En este ejemplo, Traccar ignorará cualquier reporte si la distancia con el punto anterior es menor a 20 metros).
Filtrar posiciones inválidas en garajes o parkings
Un problema común ocurre cuando el localizador entra en modo de reposo (SLEEP) en una zona sin cobertura de satélites (como un garaje subterráneo) pero mantiene cobertura de datos celulares (GSM). El equipo suele reportar la última posición válida conocida de forma repetida.
Para evitar guardar información incorrecta y prevenir saltos bruscos en el mapa, puedes añadir:
<entry key='filter.invalid'>true</entry>
(Filtra y evita registrar coordenadas que no sean válidas).
Filtrar coordenadas en cero (0,0)
Algunos localizadores de bajo coste envían la coordenada 0,0 (en el Golfo de Guinea) cuando pierden totalmente la cobertura GPS. Para omitir estos registros:
<entry key='filter.zero'>true</entry>
Configuración completa de filtros recomendada
Esta es una plantilla de filtros balanceada que puedes pegar directamente dentro del bloque <properties> de tu archivo traccar.xml:
<entry key='filter.enable'>true</entry>
<entry key='filter.invalid'>true</entry>
<entry key='filter.zero'>true</entry>
<entry key='filter.distance'>20</entry>
<entry key='filter.duplicate'>true</entry>
<entry key='filter.maxSpeed'>130</entry>
<entry key='coordinates.minError'>20</entry>
<entry key='coordinates.maxError'>30000</entry>
<entry key='filter.future'>86400</entry>
<entry key='status.timeout'>120</entry>
Omitir filtros para eventos importantes (Ignición / Alarmas)
Si utilizas el filtro <entry key='filter.invalid'>true</entry>, es posible que cuando tu vehículo esté bajo techo sin señal GPS, Traccar ignore todo el paquete de datos del dispositivo. Esto causará que no recibas notificaciones importantes (como si abren el capó, desconectan la batería o encienden el motor en el garaje).
Para solucionar esto, puedes configurar a Traccar para que ignore la posición errónea pero sí procese ciertos atributos clave (ignición, alarmas, comandos):
<entry key='filter.skipAttributes.enable'>true</entry>
<entry key='filter.skipAttributes'>alarm,ignition,result,status</entry>
Puedes ver más detalles sobre la sintaxis de estos atributos en la documentación oficial de eventos de Traccar. Con estas reglas configuradas, el servidor recibirá la alerta de motor encendido en sótanos aunque no registre cambios de posición espacial.