Giới thiệu về dữ liệu thay đổi rừng toàn cầu của Hansen và cộng sự

Hansen và cộng sự (2013) Tập dữ liệu Thay đổi rừng toàn cầu trong Earth Engine thể hiện sự thay đổi đối với rừng, ở độ phân giải 30 mét, trên toàn cầu, trong khoảng thời gian từ năm 2000 đến năm 2014. Hãy bắt đầu bằng cách thêm dữ liệu của Hansen và cộng sự vào bản đồ. Nhập dữ liệu thay đổi rừng toàn cầu (tìm hiểu thêm về cách tìm kiếm và nhập tập dữ liệu) bằng cách tìm "Hansen forest" và đặt tên cho dữ liệu nhập là gfc2014, hoặc sao chép mã sau vào Trình chỉnh sửa mã:

Trình soạn thảo mã (JavaScript)

var gfc2014 = ee.Image('UMD/hansen/global_forest_change_2015');
Map.addLayer(gfc2014);

Nhấp vào nút Run (Chạy) ở đầu Trình chỉnh sửa mã và bạn sẽ thấy một nội dung tương tự như Hình 1.

forest change default
Hình 1. Hình ảnh hoá mặc định về dữ liệu thay đổi của rừng do Hansen và cộng sự (2013) cung cấp.

Đừng lo, bạn sẽ sớm làm cho nó trông đẹp hơn. (Tìm hiểu thêm về hình ảnh trực quan mặc định trong Earth Engine). Đến cuối phần này, bạn sẽ có một hình ảnh tương tự như Hình 2, trong đó màu xanh lục biểu thị nơi nghiên cứu phát hiện thấy rừng vào năm 2000, màu đỏ là ước tính về tình trạng mất rừng trong thời gian nghiên cứu, màu xanh dương là tình trạng tăng diện tích rừng trong thời gian đó, màu đỏ tươi là những khu vực vừa mất rừng vừa tăng diện tích rừng và các khu vực không có rừng sẽ bị che khuất.

forest change custom
Hình 2. Hình ảnh tuỳ chỉnh về dữ liệu thay đổi của rừng do Hansen và cộng sự (2013) cung cấp.

Hãy nhớ rằng khi một hình ảnh nhiều dải được thêm vào bản đồ, 3 dải đầu tiên của hình ảnh sẽ được chọn lần lượt là màu đỏ, màu xanh lục và màu xanh dương, đồng thời được kéo giãn theo kiểu dữ liệu của từng dải. Lý do khiến hình ảnh có màu đỏ là do 3 dải tần đầu tiên là treecover2000, lossgain. Dải treecover2000 được biểu thị bằng tỷ lệ phần trăm và có giá trị cao hơn nhiều so với loss (màu xanh lục) và gain (màu xanh lam) là nhị phân ({0, 1}). Do đó, hình ảnh sẽ hiển thị màu đỏ áp đảo.

Các dải trong dữ liệu Thay đổi rừng trên toàn cầu là:

Tên ban nhạcMô tảPhạm vi
treecover2000Tỷ lệ phần trăm độ che phủ của cây trong pixel.0 - 100
thua 1 nếu tổn thất xảy ra trong thời gian nghiên cứu. 0 hoặc 1
tăng1 nếu có tăng cân trong thời gian nghiên cứu. 0 hoặc 1
lossyearNăm xảy ra tổn thất, được lập chỉ mục từ năm 2001 hoặc bằng 0 nếu không xảy ra tổn thất.0 – 12
first_b30Dải tần màu đỏ của Landsat 7 được tạo từ các pixel hợp lệ đầu tiên vào năm 2000 (hoặc cũ hơn nếu không có pixel hợp lệ nào vào năm 2000). 0 – 255
first_b40Dải hồng ngoại gần của Landsat 7 được tạo từ các pixel hợp lệ đầu tiên vào năm 2000.0 – 255
first_b50Băng tần hồng ngoại sóng ngắn Landsat 7 đầu tiên được tạo từ các pixel hợp lệ đầu tiên vào năm 2000.0 – 255
first_b70Dải hồng ngoại sóng ngắn thứ hai của Landsat 7 được tạo từ các pixel hợp lệ đầu tiên vào năm 2000.0 – 255
last_b30Dải màu đỏ của Landsat 7 được tạo từ các pixel hợp lệ mới nhất vào năm 2012. 0 – 255
last_b40Dải hồng ngoại gần của Landsat 7 được tạo từ các pixel hợp lệ mới nhất vào năm 2012.0 – 255
last_b50Dải hồng ngoại sóng ngắn Landsat 7 đầu tiên được tạo từ các pixel hợp lệ mới nhất năm 2012.0 – 255
last_b70Dải hồng ngoại sóng ngắn thứ hai của Landsat 7 được tạo từ các pixel hợp lệ mới nhất năm 2012.0 – 255
datamaskKhông có dữ liệu (0), bề mặt đất được lập bản đồ (1) và vùng nước cố định (2).0, 1, 2

Để hiển thị độ che phủ rừng vào năm 2000 dưới dạng hình ảnh thang độ xám, bạn có thể sử dụng dải treecover2000, được chỉ định trong đối số thứ hai cho Map.addLayer():

Trình soạn thảo mã (JavaScript)

Map.addLayer(gfc2014, {bands: ['treecover2000']}, 'treecover2000');

Kết quả là một hình ảnh có dạng như Hình 3.

Lớp phủ cây xanh ở Hoa Kỳ
Hình 3. Hình ảnh ở chế độ thang màu xám về độ che phủ của cây xanh năm 2000 ở Hoa Kỳ.

Đây là hình ảnh sử dụng 3 dải tần, dải tần 5, 4 và 3 của Landsat cho năm 2015. Sự kết hợp giữa các dải tần này cho thấy thảm thực vật khoẻ mạnh có màu xanh lục và đất có màu hoa cà::

Trình soạn thảo mã (JavaScript)

Map.addLayer(
    gfc2014, {bands: ['last_b50', 'last_b40', 'last_b30']}, 'false color');

Kết quả sẽ có dạng như Hình 4.

Màu giả của Hoa Kỳ
Hình 4. Ảnh tổng hợp màu giả của Hoa Kỳ chụp bằng Landsat 7, năm 2015.

Một hình ảnh trực quan đẹp mắt về tập dữ liệu Global Forest Change cho thấy phạm vi rừng vào năm 2000 là màu xanh lục, tình trạng mất rừng là màu đỏ và tình trạng tăng rừng là màu xanh lam. Cụ thể, hãy đặt loss là dải tần thứ nhất (đỏ), treecover2000 là dải tần thứ hai (xanh lục) và gain là dải tần thứ ba (xanh dương):

Trình soạn thảo mã (JavaScript)

Map.addLayer(gfc2014, {bands: ['loss', 'treecover2000', 'gain']}, 'green');

Các giá trị của dải tần số suy hao và tăng là nhị phân, nên chúng sẽ hầu như không xuất hiện trên hình ảnh. Hình ảnh sẽ có dạng như Hình 5.

Tỷ lệ cây xanh bao phủ ở Hoa Kỳ
Hình 5. Tỷ lệ bao phủ của tán cây năm 2000 ở Hoa Kỳ (màu xanh lục).

Chúng tôi muốn tình trạng mất rừng xuất hiện dưới dạng màu đỏ tươi và tình trạng tăng diện tích rừng xuất hiện dưới dạng màu xanh dương tươi. Để khắc phục vấn đề này, chúng ta có thể dùng tham số trực quan hoá max để đặt phạm vi mà dữ liệu hình ảnh được kéo giãn. Xin lưu ý rằng tham số trực quan hoá max nhận một danh sách các giá trị, tương ứng với giá trị tối đa cho từng dải tần:

Trình soạn thảo mã (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['loss', 'treecover2000', 'gain'],
  max: [1, 255, 1]
}, 'forest cover, loss, gain');

Kết quả sẽ có dạng như Hình 6.

Sự thay đổi của rừng ở Hoa Kỳ
Hình 6. Tình trạng mất rừng ở Hoa Kỳ (màu đỏ), độ che phủ rừng năm 2000 (màu xanh lục) và độ tăng (màu xanh dương).

Điều này tạo ra một hình ảnh có màu xanh lục ở nơi có rừng, màu đỏ ở nơi rừng bị mất, màu xanh dương ở nơi rừng tăng lên và màu đỏ tía ở nơi vừa tăng vừa mất. Tuy nhiên, khi quan sát kỹ hơn, bạn sẽ thấy rằng hình ảnh này không hoàn toàn chính xác. Thay vì được đánh dấu là màu đỏ, tổn thất sẽ có màu cam. Điều này là do các điểm ảnh màu đỏ tươi trộn lẫn với các điểm ảnh màu xanh lục bên dưới, tạo ra các điểm ảnh màu cam. Tương tự, những pixel có rừng, mất rừng và tăng rừng có màu hồng – sự kết hợp giữa màu xanh lục, đỏ tươi và xanh dương tươi. Hãy xem Hình 7 để biết ví dụ minh hoạ.

Thay đổi rừng ở Tây Bắc Thái Bình Dương
Hình 7. Tình trạng mất rừng (màu đỏ) ở vùng Tây Bắc Thái Bình Dương của Hoa Kỳ, độ che phủ (màu xanh lục) và mức tăng (màu xanh dương) vào năm 2000.

Để có được hình ảnh như đã hứa ở đầu hướng dẫn, bạn có thể tạo các hình ảnh riêng biệt cho rừng, tổn thất, lợi nhuận và cho cả tổn thất và lợi nhuận. Thêm từng hình ảnh này vào bản đồ theo thứ tự phù hợp nhất để hiển thị.

Bảng màu

Để hiển thị từng hình ảnh dưới dạng một màu riêng biệt, bạn có thể sử dụng tham số palette của Map.addLayer() cho hình ảnh một dải tần. Bảng màu cho phép bạn đặt bảng phối màu mà hình ảnh sẽ hiển thị (tìm hiểu thêm về bảng màu). Hãy nhớ lại từ hướng dẫn về Earth Engine API rằng các màu trong bảng màu được kéo dài tuyến tính đến minmax.

Ví dụ: để sử dụng bảng màu xanh lục để hiển thị hình ảnh phạm vi rừng, bạn có thể sử dụng:

Trình soạn thảo mã (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00']
}, 'forest cover palette');

Kết quả sẽ có dạng như Hình 8.

forest extent NA
Hình 8. Diện tích rừng năm 2000 ở Bắc Mỹ.

Khi phóng to, bạn sẽ thấy rõ hơn độ phân giải của hình ảnh. Hình 9 cho thấy một khu vực xung quanh Mariscal Estigarribia ở Paraguay.

diện tích rừng ở Paraguay
Hình 9. Lớp phủ cây xanh năm 2000 xung quanh Mariscal Estigarribia ở Paraguay.

Hình ảnh trong Hình 3 hơi tối. Vấn đề là dải treecover2000 có kiểu dữ liệu byte ([0, 255]), trong khi thực tế các giá trị là tỷ lệ phần trăm ([0, 100]). Để làm sáng hình ảnh, bạn có thể đặt các tham số min và/hoặc max cho phù hợp. Sau đó, bảng màu sẽ được kéo giãn giữa các điểm cực trị đó.

Trình soạn thảo mã (JavaScript)

Map.addLayer(gfc2014, {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover percent');

Kết quả sẽ có dạng như Hình 9. Xin lưu ý rằng trong ví dụ này, chỉ có max được đặt. Theo mặc định, min là 0.

Paraguay bị kéo giãn
Hình 9. Lớp phủ rừng năm 2000 xung quanh Mariscal Estigarribia ở Paraguay, được kéo dài thành [0, 100].

Tạo mặt nạ

Tất cả hình ảnh đã hiển thị cho đến nay đều có các vùng màu đen lớn, nơi dữ liệu bằng 0. Ví dụ: không có cây nào ở đại dương. Để làm cho các vùng này trong suốt, bạn có thể che giá trị của chúng. Mỗi pixel trong Earth Engine đều có cả giá trị và mặt nạ. Hình ảnh được kết xuất với độ trong suốt do mặt nạ đặt, trong đó 0 là hoàn toàn trong suốt và 1 là hoàn toàn mờ.

Bạn có thể dùng chính hình ảnh đó để tạo mặt nạ. Ví dụ: nếu bạn che phủ dải treecover2000 bằng chính nó, tất cả các khu vực không có độ che phủ rừng sẽ trong suốt:

Trình soạn thảo mã (JavaScript)

Map.addLayer(gfc2014.mask(gfc2014), {
  bands: ['treecover2000'],
  palette: ['000000', '00FF00'],
  max: 100
}, 'forest cover masked');

Kết quả sẽ có dạng như Hình 10.

Lớp phủ cây ở Châu Mỹ
Hình 10. Tỷ lệ cây xanh bao phủ năm 2000, được kéo giãn và che phủ.

Ví dụ:

Bạn gần như có thể tạo một hình ảnh trực quan về dữ liệu của Hansen giống như hình ảnh ở đầu hướng dẫn. Trong ví dụ này, chúng ta sẽ kết hợp mọi thứ với một điểm khác biệt nhỏ. Thay vì chỉ định tham số bands trong lệnh gọi Map.addLayer, chúng ta sẽ tạo hình ảnh mới bằng cách sử dụng select():

Trình soạn thảo mã (JavaScript)

var treeCover = gfc2014.select(['treecover2000']);
var lossImage = gfc2014.select(['loss']);
var gainImage = gfc2014.select(['gain']);

// Add the tree cover layer in green.
Map.addLayer(treeCover.updateMask(treeCover),
    {palette: ['000000', '00FF00'], max: 100}, 'Forest Cover');

// Add the loss layer in red.
Map.addLayer(lossImage.updateMask(lossImage),
            {palette: ['FF0000']}, 'Loss');

// Add the gain layer in blue.
Map.addLayer(gainImage.updateMask(gainImage),
            {palette: ['0000FF']}, 'Gain');

Kết quả sẽ có dạng như Hình 11.

Châu Mỹ
Hình 11. Tình trạng mất rừng (màu đỏ), diện tích rừng năm 2000 (màu xanh lục) và diện tích rừng tăng lên (màu xanh dương).

Quan sát thấy có 3 lệnh gọi addLayer(). Mỗi lệnh gọi addLayer() sẽ thêm một lớp vào bản đồ. Khi bạn di chuột lên nút Lớp ở phía trên bên phải của bản đồ, các lớp này sẽ xuất hiện. Bạn có thể bật hoặc tắt từng lớp bằng cách dùng hộp đánh dấu bên cạnh lớp đó. Độ mờ của lớp có thể bị ảnh hưởng bởi thanh trượt bên cạnh tên lớp.

Chúng tôi sắp tạo được hình ảnh xuất hiện ở đầu hướng dẫn. Tuy nhiên, lớp hiển thị các pixel vừa bị mất vừa được tăng cường lại bị thiếu. Thiếu thông tin này vì chúng ta cần biết cách thực hiện một số phép tính trên các dải hình ảnh trước khi có thể tính toán những pixel nào cho thấy cả sự mất mát và tăng trưởng. Đây là chủ đề của phần tiếp theo.