标题

本文分享利用数字高程模型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)相关推荐

  1. Google Earth Engine(GEE)实例代码学习十一——影像全色波段融合提高分辨率(HSV Pan Sharpening)

    利用全色波段提高影像分辨率 本文分享如何利用Landsat8全色波段提高影像分辨率 //筛选Landsat8影像云覆盖最少影像 var image = ee.Image(ee.ImageCollect ...

  2. Google Earth Engine(GEE)实例代码学习十六——绘制经纬网(Pixel Lon Lat)

    绘制像元经纬网 本文主要分享如何在图上显示经纬网 //创建具有两个带的图像,分别称为"经度"和"纬度",分别包含每个像素的经度和纬度(以度为单位). var i ...

  3. GEE(Google Earth Engine) 最基础代码学习笔记二 —— JavaScript 语言

    GEE(Google Earth Engine) 学习笔记二 Javascript 语言 1. 注释 print('Hello World!'); 如果要注释,则在代码前面加//,比如: // pri ...

  4. Google Earth Engine(GEE)批量下载代码(以 NDVI数据为例)

    下载数据先准备工作(具体细节都能查到):科学上网 谷歌邮箱,谷歌邮箱注册GEE账号. 一:导入需要下载边界shp文件. 标题 找到自己的shp文件,导入除了sbx文件的所有文件. 导入成功 命名ass ...

  5. Google Earth Engine(GEE)——User memory limit exceeded(2)

    上一次我们已经知道如何去进行避免这种错误的发生,有关详细内容,如果单单只是解决这个问题我们用到的是limit 和 first,上一次的博客在这里: (207条消息) Google Earth Engi ...

  6. Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题

    Google Earth Engine(GEE) 01-中输入提示快捷键Ctrl+space无法使用的问题 GEE中 Ctrl+space组合键用于代码输入快捷提示,能够提高编码的准确度和速度,但是, ...

  7. 使用Google Earth Engine (GEE)实现MODIS数据批量下载

    使用Google Earth Engine GEE实现MODIS数据批量下载 前言 下载数据代码 批量执行run任务 关注公众号,分享GIS知识.ArcGIS教程.SCI论文与科研日常等 前言 上图是 ...

  8. 基于google earth engine(GEE)下载研究区域影像

    基于google earth engine(GEE)下载研究区域影像 当研究需要Landsat数据时,我们可以通过USGS官网或者地理空间数据云平台下载.由于地理空间数据云目前无法下载到较新的数据,可 ...

  9. 全球最大的云计算平台GEE(Google Earth Engine)正确的学习姿势(1)

    对于很多人如何再全球使用量最大的云平台上Google Earth Engine进行运算操作,可能到目前都依旧一无所知,不过今天给大家系统的介绍一下GEE平台正确的学习姿势! 首先,如果大家英文水平还可 ...

最新文章

  1. 中国“神威”获超算排行榜四连冠,却遭外媒质疑
  2. java 集合类源码分析--collections
  3. 公网mysql_(看图)为什么无法通过公网登录MySQL?
  4. NET问答: C# 中是否有 format json 的类库?
  5. 程序员面试金典 - 面试题 16.21. 交换和(哈希set)
  6. 程序员面试金典 - 面试题 16.19. 水域大小(BFS/DFS)
  7. LDAP命令介绍---ldappasswordmodify口令修改操作
  8. 【读一本书】《昇腾AI处理器架构与编程》--神经网络基础知识(2)
  9. android在启动时申请电话权限,app默认需要电话和存储权限的问题
  10. 不能正常判断按键函数中的Flag
  11. 忍不住笑的笑话(last:20180419)
  12. a链接下载文件名乱码
  13. linux pcre路径,PCRE和Nginx安装问题
  14. 导航标签html,导航标签
  15. 在手机上进行python开发的软件推荐
  16. CentOS7安装Nextcloud+ocDownloader+aria2使用Nextcloud网盘做离线下载服务器
  17. android 10.0 launcher3 app列表隐藏某个app
  18. 运维(1) Jenkinsfile+Dockerfile+Nginx实现前端Vue自动化部署
  19. MySql超级详细基础教程
  20. 开普敦大学快速相关攻击项目的简单使用

热门文章

  1. 新技术频现NAB Show Shanghai,科技引领未来生活
  2. MySQL修改字段命令
  3. 仿京东样式下拉查看图文详情效果
  4. oracle plsql 字符串长度,plsql中常用字符串函数
  5. 网卡bond模式配置问题
  6. oracle优化:instr做join条件很慢
  7. java字节码是java源文件编译产生的,编译一个定义3个类的Java源文件后,会产生( )个字节码文件。...
  8. c# chart图表控件总结
  9. 使用SqlSession
  10. 我的世界修改等级上限服务器,我的世界:容易误导玩家的五个问题,满级之后将迎来新的开始?...