簡介

Landsat 8是一顆搭載有多光譜遙感儀器的衞星,可以捕捉地表的反射率數據。其中,TOA (Top of Atmosphere) 數據是指觀測到的反射率值,未經過大氣校正。NDVI (Normalized Difference Vegetation Index) 是一種衡量植被生長狀況的指數,可以通過Landsat 8 TOA數據計算得到。本文將介紹如何基於Landsat 8 TOA數據計算大範圍的NDVI指數。

1. 數據準備
首先,需要獲取Landsat 8衞星的TOA數據。這些數據可以從美國地質勘探局(USGS)的Earth Explorer或者其他遙感數據提供商獲取。確保選擇合適的波段數據,包括近紅外(NIR)和紅外(RED)波段。

2. 大氣校正
由於TOA數據受大氣影響,我們需要進行大氣校正來剔除大氣效應。可以使用大氣校正算法,例如6S模型、MODTRAN等。大氣校正可以得到地表的反射率數據。

3. 波段選擇
從校正後的數據中選擇近紅外(NIR)和紅外(RED)波段數據。NIR波段對應的是水體和雲層的反射率較低;而植被的反射率較高。紅外(RED)波段可用於衡量地表的反射率。

4. NDVI計算公式
NDVI可以通過以下公式計算:

NDVI = (NIR - RED) / (NIR + RED)

其中,NIR是近紅外波段反射率,RED是紅外波段反射率。

5. NDVI計算過程
將選擇的NIR和RED波段的反射率代入上述公式中,可得到NDVI值。這個過程可以使用地理信息系統(GIS)軟件,如ArcGIS、QGIS等,進行批量處理。在處理之前,還需進行如下預處理步驟:
- 對數據進行裁剪:裁剪為感興趣區域範圍,以減少計算負擔。
- 進行無效值處理:將無效值(如雲層、陰影、水體等)排除,以確保計算精確性。
- 歸一化處理:將NDVI值歸一化到0-1或其他合適的範圍。

6. NDVI應用
計算得到的NDVI值可以應用於不同的應用領域,例如:
- 植被生長監測:NDVI值可以用於監測植被的生長狀況,如林業、農業等。
- 土地利用/覆蓋分類:NDVI值可以用於判定不同土地覆蓋類型,如林地、草地、水域等。
- 環境監測:NDVI值可以用於監測地表環境變化,如城市擴張、土地退化等。

總結:
基於Landsat 8 TOA數據計算大範圍的NDVI指數需要進行數據準備、大氣校正、波段選擇、NDVI計算公式應用和預處理等步驟。該過程需要使用地理信息系統軟件進行批量處理。計算得到的NDVI值可以應用於植被生長監測、土地利用分類和環境監測等領域。

函數

mosaic(method,scale)

將影像集合融合成為一張影像Image,返回最後一個有像素的Image對象,這裏的mosaic和gee中的略有不同,這裏的鑲嵌主要是鑲嵌,而不是和median等合成附檔是一樣的,所以這裏gve中比gee中少一些函數配置,不過默認情況下是中位數合成。

方法參數

- method( string,optional )

選擇影像鑲嵌的方法,可選,"median|mean|max|min",默認值median

- scale( number,optional )

分辨率,可選,默認300

返回值: Image

ui.Legend(data,style,type,onClick)

這個函數和gee中的不同,主要是在GEE中沒有這樣定製的函數,需要自己來進行寫函數來添加到面板當中, 

方法參數

- data( object,optional )

圖例的組成樣式數據。

- style( object,optional )

在地圖上的位置,數據為對象。right:距離右側的位置,bottom:距離下面的位置,width:寬,height:高

- type( string,optional )

圖例的類型:continue或者classify。

- onClick( function,optional )

點擊回調方法。

返回值: ui.Legend

代碼

/**
 * @File    :   Landsat8_TOA_NDVI
 * @Time    :   2023/02/01
 * @Author  :   GEOVIS Earth Brain
 * @Version :   0.1.0
 * @Contact :   中國(安徽)自由貿易試驗區合肥市高新區望江西路900號中安創谷科技園一期A1樓36層
 * @Desc    :   Landsat8_TOA_NDVI
 * @Name    :   基於Landsat8 TOA數據的大範圍NDVI指數計算
*/
/** */

var chinaGeometry = gve.FeatureCollection('sample/vector/adm/china_sample').first().geometry();

var imageCollection = gve.ImageCollection("LANDSAT_8/02/T1/TOA")
                            .filterBounds(chinaGeometry)
                            .filterDate('2022-05-01','2022-08-31')
                            .select(['B4','B5','QA_PIXEL']);

// 計算大範圍內ndvi指數
var ndvi_China = imageCollection
        //.monthSelected()
        .select(['B4',"B5"])
        .ndvi()
        .mosaic('median');

// 地圖展示
var palette = {"band_rendering":{"pseudocolor":{"colormap":['#FCD163','#66A000','#3E8601','#004C00','#023B01']}}};

var img = ndvi_China.clip(chinaGeometry);
Map.centerObject(img);
var map = Map.addLayer(img, {"min":0,"max":0.8,palette: palette});



//@Ignore
var data = {
    title: "歸一化植被指數NDVI",
    colors: ['#FCD163','#66A000','#3E8601','#004C00','#023B01'],
    labels: ["0", "0.8"],
    step: 30,
};

//@Ignore
var style = {
    right: "0px",
    bottom: "0px",
    height: "80px",
    width: "350px",
};

var legend = ui.Legend(data, style);

Map.addUI(legend);