NDVItoTaskmap
NDVItoTaskmap is a client-side, browser-based web application designed to translate raw multispectral drone imagery into machine-readable variable-rate task maps (taakkaarten) for precision agriculture.
The application operates without backend compute, user accounts, or complex build tooling. All raster processing, vegetation index calculation, and spatial operations run directly in the client browser using WebAssembly and modern JavaScript APIs.
Key Features
- Multi-Format GeoTIFF Parsing: Ingests multispectral GeoTIFFs (WebODM, DJI Terra, generic 5-band) and single-band index rasters via
geotiff.js.
- Automatic Band Detection: Maps Red, Green, NIR, and RedEdge channels via wavelength metadata or ODM conventions, with manual override support.
- 20+ Vegetation Indices: Calculates indices natively in-browser (e.g., NDVI, GNDVI, NDRE, SAVI, WDVI, EVI, VARI). Includes an adjustable soil line parameter ($a \in [0.50, 1.80]$) for WDVI with presets for sand, clay, and organic soils.
- Cadastral & Parcel Integration: Integrates Dutch BRP field boundaries and multi-year crop history via PDOK WFS. Raster data and index histograms are automatically clipped to selected parcels.
- Task Map Configuration: Configurable grid sizing, dosage classification (including equal-area auto-classification), and driving direction optimization based on field geometry.
- Machinery & GIS Export:
- ISOXML TaskData (ISO 11783-10): Generates
TASKDATA.XML and binary grid (GRD) files directly loadable into ISOBUS terminals (John Deere, Fendt, Claas, AGCO, Trimble, CNH).
- Shapefile (
.shp inside .zip): Compatible with standard GIS packages and FMIS platforms.
- GeoJSON & CSV: For tabular analysis and web-GIS workflows.
Technology Stack
- Architecture: Vanilla JavaScript (ES Modules), HTML5, CSS3 (no node build chain).
- Geospatial & Raster Processing: Leaflet.js, GeoTIFF.js, Proj4js (RD New / EPSG:28992, UTM, WGS84), Turf.js.
- Offline Deployment: Bundled dependencies allow local offline execution (local HTTP server required for ES modules).