GEE入门1

本文介绍了如何利用Google Earth Engine (GEE)进行图像可视化、基本计算,如坡度和高度角计算,以及图片集的处理,包括合成、遮罩和镶嵌。通过实例演示了如何使用GEE API进行地图操作和数据分析,适合GIS和遥感初学者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍:本系列主要根据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/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值