PRO Production

Workflow-grade Pro analysis with audit-ready outputs.

workflow pro

## Workflow Narrative

Yield Data Conditioning and QA

### Problem It Solves

How do we turn raw, noisy harvest monitor points into defensible, analysis-ready yield products for management decisions?

### Who It Is For

- Precision-ag service providers, agronomy analytics teams, and farm data engineering groups.

### Primary User

Enterprise farms, precision agriculture consultancies, and digital agronomy platforms.

### What It Does

- Runs an end-to-end conditioning pipeline for noisy combine-harvester yield points.
- Orchestrates edge QA, pass reconstruction, optional multi-header reconciliation, filtering, normalization, and swath map generation.
- Produces contract-ready summary outputs for auditability and downstream zoning workflows.

### How It Works

- Flags/removes likely edge points using local neighborhood support.
- Optionally filters telemetry anomalies using speed and heading consistency thresholds.
- Auto-resolves common monitor-export field aliases when requested names are missing.
- Reconstructs pass structure from point geometry and heading continuity, then smooths yield using pass-aware neighborhood statistics.
- Optionally applies distance-based lag correction along reconstructed passes to compensate harvest monitor delay.
- Optionally converts raw yield to a target moisture basis using moisture_field_name and target_moisture_pct.
- Optionally applies robust MAD-based clipping on filtered yield values before normalization.
- Propagates a QA confidence score to final point outputs, then builds swath polygons for map-ready products.
- Indicative formula: filtered_yield ~= weighted_neighborhood(yield) with outlier replacement when z = |y - mean_adjacent_pass| / sd_adjacent_pass exceeds threshold.

### Why It Wins

- Provides a reproducible and transparent preprocessing chain with explicit QA outputs rather than opaque one-click cleaning.

### Typical Buying Trigger

A team needs to standardize inconsistent yield data cleaning before zone generation, variable-rate planning, or year-over-year analytics.

### Typical Presets

- fast: lighter cleanup with larger tolerances for rapid turnaround.
- balanced: default production profile.
- strict: stronger edge/outlier controls for high-confidence analytics.

## Inputs

Parameter | Optional | Description
--- | --- | ---
input (yield point vector) | no | Raw yield telemetry points used as input to the conditioning and QA pipeline.
yield_field_name, moisture_field_name, target_moisture_pct, header_field_name | no | Field-name mappings for yield/moisture/header attributes used by cleaning stages.
use_field_aliases | no | Whether known attribute aliases should be resolved automatically.
speed_field_name, heading_field_name | no | Telemetry field mappings used for speed and heading quality checks.
min_speed_kmh, max_speed_kmh, max_heading_change_deg | no | Operating-speed and heading-change limits used for telemetry QC filtering.
profile: fast | balanced | strict | no | Operational profile controlling sensitivity and QA strictness for risk workflows.
swath_width, edge_radius, reconcile_radius, normalization_radius | no | Geometric parameters controlling swath-edge handling and neighborhood reconciliation.
lag_correction_mode: none | distance | no | Lag correction mode controlling whether and how harvest lag compensation is applied.
lag_distance_m | no | Distance offset used when distance-based lag correction is enabled.
filtering_mode: standard | robust | no | Outlier-filtering method selection for yield cleaning.
robust_mad_threshold, z_score_threshold, min_yield, max_yield | no | Statistical thresholds and hard limits used for yield outlier rejection.
optional mean_tonnage | yes | Optional mean tonnage override used during normalization/reconciliation steps.

## Outputs

Parameter | Type | Description
--- | --- | ---
qa_flags | GeoPackage | QA flag layer identifying records that failed yield telemetry checks.
telemetry_qc_points | optional GeoPackage | Optional point layer of telemetry QC diagnostics by record.
clean_points | GeoPackage | Cleaned yield points after telemetry and statistical filtering.
clean_map | GeoPackage | Cartography-ready cleaned yield layer for rapid map production.
confidence_points | GeoPackage | Point-level confidence diagnostics for cleaned yield records.
pass_lines | GeoPackage | Harvest pass line features inferred from telemetry trajectories.
pass_points | GeoPackage | Harvest pass points used in overlap and reconciliation analyses.
lag_corrected_points | optional GeoPackage | Optional points after lag-correction adjustment.
moisture_adjusted_points | optional GeoPackage | Optional points after moisture normalization adjustments.
filtered_points | GeoPackage | Points retained after standard filtering criteria are applied.
robust_filtered_points | optional GeoPackage | Optional points retained by robust filtering mode diagnostics.
normalized_points | GeoPackage | Yield points after normalization to common analytical basis.
reconciled_points | optional GeoPackage | Optional reconciled points after overlap and pass harmonization.
summary | JSON | Machine-readable summary report containing run metadata, QA diagnostics, and key metrics.
html_report | HTML | Human-readable customer-facing report generated from the summary contract for stakeholder review and QA traceability.

## Python Example

    import whitebox_workflows as wbw

    wbe = wbw.WbEnvironment(include_pro=True, tier="pro")

    result = wbe.yield_data_conditioning_and_qa(
        input="data/yield_points.gpkg",
        yield_field_name="YIELD",
        header_field_name="HEADER",
        profile="balanced",
        swath_width=6.096,
        output_prefix="output/yield_pipeline",
    )

    print(result)

## License Notice

Use of this function requires a license for Whitebox Workflows Professional (WbW-Pro). Please visit www.whiteboxgeo.com to purchase a license.

## Project Links

WbW Homepage User Manual Support WbW