一、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);

GEE学习笔记(基础篇)更新中相关推荐

  1. Go语言开发学习笔记(持续更新中)

    Go语言开发学习笔记(持续更新中) 仅供自我学习 更好的文档请选择下方 https://studygolang.com/pkgdoc https://www.topgoer.com/go%E5%9F% ...

  2. MySQL学习笔记-基础篇1

    MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...

  3. Redis学习笔记①基础篇_Redis快速入门

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 资料链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA( ...

  4. C语言学习笔记Day3——持续更新中... ...

    上一篇文章C语言学习笔记Day2--持续更新中- - 八. 容器 1. 一维数组 1.1 什么是一维数组 当数组中每个元素都只带有一个下标(第一个元素的下标为0, 第二个元素的下标为1, 以此类推)时 ...

  5. MySQL学习笔记-基础篇2

    MySQL学习笔记-基础篇2 目录 MySQL学习笔记-基础篇2 8.子查询 8.1 需求分析与问题解决 8.1.1 实际问题 8.1.2 子查询的基本使用 8.1.3 子查询的分类 8.2 单行子查 ...

  6. extlink.php,ExtJs 学习笔记基础篇 Ext组件的使用_extjs

    昨天刚接触到Extjs,简单写了篇学习笔记,今天继续. 天介绍一下Ext中组件举几个简单的例子做说明.注意:文章内容有些摘自本人学习过程中看到的资料. Ext2.0对框架进行了非常大的重构,其中最重要 ...

  7. vins中imu融合_小觅智能 | VINS 学习笔记(持续更新中)

    VINS 基本介绍 VINS-Mono 和 VINS-Mobile 是香港科技大学沈劭劼老师开源的单目视觉惯导 SLAM 方案.2017年发表于<IEEE Transactions on Rob ...

  8. python3多线程编程_Python 3多线程编程学习笔记-基础篇

    本文是学习<Python核心编程>的学习笔记,介绍了Python中的全局解释器锁和常用的两个线程模块:thread, threading,并对比他们的优缺点和给出简单的列子. 全局解释器锁 ...

  9. C++ 学习笔记----基础篇

    (一)类和抽象数据类型   1.通过类实现的接口(公有和私有)可实现信息隐藏.实现对数据的封装等: 2.抽象数据类型(ADT:Abstract Data Type):当一个数据类型仅暴露公有接口,而将 ...

  10. java学习笔记-基础篇

    Java基础篇 1-12 常识 13 this关键字 14参数传递 16 继承 17 访问权限 28-31异常 1-12 常识 1.文件夹以列表展示,显示扩展名,在地址栏显示全路径 2.javac编译 ...

最新文章

  1. .NET中多线程的使用
  2. struts2中welcome-fileindex.action/welcome-file直接设置action,404的解决方案
  3. 神经网络:多层网络与C++实现
  4. 2014蓝桥杯-B-省赛-五-圆周率
  5. 阻塞队列,来写生产者消费者,生产一个消费一个
  6. 对二进制文件的操作(c++ 程序设计 by 谭浩强 课本实例)
  7. android非空验证,Android 非空格式验证框架
  8. WordPress根目录(Root)
  9. 数据结构12: 实践项目之进制转换器
  10. 全局配置_再次强调:必须站在全局的角度去考虑客厅的内机配置
  11. 新stem编程scratch3水果钢琴创意键盘兼容MakeyMakey开源国产盒装使用教程
  12. 掷骰子python代码_掷骰子游戏,,游戏规则:玩家投掷两个骰
  13. mysql左表有右表没有_查询左表存在而右表不存在的记录
  14. 2018年个人学习计划总结
  15. 【AES】基于FPGA的128位AES加解密系统设计实现
  16. Java入门数据类型转换(羊驼)
  17. 概率论与数理统计-离散型随机变量基础知识
  18. 自动提取全部EXCEL sheet 名称
  19. 每个人都应该学的技能 - 如何做出好决定
  20. 【优化求解】基于蝗虫算法求解单目标问题matlab代码

热门文章

  1. cocos2dx-是男人就坚持20s 练手项目
  2. Oracle Smart Flash 新特性性能测试说明
  3. 采用α-β算法实现井字棋游戏
  4. The road to learning English-Grammar
  5. U-boot2022.07 imx6q 移植 - SPL-DTC-DCD
  6. linux--常用命令
  7. 海门开发区机器人项目_点赞!海门“经洽会”现场签约10亿元以上项目21个
  8. 今日头条信息流投放:今日头条怎么开户?多少钱?投放需要注意什么
  9. Python之校庆代码
  10. c语言校车管理系统,交运智慧驾培管理系统