Guía para consultar y guardar datos mediante la interfaz web de AireCiudadano

Instrucciones para el uso de la Interfaz Web

1. Acceso a la interfaz web:

  • La página web http://sensor.aireciudadano.com:8081/getdata ofrece una interfaz sencilla para seleccionar parámetros y consultar los datos de los promedios horarios de la API de Aire Ciudadano.
  • La ruta /getdata de tu servidor para acceder al formulario que permite configurar y obtener los resultados.

2. Configuración de la consulta

Campos del formulario:

  1. Variables a seleccionar:
    • Debes elegir las variables que quieres incluir en los resultados. Las opciones disponibles son:
      • PM25
      • PM25raw
      • PM1
      • Humidity
      • Temperature
    • Puedes seleccionar una o más variables para realizar la consulta.
  2. Rango de fechas y horas:
    • Elige la fecha y la hora de inicio y fin del rango de tiempo en el que deseas obtener los promedios horarios de los datos. Lo máximo permitido por consulta son 3 meses por límites de CPU y RAM del servidor. Si se necesita más tiempo se debe segmentar por parte del usuario.
    • Ejemplo:
      • Fecha de inicio: 2024-01-01
      • Hora de inicio: 01:00
      • Fecha de fin: 2024-02-01
      • Hora de fin: 01:00
  3. Filtro por estación (opcional):
    • Puedes ingresar un filtro para el nombre de las estaciones para limitar los resultados a una o más estaciones específicas, separadas por comas.
    • Ejemplo 1: station1,station2
    • Ejemplo 2: sta,aire
  4. Formato del resultado:
    • Result in screen: Muestra el resultado directamente en la pantalla, máximo 7 días.
    • Result in json ZIP file: Descarga los resultados en un archivo comprimido .zip que contiene un archivo .json con los datos. Los json son los archivos más grandes.
    • Result in csv ZIP file: Descarga los resultados en un archivo comprimido .zip que contiene un archivo .csv con los datos. Los csv son archivos más pequeños.

3. Ejemplos de uso

Ejemplo 1: Obtener resultados en pantalla

  • Variables seleccionadas: PM25, Temperature
  • Fecha de inicio: 2024-01-01
  • Hora de inicio: 06:00
  • Fecha de fin: 2024-02-01
  • Hora de fin: 05:00
  • Resultado: En pantalla

Obtiene los datos de promedios horarios (promedio de 60 datos minutales para calcular 1 hora) del valor de PM25 y Temperature de todas las estaciones reportadas desde las 06:00 del 2024-01-01 hasta las 05:00 del 2024-02-01, Promedio horario a las 06:00, 07:00, 08:00 hasta las 05:00 del 2024-02-01, 24 promedios horarios. Cuando el formulario se complete, el resultado será un JSON visualizado en la pantalla con los datos de las estaciones filtradas en el rango de tiempo especificado.

Ejemplo 2: Descargar resultados en archivo comprimido ZIP formato json

  • Variables seleccionadas: PM25, Humidity, Temperature
  • Fecha de inicio: 2024-07-01
  • Hora de inicio: 06:00
  • Fecha de fin: 2024-07-01
  • Hora de fin: 12:00
  • Filtro por estación: abago
  • Resultado: En archivo json ZIP

Obtiene los datos de promedios horarios (promedio de 60 datos minutales para calcular 1 hora) del valor de PM25, Humidity y Temperature de todas las estaciones reportadas que tengan la palabra “abago” en su nombre de estación, desde las 06:00 del 2024-07-01 hasta las 12:00 del 2024-07-01, Promedio horario a las 06:00, 07:00, 08:00 hasta las 12:00 del 2024-07-01, 7 promedios horarios. Cuando el formulario se complete, el resultado será un JSON comprimido en un zip.

4. Resultados esperados

Resultado en pantalla:

Si seleccionas “Result in screen”, el resultado será un JSON con el siguiente formato:

{
  "total_records": 120,
  "data": {
    "station1": [
      {
        "date": "2024-01-01T01:00:00Z",
        "PM25": 12.5,
        "Temperature": 23.6
      },
      {
        "date": "2024-01-01T02:00:00Z",
        "PM25": 15.1,
        "Temperature": 24.0
      }
    ],
    "station2": [
      {
        "date": "2024-01-01T01:00:00Z",
        "PM25": 9.8,
        "Temperature": 21.5
      }
    ]
  }
}

Resultado en archivo:

Si seleccionas “Result in json ZIP file” o “Result in csv ZIP file”, el servidor comprimirá el archivo .json o .csv y te permitirá descargarlo en formato .zip.

5. Instrucciones finales

  • La duración de cada consulta puede tomar bastante tiempo. Ejemplos:
    • Un día de datos para 1 variable puede durar 2 minutos y producir 7000 registros.
    • 3 meses de datos para 2 variables puede durar 1 hora en procesamiento.
    • 3 meses de datos 5 variables puede durar 1 hora y 40 minutos y producir 385000 registros.
  • El máximo rango es 3 meses por consulta, ejemplo si se requiere 1 año dividirlo en 4 consultas.
  • Debido al alto consumo de recursos de CPU y RAM que necesita esta API sólo se permite una consulta al tiempo. Al llegar una nueva consulta esta entra en una cola de espera que se libera hasta que termina la actual, no hay forma de saber si ya hay una consulta en trámite. Recomendación: Si nuestra API está tomando demasiado tiempo podremos detenerla y hacer una consulta pequeña de prueba, ejemplo 2 horas y si demora más de un minuto es porque hay otra consulta en tramite y debemos esperar un tiempo prudencial hasta que se ejecute la nuestra.
  • Los promedios horarios se calculan de manera acumulativa, simulando la forma en que lo hacen las estaciones oficiales. Ejemplo:
    • Promedio horario de las 03:00 significa un rango desde las 02:00:01 hasta las 03:00:00 con muestras minutales que son las que da el servidor, osea 60 muestras aprox.
    • Promedio horario de las 23:00 significa un rango desde las 22:00:01 hasta las 23:00:00 con muestras minutales que son las que da el servidor, osea 60 muestras aprox.