About the articles and the data
The articles grew out of a folder of old work scripts: ArcMap tools, ArcGIS Pro arcpy scripts, PostGIS queries and Python routines, from my time working on deforestation and fire monitoring in Brazil’s protected areas. Each script was rebuilt with public data and became an article with one version for each program.
The articles are translated into English, but the data, field names and variable names are in Portuguese, as in the original scripts and in the Brazilian datasets (ucs = protected areas, entorno = surroundings, ano = year, area_ha = area in hectares). Each article lists the names it uses. Code comments and printed messages are in English. The figures were made for the Portuguese version and keep their Portuguese labels.
Which version exists in each article
| Article | ArcGIS Pro | QGIS | PostGIS | Python | Extra |
|---|---|---|---|---|---|
| 1. Equivalences | ● | ● | ● | ● | ArcMap → Pro |
| 2. Inside and around | ● | ● ✔ | ● ✔ | ● ✔ | |
| 3. PRODES in protected areas | ● | ● ✔ | ● ✔ | ● ✔ | |
| 4. Fire hotspots | ● | ● ✔ | ● ✔ | ● ✔ | |
| 5. Date fields | ● | ● ✔ | ● ✔ | ● ✔ | Power BI |
| 6. Monthly cumulative table | ● | ● ✔ | ● ✔ | ● ✔ | Power BI |
| 7. Joining attributes | ● | ● ✔ | ● ✔ | ● ✔ | |
| 8. CAR in protected areas | ● | ● ✔ | ● ✔ | ● ✔ | |
| 9. Kernel density | ● | ● ✔ | ● ✔ | ● ✔ | |
| 10. Automated maps | ● | ● ✔ | ● | ● ✔ | ArcMap |
| 11. PDF report | ● | ● ✔ | ● ✔ | ● ✔ | Quarto ✔ |
| 12. Prioritization | ● | ● ✔ | ● ✔ | ● ✔ | |
| 13. Updating without duplicates | ● | ● ✔ | ● ✔ | ● ✔ |
The ArcGIS Pro and ArcMap versions follow the documentation and the original scripts, but were not run here, because they need a license. The QGIS (4.2), PostGIS (3.5) and Python (geopandas 1.x) versions were run with data from October 2026, and each article’s numbers come from them. If you find an error in an ArcGIS version, let me know.
Articles data
All articles use the same file, dados/artigos.gpkg, a GeoPackage that opens in QGIS, ArcGIS Pro and Python. A script downloads everything from the official sources in about a minute:
Download the script (baixar_dados_artigos.sh)
bash baixar_dados_artigos.sh # needs GDAL (ogr2ogr) and curl| Layer | Source | Area |
|---|---|---|
ucs |
MMA, National Register of Protected Areas (CNUC, August 2025), without private reserves (RPPNs) | Amazon and Cerrado |
ucs_entorno |
computed: 3 km band around the protected areas, minus all protected areas | Amazon and Cerrado |
deter |
INPE, DETER Amazon (WFS), since January 2024 | Amazon |
prodes_amz |
INPE, PRODES Legal Amazon (WFS), since 2019 | Amazon |
prodes_cerrado |
INPE, PRODES Cerrado (WFS), since 2019 | Cerrado |
embargos |
IBAMA, embargoed areas (WFS), without names or tax IDs | Amazon |
car |
SICAR, Rural Environmental Registry properties in Pará (WFS) | Amazon |
amazonia_legal |
INPE, Legal Amazon boundary | — |
The study areas are the Novo Progresso (Pará) region, the same as in the course, and the Chapada dos Veadeiros (Goiás) region, used only for PRODES Cerrado. For another region, change the AMZ and CER coordinates at the top of the script.
Using it in PostGIS
Load the GeoPackage into an artigos schema of the course database:
psql -d monitoramento_ambiental -c "CREATE SCHEMA IF NOT EXISTS artigos;"
ogr2ogr -f PostgreSQL PG:dbname=monitoramento_ambiental dados/artigos.gpkg \
-lco SCHEMA=artigos -lco GEOMETRY_NAME=geom -lco FID=fidPaths in the code
The ArcGIS Pro and QGIS code uses the folder C:\dados (or C:/dados), and the Python code uses a dados folder next to the script. Replace them with the path where you saved the GeoPackage.
Where they came from
| Old script (type) | Original program | Article |
|---|---|---|
| Weekly, daily and monthly DETER clipping by protected area | ArcMap and ArcGIS Pro (arcpy) |
2, 6 |
| PRODES Amazon and PRODES Cerrado in protected areas | ArcGIS Pro (script tool) | 3 |
| Fire hotspots in the last 24 h and 48 h in protected areas | ArcGIS Pro + ArcGIS Online | 4 |
| Burned area (inside and outside protected areas) | ArcGIS Pro + PostgreSQL database | 2, 5 |
| Monthly DETER dashboard (cumulative with zero-filled months) | ArcGIS Pro + pandas | 6 |
| DETER classes as columns, nulls to zero | ArcMap | 6 |
| Embargoes and infraction notices with protected area data | ArcGIS Pro (cursors) | 7 |
| MapBiomas alerts: e-mails concatenated per alert | ArcGIS Pro | 7 |
| CAR and SIGEF in protected areas | ArcGIS Pro | 8 |
| Normalized kernel density | ArcGIS Pro (Spatial Analyst) | 9 |
| Daily, weekly and monthly maps per protected area | ArcMap (arcpy.mapping) |
10 |
| Information note in PDF | ArcGIS Pro + fpdf | 11 |
| Alert prioritization in clusters | ArcGIS Pro (AggregatePolygons) |
12 |
| Layer updates (delete and append) | all | 13 |
No internal data, network paths, passwords or personal data from the original scripts were used. Where the original depended on a restricted dataset (Brasil MAIS program alerts, fire brigade records), the article uses an equivalent public dataset.
Reuse
Citation
@misc{untitled,
author = {},
publisher = {Hendesson Alves},
title = {About the Articles and the Data},
url = {https://hendesson.github.io/en/articles/about.html},
langid = {en}
}