SmartCane/r_app/experiments/crop_messaging/crop_messaging_flowchart.md
2025-09-05 15:23:41 +02:00

15 KiB
Raw Blame History

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 NOTEFor 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

flowchart TD
    Start([Weekly CI Analysis Starts]) --> Extract[Extract CI values from satellite mosaics]
    Extract --> CalcStats[Calculate field statistics:<br/>- Mean CI<br/>- Coefficient of Variation CV<br/>- Acceptable area % (±25% of mean)<br/>- Spatial autocorrelation (Moran's I)]
    CalcStats --> CompareWeeks[Compare current week vs previous week]
    
    CompareWeeks --> CalcChange[Calculate CI Change:<br/>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:<br/>CV & Acceptable Area}
    Stable --> CheckUniformity2{Enhanced Uniformity Check:<br/>CV & Acceptable Area}
    Decrease --> CheckUniformity3{Enhanced Uniformity Check:<br/>CV & Acceptable Area}
    
    %% Enhanced uniformity categorization
    CheckUniformity1 -->|CV > 0.25 OR<br/>Acceptable < 40%| PoorUniformity1[🚨 POOR UNIFORMITY<br/>Urgent attention needed]
    CheckUniformity1 -->|CV ≤ 0.08 AND<br/>Acceptable ≥ 45%| ExcellentUniformity1[✅ EXCELLENT UNIFORMITY<br/>Optimal field condition]
    CheckUniformity1 -->|CV ≤ 0.15| GoodUniformity1[✅ GOOD UNIFORMITY<br/>Check for clustering]
    CheckUniformity1 -->|0.15 < CV ≤ 0.25| ModerateVariation1[⚠️ MODERATE VARIATION<br/>Needs investigation]
    
    CheckUniformity2 -->|CV > 0.25 OR<br/>Acceptable < 40%| PoorUniformity2[🚨 POOR UNIFORMITY<br/>Urgent attention needed]
    CheckUniformity2 -->|CV ≤ 0.08 AND<br/>Acceptable ≥ 45%| ExcellentUniformity2[✅ EXCELLENT UNIFORMITY<br/>Optimal field condition]
    CheckUniformity2 -->|CV ≤ 0.15| GoodUniformity2[✅ GOOD UNIFORMITY<br/>Check for clustering]
    CheckUniformity2 -->|0.15 < CV ≤ 0.25| ModerateVariation2[⚠️ MODERATE VARIATION<br/>Needs investigation]
    
    CheckUniformity3 -->|CV > 0.25 OR<br/>Acceptable < 40%| PoorUniformity3[🚨 POOR UNIFORMITY<br/>Urgent attention needed]
    CheckUniformity3 -->|CV ≤ 0.08 AND<br/>Acceptable ≥ 45%| ExcellentUniformity3[✅ EXCELLENT UNIFORMITY<br/>Optimal field condition]
    CheckUniformity3 -->|CV ≤ 0.15| GoodUniformity3[✅ GOOD UNIFORMITY<br/>Check for clustering]
    CheckUniformity3 -->|0.15 < CV ≤ 0.25| ModerateVariation3[⚠️ MODERATE VARIATION<br/>Needs investigation]
    
    %% Spatial analysis for good uniformity fields (clustering check)
    GoodUniformity1 --> SpatialCheck1{Moran's I > 0.95?<br/>Very strong clustering}
    GoodUniformity2 --> SpatialCheck2{Moran's I > 0.95?<br/>Very strong clustering}
    GoodUniformity3 --> SpatialCheck3{Moran's I > 0.95?<br/>Very strong clustering}
    
    %% Spatial pattern analysis for moderate variation fields
    ModerateVariation1 --> SpatialAnalysis1[Spatial Analysis:<br/>Moran's I autocorrelation]
    ModerateVariation2 --> SpatialAnalysis2[Spatial Analysis:<br/>Moran's I autocorrelation]
    ModerateVariation3 --> SpatialAnalysis3[Spatial Analysis:<br/>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<br/>Very Clustered| LocalizedInc[Localized Growth Zones<br/>+ CI Increase]
    ClassifyVariation1 -->|Moran's I ≤ 0.95<br/>Normal/Random| DistributedInc[Field-wide Variation<br/>+ CI Increase]
    
    ClassifyVariation2 -->|Moran's I > 0.95<br/>Very Clustered| LocalizedStable[Localized Growth Zones<br/>+ CI Stable]
    ClassifyVariation2 -->|Moran's I ≤ 0.95<br/>Normal/Random| DistributedStable[Field-wide Variation<br/>+ CI Stable]
    
    ClassifyVariation3 -->|Moran's I > 0.95<br/>Very Clustered| LocalizedDec[Localized Problem Zones<br/>+ CI Decrease]
    ClassifyVariation3 -->|Moran's I ≤ 0.95<br/>Normal/Random| DistributedDec[Field-wide Variation<br/>+ CI Decrease]
    
    %% Clustering analysis for good uniformity
    SpatialCheck1 -->|Yes| HighClustering1[🔶 VERY HIGH CLUSTERING<br/>Potential growth zones]
    SpatialCheck1 -->|No - Normal| OptimalField1[✅ EXCELLENT FIELD<br/>Uniform & well-distributed]
    
    SpatialCheck2 -->|Yes| HighClustering2[🔶 VERY HIGH CLUSTERING<br/>Potential growth zones]
    SpatialCheck2 -->|No - Normal| OptimalField2[✅ EXCELLENT FIELD<br/>Uniform & well-distributed]
    
    SpatialCheck3 -->|Yes| HighClustering3[🔶 VERY HIGH CLUSTERING<br/>Potential growth zones]
    SpatialCheck3 -->|No - Normal| OptimalField3[✅ EXCELLENT FIELD<br/>Uniform & well-distributed]
    
    %% Excellent/good uniformity outcomes
    ExcellentUniformity1 --> NoAlert1[❌ NO ALERT<br/>Excellent field condition]
    ExcellentUniformity2 --> NoAlert2[❌ NO ALERT<br/>Excellent field condition]
    ExcellentUniformity3 --> NoAlert3[❌ NO ALERT<br/>Excellent field condition]
    
    HighClustering1 --> Alert1[🔶 CLUSTERING NOTED<br/>Growth zones detected]
    HighClustering2 --> Alert2[🔶 CLUSTERING NOTED<br/>Growth zones detected]
    HighClustering3 --> Alert3[🔶 CLUSTERING NOTED<br/>Growth zones detected]
    
    OptimalField1 --> NoAlert1
    OptimalField2 --> NoAlert2
    OptimalField3 --> NoAlert3
    
    %% Poor uniformity outcomes
    PoorUniformity1 --> Alert4[🚨 URGENT ATTENTION<br/>Poor field uniformity]
    PoorUniformity2 --> Alert5[🚨 URGENT ATTENTION<br/>Poor field uniformity]
    PoorUniformity3 --> Alert6[🚨 URGENT ATTENTION<br/>Poor field uniformity]
    
    %% Enhanced message outcomes for moderate variation
    LocalizedInc --> Alert7[🔶 INVESTIGATION<br/>Growth zones + CI increase]
    DistributedInc --> Alert8[🔶 INVESTIGATION<br/>Field-wide variation + CI increase]
    
    LocalizedStable --> Alert9[🚨 SEND ALERT<br/>Problem zones detected - investigate]
    DistributedStable --> Alert10[🚨 SEND ALERT<br/>Field-wide unevenness - check practices]
    
    LocalizedDec --> Alert11[🚨 HIGH PRIORITY<br/>Declining zones - immediate action needed]
    DistributedDec --> Alert12[🚨 HIGH PRIORITY<br/>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 <EFBFBD> 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"
  • <EFBFBD> "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)

<EFBFBD> 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:

  • <EFBFBD> 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