
# 🐝 BeeLifeMaps - Sistema Profesional de Análisis Apícola

**BeeLifeMaps** es una aplicación web profesional especializada en el **análisis científico de ubicaciones óptimas para colmenas**. Integra múltiples fuentes de datos oficiales (SIGPAC, Google Dynamic World, OpenStreetMap) para proporcionar recomendaciones precisas basadas en cultivos reales, fenología floral y análisis espacial avanzado.

## 📋 **GUÍA RÁPIDA PARA USUARIOS**

### ¿Qué hace esta aplicación?
Encuentra las **mejores ubicaciones para colocar colmenas** analizando:
- 🌾 **Cultivos reales** (datos oficiales SIGPAC)
- 🌸 **Épocas de floración** (calendario fenológico)
- 💧 **Fuentes de agua** cercanas
- 🏞️ **Elementos del paisaje** protectores
- 📊 **Densidad melífera** por zonas

### ¿Cómo usar la aplicación?

#### **PASO 1: Buscar tu zona**
1. Escribe el nombre de tu pueblo/ciudad en el cuadro de búsqueda
2. Ajusta el **Radio** (recomendado: 2-5 km para análisis local)
3. Haz clic en **"Buscar"**

#### **PASO 2: Elegir tipo de análisis**

**🐝 Para análisis rápido:**
- Botón **"🐝 Exploración Rápida"**
- Te muestra las **6 mejores parcelas** individuales
- Ideal para: negociar ubicaciones específicas con agricultores

**🔬 Para análisis científico:**
- Botón **"🔬 Análisis de Zonas Apícolas"** 
- Analiza 500 puntos y encuentra las **10 mejores zonas**
- Ideal para: planificación estratégica de apiarios

#### **PASO 3: Interpretar resultados**

**Colores de los marcadores:**
- 🟢 **Verde oscuro**: Excelente (>70% idoneidad)
- 🟢 **Verde claro**: Bueno (50-70% idoneidad)  
- 🟡 **Amarillo**: Aceptable (30-50% idoneidad)

**Información en los popups:**
- **Cultivo específico**: Qué se cultiva realmente
- **Sistema**: Regadío (mejor) o Secano
- **Superficie**: Hectáreas disponibles
- **Potencial**: Porcentaje de idoneidad apícola

#### **PASO 4: Capas adicionales útiles**
- **🌾 Cultivos Específicos**: Ver qué se cultiva en cada parcela
- **💧 Fuentes de Agua**: Localizar charcas y abrevaderos
- **🌳 Refugios Naturales**: Encontrar setos y árboles protectores

### ¿Qué cultivos son mejores para las abejas?

**🟢 EXCELENTES (Muy recomendados):**
- 🍊 Cítricos (naranjo, limonero, mandarino)
- 🫒 Olivar (floración masiva en mayo)
- 🌻 Girasol (julio-agosto, miel premium)
- 🌸 Almendro (floración temprana, febrero-marzo)

**🟢 BUENOS:**
- 🍇 Viñedo (floración primaveral)
- 🌾 Cereales con leguminosas
- 🍎 Frutales (manzano, peral, cerezo)
- 🌿 Aromáticas (lavanda, romero, tomillo)

**🟡 ACEPTABLES:**
- 🌾 Cereales puros (trigo, cebada)
- 🌱 Pastizales y praderas
- 🌳 Zonas forestales mixtas

### Consejos prácticos:

**✅ Busca zonas con:**
- Variedad de cultivos (diversidad floral)
- Sistema de regadío (flores más duraderas)
- Fuentes de agua cercanas (< 1 km)
- Protección natural (setos, árboles)

**❌ Evita zonas con:**
- Solo cultivos industriales (maíz, remolacha)
- Áreas urbanas o industriales
- Zonas sin agua en varios kilómetros
- Exposición excesiva al viento

## ¿Qué es Dynamic World?

**Dynamic World** es un producto de clasificación del uso del suelo desarrollado por **Google** en colaboración con el **World Resources Institute (WRI)** y **National Geographic Society (NGS)**. Utiliza imágenes satelitales **Sentinel-2** de la **Agencia Espacial Europea (ESA)** procesadas con inteligencia artificial para generar mapas globales de uso del suelo actualizados cada 2-5 días.

### Fuentes de Datos
- **Imágenes satelitales**: Sentinel-2 (ESA Copernicus Programme)
- **Resolución espacial**: 10 metros por píxel
- **Frecuencia de actualización**: Cada 2-5 días
- **Cobertura**: Global
- **Período disponible**: Desde 2015 hasta la actualidad

### Clases de Uso del Suelo

Dynamic World clasifica cada píxel en 9 categorías principales:

| Clase | Color | Descripción | Relevancia para Biodiversidad |
|-------|-------|-------------|-------------------------------|
| **0 - Agua** | 🔵 Azul | Ríos, lagos, océanos y cuerpos de agua | Hábitats acuáticos, corredores ecológicos |
| **1 - Árboles** | 🟢 Verde oscuro | Bosques, selvas, cobertura arbórea densa | Hábitats forestales, refugio para fauna |
| **2 - Pastos** | 🟢 Verde claro | Praderas naturales, pastizales | Ecosistemas de pradera, polinizadores |
| **3 - Vegetación inundada** | 🟣 Violeta | Humedales, manglares, pantanos | Ecosistemas críticos, alta biodiversidad |
| **4 - Cultivos** | 🟠 Naranja | Agricultura general (cereales, hortalizas) | Paisajes agrícolas, polinizadores |
| **5 - Arbustos** | 🟡 Amarillo | Matorrales, vegetación arbustiva | Hábitats de transición, especies especializadas |
| **6 - Construido** | 🔴 Rojo | Ciudades, infraestructura urbana | Fragmentación de hábitats |
| **7 - Suelo desnudo** | 🟤 Marrón | Tierra expuesta, desiertos | Hábitats áridos, especies adaptadas |
| **8 - Nieve/Hielo** | 🟣 Violeta claro | Glaciares, nieve permanente | Ecosistemas alpinos y polares |

## Limitaciones Importantes

### Resolución Temática
Dynamic World proporciona **clasificaciones generales** del uso del suelo. **NO distingue entre**:
- Tipos específicos de cultivos (trigo vs. maíz vs. girasol)
- Especies de árboles (roble vs. pino vs. eucalipto)
- Variedades de pastos (naturales vs. cultivados)
- Tipos de construcción (residencial vs. industrial)

### ¿Por qué estas limitaciones?
1. **Escala global**: Diseñado para mapeo mundial consistente
2. **Resolución espectral**: Sentinel-2 tiene limitaciones para distinguir especies específicas
3. **Automatización**: Procesamiento automático con IA para cobertura global
4. **Frecuencia**: Prioriza actualizaciones rápidas sobre detalle específico

## Estructura del Proyecto
```
dw_leaflet_app/
├── server/                 # Backend Node.js
│   ├── index.js           # Servidor Express + Earth Engine
│   ├── package.json       # Dependencias del servidor
│   ├── .private-key.json  # Clave de servicio (NO incluida)
│   └── .private-key.example.json
└── web/                   # Frontend
    └── index.html         # Aplicación web completa
```

## Requisitos Previos

### 1. Software
- **Node.js 18+**
- Navegador web moderno

### 2. Google Cloud Platform
- Proyecto de Google Cloud activo
- **Google Earth Engine API** habilitada
- **Service Account** creada con permisos de Earth Engine
- Clave JSON de la Service Account descargada

### 3. Registro en Earth Engine
- Proyecto registrado en Google Earth Engine
- Service Account autorizada para usar Earth Engine

## Configuración Paso a Paso

### 1. Configurar Google Cloud
```bash
# 1. Crear proyecto en Google Cloud Console
# 2. Habilitar Earth Engine API
# 3. Crear Service Account
# 4. Descargar clave JSON
# 5. Registrar en Earth Engine
```

### 2. Configurar el Backend
```bash
cd server
cp .private-key.example.json .private-key.json
# Editar .private-key.json con tu clave real
npm install
npm start
```

### 3. Abrir el Frontend
- Servir `web/index.html` con un servidor web
- Acceder desde el navegador
- ¡Listo para usar!

## Uso de la Aplicación

### Controles Principales
- **🔍 Búsqueda**: Introduce nombre de localidad
- **📏 Radio (km)**: Área de análisis (0.5-100 km)
- **🎯 Prob ≥**: Umbral de confianza (0-1)
  - 0.3: Incluye más datos, menor precisión
  - 0.7: Solo datos muy confiables, menor cobertura

### Interpretación de Resultados
- **Colores intensos**: Alta confianza en la clasificación
- **Colores mezclados**: Píxeles de transición o baja confianza
- **Áreas sin color**: Sin datos o por debajo del umbral

## Casos de Uso

### 🐝 Estudios de Polinizadores
- Identificar áreas de cultivos y vegetación natural
- Analizar conectividad entre hábitats
- Evaluar fragmentación del paisaje

### 🌱 Conservación
- Monitorear cambios en cobertura forestal
- Identificar humedales y áreas críticas
- Planificar corredores ecológicos

### 🏞️ Planificación Territorial
- Evaluar impacto de desarrollo urbano
- Identificar áreas agrícolas vs. naturales
- Análisis de cambio de uso del suelo

## 🌾 Integración SIGPAC - Datos Oficiales de Agricultura

El sistema integra múltiples capas oficiales del **Sistema de Información Geográfica de Parcelas Agrícolas (SIGPAC)** del Ministerio de Agricultura de España, proporcionando información precisa y actualizada sobre cultivos, usos del suelo y elementos del paisaje para optimizar la ubicación de colmenas.

### 🆕 Nueva Funcionalidad: Cultivos Específicos Declarados

**BeeLifeMaps** ahora incluye acceso a la capa **"Cultivo Declarado 2024"** de SIGPAC, que contiene información específica sobre cultivos declarados por agricultores en sus solicitudes PAC (Política Agraria Común). Esta funcionalidad permite identificar cultivos específicos como:

#### Cultivos Detectables
- **Cereales**: Trigo, Cebada, Avena, Centeno, Maíz, Arroz
- **Leguminosas**: Guisantes, Habas, Lentejas, Garbanzos, Judías
- **Oleaginosas**: Girasol, Colza, Lino, Cártamo
- **Hortalizas**: Tomate, Pimiento, Lechuga, Zanahoria, Cebolla
- **Frutales**: Manzano, Peral, Melocotonero, Cerezo, Ciruelo
- **Cítricos**: Naranjo, Limonero, Mandarino, Pomelo
- **Frutos Secos**: Almendro, Avellano, Nogal, Pistacho
- **Aromáticas**: Lavanda, Romero, Tomillo, Orégano
- **Otros**: Viñedo, Olivo, Alfalfa, Tabaco, Espárrago

#### Información Disponible
- **Cultivo específico**: Nombre exacto del cultivo (ej: "Trigo")
- **Sistema de explotación**: Regadío o Secano
- **Superficie**: Hectáreas declaradas
- **Campaña**: Año de la declaración (2024)
- **Ubicación precisa**: Delimitación gráfica exacta

#### Cómo Usar
1. **Activar la capa**: Botón "🌾 Cultivos Específicos"
2. **Hacer clic en parcelas**: Ver información detallada en popup
3. **Análisis profundo**: Los cultivos específicos se integran automáticamente en el análisis de idoneidad apícola

#### 🎯 Cómo Funciona el Análisis Inteligente

Cuando el sistema de análisis detecta **cualquier cultivo específico** (ej: "TRIGO", "ALMENDRO", "GIRASOL"), automáticamente:

1. **🗺️ Mapea** el cultivo a su fenología específica
2. **📊 Calcula** el índice floral correcto para el mes actual
3. **⭐ Prioriza** estos datos sobre códigos generales SIGPAC
4. **🔍 Muestra** en consola el cultivo específico detectado

**Ejemplo de funcionamiento:**
```
🎯 CULTIVO ESPECÍFICO - GIRASOL -> Tipo: girasol -> Índice mes 8: 0.8
✅ CULTIVO ESPECÍFICO INTEGRADO: GIRASOL (S)
```

El análisis **prioriza siempre los cultivos específicos declarados** sobre los códigos generales, proporcionando evaluaciones mucho más precisas para la ubicación óptima de colmenas.

#### Ventajas para Apicultura
- **Planificación estacional**: Conocer épocas de floración específicas
- **Selección de ubicaciones**: Priorizar zonas con cultivos melíferos
- **Diversidad floral**: Identificar áreas con variedad de cultivos
- **Datos oficiales**: Información verificada y actualizada anualmente

### Capas SIGPAC Disponibles

#### 1. **Recintos SIGPAC** (Uso General)
Códigos de uso del suelo a nivel de recinto:

| Código | Descripción | Potencial Apícola | Código | Descripción | Potencial Apícola |
|--------|-------------|-------------------|--------|-------------|-------------------|
| **TA** | Tierras arables | 🟡 Medio | **VI** | Viñedo | 🟢 Alto |
| **TH** | Huerta | 🟢 Alto | **VO** | Viñedo-olivar | 🟢 Alto |
| **CF** | Cítricos-frutales | 🟢 Muy Alto | **PA** | Pasto con arbolado | 🟢 Alto |
| **CI** | Cítricos | 🟢 Muy Alto | **PR** | Pasto arbustivo | 🟢 Alto |
| **CS** | Cítricos-frutales cáscara | 🟢 Muy Alto | **PS** | Pastizal | 🟢 Alto |
| **CV** | Cítricos-viñedo | 🟢 Muy Alto | **FO** | Forestal | 🟡 Medio |
| **FF** | Frutales-frutales cáscara | 🟢 Alto | **IV** | Invernaderos | 🔴 Bajo |
| **FL** | Frutos secos y olivar | 🟢 Muy Alto | **ZU** | Zona urbana | 🔴 Muy Bajo |
| **FS** | Frutos secos | 🟢 Alto | **ED** | Edificaciones | 🔴 Muy Bajo |
| **FV** | Frutos secos y viñedo | 🟢 Alto | **CA** | Viales | 🔴 Muy Bajo |
| **FY** | Frutales | 🟢 Alto | **AG** | Agua | 🟡 Necesario |
| **OC** | Olivar-cítricos | 🟢 Muy Alto | **IM** | Improductivos | 🔴 Bajo |
| **OF** | Olivar-frutal | 🟢 Muy Alto | **EP** | Elemento paisaje | 🟡 Variable |
| **OV** | Olivar | 🟢 Muy Alto | **VF** | Viñedo-frutal | 🟢 Alto |

#### 2. **Cultivos Declarados** (Específicos)
Datos de cultivos específicos declarados por agricultores en solicitudes PAC.

#### 3. **Elementos del Paisaje** (Categorizados)
Características del terreno relevantes para biodiversidad, ahora organizadas por categorías específicas:

**💧 Fuentes de Agua**
- Charcas, lagunas, estanques
- Abrevaderos y balsas
- Puntos de agua naturales y artificiales

**🌳 Refugios Naturales**
- Setos y lindes protectoras
- Árboles aislados y grupos de árboles
- Arboledas y vegetación densa
- Muros y cercas naturales

**🏠 Elementos Tradicionales**
- Majanos y construcciones de piedra
- Palomares antiguos
- Hornos y pozos tradicionales
- Terrazas y construcciones rurales

**🌊 Franjas de Protección de Cauces** (NUEVO)
- Franjas de 5 metros junto a ríos y cauces
- Vegetación ribereña oficial (datos FEGA)
- Zonas de biodiversidad acuática
- Corredores ecológicos naturales

### Criterios de Evaluación Apícola

- **🟢 Muy Alto**: Cultivos con floración abundante y prolongada (cítricos, olivar, frutales)
- **🟢 Alto**: Cultivos con buena producción nectarífera (viñedos, pastos, frutos secos)
- **🟡 Medio**: Áreas con potencial variable según época (cereales, forestales)
- **🔴 Bajo/Muy Bajo**: Zonas inadecuadas para apicultura (urbano, industrial)

## Funcionalidades de la Aplicación

### Controles Principales
- **🔍 Búsqueda**: Localización por nombre de ciudad/pueblo
- **📏 Radio**: Área de análisis configurable (0.5-100 km)
- **🎯 Probabilidad**: Umbral de confianza Dynamic World (0-1)
- **🌾 Cultivos Específicos**: Capa de cultivos declarados SIGPAC
- **🐝 Exploración Rápida**: Análisis básico de zonas apícolas
- **💧 Fuentes de Agua**: Charcas, lagunas, abrevaderos (SIGPAC)
- **🌳 Refugios Naturales**: Setos, árboles, lindes (SIGPAC)
- **🏠 Elementos Tradicionales**: Majanos, palomares, construcciones
- **🌊 Franjas de Cauces**: Vegetación ribereña oficial (5m)
- **📋 Códigos SIGPAC**: Información sobre clasificaciones

### Análisis Disponibles

#### 🐝 **Botón "Exploración Rápida"** - Análisis Básico con Datos SIGPAC Reales
- **Fuente de datos**: SIGPAC (datos oficiales de parcelas agrícolas)
- **Método**: Consulta directa a parcelas reales del área seleccionada
- **Puntos generados**: 6 mejores parcelas con potencial apícola > 40%
- **Criterios**: Valor apícola calculado basado en cultivos reales y sistema de riego
- **Información mostrada**: 
  - Cultivo específico real (ej: "TRIGO", "ALMENDRO", "OLIVO")
  - Sistema de explotación (Regadío/Secano)
  - Superficie de la parcela en hectáreas
  - Municipio exacto de ubicación
  - Potencial apícola calculado (0-100%)
- **Ventajas**: Datos oficiales reales, rápido, específico por localidad
- **Limitaciones**: Análisis simplificado, solo mejores parcelas

#### 🔬 **Botón "Análisis de Zonas Apícolas"** - Análisis Avanzado con Datos Reales
- **Fuente de datos**: SIGPAC + Dynamic World + OpenStreetMap integrados
- **Método**: Muestreo masivo de 500 puntos con consultas GetFeatureInfo reales
- **Procesamiento**: 4 pasos de análisis detallado
  1. **Obtención de parcelas SIGPAC**: Consultas WMS independientes del zoom
  2. **Cálculo de valor apícola**: Algoritmo basado en cultivos reales, riego y fenología
  3. **Zonificación inteligente**: Grid de densidad melífera con agregación espacial
  4. **Generación de recomendaciones**: Top 10 zonas ordenadas por score ponderado
- **Información mostrada**:
  - Cultivos específicos reales (ej: "TRIGO", "ALMENDRO", "GIRASOL")
  - Sistema de explotación (Regadío/Secano)
  - Superficie total por zona
  - Score de idoneidad calculado (0-100%)
  - Número de parcelas melíferas por zona
- **Ventajas**: Datos oficiales verificados, análisis científico, recomendaciones precisas
- **Limitaciones**: Procesamiento más lento, requiere conectividad estable

## ❓ ¿Por Qué Muestran Recomendaciones Diferentes?

### Análisis Técnico de las Diferencias

Tras investigar a fondo el código de ambos botones, las diferencias en las recomendaciones **NO son un error del programa**, sino que responden a **metodologías de análisis completamente diferentes**:

#### 🐝 **Exploración Rápida** - Enfoque Directo
```javascript
// Método: Consulta directa a parcelas SIGPAC
const parcelas = await getAllParcelasInArea(center, radius);
const parcelasMeliferas = parcelas.filter(p => p.valorApicola > 0.4);
const mejoresParcelas = parcelasMeliferas.sort((a, b) => b.valorApicola - a.valorApicola).slice(0, 6);
```

**Características:**
- **Obtiene parcelas reales** del área mediante consultas WFS a SIGPAC
- **Filtra por valor apícola** > 40% calculado por cultivo específico
- **Muestra las 6 mejores parcelas** individuales ordenadas por score
- **Ubicaciones exactas** de parcelas SIGPAC existentes
- **Análisis individual** parcela por parcela

#### 🔬 **Análisis de Zonas Apícolas** - Enfoque Científico
```javascript
// Método: Muestreo masivo + zonificación
const points = generateSamplePoints(center, radiusKm, 500);
const analysisResults = await Promise.all(points.map(point => calculateRealScore(point)));
const zonasRecomendadas = await calcularZonasRecomendadas(parcelas, center, radiusKm);
```

**Características:**
- **Genera 500 puntos de muestreo** distribuidos uniformemente
- **Consulta datos en cada punto** (SIGPAC + Dynamic World + OSM)
- **Crea grid de densidad** melífera (celdas de ~100m)
- **Agrupa parcelas por zonas** geográficas
- **Calcula zonas óptimas** basadas en densidad y superficie total

### Diferencias Fundamentales

| Aspecto | 🐝 Exploración Rápida | 🔬 Análisis de Zonas |
|---------|----------------------|----------------------|
| **Enfoque** | Parcelas individuales | Zonas geográficas agregadas |
| **Puntos analizados** | Parcelas SIGPAC reales | 500 puntos de muestreo |
| **Criterio de selección** | Mejores parcelas individuales | Densidad melífera por zona |
| **Ubicaciones** | Centroides de parcelas exactas | Centroides de zonas calculadas |
| **Número de resultados** | 6 parcelas fijas | 10 zonas variables |
| **Algoritmo** | Filtro + ordenación simple | Grid + agregación espacial |
| **Datos considerados** | Solo SIGPAC | SIGPAC + Dynamic World + OSM |

### ¿Es Esto Correcto?

**SÍ, es completamente correcto** que muestren recomendaciones diferentes porque:

1. **Objetivos distintos**:
   - **Exploración Rápida**: "¿Cuáles son las mejores parcelas individuales?"
   - **Análisis de Zonas**: "¿Dónde hay mayor densidad de cultivos melíferos?"

2. **Metodologías científicas diferentes**:
   - **Exploración**: Análisis directo de datos oficiales
   - **Análisis**: Muestreo estadístico + agregación espacial

3. **Escalas de análisis diferentes**:
   - **Exploración**: Nivel de parcela (precisión catastral)
   - **Análisis**: Nivel de zona (densidad regional)

### Cuándo Usar Cada Uno

#### Usa **🐝 Exploración Rápida** cuando:
- Quieras identificar **parcelas específicas** para negociar ubicaciones
- Necesites **datos catastrales exactos** (superficie, municipio, cultivo)
- Busques **análisis rápido** para reconocimiento inicial
- Te interesen **ubicaciones puntuales** precisas

#### Usa **🔬 Análisis de Zonas** cuando:
- Quieras **planificación estratégica** de ubicación de apiarios
- Necesites **análisis científico** con múltiples fuentes de datos
- Busques **zonas de alta densidad** melífera para máximo rendimiento
- Te interese **análisis integral** del paisaje apícola

### Conclusión


🐝 Exploración Rápida y 🔬 Análisis de Zonas Apícolas utilizan metodologías completamente diferentes:

Exploración Rápida: Analiza parcelas SIGPAC individuales y muestra las 6 mejores

Análisis de Zonas: Hace muestreo masivo de 500 puntos y calcula densidad melífera por zonas

📋 Diferencias Clave

Aspecto	          🐝 Exploración Rápida	            🔬 Análisis de Zonas
Enfoque	          Parcelas individuales	          Zonas geográficas agregadas
Puntos analizados	  Parcelas SIGPAC reales	          500 puntos de muestreo
Criterio	          Mejores parcelas individuales	          Densidad melífera por zona
Ubicaciones	          Centroides de parcelas exactas	          Centroides de zonas calculadas
Algoritmo	          Filtro + ordenación simple	          Grid + agregación espacial




Las diferencias son **intencionadas y beneficiosas** - cada herramienta sirve un propósito específico en la planificación apícola profesional. No es un error, sino **dos enfoques complementarios** para diferentes necesidades de análisis.

### Fuentes de Datos Integradas
- **Google Dynamic World**: Clasificación de uso del suelo (10m resolución)
- **SIGPAC**: Recintos, cultivos declarados, elementos del paisaje categorizados
- **FEGA**: Franjas de protección de cauces (vegetación ribereña oficial)
- **OpenStreetMap**: Infraestructuras, agua, carreteras
- **Sentinel-2**: Imágenes satelitales de alta resolución

### 🆕 Nuevas Funcionalidades Implementadas

#### Análisis Inteligente de Zonas Recomendadas para Colmenas
- **Muestreo masivo**: 500 puntos distribuidos uniformemente en el área de análisis
- **Datos reales SIGPAC**: Consultas GetFeatureInfo independientes del zoom del mapa
- **Cálculo de valor apícola**: Algoritmo que evalúa cultivos, sistema de riego e índice floral
- **Zonificación inteligente**: Grid de densidad que identifica las mejores áreas
- **Visualización dual**: Iconos de parcelas individuales + zonas recomendadas destacadas
- **Toggle de visualización**: Botón para mostrar solo zonas óptimas o todas las parcelas

#### Algoritmo de Evaluación Apícola
El sistema calcula automáticamente el **valor apícola** de cada parcela basándose en:

1. **Tipo de cultivo**: Valores base según potencial melífero
   - Viñedos (VI): 40% base - Excelente floración primaveral
   - Tierras arables (TA): 30% base - Variable según cultivo específico
   - Frutales (FY): 18% base - Floración concentrada pero intensa
   - Pastizales (PS): 15% base - Floración prolongada
   - Olivar (OV): 35% base - Floración abundante en mayo

2. **Sistema de riego**: Multiplicador de calidad
   - Regadío: +20% (mayor vigor y duración de floración)
   - Secano: Base (floración natural)

3. **Índice floral estacional**: Factor temporal
   - Basado en fenología específica de cada cultivo
   - Calculado para el mes actual de análisis
   - Valores 0.0-1.0 según época de floración

#### Zonificación por Densidad Melífera
- **Grid de análisis**: División del área en celdas de 0.001° (~100m)
- **Agregación por zona**: Suma de valores apícolas y superficies
- **Filtro de calidad**: Solo parcelas con valor apícola > 30%
- **Ranking automático**: Top 10 zonas ordenadas por score ponderado
- **Visualización escalonada**: Colores verde/amarillo/rojo según ranking

#### Análisis Detallado de Elementos del Paisaje
- **Categorización automática** por tipo de elemento
- **Botones específicos** para cada categoría
- **Filtros CQL** para mostrar solo elementos relevantes
- **Superposición de capas** optimizada por Z-index

#### Franjas de Protección de Cauces
- **Datos oficiales FEGA** de vegetación ribereña
- **Franjas de 5 metros** junto a cauces según normativa
- **Identificación automática** de corredores ecológicos
- **Integración completa** con análisis apícola

## Tecnologías Utilizadas

- **Backend**: Node.js, Express, Google Earth Engine API
- **Frontend**: HTML5, CSS3, JavaScript, Leaflet.js
- **Datos**: Google Dynamic World, SIGPAC (MAPA), Sentinel-2, OpenStreetMap
- **Geocodificación**: Nominatim (OpenStreetMap)
- **Mapas de calor**: Leaflet.heat plugin

## Licencias y Atribuciones

- **Dynamic World**: © Google/WRI/NGS (CC BY 4.0)
- **Sentinel-2**: © ESA Copernicus Programme
- **OpenStreetMap**: © OpenStreetMap contributors
- **Código**: MIT License

## Limitaciones Técnicas

- Dependiente de conectividad a internet
- Requiere autenticación con Google Cloud
- Datos limitados a disponibilidad de Sentinel-2
- Resolución temporal variable según nubosidad

---

**Desarrollado para análisis de biodiversidad y conservación** 🌍🐝
