Sign inSign up

esignbr/qualidade-ar-smac

By esignbr

•Updated 7 months ago

SMAC air quality data collector

Image
API management
Internet of things
Data science
0

5.1K

esignbr/qualidade-ar-smac repository overview

⁠qualidade-ar-smac

License: MIT Quality Gate Status Docker Pulls API

Dados de qualidade do ar coletados da Prefeitura do RJ - Secretaria Municipal de Meio Ambiente (SMAC)⁠. Os dados são publicados pela SMAC nos seguintes meios:

⁠Execução

A API é uma aplicação Spring Boot⁠ e para ser inicializada execute (requer Maven⁠):

mvn spring-boot:run

A API também pode ser inicializada como contâiner⁠. Para inicializar a API deste modo, execute (requer Docker⁠):

docker run --name smac -d -p 8080:8080 esignbr/qualidade-ar-smac

⁠Gráfico dos últimos 365 dias

Os dados de qualidade do ar dos últimos 365 dias podem ser carregados para uma base de dados InfluxDB⁠ e apresentados num dashboard do Grafana⁠. Os passos são os seguintes (requer Python⁠ e docker-compose⁠):

  1. Prepare o ambiente Python: python3 -m venv env && source env/bin/activate && pip3 install -r requirements.txt;
  2. Execute o script Python: ./influxdb-data.py 365;
  3. Inicialize o ambiente: docker-compose up -d;
  4. Pelo browser entre em http://localhost:3000⁠;
  5. Entre no dashboard SMAC.
⁠Consultas aos dados

Se preferir, obtenha diretamente todos os dados da SMAC:

curl -H 'Authorization: Token my-super-secret-auth-token' -G 'http://localhost:8086/query?db=qualidadear' --data-urlencode 'q=SELECT * FROM "IQAR" WHERE "orgao" =~ /SMAC/'

Último índice de qualidade do ar das estações de monitoramento da SMAC:

curl -H 'Authorization: Token my-super-secret-auth-token' -G 'http://localhost:8086/query?db=qualidadear' --data-urlencode 'q=SELECT last(value) AS value FROM "IQAR" WHERE "orgao" =~ /SMAC/ GROUP BY "estacao", "latitude", "longitude"' -s | jq

Poluentes que mais impactaram o índice de qualidade do ar no período:

curl -H 'Authorization: Token my-super-secret-auth-token' -G 'http://localhost:8086/query?db=qualidadear' --data-urlencode 'q=SELECT count(value) FROM "IQAR" WHERE "orgao" =~ /SMAC/ GROUP BY "poluente"' -s | jq -r '.results[].series[] | "\(.tags.poluente) - \(.values[0][1])"'

Distribuição da classificação da qualidade do ar no período:

curl -H 'Authorization: Token my-super-secret-auth-token' -G 'http://localhost:8086/query?db=qualidadear' --data-urlencode 'q=SELECT count(value) FROM "IQAR" WHERE "orgao" =~ /SMAC/ GROUP BY "classificacao"' -s | jq -r '.results[].series[] | "\(.tags.classificacao) - \(.values[0][1])"'

Tag summary

Content type

Image

Digest

sha256:d43fd9c69…

Size

88.1 MB

Last updated

7 months ago

docker pull esignbr/qualidade-ar-smac