Lo siguiente es solamente una imagen estática para que quede bonito. La animación que quiero publicar está aquí si no les importa ir a YouTube, o aquí albergada en este servidor.

BiciMAD animation, click to 
start

BiciMAD ha publicado los datos de uso (trayectos individuales) de sus bicicletas, así que el otro día me los descargué y he estado el fin de semana intentando darles forma. Cuando empecé a trabajar con ellos todavía no había datos de septiembre de 2018, así que cogí dos días de septiembre de 2017 (20, miércoles --panel izquierdo--, y 24, domingo --panel derecho--) para ver qué pinta tiene esto en un día laborable y otro de parranda.

No voy a extenderme demasiado porque casi todo lo que he hecho está en el código. La mayor parte del trabajo consistió en conseguir leer los datos de forma que luego fuese los más sencillo posible pasárselos a ggplot2. El mapa es cortesía de OpenStreetMap a través de Stamen y ggmap. Si alguien quiere ejecutar el código, aviso que hay que instalar la versión de desarrollo de esta librería (usando devtools). El código escribe imágenes individuales que luego uní usando ffmpeg; hace un tiempo intenté usar alguna librería de R para generar animaciones cuyo nombre no recuerdo y no me funcionó, pero esto tira siempre.

Pegas:

  • Como los datos están anonimizados (viene la hora a la que empieza el viaje, pero no los minutos ni los segundos) he simplificado el problema y he supuesto que, si hay 60 viajes a las 2 de la mañana, eso es un viaje por minuto distribuidos de manera uniforme. Esto es mentira puta, pero para lo que he hecho bien vale.
  • Hay algún que otro viaje muy raro (recorridos de varios kilómetros en nada de tiempo), o viajes que duran varios días. No he limpiado los datos y simplemente he truncado la animación al llegar al final de cada día.
  • Es discutible que comenzar a las 12 de la noche sea la mejor opción, pero he ejecutado esto en un ordenador bastante enclenque y bastante he tenido con tener un día de datos en memoria. También podía haber leído todo a trozos e ir generando por partes, pero donde llegan esas ideas no llegaba mi voluntad.