沐风-GEE系列专栏
涵盖生态环境、卫星遥感、气候变化、云计算。
- Google Earth Engine 系列学习笔记(一)
- Google Earth Engine 系列学习笔记(二)
- GEE-Scholars 可视化时间序列农业景观
- GEE-Scholars 机器学习之卫星图像监督分类
- GEE-Scholars 水体动态监测-河南水灾案例
- GEE-Scholars 江淮平原水稻面积识别
- GEE-Scholars 快速检测森林火灾位置及面积
前言
森林火灾不仅会破坏大量植被,改变火灾后的生态格局,而且森林火灾中燃烧的生物质量与碳排放量密切相关。
本篇文章基于GEE云平台的光学数据快速检测山火面积和位置,为国家应急部门提供依据。
研究区:2020年4月山东森林火灾事件
1、定义监测区域
// var roi
var roi = ee.Geometry.Polygon(
[[[120.0359831156161, 35.9990397515576],
[120.0359831156161, 35.9305077800842],
[120.16854933876063, 35.9305077800842],
[120.16854933876063, 35.9990397515576]]]);
Map.centerObject(roi, 12)
Map.addLayer(roi, {color: "red"}, "roi");
2、定义FDI指数(Fire Danger Inder)
var addVariables = function(image){
var FDI = image.expression("SWIR2/Redge",{
Redge: image.select("B5"),
SWIR2: image.select("B12")
}).rename('FDI');
var ndvi = image.normalizedDifference(['B8','B4']).rename('NDVI')
return image.addBands([FDI,ndvi]);
}
;
3、数据获取
var S2 = ee.ImageCollection('COPERNICUS/S2')
.filterBounds(roi)
.filterDate("2020-04-21", "2020-04-28")
.sort("system:time_start",false)
print(S2,"s2")
print("Time",S2.first().date().advance(8,"hour"))
var S2_01 = ee.ImageCollection('COPERNICUS/S2')
.filterBounds(roi)
.filterDate("2020-04-21", "2020-04-24")
.map(addVariables)
.mosaic()
.clip(roi)
var S2_02 = ee.ImageCollection('COPERNICUS/S2')
.filterBounds(roi)
.filterDate("2020-04-26", "2020-04-27")
.map(addVariables)
.mosaic()
.clip(roi)
var visParams01 = {"bands": ["B12", "B8", "B4"],"min": 500,"max": 4000, gamma: 1.5, scale: 10};
Map.addLayer(S2_01,visParams01, "S2_01_true");
Map.addLayer(S2_02,visParams01, "S2_02_ture");
4、监测山火
var FDI01 = S2_01.select("FDI");
var FDI02 = S2_02.select("FDI");
var fire_FDI = FDI02.subtract(FDI01);
var fire_FDI = FDI02.gte(3).and(fire_FDI.gte(2));
var fire_FDI = fire_FDI.updateMask(fire_FDI.eq(1)).rename('fire_FDI');
Map.addLayer(fire_FDI, {palette: 'red'}, 'FDI');
5、检测 FDI_area 面积
var FDI_area = fire_FDI.multiply(ee.Image.pixelArea());
var FDI_area = FDI_area.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: roi,
scale: 10,
maxPixels: 1e13
});
print("Fire Area:",FDI_area);
6、统计燃烧面积
var ndvi01 = S2_01.select("NDVI");
var ndvi02 = S2_02.select("NDVI");
var fire_area = ndvi01.subtract(ndvi02);
var fire_area = fire_area.gte(0.1)
.and(ndvi01.gte(0.15))
.and(ndvi02.lte(0.15));
var fire_area = fire_area.updateMask(fire_area.eq(1)).rename('fire_area');
Map.addLayer(fire_area,{min: 0, max:1, palette: ['green','red']}, "fire_area");
var fire_area = fire_area.multiply(ee.Image.pixelArea());
var fire_area = fire_area.reduceRegion({
reducer: ee.Reducer.sum(),
geometry: roi,
scale: 10,
maxPixels: 1e13
});
print("燃烧总面积:",fire_area);
总结
本章内容基于GEE利用哨兵卫星数据快速检测森林火灾位置及火灾面积。
期待下一期精彩案例分享,欢迎交流学习。
我是沐风,致力于打造丝般的知识分享,勤奋、睿智、帅气的沐风。
温馨提示:本栏目将于明年6月转为付费栏目,收益全部捐赠给希望之山小学项目。
文章出处登录后可见!
已经登录?立即刷新