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) Dependencies (Leaflet and Heatmap)
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
<script src="https://unpkg.com/leaflet.heat/dist/leaflet-heat.js"></script>
1) Encapsulation and base configuration
(function(){ "use strict";
const API_URL = 'https://api.fogos.pt/new/fires';
const PT_CENTER = [39.7,-8.0], PT_ZOOM = 6.4;
})();
2) Status weights & time decay
Recency: \( f_\text{rec}(t;h)=0.5^{\,t/h} \)
3) Raw incident intensity
4) Percentile P95 normalisation
5) Polygon contribution score
6) Radial sampling for heat distribution
7) KML kind mapping (enum + date extraction)
// '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) Style tokens (aligned with production map)
/* 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
-
Fire data: Fogos.pt / ANEPC —
Creative Commons BY 4.0 (mandatory attribution).
We re-present the information as received, with visible credits.
- Base maps: OpenStreetMap / CARTO / OpenTopoMap (OSM, CC BY-SA 3.0).
- Client code (JS/UX): MIT (reuse allowed with P7CO® copyright notice).
- Brands and logos are property of their respective owners.
Methodology (summary)
- We show only active occurrences published by ANEPC/Fogos.pt.
- Intensity (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} \). Example: 80, 20, 2; “Em Curso”; \(\Delta t=6h, h=12h\) ⇒ \(I_\text{raw}\approx 72.9\).
- Normalization: \( I_{\mathrm{norm}} = \min(1.35, I_{\mathrm{raw}}/P95) \). Example: \(P95=60\), \(I_\text{raw}=72.9\) ⇒ \(1.215\).
- Visual distribution: \( R_{\mathrm{km}} = 2 + 1.1\sqrt{r} \). Example: \(r=112\) ⇒ \(R_{\mathrm{km}}\approx 13.6\ \text{km}\).