IDL 计算TVDI
介绍请看:http://blog.sina.com.cn/s/blog_764b1e9d0100wdrr.html
源码:
IDL 源码PRO TVDI,NDVI,LST,NBINS,RES
RES = -1 SZ1 = SIZE(NDVI,/DIMENSIONS)
SZ2 = SIZE(LST,/DIMENSIONS)
IF N_ELEMENTS(SZ1) NE 2 OR N_ELEMENTS(SZ2) NE 2 THEN RETURN
IF TOTAL(ABS(SZ1 - SZ2)) NE 0 THEN RETURN
IF ~ISA(NDVI,/NUMBER) AND ~ISA(LST,/NUMBER) THEN RETURN ;FIND DYR WET PTS
RANGE = [0.0,1.0]
NPT_FILTER = 200
PTS = 50
DRY_PTS = [0]
WET_PTS = [0] IDX = FLOOR(NDVI * NBINS)
FOR I = 0, NBINS DO BEGIN
PT = WHERE(IDX EQ I,CNT)
IF(CNT GT NPT_FILTER) THEN BEGIN
II = SORT(LST[PT])
DRY_PTS = [ DRY_PTS,PT[II[INDGEN(PTS)]] ]
WET_PTS = [ WET_PTS,PT[II[-INDGEN(PTS)]] ]
ENDIF
END IF N_ELEMENTS(DRY_PTS) LE 1 THEN RETURN DRY_PTS = DRY_PTS[1:*]
WET_PTS = WET_PTS[1:*] WET = LINFIT(NDVI[WET_PTS],LST[WET_PTS])
DRY = LINFIT(NDVI[DRY_PTS],LST[DRY_PTS]) GOOD = WHERE(NDVI GE RANGE[0] AND NDVI LE RANGE[1],CNT)
IF CNT LE 0 THEN RETURN RES = MAKE_ARRAY(SIZE = SIZE(NDVI))
RES[GOOD] = (LST - POLY(NDVI[GOOD],WET)) / (POLY(NDVI[GOOD],DRY) - POLY(NDVI[GOOD],WET) ) END
说明:
主要是如何求得散点图上下两条边,我的策略是竖着切开散点,分作n个柱子。每个柱子如果总点数大于200,就统计最大最小的50个点作为干湿边的组成部分。
sort排序函数,where查找满足条件的元素的下标和个数,linefit线性拟合,poly根据拟合结果和x求得y。具体的多看帮助,那里说的详细,还有例子。
IDL 计算TVDI的更多相关文章
- IDL计算儒略日
遥感数据还有一些文章中使用数据的时候,经常使用儒略日(Julian day),即计算该天是一年中的第几天.正好有时间,就用IDL写了段儿小代码,方便使用. ;+ ; :Author: caoz ...
- IDL数组计算
函数 作用 min 最小值 max 最大值 total 求和 stddev 标准差 mean 平均值
- Storm分布式实时流计算框架相关技术总结
Storm分布式实时流计算框架相关技术总结 Storm作为一个开源的分布式实时流计算框架,其内部实现使用了一些常用的技术,这里是对这些技术及其在Storm中作用的概括介绍.以此为基础,后续再深入了解S ...
- IDL中histogram的应用
前面一段时间在使用Histogram时一直是不能更好的理解其中的奥秘,通过阅读帮助以及查看相应的文档,终于理解了其中的玄机,很多时候是因为在学习的时候英文不知道翻译成什么样的内容比较合理,这样就给后面 ...
- IDL简介与corba入门案例
IDL接口定义语言简介 IDL用中立语言的方式进行描述,能使软件组建(不同语言编写的)间相互通信. IDL提供了一个桥来连接不同的系统. Corba 上的服务用IDL描述,将被映射为某种程序设计语 ...
- IDL与C#混合编程技术
C# (C Sharp)是微软公司在2000年6月发布的一种新的编程语言.C#与Java有很多的相似之处,包括了诸如单一继承.界面.与Java几乎同样的语法,和编译成中间代码再运行的过程.它又借鉴了D ...
- ENVI/IDL与ArcGIS集成开发的三种途径
转载:本文来自ENVI5.0-IDL8.2系列产品白皮书_201303.PDF(Esri中国官网可下载)中P7-P10 ENVI 是一个非常开放的平台,提供一个健全的函数库,几乎涵盖ENVI 平台大部 ...
- IDL绘制黑体辐射曲线
普朗克定律是热红外遥感中常常使用的三大定律之一,描述了黑体辐射能量的情况.绝对黑体的辐射光谱对于研究一切物体的辐射规律具有根本的意义.1900年普朗克引进量子概念,将辐射当做不连续的量子发射,成功地从 ...
- IDL 实现PCA算法
在多元统计分析中,主成分分析(Principal components analysis,PCA)是一种分析.简化数据集的技术.主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特 ...
随机推荐
- KeyTweak(笔记本键盘设置工具) V2.20 中文版
软件名称: KeyTweak(笔记本键盘设置工具)软件语言: 简体中文授权方式: 免费软件运行环境: Win 32位/64位软件大小: 50KB图片预览: 软件简介:KeyTweak 通过设置系统的注 ...
- 3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。
package zuoye; import java.io.FileInputStream; import java.io.FileOutputStream; public class BinIoDe ...
- css sprite的使用心得
提高网页显示速度最有效的一个方法是减少页面的HTTP请求次数,为了减少HTTP请求次数,最直接有效的方法是使用精灵图片(CSS sprites),精灵图片是把许多图片放到一张大图片里面,通过CSS来显 ...
- laravel性能优化
1. 配置信息缓存 使用以下 Artisan 自带命令,把 config 文件夹里所有配置信息合并到一个文件里,减少运行时文件的载入数量: php artisan config:cache 上面命令会 ...
- 十五、oracle 约束
一.维护数据的完整性数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则,在oracle中,数据完整性可以使用约束.触发器.应用程序(过程.函数)三种方法来实现,在这三种方法中,因为约束易于维护,并 ...
- java程序使用memcached
Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载. 1.linux环境下安装与启动memcache: 以编译安装的方式安装.具体参看: http://wang ...
- HttpUtil工具类
HttpUtil工具类 /** * 向指定URL发送GET方法的请求 * * @param url * 发送请求的URL * @param params * 请求参数,请求参数应该是name1=val ...
- WHM使用手册by lin
WebHost Manager 11使用手册(WHM使用手册) 本手册翻译自cpanel官方文档. 本翻译中文版本版权归美国主机侦探所有,未经允许,禁止复制. Overview(概述) 本用户手册主要 ...
- apt-get 总结
转自: apt-get 总结 1.apt-get install <package_name> install a new package. 2.apt-get build-dep < ...
- hdu_5794_A Simple Chess(lucas+dp)
题目链接:hdu_5794_A Simple Chess 题意: 给你n,m,从(1,1)到(n,m),每次只能从左上到右下走日字路线,有k(<=100)的不能走的位置,问你有多少方案 题解: ...