# Crop Analysis Messaging Decision Flowchart
This flowchart visualizes the enhanced decision logic for automated crop analysis messaging based on field uniform| **Good** | ≤ 0.15 | ≥ 45% | Hi### 3. **Enhanced Messaging Logic**
**Excellent Uniformity (CV ≤ 0.08, Acceptable ≥ 45%):**
- ✅ "Excellent field condition - optimal uniformity"
- 📊 "Continue current management practices"
**Good Uniformity with High Clustering (CV ≤ 0.15, Moran's I > 0.95):**
- 🔶 "Growth zones detected - potential for optimization"
- 📍 "Monitor clustered areas for development opportunities"
**Moderate Variation Issues:**
- 🔍 "Field shows moderate variation - investigate causes"
- 📈 "Consider zone-specific management approaches"
**Poor Uniformity (CV > 0.25 or Acceptable < 40%):**
- 🚨 "Urgent attention needed - poor field uniformity"
- ⚠️ "Immediate management intervention required"ring (>0.95) | Any | Po**🔶 CLUSTERING NOTE**For Moderate Variation:**
- 🔍 Investigate specific zones or field-wide issues
- 📈 Consider zone-specific management
- 🌾 Review irrigation, fertilization, or pest management
1. ✅ Good/excellent uniformity with very high clustering (Moran's I > 0.95)
2. ✅ Moderate variation with increasing CI and clusteringtial growth zones | 🔶 Clustering Note |ty, spatial patterns, CI change trends, and acceptable area thresholds.
## Decision Flow
```mermaid
flowchart TD
Start([Weekly CI Analysis Starts]) --> Extract[Extract CI values from satellite mosaics]
Extract --> CalcStats[Calculate field statistics:
- Mean CI
- Coefficient of Variation CV
- Acceptable area % (±25% of mean)
- Spatial autocorrelation (Moran's I)]
CalcStats --> CompareWeeks[Compare current week vs previous week]
CompareWeeks --> CalcChange[Calculate CI Change:
Current - Previous]
CalcChange --> CategorizeChange{Categorize CI Change}
CategorizeChange -->|Change ≥ +0.5| Increase[CI Increase]
CategorizeChange -->|-0.5 < Change < +0.5| Stable[CI Stable]
CategorizeChange -->|Change ≤ -0.5| Decrease[CI Decrease]
Increase --> CheckUniformity1{Enhanced Uniformity Check:
CV & Acceptable Area}
Stable --> CheckUniformity2{Enhanced Uniformity Check:
CV & Acceptable Area}
Decrease --> CheckUniformity3{Enhanced Uniformity Check:
CV & Acceptable Area}
%% Enhanced uniformity categorization
CheckUniformity1 -->|CV > 0.25 OR
Acceptable < 40%| PoorUniformity1[🚨 POOR UNIFORMITY
Urgent attention needed]
CheckUniformity1 -->|CV ≤ 0.08 AND
Acceptable ≥ 45%| ExcellentUniformity1[✅ EXCELLENT UNIFORMITY
Optimal field condition]
CheckUniformity1 -->|CV ≤ 0.15| GoodUniformity1[✅ GOOD UNIFORMITY
Check for clustering]
CheckUniformity1 -->|0.15 < CV ≤ 0.25| ModerateVariation1[⚠️ MODERATE VARIATION
Needs investigation]
CheckUniformity2 -->|CV > 0.25 OR
Acceptable < 40%| PoorUniformity2[🚨 POOR UNIFORMITY
Urgent attention needed]
CheckUniformity2 -->|CV ≤ 0.08 AND
Acceptable ≥ 45%| ExcellentUniformity2[✅ EXCELLENT UNIFORMITY
Optimal field condition]
CheckUniformity2 -->|CV ≤ 0.15| GoodUniformity2[✅ GOOD UNIFORMITY
Check for clustering]
CheckUniformity2 -->|0.15 < CV ≤ 0.25| ModerateVariation2[⚠️ MODERATE VARIATION
Needs investigation]
CheckUniformity3 -->|CV > 0.25 OR
Acceptable < 40%| PoorUniformity3[🚨 POOR UNIFORMITY
Urgent attention needed]
CheckUniformity3 -->|CV ≤ 0.08 AND
Acceptable ≥ 45%| ExcellentUniformity3[✅ EXCELLENT UNIFORMITY
Optimal field condition]
CheckUniformity3 -->|CV ≤ 0.15| GoodUniformity3[✅ GOOD UNIFORMITY
Check for clustering]
CheckUniformity3 -->|0.15 < CV ≤ 0.25| ModerateVariation3[⚠️ MODERATE VARIATION
Needs investigation]
%% Spatial analysis for good uniformity fields (clustering check)
GoodUniformity1 --> SpatialCheck1{Moran's I > 0.95?
Very strong clustering}
GoodUniformity2 --> SpatialCheck2{Moran's I > 0.95?
Very strong clustering}
GoodUniformity3 --> SpatialCheck3{Moran's I > 0.95?
Very strong clustering}
%% Spatial pattern analysis for moderate variation fields
ModerateVariation1 --> SpatialAnalysis1[Spatial Analysis:
Moran's I autocorrelation]
ModerateVariation2 --> SpatialAnalysis2[Spatial Analysis:
Moran's I autocorrelation]
ModerateVariation3 --> SpatialAnalysis3[Spatial Analysis:
Moran's I autocorrelation]
SpatialAnalysis1 --> ClassifyVariation1{Spatial Pattern?}
SpatialAnalysis2 --> ClassifyVariation2{Spatial Pattern?}
SpatialAnalysis3 --> ClassifyVariation3{Spatial Pattern?}
%% Localized vs distributed variation outcomes (for moderate variation fields)
ClassifyVariation1 -->|Moran's I > 0.95
Very Clustered| LocalizedInc[Localized Growth Zones
+ CI Increase]
ClassifyVariation1 -->|Moran's I ≤ 0.95
Normal/Random| DistributedInc[Field-wide Variation
+ CI Increase]
ClassifyVariation2 -->|Moran's I > 0.95
Very Clustered| LocalizedStable[Localized Growth Zones
+ CI Stable]
ClassifyVariation2 -->|Moran's I ≤ 0.95
Normal/Random| DistributedStable[Field-wide Variation
+ CI Stable]
ClassifyVariation3 -->|Moran's I > 0.95
Very Clustered| LocalizedDec[Localized Problem Zones
+ CI Decrease]
ClassifyVariation3 -->|Moran's I ≤ 0.95
Normal/Random| DistributedDec[Field-wide Variation
+ CI Decrease]
%% Clustering analysis for good uniformity
SpatialCheck1 -->|Yes| HighClustering1[🔶 VERY HIGH CLUSTERING
Potential growth zones]
SpatialCheck1 -->|No - Normal| OptimalField1[✅ EXCELLENT FIELD
Uniform & well-distributed]
SpatialCheck2 -->|Yes| HighClustering2[🔶 VERY HIGH CLUSTERING
Potential growth zones]
SpatialCheck2 -->|No - Normal| OptimalField2[✅ EXCELLENT FIELD
Uniform & well-distributed]
SpatialCheck3 -->|Yes| HighClustering3[🔶 VERY HIGH CLUSTERING
Potential growth zones]
SpatialCheck3 -->|No - Normal| OptimalField3[✅ EXCELLENT FIELD
Uniform & well-distributed]
%% Excellent/good uniformity outcomes
ExcellentUniformity1 --> NoAlert1[❌ NO ALERT
Excellent field condition]
ExcellentUniformity2 --> NoAlert2[❌ NO ALERT
Excellent field condition]
ExcellentUniformity3 --> NoAlert3[❌ NO ALERT
Excellent field condition]
HighClustering1 --> Alert1[🔶 CLUSTERING NOTED
Growth zones detected]
HighClustering2 --> Alert2[🔶 CLUSTERING NOTED
Growth zones detected]
HighClustering3 --> Alert3[🔶 CLUSTERING NOTED
Growth zones detected]
OptimalField1 --> NoAlert1
OptimalField2 --> NoAlert2
OptimalField3 --> NoAlert3
%% Poor uniformity outcomes
PoorUniformity1 --> Alert4[🚨 URGENT ATTENTION
Poor field uniformity]
PoorUniformity2 --> Alert5[🚨 URGENT ATTENTION
Poor field uniformity]
PoorUniformity3 --> Alert6[🚨 URGENT ATTENTION
Poor field uniformity]
%% Enhanced message outcomes for moderate variation
LocalizedInc --> Alert7[🔶 INVESTIGATION
Growth zones + CI increase]
DistributedInc --> Alert8[🔶 INVESTIGATION
Field-wide variation + CI increase]
LocalizedStable --> Alert9[🚨 SEND ALERT
Problem zones detected - investigate]
DistributedStable --> Alert10[🚨 SEND ALERT
Field-wide unevenness - check practices]
LocalizedDec --> Alert11[🚨 HIGH PRIORITY
Declining zones - immediate action needed]
DistributedDec --> Alert12[🚨 HIGH PRIORITY
Field declining overall - review management]
%% Final outcomes
Alert1 --> SendMessage1[📧 Send Clustering Note]
Alert2 --> SendMessage2[📧 Send Clustering Note]
Alert3 --> SendMessage3[📧 Send Clustering Note]
Alert4 --> SendMessage4[📧 Send Urgent Field Alert]
Alert5 --> SendMessage5[📧 Send Urgent Field Alert]
Alert6 --> SendMessage6[📧 Send Urgent Field Alert]
Alert7 --> SendMessage7[📧 Send Investigation Alert]
Alert8 --> SendMessage8[📧 Send Investigation Alert]
Alert9 --> SendMessage9[📧 Send Problem Zone Alert]
Alert10 --> SendMessage10[📧 Send Field Management Alert]
Alert11 --> SendMessage11[📧 Send Urgent Zone Alert]
Alert12 --> SendMessage12[📧 Send Urgent Management Alert]
NoAlert1 --> NoAction[📊 Log for monitoring only]
NoAlert2 --> NoAction
NoAlert3 --> NoAction
SendMessage1 --> End([End: Message Generated])
SendMessage2 --> End
SendMessage3 --> End
SendMessage4 --> End
SendMessage5 --> End
SendMessage6 --> End
SendMessage7 --> End
SendMessage8 --> End
SendMessage9 --> End
SendMessage10 --> End
SendMessage11 --> End
SendMessage12 --> End
NoAction --> End2([End: No Action Required])
%% Styling
classDef alertBox fill:#ffcccc,stroke:#ff0000,stroke-width:2px
classDef urgentBox fill:#ff9999,stroke:#cc0000,stroke-width:3px
classDef clusterBox fill:#ffeaa7,stroke:#fdcb6e,stroke-width:2px
classDef noAlertBox fill:#ccffcc,stroke:#00ff00,stroke-width:2px
classDef decisionBox fill:#fff2cc,stroke:#d6b656,stroke-width:2px
classDef processBox fill:#dae8fc,stroke:#6c8ebf,stroke-width:2px
classDef spatialBox fill:#e1d5e7,stroke:#9673a6,stroke-width:2px
classDef excellentBox fill:#a8e6cf,stroke:#558b2f,stroke-width:2px
classDef poorBox fill:#ffcdd2,stroke:#d32f2f,stroke-width:3px
class Alert9,Alert10,SendMessage9,SendMessage10 alertBox
class Alert4,Alert5,Alert6,Alert11,Alert12,SendMessage4,SendMessage5,SendMessage6,SendMessage11,SendMessage12 urgentBox
class Alert1,Alert2,Alert3,Alert7,Alert8,SendMessage1,SendMessage2,SendMessage3,SendMessage7,SendMessage8 clusterBox
class NoAlert1,NoAlert2,NoAlert3,NoAction noAlertBox
class CategorizeChange,CheckUniformity1,CheckUniformity2,CheckUniformity3,ClassifyVariation1,ClassifyVariation2,ClassifyVariation3,SpatialCheck1,SpatialCheck2,SpatialCheck3 decisionBox
class Extract,CalcStats,CompareWeeks,CalcChange processBox
class SpatialAnalysis1,SpatialAnalysis2,SpatialAnalysis3 spatialBox
class ExcellentUniformity1,ExcellentUniformity2,ExcellentUniformity3,OptimalField1,OptimalField2,OptimalField3 excellentBox
class PoorUniformity1,PoorUniformity2,PoorUniformity3 poorBox
```
## Enhanced Decision Matrix with Spatial Analysis
| Uniformity Category | CV Range | Acceptable Area % | Spatial Pattern | CI Change | Message | Alert Level |
|---------------------|----------|-------------------|-----------------|-----------|---------|-------------|
| **Excellent** | ≤ 0.08 | ≥ 45% | Normal (≤0.95) | Any | Excellent field condition | ❌ None |
| **Excellent** | ≤ 0.08 | ≥ 45% | High clustering (>0.95) | Any | Growth zones detected | 🔶 Clustering Note |
| **Good** | ≤ 0.15 | ≥ 45% | Normal (≤0.95) | Any | Good uniformity, well-distributed | ❌ None |
| **Good** | ≤ 0.15 | ≥ 45% | High clustering (>0.95) | Any | Potential growth zones | � Clustering Note |
| **Moderate** | 0.15-0.25 | 40-45% | Normal (≤0.95) | Increase | Field-wide variation + CI increase | 🔶 Investigation |
| **Moderate** | 0.15-0.25 | 40-45% | Normal (≤0.95) | Stable | Field-wide unevenness - check practices | 🚨 Alert |
| **Moderate** | 0.15-0.25 | 40-45% | Normal (≤0.95) | Decrease | Field declining overall - review management | 🚨🚨 Urgent |
| **Moderate** | 0.15-0.25 | 40-45% | High clustering (>0.95) | Increase | Growth zones + CI increase | 🔶 Investigation |
| **Moderate** | 0.15-0.25 | 40-45% | High clustering (>0.95) | Stable | Problem zones detected - investigate | 🚨 Alert |
| **Moderate** | 0.15-0.25 | 40-45% | High clustering (>0.95) | Decrease | Declining zones - immediate action needed | 🚨🚨 Urgent |
| **Poor** | > 0.25 | < 40% | Any | Any | Poor field uniformity - urgent attention | 🚨🚨 Urgent |
## Spatial Analysis Methods
### 1. **Moran's I Spatial Autocorrelation**
- **Purpose**: Determines if similar CI values cluster together spatially
- **Agricultural Context**: High values (>0.95) indicate very strong clustering, which is noteworthy in agricultural fields where some clustering is natural
- **Threshold**: > 0.95 for "very high clustering" (potential growth zones or problem areas)
- **Calculation**: Compares each pixel's value to its spatial neighbors using queen contiguity
### 2. **Simple Extreme Detection (Mean ± 1.5 × SD)**
- **Purpose**: Identifies pixels with values significantly above or below the field average
- **Method**: Values outside mean ± 1.5 standard deviations are considered extremes
- **Agricultural Relevance**: More interpretable than complex hotspot statistics
- **Output**: Percentage of field area classified as extremes
### 3. **Enhanced Messaging Logic**
**Localized Issues (High Moran's I):**
- 📍 "Problem detected in [X]% of field area"
- 🎯 "Focus investigation on hotspot zones"
- 📊 "Rest of field performing normally"
**Field-wide Issues (Low Moran's I):**
- 🌾 "Variation affects entire field uniformly"
- � "Review overall management practices"
- ⚠️ "Systematic issue likely present"
## Key Thresholds
- **CI Change Thresholds:**
- Increase: ≥ +0.5
- Stable: -0.5 to +0.5
- Decrease: ≤ -0.5
- **Field Uniformity Thresholds:**
- Excellent: CV ≤ 0.08 AND Acceptable ≥ 45%
- Good: CV ≤ 0.15 AND Acceptable ≥ 45%
- Moderate: 0.15 < CV ≤ 0.25 OR 40% ≤ Acceptable < 45%
- Poor: CV > 0.25 OR Acceptable < 40%
- **Spatial Clustering Threshold:**
- Very High Clustering: Moran's I > 0.95
- Normal/Random: Moran's I ≤ 0.95
- **Extreme Values Threshold:**
- Extremes: Values outside mean ± 1.5 × standard deviation
- Acceptable area: Percentage of field within normal range
## Enhanced Alert Logic
**🚨🚨 URGENT ALERTS (High Priority):**
1. ✅ Poor field uniformity (CV > 0.25 or Acceptable < 40%)
2. ✅ Moderate variation with declining CI (zone-specific or field-wide)
**� CLUSTERING NOTES:**
1. ✅ Good/excellent uniformity with very high clustering (Moran's I > 0.95)
2. ✅ Moderate variation with increasing CI and clustering
**🚨 STANDARD ALERTS:**
1. ✅ Moderate variation with stable CI (investigate practices)
**❌ NO ALERTS:**
1. ❌ Excellent uniformity with normal clustering
2. ❌ Good uniformity with normal clustering
## Actionable Insights
**For Excellent/Good Uniformity:**
- ✅ Continue current management practices
- 📊 Monitor for clustering patterns
- 🎯 Optimize growth zones if detected
**For Moderate Variation:**
- � Investigate specific zones or field-wide issues
- 📈 Consider zone-specific management
- 🌾 Review irrigation, fertilization, or pest management
**For Poor Uniformity:**
- 🚨 Immediate management intervention required
- 🎯 Focus on most problematic areas first
- 📊 Comprehensive field assessment needed