介绍:本系列主要根据GEE(geogle earth engine )官方文档并加入自己的看法和理解,各位可通过GEE官方文档查看更完整信息,文末附上官方网址,需要科学上网。
1.可视化条带和图象带
import (1 entries)
var geometry :Polygon , 3vertices
type: Polygon
coordinates: List (1 element)
//通过图像人工标点获取import
var image = ee.Image('CGIAR/SRTM90_V4'); //导入图片位置
Map.setCenter(-112.8598, 36.2841, 9); //经纬度和范围
Map.addLayer(image); //显示图像
//则默认情况下,Earth Engine会以灰度显示波段,其中最小值指定为黑色,
//最大值指定为白色。如果您未指定最小值和最大值,则Earth Engine将使用
//默认值。例如,您刚刚添加到地图的图像将显示为拉伸到整个数据范围的
//灰度图像或带符号的16位整数[-32768、32767]。( 默认情况下float,by
//te频段会拉伸到[0,1 ],频段会拉伸到[0,255])
Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');
//将数据拉伸到[0,3000]
Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']},
'custom palette');
//要使用调色板显示单个波段,请palette向visParams对象添加一个属性
2.简单计算
// Apply an algorithm to an image.
var srtm = ee.Image('CGIAR/SRTM90_V4');
var slope = ee.Terrain.slope(srtm); //计算坡度
Map.setCenter(-112.8598, 36.2841, 9);
Map.addLayer(slope, {min: 0, max :60}, 'slope');
Get the aspect (in degrees).
var aspect = ee.Terrain.aspect(srtm); //获取高度角
var sinImage = aspect.divide(180).multiply(Math.PI).sin();//弧度制
Map.addLayer(sinImage, {min: -1, max: 1}, 'sin');
// Compute the mean elevation in the polygon.
var meanDict = srtm.reduceRegion({ // 图像区域统计
reducer: ee.Reducer.mean(), //reduceh统计方法
geometry: geometry, // 标记区域
scale: 90 // 分辨率
});
// Get the mean from the dictionary and print it.
var mean = meanDict.get('elevation');
print('Mean elevation', mean);
3 图片集
var l8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA');
var spatialFiltered = l8.filterBounds(point);//定点
print("spatialFiltered",spatialFiltered);
var temporalFiltered = spatialFiltered.filterDate('2015-01-01','2015-12-31');//定日期
print('temporalfiltered',temporalFiltered);
// This will sort from least to most cloudy.
var sorted = temporalFiltered.sort('CLOUD_COVER'); //按元素排序
// Get the first (least cloudy) image.
var scene = sorted.first(); //使用最大的
Map.centerObject(scene, 9);
Map.addLayer(scene, {}, 'default RGB');
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3};
Map.addLayer(scene, visParams, 'true-color composite');
var l8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA');
var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31');
Map.addLayer(landsat2016, visParams, 'l8 collection');
4.合成,遮罩,镶嵌
var l8 = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA');
var landsat2016 = l8.filterDate('2016-01-01', '2016-12-31');
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3};
Map.addLayer(landsat2016, visParams, 'l8 collection');
var median = l8.filterDate('2016-01-01', '2016-12-31').median();
var visParams = {bands: ['B4', 'B3', 'B2'], max: 0.3}; //规定显示要求
Map.addLayer(median, visParams, 'median');
// Load or import the Hansen et al. forest change dataset.
var hansenImage = ee.Image('UMD/hansen/global_forest_change_2015');
// Select the land/water mask.
var datamask = hansenImage.select('datamask');
// Create a binary mask.
var mask = datamask.eq(1);
//水的值为2,土地的值为1,“无数据”的值为0
// Update the composite mask with the water mask.
var maskedComposite = median.updateMask(mask);
// 添加掩膜,0出图像透明
Map.addLayer(maskedComposite, visParams, 'masked');
var water = mask.not();
water = water.mask(water);
// Make an image collection of visualization images.
var mosaic = ee.ImageCollection([
median.visualize(visParams),
water.visualize({palette: '000044'}),
]).mosaic();
Map.addLayer(mosaic, {}, 'custom mosaic');
相关函数的解释:
ee.Image 获取图像,后方参数为图片在系统位置,可以通过上方搜索栏找到并搜索
ee.Terrain 获取图像地理信息,内涵方法slope计算坡度,aspect获取高度变化角度
ee.Reducer 图片区域处理,内涵方法mean()中间值 参数2 标记区域 geometry 参数3分辨率scale()
Map 对显示图像进行操作,方法setCenter 确定图像中心,参数为经纬度和操作图像尺度大小,方法addLayer 在原图层基础上添加图层。 参数 1添加的图层 2 指定图层最大最小值调色板(不同波段颜色)可通过层管理器定义 3 图层名字
ee.ImageCollection 获取图像,参数更多
image类存在函数
.divide()除
.multiply()乘
.sin() sin值
.reduceRegion(图像区域统计):参数1 reducer:统计方法
.filterBounds(point) 确定点坐标,参数可以是import的点也可以是经纬度
.filterDate('2015-01-01','2016-01-01')
.sort('a') 图片集按a进行排列
.first()取图片集中相同位置最大值构成图片
.meidan() 取图片集中数值最中间构成图片
.select(a) 取图片集构成新图片集
.eq(1) 新建图像,不为1的全部为0
.updataeMask(a) 添加a掩膜,a为0部分及透明称image原来部分
.visualize 将参数转换为3频段8位图像
.mosaic() 将两者融合
GEE官方网址 :https://code.earthengine.google.com/