日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基于GEE平台的植被覆盖度(FVC)像元二分法计算

發布時間:2024/1/18 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于GEE平台的植被覆盖度(FVC)像元二分法计算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、植被覆蓋度計算方法

????????植被覆蓋度FVC(Fractional?Vegetation?Cover)定義為單位面積內綠色植被冠層垂直投影面積所占比例。FVC是衡量地表植被狀況的重要指標之一,也是區域生態系統環境變化的重要指示,對水文、生態、區域變化等都具有重要意義。

????????像元二分模型主要對規則、均勻、單一的像元進行植被覆蓋度提取。其原理是判定一個單位像元由植被與非植被兩部分組成,而遙感影像中光譜波段組合由這兩個組成部分權重線性合成,各因子的權重等于總像元中所占的比例,總像元中植被權重的集合與植被覆蓋度具有很強的相關性。

????????基于遙感影像得到的全部像元信息S由地表植被覆蓋信息Sveg和地表土壤覆蓋信息Ssoil兩部分組成,公式:

S?= Sveg?+ Ssoil??????????????????????????

????????該像元單位中植被覆蓋的像元比例大小公式:

Sveg?= fc?× Sveg(端元)? ? ? ? ? ? ? ? ? ? ? ??

????????式中,fc表示在此遙感影像的一個像元中地表植被覆蓋信息所占的比例大小。

????????該單位像元中非植被覆蓋度信息公式:

Ssoil?= (1-fc)× Ssoil(端元)? ? ? ? ? ? ? ? ??

????????式中,1-fc表示單位像元中的非植被覆蓋信息比例。

S?= fc×Sveg?+?(1-fc)×Ssoil? ? ? ? ? ? ??

????????即有像元二分模型中的植被覆蓋度(FVC)公式:

FVC = (S?- Ssoil) / (Sveg - Ssoil) ????

????????通常,像元二分法的植被覆蓋度提取會基于NDVI數據計算,即NDVI代替S,公式:

FVC = (NDVI - NDVIsoil) / (NDVIseg?- NDVIsoil)

????????通常情況下,NDVIsoil取值與NDVI累計5%值最接近,NDVIveg取值與NDVI累計95%值最接近。不同區域針對不同植被狀況可適當調整置信區間。

二、FVC計算代碼

// import Puer SHP var roi = ee.FeatureCollection("users/chuanbaojiangpr/puer_merge"); Map.centerObject(roi,10); // Area Display var style ={color:"red",fillColor:"00000000"}; Map.addLayer(roi.style(style),{},"geometry");// remove cirrus cloud shadow and cloud function maskS2clouds(image) {var qa =image.select("QA60");var cloudBitMask = 1<<10;var cirrusBitMask = 1<<11;var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(qa.bitwiseAnd(cirrusBitMask).eq(0));return image.updateMask(mask).divide(10000); } // S2 SR_data var startTime = "2018-11-01"; var endTime = "2019-04-30"; var S2 = ee.ImageCollection("COPERNICUS/S2_SR").filterDate(startTime,endTime).filterBounds(roi).filter(ee.Filter.lt("CLOUDY_PIXEL_PERCENTAGE",10)).map(maskS2clouds).select("B2","B3","B4","B8").median().clip(roi); // min\max:experience threshold var RGBvis = {min:0,max:0.5,bands:["B4","B3","B2"]}; Map.addLayer(S2,RGBvis,"S2");// ndvi var NDVI = S2.expression("(NIR-R)/(NIR+R)",{"R":S2.select(["B4"]),"NIR":S2.select(["B8"])}); // sort pixels(downSample,because maxPixels allows only 10000000) var threshold = NDVI.reduceRegion({reducer:ee.Reducer.percentile([5,95]),geometry:roi.geometry().bounds(),// must downsample , in order to caculate onlinescale:110// maxPixels:1e13 }); // debug and get the valName-B8 // print(threshold) var NDVI_5 = ee.Number(threshold.get("B8_p5")); var NDVI_95 = ee.Number(threshold.get("B8_p95")); // var RGBvis = {min:-0.5,max:1}; // Map.addLayer(NDVI,RGBvis,"NDVI");// FVC var imgFVC = ((NDVI.subtract(ee.Image(NDVI_5))).divide(ee.Image(NDVI_95).subtract(ee.Image(NDVI_5)))).float(); // normalize FVC 0-1 var FVC = (imgFVC.lt(0).multiply(0)).add((imgFVC.gt(0).and(imgFVC.lte(1))).multiply(imgFVC)).add(imgFVC.gt(1).multiply(1)); // rank and colormap var FVC_rank = FVC.where(FVC.lt(0.2),1).where((FVC.gte(0.2).and(FVC.lt(0.4))),2).where((FVC.gte(0.4).and(FVC.lt(0.6))),3).where((FVC.gte(0.6).and(FVC.lt(0.8))),4).where(FVC.gt(0.8),5); // Map.addLayer(FVC_rank,{min:1,max:5,palette:["DCDCDC","FFEBCD","99B718","529400","011301"]},"FVC_rank")// Export FVC_rank Export.image.toDrive({image:FVC_rank,description:"FVC_dry_2018",folder:"users/chuanbaojiangpr/DataGET/Image",fileFormat:"GeoTIFF",region:roi,scale:110,crs:"EPSG:4326" });

三、計算過程遇到的問題與解決方法

(一)計算像素數超限

? ? ? ? ?解決方法:①在統計整幅NDVI影像的NDVIsoil、NDVIveg近似值時,采用分塊計算處理方法[4];②采用重采樣統計處理,降低計算像素的空間分辨率,使其重采樣后最大像素在1e13數量內(存在較大誤差)。

(二)導出影像數據像素大小(空間分辨率)無法與Sentinel-2 MSI 可見光-近紅外10m保持一致

? ? ? ? 解決方法:重采樣,將影像10m空間分辨率降低至110m。

參考資料:

[1]?GEE項目代碼整理篇(GEE快速入門) - 知乎

[2]?https://developers.google.com/earth-engine/apidocs

[3] 百度百科

[4]?GEE:內存超限?將研究區劃分成規則的小塊運算_gee分塊計算__養樂多_的博客-CSDN博客

總結

以上是生活随笔為你收集整理的基于GEE平台的植被覆盖度(FVC)像元二分法计算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。