Google Earth Engine
Dữ liệu thảm phủ toàn cầu, độ phân giải 100m (FREE)
09:19Bả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 có tài khoản Google Earth Engine xem dữ liệu tại đây.
2. Người dùng có 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 productWritten by: Phuong Do, 2020Email: dphuong@gmail.com*///Import datavar dataset = ee.Image("COPERNICUS/Landcover/100m/Proba-V-C3/Global/2019").select('discrete_classification');//Set map center to north VietnamMap.setCenter(105.3693, 21.6221, 8);//Add product to mapMap.addLayer(dataset, {}, "Land Cover 2019");// Create a panel with vertical flow layout.// set position of panelvar legend = ui.Panel({style: {position: 'bottom-left',padding: '8px 15px'}});// Create legend titlevar legendTitle = ui.Label({value: 'Landcover Codes',style: {fontWeight: 'bold',fontSize: '18px',margin: '0 0 4px 0',padding: '0'}});// Add the title to the panellegend.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 panelreturn ui.Panel({widgets: [colorBox, description],layout: ui.Panel.Layout.Flow('horizontal',false)});};// Palette with the colorsvar 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 legendvar 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 namesfor (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);
0 Comments