GEE学习笔记(基础篇)更新中

7 篇文章 7 订阅
5 篇文章 1 订阅

一、GEE基础
Image:基础的栅格(raster)数据;
ImageCollection:一系列或一段时间的Image数据集;
Geometry:基础的向量(vector)数据;
Feature:有属性的Geometry数据;
FeatureCollection:一系列Feature数据集;
Reducer:计算统计数据或聚合数据的object
Join:通过时间空间或者属性来组合数据;
Array:可以进行多维的数据分析 作者:还行圣母院 https://www.bilibili.com/read/cv8414359 作者:还行圣母院 出处:bilibili
客户端(client)和服务器端(server)的函数不可混用。
大写字母开头的是名词,小写字母开头的是动词。
使用[]来声明一个列表,可以包含一列数字、字符串或物体(object)。
使用{}来声明一个物体,作为字典或属性的描述。
自定义函数。声明一个函数的名字,后边用这个名字来调用该函数。之后使用function关键字来创建自己的方法,用()括起来需要的形参(argument)名(形参在函数外部不可见),在{}中写函数的功能以及返回值。
物体:

// Use curly brackets {} to make a dictionary of key:value pairs.
var object ={
  foo: 'bar',
  baz: 13,
  stuff: ['this', 'that', 'the other thing']
};
print('Dictionary:', object);
// Access dictionary items using Square brackets.用中括号访问元素
print('Print foo:', object['foo']);
// Access dictionary items using dot notation.用点来访问元素
print('Print stuff:', object.stuff); 

二、
ee.Image()函数创造一个image实例

var image = ee.Image('CGIAR/SRTM90_V4');
//Zoom to a location.放大到目标地点,参数9的意思是缩放等级,越大意味着放大(zoom in)的越厉害。1级就是最大的全球尺度 
spm_id_from=333.999.0.0 
Map.setCenter(-112.8598, 36.2841, 9);

使用Map.addLayer()方法来添加图层

GEE中的每个图像都由一到多个波段组成,每个波段都有name,pixel values(像素的值),pixel
resolution(像素分辨率),和projection(投影)**这四个属性。
当使用Map.setCenter()方法来添加图像时,需要设置如何显示:
如果是单一波段,就显示其灰度值(最小值黑色,最大值白色)(默认值如下:int整形范围为[-32768,
32767];float浮点型拉伸到[0,1];byte比特拉伸到[0,255])。通过打印image这个变量,在console控制台会出现一个object,可以查看其各个属性。

改变图层显示方式:

通过添加Map.setCenter()方法中的另一个参数visParams(数据类型为object)来自定义图层的显示方式。
可以拉伸像素值的最大最小值(可以改变图像对比度); Map.setCenter()方法的第三个参数是图层的名字(字符串)。 通过添加向参数visParams添加palette(调色盘)属性(数据类型为list)给单一波段加颜色

调色盘(Palettes):

调色盘通过一个颜色列表来线性的/渐变的给像素值一个颜色。这个颜色用的是CSS方案,可以直接给定**颜色的名字(比如blue)*或者给出hexadecimal值(比如0000FF)

如:

//给定像素值的最大最小值来拉伸图像

Map.addLayer(image, {min: 0, max: 3000}, 'custom visualization');

//给单波段图像增加颜色,最小值蓝色,最大值红色,中间值线性绿色渐变

Map.addLayer(image, {min: 0, max: 3000, palette: ['blue', 'green', 'red']},  'custom palette'); 

展示RGB图像:

GEE会默认使用多波段图像的前三个波段,按照红绿蓝的顺序拉伸像素值之后展示,默认图像看起来不太好看,需要根据所使用的卫星数据来调整显示的波段(比如Landsat8的真彩色就是B4B3B2对应红绿蓝;假彩色就是B5B4B3对应红绿蓝),并给定合适的拉伸范围

三、图像数学

图像计算

ee.Image类中也有大量的计算方法,例如可以用不同波段来计算(band math or map algebra)
用sin()方法进行三角函数计算 使用add(), subtract(), multiply()方法也可以进行相应计算。

图像统计:

通过使用ee.Reducer类来进行图像的统计计算。比如可以计算某一区域高程的平均值,可以通过多边形工具(polygon
drawing
tools)来选取区域,之后数字化(digitize)这个多边形,点击Exit按钮得到结果。代码界面的上方会出现自动出现import。

GEE中的尺度:

可以通过如下方法获得图像的默认分辨率

var scale = srtm.projection().nominalScale();

如果设定的尺度低于图像默认分辨率,GEE会用最邻近法(nearest neighbor)进行重采样(resample);
如果高于图像默认分辨率,GEE也会做出相应的处理。

计算坡度:

// Load the SRTM 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);
// Convert to radians, compute the sin of the aspect.转化成弧度再计算
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(),
  geometry: polygon,
  scale: 90
});
// Get the mean from the dictionary and print it.
var mean = meanDict.get('elevation');
print('Mean elevation', mean);
  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值