Học Google Earth Engine 13. Tính toán các chỉ số NDVI MNDWI SAVI NDBI trên Gee

Học Google Earth Engine 13. Tính toán các chỉ số NDVI MNDWI SAVI NDBI trên Gee

4.2. Tính toán chỉ số – Calculating Indices

Chỉ số Quang phổ là trung tâm của nhiều khía cạnh của viễn thám. Cho dù bạn đang nghiên cứu thảm thực vật hay theo dõi đám cháy – bạn sẽ cần phải tính toán tỷ lệ pixel khôn ngoan của 2 hoặc nhiều dải hơn. Công thức được sử dụng phổ biến nhất để tính chỉ số là Chênh lệch chuẩn hóa giữa 2 dải. Earth Engine cung cấp một hàm trợ giúp normalizedDifference() để giúp tính toán các chỉ số chuẩn hóa, chẳng hạn như Chỉ số Thực vật Khác biệt Chuẩn hóa (NDVI). Đối với các công thức phức tạp hơn, bạn cũng có thể sử dụng hàm biểu thức (expression()) để mô tả phép tính.

 

var s2 = ee.ImageCollection(“COPERNICUS/S2”);

var admin2 = ee.FeatureCollection(“FAO/GAUL_SIMPLIFIED_500m/2015/level2”);

 

var bangalore = admin2.filter(ee.Filter.eq(‘ADM2_NAME’, ‘Bangalore Urban’))

var geometry = bangalore.geometry()

 

var filtered = s2.filter(ee.Filter.lt(‘CLOUDY_PIXEL_PERCENTAGE’, 30))

  .filter(ee.Filter.date(‘2019-01-01’, ‘2019-12-31’))

  .filter(ee.Filter.bounds(geometry))

 

var image = filtered.median(); 

 

// Calculate  Normalized Difference Vegetation Index (NDVI)

// ‘NIR’ (B8) and ‘RED’ (B4)

var ndvi = image.normalizedDifference([‘B8’, ‘B4’]).rename([‘ndvi’]);

 

// Calculate Modified Normalized Difference Water Index (MNDWI)

// ‘GREEN’ (B3) and ‘SWIR1’ (B11)

var mndwi = image.normalizedDifference([‘B3’, ‘B11’]).rename([‘mndwi’]); 

 

// Calculate Soil-adjusted Vegetation Index (SAVI)

// 1.5 * ((NIR – RED) / (NIR + RED + 0.5))

 

// For more complex indices, you can use the expression() function

var savi = image.expression(

    ‘1.5 * ((NIR – RED) / (NIR + RED + 0.5))’, {

      ‘NIR’: image.select(‘B8’),

      ‘RED’: image.select(‘B4’),

}).rename(‘savi’);

 

var rgbVis = {min: 0.0, max: 3000, bands: [‘B4’, ‘B3’, ‘B2’]};

var ndviVis = {min:0, max:1, palette: [‘white’, ‘green’]}

var ndwiVis = {min:0, max:0.5, palette: [‘white’, ‘blue’]}

 

Map.addLayer(image.clip(geometry), rgbVis, ‘Image’);

Map.addLayer(mndwi.clip(geometry), ndwiVis, ‘mndwi’)

Map.addLayer(savi.clip(geometry), ndviVis, ‘savi’

Map.addLayer(ndvi.clip(geometry), ndviVis, ‘ndvi’)

 

MNDWI, SAVI and NDVI images 

4.2.1. Bài tập

var s2 = ee.ImageCollection(“COPERNICUS/S2”);

var admin2 = ee.FeatureCollection(“FAO/GAUL_SIMPLIFIED_500m/2015/level2”);

 

var bangalore = admin2.filter(ee.Filter.eq(‘ADM2_NAME’, ‘Bangalore Urban’))

var geometry = bangalore.geometry()

 

var filtered = s2.filter(ee.Filter.lt(‘CLOUDY_PIXEL_PERCENTAGE’, 30))

  .filter(ee.Filter.date(‘2019-01-01’, ‘2019-12-31’))

  .filter(ee.Filter.bounds(geometry))

 

var image = filtered.median(); 

 

// Exercise

 

// Calculate the Normalized Difference Built-Up Index (NDBI) for the image

// Hint: NDBI = (SWIR1 – NIR) / (SWIR1 + NIR)

// Visualize the built-up area using a ‘red’ palette

// Tính chỉ số tích hợp khác biệt chuẩn hóa (NDBI) cho hình ảnh

// Gợi ý: NDBI = (SWIR1 – NIR) / (SWIR1 + NIR)

// Hình dung khu vực đã xây dựng bằng bảng màu ‘đỏ’

 

4.2.2. Kết quả

var s2 = ee.ImageCollection(“COPERNICUS/S2”);

var admin2 = ee.FeatureCollection(“FAO/GAUL_SIMPLIFIED_500m/2015/level2”);

 

var bangalore = admin2.filter(ee.Filter.eq(‘ADM2_NAME’, ‘Huong Hoa’))

var geometry = bangalore.geometry()

 

var filtered = s2.filter(ee.Filter.lt(‘CLOUDY_PIXEL_PERCENTAGE’, 30))

  .filter(ee.Filter.date(‘2020-01-01’, ‘2020-05-31’))

  .filter(ee.Filter.bounds(geometry))

 

var image = filtered.median(); 

 

// Exercise

 

// Calculate the Normalized Difference Built-Up Index (NDBI) for the image

// Hint: NDBI = (SWIR1 – NIR) / (SWIR1 + NIR)

// Visualize the built-up area using a ‘red’ palette

// Tính chỉ số tích hợp khác biệt chuẩn hóa (NDBI) cho hình ảnh

// Gợi ý: NDBI = (SWIR1 – NIR) / (SWIR1 + NIR)

// Hình dung khu vực đã xây dựng bằng bảng màu ‘đỏ’

 

Xem video hướng dẫn

Recommended For You

About the Author: Admin