Tìm kiếm

Dữ liệu thảm phủ toàn cầu, độ phân giải 100m (FREE)

Bản đồ lớp phủ độ phân giải 100 m toàn cầu đầu tiên năm 2015 - được phát hành chỉ hơn một năm trước - tiếp tục truyền cảm hứng cho hàng nghì...

Bản đồ lớp phủ độ phân giải 100 m toàn cầu đầu tiên năm 2015 - được phát hành chỉ hơn một năm trước - tiếp tục truyền cảm hứng cho hàng nghìn người dùng với các ứng dụng trong nông nghiệp, đa dạng sinh học & bảo tồn thiên nhiên. 



Ngày 9/9/2020, nhóm kỹ thuật dự án Global Landcover đã phát hành bản cập nhật hàng năm cho bản đồ độ phủ đất toàn cầu 100m, bao gồm giai đoạn 2015-2019, với 23 loại hình thảm phủ cho 10 nhóm thảm phủ chính. 

Đây là nguồn dữ liệu toàn cầu miễn phí có độ phân giải cao nhất từ trước đến nay. Bản đồ được thành lập từ dữ liệu của các vệ tinh Sentinal do Cơ quan Hàng không Vũ trụ Châu Âu thực hiện.

Dữ liệu có thể được tải về bằng nhiều cách và công cụ khác nhau:

1. Sử dụng công cụ Global Land Cover Viewer.
2. Lập trình trên nền tảng Google Earth Engine.
3. Sử dụng công cụ Zenodo Open Science Platform, và
4. Sử dụng Geo-Wiki Platform.

Dưới đây là đoạn mã java phát triển trên môi trường Google Earth Engine, có kèm giao diện người dùng cho bảng chú giải. Sử dụng công cụ này có thể giúp theo dõi nhanh hiện trạng lớp phủ mới nhất năm 2019 trên toàn cầu.

1. Người dùng không tài khoản Google Earth Engine xem dữ liệu tại đây.
2. Người dùng tài khoản Google Earth Engine chạy ứng dụng và lấy mã nguồn tại đây.

Codes chương trình

/*
Demonstration of Copernicus Landcover product
Written by: Phuong Do, 2020
Email: dphuong@gmail.com
*/

//Import data
var dataset = ee.Image("COPERNICUS/Landcover/100m/Proba-V-C3/Global/2019")
.select('discrete_classification');

//Set map center to north Vietnam
Map.setCenter(105.3693, 21.6221, 8);
//Add product to map
Map.addLayer(dataset, {}, "Land Cover 2019");

// Create a panel with vertical flow layout.
// set position of panel
var legend = ui.Panel({
  style: {
    position: 'bottom-left',
    padding: '8px 15px'
  }
});

// Create legend title
var legendTitle = ui.Label({
  value: 'Landcover Codes',
  style: {
    fontWeight: 'bold',
    fontSize: '18px',
    margin: '0 0 4px 0',
    padding: '0'
    }
});
 
// Add the title to the panel
legend.add(legendTitle);
 
// Creates and styles 1 row of the legend.
var makeRow = function(color, name) {
 
      // Create the label that is actually the colored box.
      var colorBox = ui.Label({
        style: {
          backgroundColor: '#' + color,
          // Use padding to give the box height and width.
          padding: '8px',
          margin: '0 0 4px 0'
        }
      });
 
      // Create the label filled with the description text.
      var description = ui.Label({
        value: name,
        style: {margin: '0 0 4px 6px'}
      });
 
      // return the panel
      return ui.Panel({
        widgets: [colorBox, description],
        layout: ui.Panel.Layout.Flow('horizontal',false)
      });
};
 
//  Palette with the colors
var palette =['282828', 'FFBB22', 'FFFF4C','F096FF','FA0000','B4B4B4','F0F0F0','0032C8','0096A0','FAE6A0','58481F','009900','70663E','00CC00','4E751F','007800','666000','8DB400','8D7400','A0DC00','929900','648C00','000080','ffffff'];
 
// name of the legend
var names = ['0 - Unknown','20 - Shrubs','30 - Herbaceous vegetation','40 - Cultivated and managed vegetation / agriculture','50 - Urban / built up','60 - Bare / sparse vegetation','70 - Snow and ice','80 - Permanent water bodies','90 - Herbaceous wetland','100 - Moss and lichen','111 - Closed forest, evergreen needle leaf','112 - Closed forest, evergreen broad leaf','113 - Closed forest, deciduous needle leaf','114 - Closed forest, deciduous broad leaf','115 - Closed forest, mixed','116 - Closed forest, not matching any of the other definitions','121 - Open forest, evergreen needle leaf','122 - Open forest, evergreen broad leaf','123 - Open forest, deciduous needle leaf','124 - Open forest, deciduous broad leaf','125 - Open forest, mixed','126 - Open forest, not matching any of the other definitions','200 - Oceans, seas. Can be either fresh or salt-water bodies','-- Written by: Phương Đỗ, 2020 --'];
 
// Add color and and names
for (var i = 0; i < 24; i++) {
  legend.add(makeRow(palette[i], names[i]));
  }  

// add legend to map (alternatively you can also print the legend to the console)

ui.root.add(legend);







Xem thêm

0 Comments