Logo Lanfrica

megazeal/ghana-lulc-classifier

Domaine:

geospatial

Type de record:

software
Créateur:
meg
Hôte:
# Geospatial Land Use and Land Cover Classification of Ghana Using Machine Learning and Remote Sensing ## Project Overview This project performs Land Use and Land Cover (LULC) classification for Ghana using Google Earth Engine through both JavaScript (GEE Code Editor) and Python (geemap) implementations. It processes Sentinel-2 or Landsat 8 imagery and applies machine learning algorithms to classify land into different categories: dense vegetation, settlements, bareland, water, and light vegetation. ## Features - Processes both Sentinel-2 and Landsat 8 imagery - Implements multiple classification algorithms (CART, Random Forest, Naive Bayes, SVM) - Performs accuracy assessment of the classification - Allows for regional analysis by clipping the classification to specific areas - Calculates land cover percentages for clipped regions - Provides both JavaScript (GEE) and Python (geemap) implementations ## Requirements ### For JavaScript Implementation - Google Earth Engine account - Access to GEE Code Editor - Basic knowledge of JavaScript and Earth Engine API ### For Python Implementation ```bash pip install geemap earthengine-api numpy pandas ``` ## Usage ### JavaScript (GEE Code Editor) ```javascript // Example usage var processedImageResult = processImage(2023, 'sentinel2'); // Perform classification var ClassifiedImage = performClassification( processedImageResult.processedImage, processedImageResult.trainingPoints, 'RandomForest' ); // Print accuracy metrics print('Accuracy Metrics:', ClassifiedImage.accuracyMetrics); ``` ### Python (geemap) ```python import ee import geemap # Initialize Earth Engine ee.Initialize() Map = geemap.Map() # Process and classify image processed_result = process_image(2023, 'sentinel2') classified_image = perform_classification( processed_result['processed_image'], processed_result['training_points'], 'RandomForest' ) ``` ## Sample Results ## Code Structure The repository contains two main implementations: ### `js/` di …