Lo que costaba atender varios agricultores a la vez
- · El agrónomo abre QGIS, baja las imágenes a mano y calcula NDVI en planilla. El análisis de una escena satelital tardaba días. Si el lote tenía varias escenas, peor. Y el resultado era un raster crudo o un Excel, no una recomendación accionable.
- · Sin histórico por lote, sin alertas, sin multi-tenant. Cada análisis era de una sola pasada. No se comparaban escenas en el tiempo, no se cruzaban NDVI con NDWI, no se detectaban tendencias. Y si Quantum-PH quería atender a más de un agricultor, replicaba el proceso manual uno por uno.
- · Los pixeles por sí solos no le hablan al agricultor. Un raster de NDVI sin clasificar es ruido para quien toma la decisión. Sin una capa que diga "este parche tiene estrés hídrico confirmado y la ventana para intervenir es esta semana", el valor del análisis se queda en manos del agrónomo.
Lo que cambió con la plataforma
- · Pipeline de rasters unificado, satélite y drone en el mismo sistema. El backend FastAPI ingiere Sentinel-2 multibanda, GeoTIFF de drone RGB o multiespectral, normaliza CRS, reproyecta a la grilla del lote, y deja los datos listos para calcular índices. El agrónomo no baja nada a mano.
- · NDVI y NDWI por pixel, con clasificación por humedad. El sistema calcula ambos índices sobre cada parche del lote, los cruza para clasificar el nivel de compromiso (NDVI bajo + NDWI bajo = estrés hídrico confirmado), y devuelve un mapa clasificado por zona, no un array crudo.
- · Recomendaciones operativas con ventana de intervención. Cada alerta lleva tipo de intervención (riego, fertilización, resiembra), ventana óptima según el cultivo y la zona, y referencia al parche específico del raster. El agricultor sabe qué hacer, dónde, y cuándo.
De Sentinel-2 y vuelos de drone a alertas accionables por zona
Lo difícil no fue calcular NDVI o NDWI — eso es una resta sobre dos bandas. Lo difícil fue construir el pipeline que ingiere rasters en formatos y resoluciones distintas, los normaliza, los reproyecta, calcula los índices sobre gigabytes de raster por tenant, y devuelve algo que el agricultor puede actuar, no un GeoTIFF que tiene que abrir en QGIS. Las tres decisiones críticas fueron:
- 1 Ingesta de rasters satelitales + drone en un pipeline único. Las imágenes llegan en formatos y resoluciones distintas (Sentinel-2 multibanda, GeoTIFF de drone RGB/multiespectral). El backend las normaliza, las reproyecta a un CRS común, y las deja listas para calcular índices sin re-procesar.
- 2 NDVI y NDWI por pixel sobre cada parche del lote. El cálculo es barato; lo caro es hacerlo bien sobre gigabytes de raster, por tenant, sin colapsar el backend. Rasterio + NumPy vectorizado, cache por fecha y lote, y respuestas que devuelven un mapa clasificado, no un array crudo.
- 3 Recomendaciones operativas, no solo mapas. El sistema no se queda en "esta zona está árida". Clasifica el nivel de compromiso (NDVI bajo + NDWI bajo = estrés hídrico confirmado), lo cruza con el histórico del lote, y emite una alerta accionable: tipo de intervención, ventana óptima, y referencia al parche específico del raster.
┌──────────────────┐
│ Sentinel-2 + │ ◄── Raster multibanda, GeoTIFF drone
│ Drone GeoTIFF │ por lote / por tenant
└────────┬─────────┘
│ Ingesta, normalización, reproyección CRS
▼
┌──────────────────┐
│ FastAPI + │ ◄── Cálculo NDVI / NDWI por pixel
│ Rasterio+NumPy │ clasificación por humedad
│ + PostgreSQL │ caché por fecha y lote
└────────┬─────────┘
│ Resultado clasificado por zona
▼
┌──────────────────┐
│ Alertas │ ◄── Recomendaciones operativas
│ operativas + │ tipo de intervención,
│ dashboard React │ ventana óptima, parche
└──────────────────┘ Lo que nos llevamos como aprendizaje
- 01
Los índices espectrales son baratos, el pipeline no
NDVI es una resta sobre dos bandas. Lo que cuesta es moverlas, normalizarlas, reproyectarlas y servirlas a N tenants sin pisarse. El valor no está en el algoritmo, está en la tubería que lo rodea.
- 02
Un mapa clasificado es mejor que un raster crudo
El agricultor no abre QGIS. Quiere ver "tu lote 3 tiene 12% de pixeles con estrés hídrico" y la alerta. Devolver un NDVI.tif y dejarlo al cliente es perder el valor del SaaS.
- 03
Multi-tenant no es solo aislar datos, es aislar cómputo
Si un tenant sube 200 imágenes Sentinel, no puede dejar a los demás esperando. El backend necesita colas por tenant, prioridades, y límites. Esto se diseña desde el día uno o se reescribe a los 6 meses.
"Antes dependíamos de que el agrónomo abriera QGIS, bajara las imágenes a mano y calculara NDVI en Excel. Hoy la plataforma ingiere las escenas satelitales y los vuelos de drone solos, y nos entrega por lote las zonas con estrés hídrico y la ventana recomendada para intervenir. Pasamos de un análisis que tardaba una semana a alertas que llegan el mismo día."
Testimonio parafraseado.
¿Tenés un caso de agricultura de precisión que sigue dependiendo de QGIS y planilla?
Hablemos de cómo cerrar el ciclo de la imagen a la alerta con NDVI, NDWI, y recomendaciones operativas por lote.