Google Earth Engine笔记-植被覆盖度计算
植被覆盖度遥感监测
根据N D V I NDVINDVI数据进行像元二分模型计算植被覆盖度
像元二分模型将像元的植被覆盖结构分为纯像元与混合像元两类,纯像元植被完全覆盖覆盖度为1,混合想要由植被与非植被构成,其N D V I NDVINDVI是植被覆盖部分的N D V I NDVINDVI值与非植被覆盖部分N D V I NDVINDVI值的线性加权:
其中NDVI为像元NDVI值,fv 为像元植被覆盖度,NDVIv 与NDVI0 分布式植被覆盖部分和非植被覆盖部分的NDVI值,即为纯植被与纯裸地像元的NDVI值,可得
通常情况取直方图累计频率为5%与95%的NDVI值作为NDVI0 与NDVI_v ,N D V I ≤ NDVI_0的像元植被覆盖度为0,NDVI≥NDVI_v 的像元植被覆盖都为1,在水体较多的区域为了避免水体面积过大对NDVI_v 与NDVI_0取值产生影响,可将水体去除(NDVI<0)后再统计NDVI直方图
准备数据,基于哨兵2号的SR数据来进行初始数据集筛选
1. var wuhan = ee.FeatureCollection("users/yp7454982/wuhan");
2. Map.addLayer(wuhan)
3. Map.centerObject(wuhan,8)
4. function maskS2clouds(image) {
5. var qa = image.select('QA60');
6.
7. // Bits 10 and 11 are clouds and cirrus, respectively.
8. var cloudBitMask = 1 << 10;
9. var cirrusBitMask = 1 << 11;
10.
11. // Both flags should be set to zero, indicating clear conditions.
12. var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
13. .and(qa.bitwiseAnd(cirrusBitMask).eq(0));
14.
15. return image.updateMask(mask).divide(10000);
16. }
17. var dataset_sentinel2=ee.ImageCollection("COPERNICUS/S2_SR")
18. .filterDate('2019-01-01','2019-12-31')
19. .filterBounds(wuhan)//
20. .filterMetadata('CLOUDY_PIXEL_PERCENTAGE',"less_than",20)
21. .map(maskS2clouds)
22. print(dataset_sentinel2)
筛选2019年在武汉市云量百分之20以下的所有数据,进行去云处理
中值合成并进行数据裁剪,真彩色合成
1. var mid_image=dataset_sentinel2.median().clip(wuhan.geometry());
2. var visualization = {
3. min: 0.0,
4. max: 0.3,
5. bands: ['B4', 'B3', 'B2'],
6. };
7. Map.addLayer(mid_image,visualization,'RGB')
计算NDVI并将水体mask掉,并利用像元二分模型进行植被覆盖度反演
1. var NDVI=mid_image.normalizedDifference(["B8","B4"]).rename("NDVI")
2. print(NDVI)
3. Map.addLayer(NDVI.lt(0))//water
4. Map.addLayer(mid_image.updateMask(NDVI.gt(0)),visualization,'RGB1')
5. var mask_water_NDVI=NDVI.updateMask(NDVI.gt(0))//mask water
6. //var chart=ui.Chart.image.histogram(mask_water_NDVI,wuhan,100)
7. //print(chart)
8. function calFVC(BestVI,region,scale){
9. var num = BestVI.reduceRegion({
10. reducer:ee.Reducer.percentile([5,95]),
11. geometry:region,
12. scale:scale,
13. maxPixels:1e13
14. });
15. var min = ee.Number(num.get("NDVI_p5"));
16. var max = ee.Number(num.get("NDVI_p95"));
17. //print(top_min);
18. //print(top_max);
19. //quantile and combine
20. var greaterPart = BestVI.gt(max);
21. var lessPart = BestVI.lt(min);
22. var middlePart =ee.Image(1).subtract(greaterPart).subtract(lessPart);
23. //calculate FVC
24. var tempf1=BestVI.subtract(min).divide(max.subtract(min));
25. var FVC=ee.Image(1).multiply(greaterPart).add(ee.Image(0).multiply(lessPart))
26. .add(tempf1.multiply(middlePart))
27. return FVC.rename('FVC');
28. }
29. var FVC=calFVC(mask_water_NDVI,wuhan,10)
30. print(FVC)
31. var chart=ui.Chart.image.histogram({
32. image:FVC,
33. region:wuhan,
34. scale:250,
35. //maxPixels:1e13
36. })
37. print(chart)
38. Export.image.toDrive({
39. image: FVC,
40. description: "wuhan_fvc_2019",
41. scale: 10,
42. region: wuhan.geometry(),
43. maxPixels: 1e13
44. });
————————————————
版权声明:本文为CSDN博主「Pyrs」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_44589327/article/details/107443958
精品视频课程推荐(即买即看) | ||
---|---|---|
1 | 19个章节 | 无人机遥感在农林信息提取中的实现方法与GIS融合应用高级实践课程 |
2 | 9个章节 | 无人机生态环境监测、图像处理与GIS数据分析综合应用实践技术 |
3 | 11个章节 | 土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测专题课程 |
4 | 6个章节 | PROSAIL模型前向模拟与植被参数遥感提取代码实现课程 |
5 | 9个章节 | 植被参数遥感反演与数据同化实践技术应用视频课程 |
6 | 19个章节 | 高光谱遥感数值建模技术及在植被、水体、土壤信息提取领域应用 |
7 | 7个章节 | 长时间序列遥感数据分析与代码实现技术应用 |
视频教程+课件资料及数据代码+导师随行辅导 联系课程专员,最高享受7.5折优惠 |
添加小编微信,海量数据、视频教程免费获取
END
海量数据免费获取
+
Ai尚研修海量资源(数据、课件、书籍、视频教程)一键免费领取
(点击数据标题,直接进入)
土利用数据
上下滚动查看更多
END
超级会员专享
如何成为超级会员:
1.凡参加Ai尚研修收费课程即为超级会员
2.充值3500元即为Ai尚研修超级会员;
超级会员特权:
1.参加直播与现场课程专享400元会员优惠,同时成为Ai尚研修推广大使,推荐参会分享收益。
2.购买Ai尚研修平台导师视频课程(含导师随行长期指导),享受8.5折优惠。
3.免费享受Ai尚研修会议平台中会员专享下视频课程。
4.长期免费参与每月4期针对地学领域简学实用公开课(优先、无门槛)
5.免费参与任何一门课程开设的导师面对面线上答疑交流。
6.Ai尚研修资源站分享中数据免费下载;
7.会员既成为Ai尚研修合作伙伴,可以进行技术文章、视频教程投稿,分享收益红利,同时所在单位可以通过Ai尚研修新媒体平台进行合作及招聘推广。
声明: 本号旨在传播、传递、交流,对相关文章内容观点保持中立态度。涉及内容如有侵权或其他问题,请与本号联系,第一时间做出撤回。
END
Ai尚研修丨专注科研领域
技术推广,人才招聘推荐,科研活动服务
科研技术云导师,Easy Scientific Research