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)是一种分析.简化数据集的技术.主成分分析经常用于减少数据集的维数,同时保持数据集中的对方差贡献最大的特 ...
随机推荐
- NOIP2013-普及组复赛-第一题-计数问题
题目描述 Description 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 ...
- maven入门(上)
Apache Maven 入门篇 ( 上 ) 作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这 ...
- php 好用的函数
extract — 从数组中将变量导入到当前的符号表,数组的键将作为新的变量,数组的值将最为新变量的值
- 笨方法学python--读写文件
1 文件相关的函数 close read readline 读取文本文件中的一行 truncate 清空文件 write('adb') 写入 2 写文件,首先要在open时,写入权限w targe ...
- mycat 配置全局表
在已配置全局序列号的基础上 1.schema.xml <table name="hf_ctrlorder_split_config" primaryKey="HF_ ...
- fs模块主要功能小解
打开文件: fs.open(path, flags[, mode], callback) path: 要打开的文件的路径 flags: 文件打开的行为 解析: r 读取 w 写入并删除原内容 + r+ ...
- 解决网页在手机浏览器打开不停刷新的方案(百度的ua自动转向js问题)
一:发现问题 原有可能是网站内挂了一个百度的ua自动转向js,手机访问的话会被自动转到feiyujd.com,然后又被转到www点feiyujd点com,这样反复死循环.就形成了一直在刷新,网站一闪一 ...
- 用jQuery写的最简单的表单验证
近几天完成了关于我们项目的最简单的表单验证,是用jQuery写的,由于之前也一直没学过jQuery,所以自己也是一直处于边摸索边学习的阶段,经过这一段时间的学习,通过查资料啥的,也发现了学习jQuer ...
- hdu_5620_KK's Steel(水题)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5620 题意:给你一个n长的钢管,要分的尽可能多,且任意三条不能构成三角形 题解:看hint就知道用递推 ...
- JPG、PNG和GIF图片的基本原理及优化方法
一提到图片,我们就不得不从位图开始说起,位图图像(bitmap),也称为点阵图像或绘制图像,是由称作像素(图片元素)的单个点组成的.这些点可以进行不同的排列和染色以构成一副图片.当放大位图时,可以看见 ...