Forest Density Classification by using Google Earth Engine
ฝัง
- เผยแพร่เมื่อ 22 ก.ย. 2024
- Forest Density Classification by using Google Earth EngineSatellite Image classification Random Forest (RF) Machine Leaning (ML) in Google Earth Engine (GEE)
Introduction | Select Study Area | Add Sentinel | Image Visualization | Class Selection | Image Collection | Band Selection | Image Stack | Training Data Points | Training Samples | Code
Google Earth Engine (GEE) Python API | Forest Canopy Density Mapping
Intro and Python Installation | Installing pip requirements, theory overview | GEE setup, authentication, input data explanation | Historical data use, Hansen data | Cloudless masking, mosaicking for Landsat | Reflectance vs Digital Number, Spectral Indices start | Normalization, PCA | Cloudless masking, mosaicking for Sentinel | Custom band assignment function | Applying empirical equation | Function run, computation error | Issue: Area of Interest too big | Troubleshoot: Linux remote desktop (RDP) | Troubleshoot: Linux SSH, vscode | Notebook on different server (failed) | Timeout error persists | Success with large AOI from repository | Classification and zoning with FCD | First FCD result (Landsat, no Thermal Index) | Topographic correction demo | Regrowth forest info with overlays | Adding Thermal Index | Conditional process with Thermal Index | Troubleshoot: Thermal and Shadow Index | Thermal Index improvement, PCA combination | Work with Sentinel Images, errors | Error handling, image saving | Cloudless
Forest Density Classification by using Google Earth EngineRandom Forest Machine Learning Classification to Map Land Cover with Landsat 9
Google Earth Engine | Apply Scale Factors | Generate a True Color Composite | Visualize the Landsat Data | True Color Composite | Create a Training Data Set | Create a Forest Class | Training and Validation Data | Random Forest Classification | Accuracy Statistics
Random Forest Machine Learning Classification to Map LULC with Landsat using Google Earth Engine
Satellite Image classification Random Forest Machine Leaning (ML) in Google Earth Engine, part: 1
Land use and Land cover classification using Random forest machine learning in Google Earth Engine
Supervised Classification of Landsat 8 imagery in Google Earth Engine | Part 1
Supervised Classification for Land Cover Mapping with Landsat 8 in Google Earth Engine
Google Earth Engine | Train a Classifier | Import the Landsat Image | Filter Date | Generate the Training Data | Generate a Training Data | Create an Urban Class | Create Our Forest Glass | Input | Create an Input for the Model | Sample Regions | Input the Training Data | Land Cover Palette
Multi Temporal Land Cover Classification in Earth Engine
Landuse Classification With Google Earth Engine Using Machine Learning Approach (Random Forest)
Input Area of Interest | Add layer AOI to GEE map | Add Landsat imagery to GEE map | Add selected imagery | Mosaic Landsat imagery and set visualization | Make a landcover feature set | Make a landcover training set from feature collection | Training and classify the landcover using Random Forest Classifier | Visualized the Random Forest Clasification result on GEE map | The RF Clasification Result
Global Tree Cover Mapping using Hansen Global Forest Change on Google Earth Engine
Introduction | Tutorial | Visualization
High-Res Imagery for Tropical Forests: NICFI Data in Google Earth Engine
License and Access Levels | Brian Sullivan | What Is Earth Engine | Eric Lindquist | Closing Thoughts
Land Cover Classification using Google Earth Engine and Random Forest Classifier-The ... | RTCL.TV
Classification on Google Earth Engine from Landsat Imagery
Land use and Land cover classification using Random forest machine learning in Google Earth Engine
Random Forest (RF),Machine Learning (ML),Google Earth Engine (GEE),Image Classification,Supervised Classification,Sentinel-2,Image stacking,Accuracy Assessment,Classification Accuracy,Supervised classification in Google Earth Engine,supervised classification,google earth engine tutorials,google garth engine,google earth engine javascript api,earth engine javascript,earth engine python,earth engine python api,google earth engine python tutorials,remote sensing
Very nice
Thanks
Good work. Please share the script. Thanks in advance
// Define your area of interest
var geometry = ee.Geometry.Rectangle([77.28, 8.314, 77.906, 11.689]); // Replace with your region
// Load the Sentinel-2 Image Collection, filter by date and region
var image = ee.ImageCollection('COPERNICUS/S2')
.filterDate('2023-01-01', '2023-12-31')
.filterBounds(geometry)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 10))
.median()
.clip(geometry);
// Calculate NDVI
var ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI');
// Define thresholds for forest density classification
var denseForest = ndvi.gte(0.6).rename('Dense Forest');
var moderateForest = ndvi.gte(0.4).and(ndvi.lt(0.6)).rename('Moderate Forest');
var sparseForest = ndvi.gte(0.2).and(ndvi.lt(0.4)).rename('Sparse Forest');
var nonForest = ndvi.lt(0.2).rename('Non-Forest');
// Create a classified image
var classified = denseForest.add(moderateForest).add(sparseForest).add(nonForest);
// Define visualization parameters
var denseForestVis = {palette: ['006400'], opacity: 0.6}; // Dark green
var moderateForestVis = {palette: ['32CD32'], opacity: 0.6}; // Lime green
var sparseForestVis = {palette: ['ADFF2F'], opacity: 0.6}; // Light green
var nonForestVis = {palette: ['FFD700'], opacity: 0.6}; // Yellow
// Add layers to the map
Map.centerObject(geometry, 10);
Map.addLayer(denseForest.updateMask(denseForest), denseForestVis, 'Dense Forest');
Map.addLayer(moderateForest.updateMask(moderateForest), moderateForestVis, 'Moderate Forest');
Map.addLayer(sparseForest.updateMask(sparseForest), sparseForestVis, 'Sparse Forest');
Map.addLayer(nonForest.updateMask(nonForest), nonForestVis, 'Non-Forest');
// Add a legend
var legend = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});
var legendTitle = ui.Label({
value: 'Forest Density Legend',
style: {
fontWeight: 'bold',
fontSize: '18px',
margin: '0 0 4px 0',
padding: '0'
}
});
legend.add(legendTitle);
var makeRow = function(color, name) {
var colorBox = ui.Label({
style: {
backgroundColor: color,
padding: '8px',
margin: '0 0 4px 0'
}
});
var description = ui.Label({
value: name,
style: {margin: '0 0 4px 6px'}
});
return ui.Panel({
widgets: [colorBox, description],
layout: ui.Panel.Layout.Flow('horizontal')
});
};
var palette = ['006400', '32CD32', 'ADFF2F', 'FFD700'];
var names = ['Dense Forest', 'Moderate Forest', 'Sparse Forest', 'Non-Forest'];
for (var i = 0; i < palette.length; i++) {
legend.add(makeRow(palette[i], names[i]));
}
Map.add(legend);
Where is the code ? Thanks
// Define your area of interest
var geometry = ee.Geometry.Rectangle([77.28, 8.314, 77.906, 11.689]); // Replace with your region
// Load the Sentinel-2 Image Collection, filter by date and region
var image = ee.ImageCollection('COPERNICUS/S2')
.filterDate('2023-01-01', '2023-12-31')
.filterBounds(geometry)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 10))
.median()
.clip(geometry);
// Calculate NDVI
var ndvi = image.normalizedDifference(['B8', 'B4']).rename('NDVI');
// Define thresholds for forest density classification
var denseForest = ndvi.gte(0.6).rename('Dense Forest');
var moderateForest = ndvi.gte(0.4).and(ndvi.lt(0.6)).rename('Moderate Forest');
var sparseForest = ndvi.gte(0.2).and(ndvi.lt(0.4)).rename('Sparse Forest');
var nonForest = ndvi.lt(0.2).rename('Non-Forest');
// Create a classified image
var classified = denseForest.add(moderateForest).add(sparseForest).add(nonForest);
// Define visualization parameters
var denseForestVis = {palette: ['006400'], opacity: 0.6}; // Dark green
var moderateForestVis = {palette: ['32CD32'], opacity: 0.6}; // Lime green
var sparseForestVis = {palette: ['ADFF2F'], opacity: 0.6}; // Light green
var nonForestVis = {palette: ['FFD700'], opacity: 0.6}; // Yellow
// Add layers to the map
Map.centerObject(geometry, 10);
Map.addLayer(denseForest.updateMask(denseForest), denseForestVis, 'Dense Forest');
Map.addLayer(moderateForest.updateMask(moderateForest), moderateForestVis, 'Moderate Forest');
Map.addLayer(sparseForest.updateMask(sparseForest), sparseForestVis, 'Sparse Forest');
Map.addLayer(nonForest.updateMask(nonForest), nonForestVis, 'Non-Forest');
// Add a legend
var legend = ui.Panel({
style: {
position: 'bottom-left',
padding: '8px 15px'
}
});
var legendTitle = ui.Label({
value: 'Forest Density Legend',
style: {
fontWeight: 'bold',
fontSize: '18px',
margin: '0 0 4px 0',
padding: '0'
}
});
legend.add(legendTitle);
var makeRow = function(color, name) {
var colorBox = ui.Label({
style: {
backgroundColor: color,
padding: '8px',
margin: '0 0 4px 0'
}
});
var description = ui.Label({
value: name,
style: {margin: '0 0 4px 6px'}
});
return ui.Panel({
widgets: [colorBox, description],
layout: ui.Panel.Layout.Flow('horizontal')
});
};
var palette = ['006400', '32CD32', 'ADFF2F', 'FFD700'];
var names = ['Dense Forest', 'Moderate Forest', 'Sparse Forest', 'Non-Forest'];
for (var i = 0; i < palette.length; i++) {
legend.add(makeRow(palette[i], names[i]));
}
Map.add(legend);
@@techhive.2023 Thanks