This project focuses on Land Use and Land Cover (LULC) classification of Uttarakhand/Uttarkashi using Google Earth Engine (GEE), Sentinel-2 satellite imagery, spectral indices, and Random Forest classification techniques.
The study integrates open-source global LULC datasets such as ESA WorldCover and Dynamic World for comparative analysis and validation.
- To perform LULC classification using Sentinel-2 imagery.
- To derive spectral indices such as:
- NDVI (Normalized Difference Vegetation Index)
- NDWI (Normalized Difference Water Index)
- To improve class separability and classification accuracy using spectral indices.
- To utilize ESA WorldCover and Dynamic World datasets for baseline comparison and validation.
- To assess classification performance using:
- Confusion Matrix
- Overall Accuracy
- Kappa Coefficient
- Uttarakhand, India
- Uttarkashi District (for detailed classification)
Dataset:
COPERNICUS/S2_SR_HARMONIZED
Used Bands:
- B2 → Blue
- B3 → Green
- B4 → Red
- B8 → Near Infrared (NIR)
Dataset:
ESA/WorldCover/v200
Dataset:
GOOGLE/DYNAMICWORLD/V1
Used for vegetation detection.
[ NDVI = \frac{B8 - B4}{B8 + B4} ]
Used for water body extraction.
[ NDWI = \frac{B3 - B8}{B3 + B8} ]
- Load study area boundary.
- Import Sentinel-2 imagery.
- Apply cloud filtering and image compositing.
- Generate NDVI and NDWI.
- Create training polygons manually.
- Sample training data.
- Split data into:
- Training set
- Validation set
- Train Random Forest classifier.
- Perform LULC classification.
- Assess accuracy using confusion matrix.
| Class | Label |
|---|---|
| 0 | Water |
| 1 | Vegetation |
| 2 | Built-up |
| 3 | Bare Land |
The model performance was evaluated using:
- Overall Accuracy
- Kappa Coefficient
- Producer Accuracy
- User Accuracy
Example Results:
- Overall Accuracy ≈ 95%
- Kappa ≈ 0.91
LandUse_LandCover/
│
├── Results/
│ ├── Accuracy_assm.png
│ ├── adm_bound.jpeg
│ ├── Dynamic_world.png
│ ├── ESA_world_cover.png
│ ├── NDVI.png
│ ├── NDWI.png
│ └── train_samples.png
│
├── accuracy_ass.js
├── adm_boundary.js
├── esa_world_cover.js
├── NDVI_NDWI.js
├── random_forest.js
├── sat_data.js
└── train_valid.js
- Google Earth Engine (GEE)
- JavaScript API
- Visual Studio Code
- Git & GitHub
The classification successfully identified:
- Vegetation cover
- Water bodies
- Built-up areas
- Bare land regions
Spectral indices significantly improved class separability and classification accuracy in mountainous terrain.
- Addition of DEM and slope datasets
- Multi-temporal analysis
- Deep learning-based classification
- Higher-resolution validation datasets
Kajal Rajput
NSUT Geoinformatics Engineering
Batch 2023–2027
- Sentinel-2: European Space Agency (ESA)
- Google Earth Engine Documentation
- ESA WorldCover Dataset
- Dynamic World Dataset by Google