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:
- Boletim Diário
- Portal de dados abertos da Prefeitura do RJ - Data.Rio
- Portal MonitorAr do Ministério de Meio Ambiente e Mudança do Clima
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 --rm -d -p 8080:8080 esignbr/qualidade-ar-smac
Os dados de qualidade do ar dos últimos 365 dias, carregados para uma base de dados TimescaleDB, podem ser visualizados num dashboard do Grafana. Para isso, siga os seguintes passos (requer docker-compose):
- Inicialize o ambiente:
docker-compose up -d
; - Pelo browser entre em http://localhost:3000;
- Entre no dashboard
SMAC
.
✅ O Grafana também pode ser visualizado aqui.
Se preferir, obtenha diretamente todos os dados da SMAC, através da Query Tool do pgAdmin (usuário esign@esign.com.br
e senha S3cr3t
):
SELECT md.*
FROM medicoes_diarias AS md
JOIN estacoes AS e ON e.codigo = md.codigo_estacao
WHERE e.orgao = 'SMAC'
ORDER BY md.data
Último índice de qualidade do ar das estações de monitoramento da SMAC:
SELECT e.nome AS "estacao",
(SELECT md1.iqar
FROM medicoes_diarias AS md1
WHERE md1.codigo_estacao = e.codigo
AND md1.data = (SELECT MAX(md2.data)
FROM medicoes_diarias AS md2
WHERE md2.codigo_estacao = e.codigo)
) AS "iqar"
FROM estacoes AS e
WHERE e.orgao = 'SMAC'
Poluentes que mais impactaram o índice de qualidade do ar no período:
SELECT md.codigo_poluente, COUNT(*) AS "qtde"
FROM medicoes_diarias AS md
JOIN estacoes AS e ON e.codigo = md.codigo_estacao
WHERE e.orgao = 'SMAC'
GROUP BY md.codigo_poluente
ORDER BY qtde DESC
Distribuição da classificação da qualidade do ar desde 19/11/2019, quando a nova tabela de qualidade do ar passou a ser utilizada:
SELECT md.classificacao, COUNT(*) AS "qtde"
FROM medicoes_diarias AS md
JOIN estacoes AS e ON e.codigo = md.codigo_estacao
WHERE e.orgao = 'SMAC'
AND md.data >= '2019/11/19'
GROUP BY md.classificacao
ORDER BY qtde DESC
✅ O pgAdmin também pode ser usado aqui.
pg_dump -h localhost -p 5432 -U postgres -f dump.sql postgres
Dados históricos horários no formato CSV podem ser obtidos do Data.Rio através do comando:
curl 'https://hub.arcgis.com/api/v3/datasets/5b1bf5c3e5114564bbf9b7a372b85e17_2/downloads/data?format=csv&spatialRefId=31983'