SEVA.GIS Logo SEVA·GIS
Research Thesis & Scientific Methodology

How SEVA·GIS Works

A transparent, client-side geospatial architecture transforming raw Copernicus Sentinel-2 L2A telemetry and 30 m elevation models into actionable farm intelligence, autonomous tractor pathing, and precision variable-rate prescriptions.

Author: N. Akshit Vinay Architecture: Zero-Backend In-Browser GIS Telemetry: ESA Copernicus Sentinel-2 & GLO-30 DEM License: MIT Open Source
🌾 Practical 6-Step Field Guide 🔬 Research Thesis & Scientific Methodology 📊 System Flowchart

Part I: The Practical Field Guide (For Farmers & Agronomists)

SEVA.GIS shows your farm the way a satellite sees it. You draw your field, and the app fetches fresh Sentinel-2 imagery and explains what it means for your crop. Everything runs in your browser, and your boundaries stay on your device.

Step 1. Mark your farm

Draw the boundary on the map, walk the edge with your phone's GPS, or type corner coordinates. You can also upload GeoJSON, KML, GPX, WKT, CSV or a zipped Shapefile. The app calculates the area in hectares and acres with sub-meter geodesic accuracy.

Step 2. Get a fresh, clear satellite image

SEVA.GIS searches the Sentinel-2 archive on Microsoft Planetary Computer for the newest scene with under 30% cloud. Clouds, shadows and haze are masked out with Scene Classification (SCL), and the image is clipped to your exact boundary in real time.

Step 3. Read the crop health indices

IndexScientific NameWhat it tells you
NDVINormalized Difference Vegetation IndexHow green and vigorous the crop is; chlorophyll light absorption
NDMINormalized Difference Moisture IndexWater inside the leaves, an early signal of irrigation need 4–7 days before yellowing
NDWINormalized Difference Water IndexStanding water, surface ponding or waterlogged patches
NDRENormalized Difference Red EdgeChlorophyll and nitrogen in dense, mature canopies where NDVI saturates
EVIEnhanced Vegetation IndexCanopy structure, corrected for atmospheric haze and background soil brightness
BSIBare Soil IndexBare soil and fallow ground, useful for tillage and early crop establishment
REIPRed Edge Inflection PointDirect measure of leaf nitrogen nutrition and senescence onset
LAILeaf Area IndexCanopy density (m² leaf surface per m² ground area) for biomass forecasting

Each number comes with a calibrated color scale, an agronomic status such as Healthy, Moderate or Stressed, and a plain-language explanation of next actions.

Step 4. Check terrain, water and weather

The app shows slope, aspect and a wetness index from 30 m Copernicus GLO-30 elevation data, nearby wells and canals from OpenStreetMap, and a 7-day forecast with FAO-56 evapotranspiration to help you decide exactly whether to irrigate.

Step 5. Plan the work

Create tractor driving paths matching your implement width, three-zone fertilizer prescriptions, travel-time maps for tractors and trucks, and a comparison of two dates to spot early crop decline before it damages yields.

Step 6. Download your report

Export a printable PDF or HTML report with your boundary, satellite image, north arrow, scale bar, and index scores for bank loans, insurance claims, or agronomy consults.

Agronomic Rule of Thumb: A satellite shows where a crop is weaker, not why. Use the maps to decide where to walk and inspect soil moisture, root depth, or pest activity.

Part II: Complete System Architecture Flowchart

The following diagram illustrates the 7 operational domains executing within the client-side pipeline. Coordinate polygons, radiometric rasters, and elevation models are processed locally without transmitting telemetry to central servers.

SEVA·GIS Autonomous Client-Side Geospatial Pipeline
1. Spatial Geodesy WGS84 EPSG:4326 Polygon Local Metric Equidistant Projection Girard Quadrature · Vincenty Perimeter 2. Sentinel-2 L2A STAC Planetary Computer COG Streaming SCL Cloud/Shadow Bitmask Masking Sen2Cor BOA Surface Reflectance (ρ_λ) 3. Copernicus GLO-30 DEM Horn 1981 8-Neighbor Gradient Slope β · Aspect α · Hillshade (315°) D8 Flow Accumulation · TWI Wetness 4. Radiometric Spectral Engine (Float32Array WebGL / Canvas) NDVI · NDMI · NDWI · NDRE · EVI · SAVI · MSAVI · BSI · REIP · LAI · CWSI · LST Point-in-Polygon Raster Masking · Statistical Z-Scores · Early Chlorophyll/Hydration Drop Matrix Dynamic Color-Ramp Shader Mapping · 10 m Ground Sampling Distance Resampling 5. Multi-Source Agro Physics Open-Meteo FAO-56 Penman-Monteith ET₀ ISRIC SoilGrids v2.0 (8 Depths) Phenological Dual Crop Coefficient (ET_c = K_c × ET_0) Base-10°C Growing Degree Days (GDD) Accumulation 6. Fields2Cover Swath Robotics Longest-Edge Swath Alignment θ_opt Dubins Turning Curve Generation Jenks Natural Breaks 3-Zone Urea VRA Headland Boundary Buffer Margins (1–3 Passes) 7. Browser Vault & Storage Dexie.js IndexedDB Local Storage Zero Remote Telemetry · 100% Privacy Client-Side Geodesic Vector Engine Pro-GIS GeoJSON, Shapefile & KML Exports

Part III: Research Thesis & Scientific Methodology Specification

1. Satellite Sensor Ingestion & Bottom-of-Atmosphere Radiometry

SEVA·GIS accesses Level-2A (L2A) surface reflectance products generated by the European Space Agency's (ESA) Copernicus Sentinel-2 MultiSpectral Instrument (MSI) via the Microsoft Planetary Computer SpatioTemporal Asset Catalog (STAC) API. Unlike raw Level-1C Top-Of-Atmosphere (TOA) data, L2A products are pre-corrected for atmospheric scattering and Rayleigh absorption using the Sen2Cor processor, yielding true Bottom-Of-Atmosphere (BOA) surface reflectance:

ρ_λ = (DN_λ - Offset_λ) / Quantization_Value

Where Quantization_Value = 10,000 and modern Sentinel-2 processing baselines (PB ≥ 04.00) apply an additive radiometry offset of -1,000 DN to preserve dark surface dynamics.

BandSensor IDCentral WavelengthBandwidthSpatial ResolutionTarget Physiological Dynamic
BlueB02490 nm65 nm10 mSoil / vegetation discrimination & EVI aerosol correction
GreenB03560 nm35 nm10 mPeak chlorophyll reflectance, open-water NDWI
RedB04665 nm30 nm10 mMaximum chlorophyll-a absorption valley
Red Edge 1B05705 nm15 nm20 mChlorophyll boundary slope inflection point (REIP, NDRE)
Red Edge 2B06740 nm15 nm20 mCellular canopy structural reflectance transition
Red Edge 3B07783 nm20 nm20 mNear-infrared plateau initiation
NIR (Broad)B08842 nm115 nm10 mSpongy mesophyll leaf cell scattering (Primary NDVI)
NIR (Narrow)B8A865 nm20 nm20 mAtmospheric water vapor-isolated canopy reflectance
SWIR-1B111610 nm90 nm20 mFoliar liquid water absorption (NDMI, MSI) & soil moisture
SWIR-2B122190 nm180 nm20 mSoil mineralogy, burned residue (NBR), atmospheric penetration

2. Radiometric Spectral Formulations

Multispectral vegetative indices are calculated as floating-point arrays in client memory (src/lib/indicators.ts) using zero-division guards:

Normalized Difference Vegetation Index (NDVI) Rouse, J. W., et al. (1974)
NDVI = (B08 - B04) / (B08 + B04)

Measures the contrast between strong chlorophyll-a absorption in the red band (B04) and high internal mesophyll scattering in the near-infrared band (B08). Values range from -1.0 to +1.0. Healthy green canopies typically range from 0.45 to 0.88.

Normalized Difference Red Edge (NDRE) Gitelson, A., & Merzlyak, M. N. (1994)
NDRE = (B08 - B05) / (B08 + B05)

Substitutes Red with Red Edge Band 5 (705 nm). Red-edge light penetrates deeper into dense multi-layered leaf canopies without saturating, making NDRE the benchmark for in-season nitrogen status, sugarcane, maize, and late vegetative wheat.

Normalized Difference Moisture Index (NDMI) Gao, B. C. (1996)
NDMI = (B08 - B11) / (B08 + B11)

Contrasts NIR scattering against SWIR-1 (1610 nm) absorption caused by liquid water in plant spongy mesophyll tissues. A drop in NDMI indicates crop transpiration stress and leaf water deficit 4 to 7 days before optical chlorophyll breakdown.

Enhanced Vegetation Index (EVI) Huete, A., et al. (2002)
EVI = 2.5 × (B08 - B04) / (B08 + 6 × B04 - 7.5 × B02 + 1.0)

Incorporates the blue band (B02) to correct for residual atmospheric aerosol scattering and introduces a canopy background adjustment factor (L=1.0) to maintain linear sensitivity across high leaf-area densities.

Soil-Adjusted Vegetation Index (SAVI & MSAVI) Huete (1988) / Qi et al. (1994)
SAVI = (1 + L) × (B08 - B04) / (B08 + B04 + L) [L = 0.5]
MSAVI = (2 × B08 + 1 - √((2 × B08 + 1)² - 8 × (B08 - B04))) / 2

Calibrated for early crop stages and semi-arid conditions where soil background reflection distorts raw NDVI readings. MSAVI eliminates empirical parameter tuning by calculating a self-adjusting soil boundary line.

Red Edge Inflection Point (REIP) Guyot, G., & Baret, F. (1988)
REIP = 700 + 40 × [ ((B04 + B07) / 2 - B05) / (B06 - B05) ] [nm]

Determines the precise wavelength (typically between 700 nm and 725 nm) where the first derivative of spectral reflectance reaches its peak. Directly indicates foliar nitrogen concentration and phenological senescence timing.

3. Topographic Modeling: Horn's Gradient & Hydrologic Wetness (GLO-30)

Topographic metrics are computed from Copernicus GLO-30 Digital Surface Models (DSM) with 30-meter resolution using Horn's 8-neighbor weighted finite-difference gradient operator (Horn, 1981):

∂z/∂x = [(z(x+1, y-1) + 2·z(x+1, y) + z(x+1, y+1)) - (z(x-1, y-1) + 2·z(x-1, y) + z(x-1, y+1))] / (8 · dx)
∂z/∂y = [(z(x-1, y-1) + 2·z(x, y-1) + z(x+1, y-1)) - (z(x-1, y+1) + 2·z(x, y+1) + z(x+1, y+1))] / (8 · dy)

Slope β = arctan( √( (∂z/∂x)² + (∂z/∂y)² ) ) × (180 / π) [°]
Aspect α = (arctan2(-∂z/∂y, -∂z/∂x) × (180 / π) + 360) % 360 [°]
Hillshade = 255 × [ cos(zenith)·cos(β) + sin(zenith)·sin(β)·cos(azimuth - α) ]

Using D8 steepest-descent flow accumulation, upslope contributing area a is integrated into the Topographic Wetness Index (TWI - Beven & Kirkby, 1979):

TWI = ln( a / tan(β) )

Points with high TWI (> 12) identify natural drainage channels and low-lying hollows vulnerable to waterlogging or pesticide pooling during monsoon rainfall.

4. Micrometeorological Energy Balance: FAO-56 Penman-Monteith

Reference crop evapotranspiration ($ET_0$) is computed daily using the standardized FAO-56 Penman-Monteith equation (Allen et al., 1998) driven by Open-Meteo GFS and ECMWF model assimilations:

ET₀ = [ 0.408 Δ (R_n - G) + γ (900 / (T + 273)) u₂ (e_s - e_a) ] / [ Δ + γ (1 + 0.34 u₂) ]
  • R_n: Net radiation at crop canopy surface (MJ m⁻² day⁻¹)
  • G: Soil heat flux density (MJ m⁻² day⁻¹)
  • T: Mean daily 2 m air temperature (°C)
  • u₂: Wind speed at 2 m elevation (m s⁻¹)
  • (e_s - e_a): Vapour Pressure Deficit (VPD, kPa)
  • Δ: Slope of saturation vapour pressure curve (kPa °C⁻¹)
  • γ: Psychrometric constant (0.067 kPa °C⁻¹)

Actual crop water demand is dynamically calculated as: ET_c = K_c × ET_0, where K_c is continuously scaled based on the crop's phenological stage derived from NDVI time series.

5. Agricultural Robotics & Coverage Path Planning

SEVA·GIS implements autonomous path planning principles inspired by the Fields2Cover robotics library (Oksanen & Visala, 2007) to optimize machinery operations, fuel economy, and soil health:

Longest-Edge Swath Alignment Optimization Oksanen, T., & Visala, A. (2007)
θ_opt = argmax_i [ || p_(i+1) - p_i ||² ] mod 180°

By aligning machinery passes with the longest boundary vector of the field polygon, the algorithm minimizes headland turning maneuvers, which account for up to 28% of total fuel waste and cause severe wheel-rut soil compaction. Parallel swaths are spaced at exact implement boom width w with Dubins turning radii connecting successive tracks.

6. Precision Agronomy: Variable Rate Nitrogen Application (VRA)

Rather than uniform broadcast fertilizer application, SEVA·GIS clusters the field's NDVI distribution into three distinct agronomic management zones using the Jenks Natural Breaks Optimization Algorithm (Jenks, 1967), which minimizes within-zone variance:

GVF = 1 - [ ∑_(k=1)^3 ∑_(i ∈ C_k) (x_i - x̄_k)² ] / [ ∑_(i=1)^N (x_i - x̄)² ]

7. Academic Bibliography & References

Thesis Citation (BibTeX):
@thesis{vinay2025sevagis,
  title={SEVA·GIS: Client-Side Geospatial Analytics and Autonomous Agro-Robotics for Smallholder Precision Agriculture},
  author={N. Akshit Vinay},
  year={2025},
  publisher={Open-Source Geospatial Research},
  url={https://github.com/virahitvin8/seva-gis}
}

⚡ Open the SEVA·GIS App

How it works · NDVI explained · FAQ · GitHub Repository