Google Earth Engine(GEE)实例代码学习五——计算山体阴影(HillShade)
标题
本文分享利用数字高程模型SRTMS数据,模拟太阳方位角由0到360度变化的山体阴影。
首先引入计算山体阴影的计算公式
二、山体阴影计算方法
山体阴影的计算公式如下
(1) Hillshade = cos(Zenith) * cos(Slope)+cos(Azimuth - Aspect) * sin(Slope) * sin(Zenith)
其中,Zenith是太阳天顶角的的弧度数,Slope是某一点的坡度弧度数,Azimuth是指太阳方位角弧度数,Aspect是某一点的坡向弧度数。
实例代码如下
// 首先定义一个函数将度转换为弧度
function radians(img) {return img.toFloat().multiply(Math.PI).divide(180);
}//定义计算山体阴影函数
function hillshade(az, ze, slope, aspect) {var azimuth = radians(ee.Image(az));//太阳方位角var zenith = radians(ee.Image(ze));//太阳天顶角//山体阴影计算公式如上return azimuth.subtract(aspect).cos().multiply(slope.sin()).multiply(zenith.sin()).add(zenith.cos().multiply(slope.cos()));
}//引入GEE自带计算数字高程模型的函数
//‘Terrain’计算得到影像的高程,坡度,坡向,山体阴影
var terrain = ee.Algorithms.Terrain(ee.Image('CGIAR/SRTM90_V4'));
var slope = radians(terrain.select('slope'));
var aspect = radians(terrain.select('aspect'));
//位置大概位于北京
Map.setCenter(116, 39.9, 11);
//模拟太阳方位角从0到360度分别显示
for (var i = 0; i < 360; i += 60) {Map.addLayer(hillshade(i, 60, slope, aspect), {}, i + ' deg');
}
代码运行结果如下
Google Earth Engine(GEE)实例代码学习五——计算山体阴影(HillShade)相关推荐
- Google Earth Engine(GEE)实例代码学习十一——影像全色波段融合提高分辨率(HSV Pan Sharpening)
利用全色波段提高影像分辨率 本文分享如何利用Landsat8全色波段提高影像分辨率 //筛选Landsat8影像云覆盖最少影像 var image = ee.Image(ee.ImageCollect ...
- Google Earth Engine(GEE)实例代码学习十六——绘制经纬网(Pixel Lon Lat)
绘制像元经纬网 本文主要分享如何在图上显示经纬网 //创建具有两个带的图像,分别称为"经度"和"纬度",分别包含每个像素的经度和纬度(以度为单位). var i ...
- GEE(Google Earth Engine) 最基础代码学习笔记二 —— JavaScript 语言
GEE(Google Earth Engine) 学习笔记二 Javascript 语言 1. 注释 print('Hello World!'); 如果要注释,则在代码前面加//,比如: // pri ...
- Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)
下载数据先准备工作(具体细节都能查到):科学上网 谷歌邮箱,谷歌邮箱注册GEE账号. 一:导入需要下载边界shp文件. 标题 找到自己的shp文件,导入除了sbx文件的所有文件. 导入成功 命名ass ...
- Google Earth Engine(GEE)——User memory limit exceeded(2)
上一次我们已经知道如何去进行避免这种错误的发生,有关详细内容,如果单单只是解决这个问题我们用到的是limit 和 first,上一次的博客在这里: (207条消息) Google Earth Engi ...
- Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题
Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题 GEE中 Ctrl+space组合键用于代码输入快捷提示,能够提高编码的准确度和速度,但是, ...
- 使用Google Earth Engine (GEE)实现MODIS数据批量下载
使用Google Earth Engine GEE实现MODIS数据批量下载 前言 下载数据代码 批量执行run任务 关注公众号,分享GIS知识.ArcGIS教程.SCI论文与科研日常等 前言 上图是 ...
- 基于google earth engine(GEE)下载研究区域影像
基于google earth engine(GEE)下载研究区域影像 当研究需要Landsat数据时,我们可以通过USGS官网或者地理空间数据云平台下载.由于地理空间数据云目前无法下载到较新的数据,可 ...
- 全球最大的云计算平台GEE(Google Earth Engine)正确的学习姿势(1)
对于很多人如何再全球使用量最大的云平台上Google Earth Engine进行运算操作,可能到目前都依旧一无所知,不过今天给大家系统的介绍一下GEE平台正确的学习姿势! 首先,如果大家英文水平还可 ...
最新文章
- 中国“神威”获超算排行榜四连冠,却遭外媒质疑
- java 集合类源码分析--collections
- 公网mysql_(看图)为什么无法通过公网登录MySQL?
- NET问答: C# 中是否有 format json 的类库?
- 程序员面试金典 - 面试题 16.21. 交换和(哈希set)
- 程序员面试金典 - 面试题 16.19. 水域大小(BFS/DFS)
- LDAP命令介绍---ldappasswordmodify口令修改操作
- 【读一本书】《昇腾AI处理器架构与编程》--神经网络基础知识(2)
- android在启动时申请电话权限,app默认需要电话和存储权限的问题
- 不能正常判断按键函数中的Flag
- 忍不住笑的笑话(last:20180419)
- a链接下载文件名乱码
- linux pcre路径,PCRE和Nginx安装问题
- 导航标签html,导航标签
- 在手机上进行python开发的软件推荐
- CentOS7安装Nextcloud+ocDownloader+aria2使用Nextcloud网盘做离线下载服务器
- android 10.0 launcher3 app列表隐藏某个app
- 运维(1) Jenkinsfile+Dockerfile+Nginx实现前端Vue自动化部署
- MySql超级详细基础教程
- 开普敦大学快速相关攻击项目的简单使用
热门文章
- 新技术频现NAB Show Shanghai,科技引领未来生活
- MySQL修改字段命令
- 仿京东样式下拉查看图文详情效果
- oracle plsql 字符串长度,plsql中常用字符串函数
- 网卡bond模式配置问题
- oracle优化:instr做join条件很慢
- java字节码是java源文件编译产生的,编译一个定义3个类的Java源文件后,会产生( )个字节码文件。...
- c# chart图表控件总结
- 使用SqlSession
- 我的世界修改等级上限服务器,我的世界:容易误导玩家的五个问题,满级之后将迎来新的开始?...