Atlas Botánico del Perú
En vivo usableConvertí datos crudos de GBIF en un árbol con las 21 585 especies de plantas aceptadas del Perú, que se abre en el navegador.
21 585 especies de plantas y 1 802 de hongos registradas en Perú, cruzadas contra los nombres aceptados de Kew y repartidas por departamento. Un árbol taxonómico navegable muestra dónde se concentra la diversidad.
Tecnología
- Visualización
- ETL & bases de datos
- Scraping
Sector
- Ciencia & bioinformática
Problema
La diversidad de plantas y hongos del Perú está repartida entre GBIF, WCVP y APG IV sin una vista única con sinónimos resueltos. Los conteos crudos de ocurrencias sobreestiman la diversidad porque nunca colapsan nombres distintos de la misma especie aceptada antes de contar.
Enfoque
ETL reproducible sobre GBIF, WCVP y APG IV → marts estáticos → sitio sin backend. Resuelve sinónimos antes de contar: por eso las cifras son más bajas —y más defendibles— que las de fuentes que cuentan nombres crudos.
El pipeline corre diez etapas reproducibles sobre cerca de 1,3 millones de registros crudos de ocurrencias GBIF (1,29 millones solo para Plantae): descarga, cruce taxonómico contra el backbone de nombres aceptados de WCVP para plantas y el de Index Fungorum para hongos, modelado, agregación, análisis, export y un perfil de calidad de datos. Cada descarga lleva DOI, así que cualquier cifra del sitio se puede rastrear hasta una instantánea exacta y citable, no hasta una consulta viva que podría cambiar en silencio.
Cruzar contra un backbone de nombres aceptados es el trabajo real: los registros crudos de GBIF incluyen sinónimos, errores de tipeo y nombres desactualizados, y ninguno de esos debería contarse como especie distinta. Tras el cruce, el 99,9% de las ocurrencias de plantas y el 98,75% de las de hongos resuelven a un nombre aceptado -el remanente sin resolver se reporta en vez de descartarse o sumarse en silencio al total.
Los ocho marts resultantes (riqueza por departamento, composición por familia, espectro de
formas de vida, descritas por año, y más) son archivos planos JSON y Parquet leídos en build time
con un readFileSync directo, así que el sitio publicado no hace ningún fetch en runtime y no
necesita backend ni servidor de base de datos para servir un árbol taxonómico navegable y una
coropleta por departamento.
Resultado
- especies de plantas aceptadas
- 21.585
- especies de hongos aceptadas
- 1802
- ocurrencias GBIF de plantas procesadas
- 1.287.722registros
data/exports/mart_kpis.json
data/exports/mart_kpis.json
data/exports/mart_kpis.json
Estándares
| Calidad de software (ISO/IEC 25010) | No se corrió un checklist formal de ISO/IEC 25010. Las etapas del pipeline están ordenadas para que los exports sean estables byte a byte entre corridas (README), que es la propiedad de mantenibilidad que importaba acá. |
|---|---|
| Rendimiento web (Core Web Vitals) | no medido |
| Accesibilidad (WCAG 2.2) | no medido |
| Software de investigación (FAIR4RS) | Encontrable: cada descarga de GBIF lleva DOI (Plantae 10.15468/dl.x4m2bc, Fungi 10.15468/dl.uh7bd4). Accesible: exports publicados en JSON/Parquet. Reusable: código con licencia MIT, .env.example documentado para credenciales. |
| Higiene de seguridad | La credencial de GBIF vive solo en un .env local; .env.example se vació y .gitignore cubre .env antes del primer commit del repo. |
| Reproducibilidad | Entorno manejado con uv; el pipeline de diez etapas (download → match → match_fungi → model → aggregate → analyze → export → profile) corre de punta a punta con `atlas data --full`, con un modo muestra para una corrida rápida sin credenciales. |
| Metodología de benchmark | sin benchmark declarado |
| Documentación de datos / modelo | n/a — no es un modelo entrenado |
| Versionado y registro de cambios | Licencia MIT; sin CHANGELOG (previo al primer commit en este pase). |
Qué haría después
- Versionar el repo (0 commits en este pase), vaciando antes la credencial de GBIF en .env.example.
- Aplicar el mismo pipeline de diez etapas a Mar/ (especies marinas), su par natural en el workspace local.
- Sumar un desglose por familia al árbol taxonómico más allá de la agregación por departamento.