CERESAT — Tecnología y capacidades
Ficha técnica para perfiles curiosos: qué tecnología usa CERESAT y qué le permite hacer. No entra en detalles de implementación. Para saber qué es la plataforma, consulta la Introducción; para usarla, la Guía de uso.
Los acrónimos se explican al pie la primera vez que aparecen.
1. La pila en una tabla#
| Capa | Tecnología | Para qué |
|---|---|---|
| Interfaz | JavaScript, Leaflet1, Chart.js2 | Mapas interactivos y gráficos |
| API3 | FastAPI (Python) | Servir los datos y la lógica |
| Datos | PostgreSQL4 + PostGIS5 | Almacenar y consultar datos espaciales |
| Procesamiento | rasterio/GDAL6, NumPy | Analizar imágenes de satélite |
| Informes | WeasyPrint7, matplotlib | Generar PDF8 y gráficos |
| Tareas pesadas | Celery + Redis | Procesar en segundo plano sin bloquear la app |
| Nube | Supabase (UE) + Render | Base de datos, autenticación, almacenamiento y alojamiento |
Todo el procesamiento y los datos se ejecutan en infraestructura alojada en la Unión Europea.
2. Observación de la Tierra#
CERESAT trabaja con imágenes del satélite Sentinel-29 (programa Copernicus), con resolución de hasta 10 metros por píxel y revisita de pocos días.
Capacidades: - Cálculo de índices espectrales por parcela: NDVI10 (vigor), EVI11, NDMI12 (humedad de la vegetación), NDWI13 (agua), NDRE14 (clorofila/nitrógeno). - Estadística espacial de cada índice: media, extremos, variabilidad interna y percentiles, para conocer la heterogeneidad dentro de la parcela. - Detección de anomalías con puntuación z (z-score): localiza automáticamente las zonas que se desvían del comportamiento normal de la parcela o de fechas anteriores. - Salidas en formato COG15 (imagen raster optimizada para la nube), listas para descargar o superponer en el mapa.
Las imágenes se leen de forma eficiente (solo la porción que cubre cada parcela), lo que permite procesar muchas parcelas sin descargar escenas completas.
3. Meteorología y agronomía#
CERESAT integra datos meteorológicos oficiales de la AEMET y modelos agronómicos de referencia.
Capacidades: - Series horarias y diarias de temperatura, precipitación y humedad de las estaciones oficiales, con seguimiento automático. - Evapotranspiración de referencia (ET0)16 por el método de Hargreaves-Samani, siguiendo la guía FAO-5617 de la FAO. - Coeficientes de cultivo y grados-día (GDD)18 para relacionar el clima con el desarrollo del cultivo. - Balance hídrico de la parcela (estrés hídrico, ET real y humedad de suelo).
4. Datos espaciales#
Toda la información geográfica se almacena y consulta con PostGIS, la extensión espacial de PostgreSQL.
Capacidades: - Geometrías reales de las parcelas (no aproximaciones), con integración con el Catastro para obtener la parcela oficial por un clic o su referencia. - Consultas espaciales (proximidad, superficie, contención) directamente en la base de datos. - Importación de parcelas desde GeoJSON19, shapefile o KML20.
5. Informes#
Cada informe combina varios artefactos generados automáticamente: - Un PDF de marca con mapas de índices, gráficos de evolución y datos meteorológicos. - Un mapa interactivo autocontenido (un solo fichero HTML) que funciona sin conexión y puede enviarse por correo.
Los informes se generan en segundo plano, de modo que puedes seguir usando la aplicación mientras se preparan.
6. Seguridad y privacidad#
- Autenticación gestionada por un proveedor de identidad especializado (Supabase Auth), con tokens firmados.
- Aislamiento por cuenta (multi-inquilino): los datos de cada cliente están separados a nivel de base de datos mediante seguridad a nivel de fila (RLS)21 — una cuenta nunca puede acceder a los datos de otra.
- Datos en la Unión Europea (Frankfurt), conforme al RGPD22.
- Los ficheros (imágenes, informes) se sirven mediante enlaces firmados de corta duración, no de forma pública.
7. Rendimiento y escalabilidad#
- El procesamiento pesado (imágenes, informes) se ejecuta en trabajadores en segundo plano (Celery), de modo que la interfaz siempre responde con rapidez.
- Una caché (Redis) acelera las consultas repetidas a servicios externos.
- La arquitectura es cloud-native23: sin estado local, preparada para escalar en la nube.
8. API para integraciones#
Los clientes B2B24 pueden integrar CERESAT en sus propios sistemas mediante una API REST25. Permite gestionar parcelas, consultar índices y datos meteorológicos, solicitar informes y administrar la suscripción de forma programática. La referencia técnica completa se facilita al contratar una integración o servicios personalizados.
Glosario#
-
Leaflet — librería de mapas interactivos en el navegador. ↩
-
Chart.js — librería para dibujar gráficos. ↩
-
API — interfaz para que otros programas se comuniquen con CERESAT. ↩
-
PostgreSQL — sistema de base de datos relacional. ↩
-
PostGIS — extensión espacial de PostgreSQL (geometrías y consultas geográficas). ↩
-
GDAL — librería estándar de lectura/análisis de datos geográficos raster. ↩
-
WeasyPrint — herramienta que convierte HTML en PDF. ↩
-
PDF — formato de documento portable. ↩
-
Sentinel-2 — satélite óptico del programa Copernicus (resolución de hasta 10 m). ↩
-
NDVI — índice de vigor vegetal. ↩
-
EVI — variante del NDVI menos sensible al suelo. ↩
-
NDMI — índice de humedad de la vegetación. ↩
-
NDWI — índice de presencia de agua. ↩
-
NDRE — índice sensible a la clorofila y el nitrógeno. ↩
-
COG — Cloud Optimized GeoTIFF; imagen raster optimizada para la nube. ↩
-
ET0 — evapotranspiración de referencia; demanda de agua de la atmósfera. ↩
-
FAO-56 — guía de la FAO para el cálculo de la evapotranspiración de los cultivos. ↩
-
GDD — Growing Degree Days (grados-día); acumulación térmica que marca el desarrollo del cultivo. ↩
-
GeoJSON — formato de intercambio de datos geográficos. ↩
-
KML — formato geográfico usado por Google Earth. ↩
-
RLS — Row Level Security; seguridad a nivel de fila que aísla los datos por cuenta. ↩
-
RGPD — Reglamento General de Protección de Datos (UE). ↩
-
Cloud-native — diseñado para ejecutarse en servicios gestionados en la nube, sin estado local. ↩
-
B2B — Business to Business (venta entre empresas). ↩
-
REST — estilo estándar de API sobre HTTP. ↩