IDL遥感应用入门(4):利用QuikScat 数据绘制纬向平均风速趋势图(单图显示)
发布时间: 2014-01-08
所属分类: IDL遥感应用教程
在上一篇文章中,介绍了利用QuickSat数据绘制纬向平均风速趋势图,不过是每个文件一幅图的显示方式。本文将用采用单图显示的方式,对其进行实现。
预期目标
求出每个文件0°- 50°N 和 100°E – 150°E 范围纬向平均风速(也就是每行平均),画在同一张图上。
QuikScat数据说明
QuikScat提供3个方面数据信息:表面风速,表面风向和降雨信息。
其中数据在0到250属于有效信息,大于250的值均属于无效信息。
计算风速的时候需要乘以0.2,风向需要乘以1.5
更多详细信息可以查看这里
代码实现
;Author:Sailor
;2013-10-30
PRO Course_4
;定义文件路径
MyRootDir='D:\3\'
;绘制坐标系
DEVICE,DECOMPOSED=1
!P.BACKGROUND='FFFFFF'xl
!P.COLOR='000000'xl
PLOT , indgen(50) , TITLE="WEND SPEED" , YRANGE = [0, 12] ,/NoData, YTITLE='Wind Speed : m/sec' , XTITLE='Latitude : N'
;设置颜色数组
linecr=intarr(7)
linecr=['FF0000'xl,'FF7F00'xl,'FFFF00'xl,'00FF00'xl,'00FFFF'xl,'0000FF'xl,'8B00FF'xl]
;遍历文件夹
filearr = file_search(MyRootDir,'*.gz',count=num);
FOR fileindex=0,num-1,1 DO BEGIN
;打开文件
OPENR , LUN , filearr[fileindex] , /COMPRESS,/GET_LUN
;构造显示标题
filename=FILE_BASENAME(filearr[fileindex]);
filename=STRMID(filename,6,10)
year=STRMID(filename,0,4)+' '
month=STRMID(filename,4,2)+' '
day=STRMID(filename,6,2)+' '
diplayname=year+month+day
;读入数组
FleArr = BYTARR(1440,720)
READU , LUN , FleArr
;寻找经纬度的具体位置
WdSpeed = BYTARR(200,200);
WdSpeed = FleArr[100*4:150*4,360:140*4];
;计算平均风速
ArSpd=DBLARR(200);
FOR i=0,199,1 DO BEGIN
Le250Index = where(WdSpeed[*,i] LE 250);过滤数据
IF(Le250Index[0] NE -1) THEN BEGIN
ArSpd[i]=MEAN(WdSpeed[Le250Index,i])*0.2
ENDIF
ENDFOR
;绘图&图例
OPLOT , indgen(200)/4. , ArSpd ,color=linecr[fileindex],thick=1.5
XYOUTS, 100, 100+fileindex*10, diplayname, COLOR=linecr[fileindex],/DEVICE
;关闭文件释放设备号
CLOSE , LUN
FREE_LUN , LUN
ENDFOR
END
效果如图
其它说明
文中MyRootDir=’D:\3\’ 是定义的数据路径,这里共享下我用的实验数据 。猛击这里下载
另外本文使用的是直接法绘图,小编也没有找到使用对象法绘图的好方法,欢迎留言交流。
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。
手机阅读
公众号关注
知识星球
手机阅读
最新GIS干货
私享圈子
请问现在有没有这个的对象图形法
对象图形法只要改一点就行,手动改一下。