Saltar al contenido
Volver a proyectosAntonio Blánquez
zetabus.antonioblanquez.es
Captura de ZetaBus: la búsqueda de parada y la lista de líneas diurnas
  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • Leaflet
  • OpenStreetMap

ZetaBus

Fecha
Julio de 2026
Estado
En producción

Visor en vivo del autobús urbano de Zaragoza: llegadas por parada, flota en el mapa y desvíos detectados cruzando cuatro fuentes oficiales.

Por qué existe

ZetaBus dice cuánto falta para que llegue tu autobús en Zaragoza y dónde está ahora en el mapa. También dice qué vehículo es: articulado de 18 metros o sencillo de 12, eléctrico, híbrido o diésel. Desplázame calcula viajes; ZetaBus solo sigue al autobús.

Existe porque las fuentes oficiales se contradicen y nadie lo dice. Con obras, el GTFS de la ciudad sigue mandando el autobús por calles cortadas. ZetaBus compara ese recorrido con el que el operador publica para hoy, deduce el desvío y tacha las paradas por las que no pasa. El día que restauran la ruta, el aviso se apaga solo.

Decisiones

  1. Primero se auditaron las fuentes y después se escribió el código: siete fases de investigación y trece informes.

  2. En Zaragoza no hay GTFS en tiempo real, así que ZetaBus consulta endpoints no documentados del operador, y lo dice. Pide con caché compartida y un techo de peticiones por segundo, y cada petición lleva el nombre del proyecto y la URL de su repositorio. Cuando nadie está mirando, no pide nada.

  3. Sin base de datos: todo lo que enseña se deriva de sus fuentes, y lo derivable no se guarda.

Cómo lo comprobé

  • +470pruebas de motor
  • +800pruebas de navegador
  • 13informes de auditoría de fuentes
  • 403vehículos reconocidos

Más de 470 pruebas de motor con Vitest y más de 800 de navegador con Playwright. Las visuales miden el píxel pintado, porque verificar el JSON con curl no es haber mirado la pantalla.

El 1 de agosto de 2026, ya desplegada, pasó PageSpeed, el validador del W3C, securityheaders y Rich Results, sin que bajara ninguna nota.

Lo que no hace

No adjudica. Si el operador declara una parada suprimida y su sistema sigue anunciando autobuses en ella, ZetaBus enseña los dos hechos y quién dice cada uno, y pide confirmarlo en la marquesina.

Tampoco ve todas las paradas suprimidas: cuando el autobús pasa sin parar, no lo refleja ninguna fuente. El tranvía y los avisos de parada suprimida en la vista de parada están previstos.

Resultado

En producción desde el 26 de julio de 2026, con 44 líneas, 934 paradas y 403 vehículos reconocidos. Cada ficha de vehículo dice de qué fuente sale cada campo, y el pliego municipal destapó que el fichero de flota heredado fallaba en el 20 % de las longitudes.

Lo que me llevo y lo que viene

El siguiente paso es un sistema de datos propio y enriquecido. Las fuentes que usa no coinciden entre sí, ni siquiera las del propio operador, y hoy hay que reconstruir el dato cada día para evitar errores.

La empresa ni siquiera publica qué autobús es cada uno. El modelo, la longitud y el combustible salieron del pliego municipal y, para los 43 vehículos que no aparecían en él, de una web de aficionados que cataloga las flotas.

Más capturas

Captura de la línea 35 con el aviso de desvío abierto
Las paradas tachadas no las publica ninguna fuente como suprimidas: salen de comparar el recorrido oficial con el que Avanza publica para ese día.
Captura de una parada con los autobuses en el mapa y la lista de llegadas
Once autobuses en vivo, con su coordenada GPS real. De cada uno, el modelo, la longitud y el combustible; la lista y el mapa van sincronizados.

Más proyectos