GEE学习笔记 十八:GEE新界面介绍
GEE学习笔记 十八:GEE新界面介绍
详细信息
GEE重大更新:
1.GEE的工作台UI界面更新
2. GEE支持“模块”导入
这里需要解释一下GEE支持的模块导入是要解决什么问题。在之前我们编写GEE代码的时候存在大量的公共代码,比如计算NDVI值的函数可能在很多文件中调用,我们不得不在每一个文件或者APP中都编写一个计算NDVI值的方法,非常不方便。
在面向对象编程中一个非常重要的东西就是编写公共库,通过公共库可以加快代码编写,减少错误,同时可以支持多人协作。但是之前的GEE并不支持这种方式,但是从今天开始GEE已经初步支持将公共方法编写到一个公共文件中,其它文件通过“require”直接引用就可以了。
下面是一个简单例子,公共库的代码 “module_father”,这里需要注意的是公共库一定要加入“exports”
//landsat8 NDVI
exports.landsat8_ndvi = function(img) {
var ndvi = img.normalizedDifference(["B5","B4"]);
return ndvi;
}
截图:
“module_son“ 使用公共库代码 “module_father”
var module_f = require('users/wangweihappy0/default:demo/module_father');
var landsat8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_RT_TOA');
var roi = ee.Geometry.Point([117.0703125,38.09133660751176]);
var img = ee.Image(landsat8.filterBounds(roi)
.filterDate("2017-01-01", "2017-09-24")
.first());
var result = module_f.landsat8_ndvi(img);
Map.addLayer(result);
Map.centerObject(roi, 10);
截图
运行结果: