Créditos, Metodologia, Missão e Recomendações
O P7CO® EcoResupply visa democratizar o acesso à informação ambiental crítica, com rigor e transparência. O Mapa de Incêndios apresenta, em quase tempo real, as ocorrências activas em Portugal (continente e ilhas), a partir de dados públicos.
- Origem primária: Fogos.pt (plataforma cidadã) que agrega os dados oficiais da ANEPC.
- Actualização automática: ciclos periódicos; o relógio de desfasamento reflecte a latência ANEPC → Fogos.pt → P7CO.
- Geolocalização aproximada: as coordenadas podem ser generalizadas/anonimizadas na origem por segurança.
Incêndio severo: orientações essenciais
- Perigo imediato: Afaste-se rapidamente das frentes de fogo. Siga sempre as instruções das autoridades locais e não tente regressar a habitações ou terrenos em risco. Informação oficial.
- Alerta/denúncia: Se avistar um foco de incêndio, ligue de imediato o 112. Pode também contactar a GNR ou os bombeiros locais.
- Evacuação: Respeite todos os avisos de evacuação emitidos pela ANEPC / Proteção Civil. Abandone a área de forma calma e ordenada, ajudando vizinhos idosos ou com mobilidade reduzida.
- Se ficar cercado por fogo: Procure zonas já queimadas ou espaços abertos sem vegetação. Proteja-se com roupas de algodão, mantenha o corpo baixo para evitar inalar fumo e cubra nariz e boca com pano húmido.
- Fumo e saúde: Evite esforços físicos em ambientes com fumo denso. Feche portas e janelas em casa para reduzir a entrada de partículas. Em caso de sintomas respiratórios ligue SNS 24 (808 24 24 24). Direção-Geral da Saúde.
- Grupos vulneráveis: Crianças, idosos, grávidas e pessoas com doenças respiratórias ou cardíacas devem ser prioritariamente protegidos e retirados de zonas afetadas pelo fumo.
- Informação fiável: Consulte apenas fontes oficiais: ANEPC, IPMA, rádios locais ou comunicados das autoridades. Desconfie de rumores em redes sociais.
Estas orientações são reproduzidas a partir de fontes oficiais (ANEPC, DGS, GNR, IPMA, ePortugal). Verifique sempre a informação mais recente junto das entidades competentes.
VOST vs. Copernicus — regras, estilos e semântica
VOST é sempre Área de Interesse (AOI) — nunca “Delineation”. Os polígonos exibem apenas popup de área (badge por origem), e os pinos permanecem oficiais ANEPC/Fogos.pt (sem informação VOST no pino).
- Popup (apenas áreas): badge azul para Copernicus, vermelho para VOST, métricas (área, perímetro, raio), data (se KML tiver), e aviso “valores aproximados”.
- Pinos: “Em Curso” usa flame icon; outros estados usam bola suave (apenas dados oficiais).
- Heatmap:
cop-delineation = 1.0
,cop-aoi = 0.25
,vost-aoi = 0.20
, meia-vida 24–36 h.
Technical documentation of the map (EN)
0) Dependências (Leaflet e Heatmap)
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
<script src="https://unpkg.com/leaflet.heat/dist/leaflet-heat.js"></script>
1) Encapsulamento e configuração base
(function(){ "use strict";
const API_URL = 'https://api.fogos.pt/new/fires';
const PT_CENTER = [39.7,-8.0], PT_ZOOM = 6.4;
})();
2) Pesos de estado & decaimento temporal
3) Intensidade bruta do incidente
4) Normalização por percentil P95
5) ‘Score’ de contribuição de polígonos
6) Amostragem radial para distribuição de calor
7) Mapeamento de tipos KML (enum + data)
// 'cop-delineation' | 'cop-aoi' | 'vost-aoi' | 'generic'
function parseKmlKindAndDate(kmlText){
const t = String(kmlText||''); const tl = t.toLowerCase();
const isVost = /vost/i.test(t);
const isCopDel = /(burnt|affected|delineation|monit)/.test(tl);
const isAOI = /(área de interesse|area of interest|aoi)/.test(tl);
const kind = isVost ? 'vost-aoi' : isCopDel ? 'cop-delineation' : isAOI ? 'cop-aoi' : 'generic';
const m = tl.match(/(\d{1,2})[\/\.-](\d{1,2})[\/\.-](\d{2,4}).{0,6}(\d{1,2})[:h](\d{2})/);
let date = null;
if(m){
const dd=+m[1], mm=+m[2]-1, yy=+m[3] < 100 ? 2000+ +m[3] : +m[3];
const hh=+m[4], mi=+m[5]; date = new Date(yy,mm,dd,hh,mi,0);
}
return { kind, date };
}
8) Tokens de estilo (alinhados com o mapa de produção)
/* Copernicus Delineation: solid blue; pulse handled by JS */
.areas-poly--cop-del{ stroke:#2563eb; fill: color-mix(in oklab, #2563eb 22%, white); }
/* Copernicus AOI: solid blue (no dash) */
.areas-poly--cop-aoi{ stroke:#2563eb; /* no dash */ fill: color-mix(in oklab, #2563eb 12%, white); }
/* VOST AOI: solid red (no dash) */
.areas-poly--vost-aoi{ stroke:#dc2626; /* no dash */ fill: rgba(220,38,38,.10); }
Participantes (autoridades, forças e sociedade civil)
Reconhecemos o trabalho de todas as entidades e cidadãos que contribuem para a prevenção, monitorização, combate e recuperação.
- Autoridade Nacional: ANEPC — Autoridade Nacional de Emergência e Proteção Civil
- Agência para os Fogos Rurais: AGIF — Agência para a Gestão Integrada de Fogos Rurais
- Informação Meteorológica: IPMA — Instituto Português do Mar e da Atmosfera
- Conservação/Recursos: ICNF — Instituto da Conservação da Natureza e das Florestas
- Forças de Segurança: GNR (incl. SEPNA) e PSP
- Forças Armadas: Força Aérea, Exército, Marinha
- Autoridade Marítima: AMN / Polícia Marítima
- Saúde e Socorro: INEM e Cruz Vermelha Portuguesa
- Estruturas de Bombeiros: Liga dos Bombeiros Portugueses e Associação Nacional de Bombeiros Portugueses
- Municípios e proteções civis municipais (gabinetes técnicos florestais e equipas locais)
- Comunidade e Cidadania: VOST Portugal, plataformas de voluntariado e cidadãos que reportam, validam e partilham informação responsável
Sources, licenses, and rights
-
Dados de incêndios: Fogos.pt / ANEPC — Creative Commons BY 4.0 (atribuição obrigatória).
We re-present the information as received, with visible credits.
- Mapas base: OpenStreetMap / CARTO / OpenTopoMap (OSM, CC BY-SA 3.0).
- Código cliente (JS/UX): MIT (reutilização permitida com menção de copyright P7CO®).
- Marcas e logótipos são propriedade dos respetivos titulares.
Metodologia (resumo)
- Mostramos apenas ocorrências ativas publicadas por ANEPC/Fogos.pt.
- Intensidade (heatmap): \( I_\text{raw}= (1 + 1\cdot\text{personnel} + 0.5\cdot\text{vehicles} + 6\cdot\text{aircraft}) \cdot w(\text{status}) \cdot 0.5^{\Delta t/h} \). Exemplo: 80, 20, 2; “Em Curso”; \(\Delta t=6h, h=12h\) ⇒ \(I_\text{raw}\approx 72.9\).
- Normalização: \( I_{\mathrm{norm}} = \min(1.35, I_{\mathrm{raw}}/P95) \). Exemplo: \(P95=60\), \(I_\text{raw}=72.9\) ⇒ \(1.215\).
- Distribuição visual: \( R_{\mathrm{km}} = 2 + 1.1\sqrt{r} \). Exemplo: \(r=112\) ⇒ \(R_{\mathrm{km}}\approx 13.6\ \text{km}\).