Xây dựng bản đồ ngập lụt độ sử dụng ảnh Sentinel-2

Xây dựng bản đồ ngập lụt độ phân giải cao sử dụng ảnh Sentinel-2

Sentinel – 2 là vệ tinh không gian giám sát trái đất do ESA phát triển để hỗ trợ các dịch vụ như: theo dõi rừng, sự thay đổi lớp phủ, và quản lý thiên tai. Hệ thống này bao gồm 2 vệ tinh (2A và 2B), toàn bộ dữ liệu thu nhận được của vệ tinh này được lưu trữ trên hệ thống của Google Earth Engine.

Step 1:Gõ từ “Sentinel-2” vào mục search và open mở cửa sổ Sentinel-2 xuất hiện như ảnh dưới đây:.

s2

Questions 1: Độ phân giải lớn nhất và nhỏ nhất của dữ liệu Sentinel-2 là bao nhiêu?

Question 2: Khoảng thời gian có bộ dữ liệu Sentinel-2 bao phủ?

Question 3: So sánh các band (kênh ảnh) của Sentinel-2 với các band của Landsat-8. Giống và khác nhau như thế nào?

Step 2: Nhấn nút Import để nhập dữ liệu là tập hợp ảnh và đặt tên là S2.

Step 3: Copy bản mẫu (template) vào 1 script mới và điền các thông tin chi tiết về tác giả, thời gian và địa chỉ liên lạc.

Step 4: I Import fusion table (file vector) của lưu vực sông Cả hoặc fusion table của bạn vào lệnh dưới đây: here.

// import the sub basins as a fusion table
var Ca = ee.FeatureCollection('ft:11uQewh4u7NFXneH99YPs6P9F1Au6wxBq959BZWt_','geometry');

Step 5. Định nghĩa khoảng thời gian bằng câu lệnh dưới đây:

// filter data and location
var images = s2.filterDate('2016-02-01', '2016-03-31')
                     .filterBounds(Ca);

Question 4:Hãy in tập hợp ảnh mà bạn mới tạo ra. Và cho biết độ phân giải thời gian (Temporal resolution) của vệ tinh Sentinel-2 đối với khu vực này ?

Step 6: Hãy áp dụng hàm dưới đây để loại bỏ mây

// cloudMask
function cloudMask(im) {
  // Opaque and cirrus cloud masks cause bits 10 and 11 in QA60 to be set,
  // so values less than 1024 are cloud-free
  var mask = ee.Image(0).where(im.select('QA60').gte(1024), 1).not();
  return im.updateMask(mask);
}

// remove clouds for all images
images = images.???(cloudMask);

Step 7: Hiển thị ảnh với tổ hợp màu thực.

// Add to map
Map.centerObject(NgheAn, 8);
Map.addLayer(images.min().clip(NgheAn), {bands: ['??', '??', '??'], max: 2048}, 's2 image Feb-Mar 2016');

Step 8: Tính chỉ số khác biệt về nước (NDWI – Normalised Difference Water Index) từ ảnh Sentinel .

// calculate ndwi from sentinel
function s2ndwi(img){
  var ndwi = img.normalizedDifference(['??', '??']).rename('NDWI');
  return img.addBands(ndwi);
}
// run ndwi on all images
images = images.map(??);

Step 9: Chọn giá trị cao nhất trong tập hợp

// select maximum NDWI
var s2ndwi = images.select("NDWI").??;

Step 10: Chọn tất cả các pixel có giá trị lớn hơn 0.1

// set the threshold
var THRESHOLD = 0.1;
// select pixels greater than threshold
s2ndwi = s2ndwi.gt(THRESHOLD);

Step 11: Hiển thị ảnh theo bảng màu (Pallette ) quy định

// set visualization
var ndwi_viz = {bands:"NDWI", min:??, max:??, palette:"000000,0000FF"};
// add the map as a layer
Map.addLayer(s2ndwi.updateMask(s2ndwi).clip(NgheAn), ndwi_viz , 'ndwi');

Question 6: Chạy lại script của mình cho các thời kỳ khác nhau. Bạn nhận thấy có những khác biệt gì?

5 comments

      1. Dear thisearthsite

        I am Tuyen, and I am very interested in Google Earth Engine. Currently, I am preprocessing Sentinel-1 data, and I am not sure if Sentinel-1 data in GEE are orbitally, calibratrically, terrain corrected? Also, how can I get the Amplitude value like in SNAP?

        Thank you,

        Like

Leave a Reply