landsat8波段叠加(layer stacking)
许久没更。最近一直在看IDL,忽略了gdal的学习。
今天做了landsat8的辐射定标,需要通过reflectance gains/bias来进行波段运算。由于landsat8 oli未提供一个完整的叠加数据,所以首先第一步就是要将所有波段进行一个叠加。这里分享一下代码。

解释一下:
首先获取tiff驱动,通过第一个波段读取prj\geotransform,然后创建tiff文件导入这两个信息。
随后遍历文件,每次都打开波段文件,读取数组,随后通过GetRasterBand方法来新增波段,用WriteArray写入数组。
此外,ds.RasterCount可以获取栅格影像的波段数(ds为数据集)。
此外,其实不借助gdal也可以进行波段合成。只要有read/write功能的函数就可以,每次读取一个band,就readasarray,然后存储为一个多维数组再创建tif文件即可。
下次会补充IDL进行波段叠加的方法,毕竟对于笔者这么一个不会写正则表达式的人,相比python,还是在IDL里面进行辐射定标方便一点。
landsat8波段叠加(layer stacking)的更多相关文章
- envi中多波段图层叠加layer stacking
Basic Tools——layer stacking 选择投影和输出的文件 波段1-7波段图层都叠加在一个文件中了
- ENVI提取水系并进行生态敏感性分析
4 具体步骤 4.1 DEM数据拼接 (1)打开ENVI软件,选择[File][Open],添加文件夹DEM数据中的影像,操作如图4.1.1所示,结果如图4.1.2. 图4.1.1 添加DEM数据影像 ...
- [UFLDL] ConvNet
二十三(Convolution和Pooling练习) 三十八(Stacked CNN简单介绍) 三十六(关于构建深度卷积SAE网络的一点困惑) 五十(Deconvolution Network简单理 ...
- 基于Google Earth Engine的全国地表温度反演
国内研究landsat8温度反演的人员很多,但是现有算法一般都是一景为例子,进行开展. 这有一个局限性,当研究的尺度很大时,就需要比较大的运算量了,例如全省温度,全国温度,全球温度,当然大家可能会说, ...
- Landsat8数据不同波段组合的用途
2013年2月11日发射的Landsat系列最新卫星Landsat8,携带有OLI陆地成像仪和TIRS热红外传感器,Landsat8的OLI陆地成像仪包括9个波段,OLI包括了ETM+传感器所有的波段 ...
- FL Studio中的Layer控制器之如何叠加音色
本章节将采用图文结合的方式给大家讲解电音编曲软件FL Studio中的Layer控制器是如何叠加音色的,感兴趣的朋友可以一起进来交流哦. Layer控制器也是FL Studio中一个特别有用的插件,主 ...
- FL Studio入门:如何使用Layer插件叠加音色
Layer控制器也是FL Studio中一个特别有用的插件,主要用来叠加音色,以及通过Layer通道来控制多个打击乐通道. 下面我们一起来看看叠加音色是怎么做出来的. 1.新建一个空白工程,插入3个3 ...
- Cats(4)- 叠加Free程序运算结果,Stacking monadic result types
在前面的几篇关于Free编程的讨论示范中我们均使用了基础类型的运算结果.但在实际应用中因为需要考虑运算中出现异常的情况,常常会需要到更高阶复杂的运算结果类型如Option.Xor等.因为Monad无法 ...
- PIE SDK波段合成
1.算法功能简介 波段合成功能主要用于将多幅图像合并为一个新的多波段图像(即波段的叠加打包,构建一个新的多波段文件),从而可根据不同的用途选择不同波长范围内的波段合成 RGB 彩色图像. PIE支持算 ...
随机推荐
- echarts设置网格线颜色
xAxis: { type: 'value', //设置网格线颜色 splitLine: { show: true, lineStyle:{ color: ['#315070'], width: 1, ...
- asp.net core 基于 JSON 实现多语言
asp.net core 基于 JSON 实现多语言 Intro 上次我们提到了,微软默认提供基于资源文件的多语言本地化,个人感觉使用起来不是太方便,没有 json 看起来直观,于是动手造了一个轮子, ...
- wannafly camp day1
题目描述: 恬恬的生日临近了.宇扬给她准备了一个大 蛋糕. 正如往常一样,宇扬在蛋糕上插了nnn支蜡烛,并把蛋糕分为mmm个区域.因为某种原因,他必须把第iii根蜡烛插在第aia\_iai个区域或第 ...
- VMware Workstation CentOS7 Linux 学习之路(3)--.net coreWeb部署
1.首先创建一个文件夹,命名为core mkdir core cd core 2.我这里用FlashFXP连接Linux 把我发布的项目上传到CentOS7的core文件夹下 此时我输入命令 dotn ...
- “Your build settings specify a provisioning profile with the UUID “”, however, no such provisioning profile was found”
解决方法: 终端命令行输入下面语句,删除所有的Profilescd ~/Library/MobileDevice/Provisioning\ Profiles/rm *.mobileprovision
- JS 头像显示
HTML <div class="form-group"> <label class="col-sm-3 control-label"> ...
- javaweb-codereview 学习记录-4
反射java.lang.Runtime 之前在p牛的知识星球中也学过反射机制调用Runtime来执行命令时需要用getruntime来返回Runtime类的实例,因为Runtime类设计是单例模式,并 ...
- if(a)是什么意思
if(a)等价于 if(a!=0) if(!a)等价于 if(a==0)
- 【Java面试】java基础篇
总结个人的面试经历以及一些网上的的面试题,以供以后面试与巩固java基础. 1.String.StringBuilder和StringBuffer的区别 String用于存储不可变字符串的类,Stri ...
- jade 网上看到一个不错的demo 分享 一下 链接
http://download.csdn.net/detail/sarah1992/9347903 启动的时候 先启动 http://localhost:8080/ 在 node chat 启动 ht ...