遥感建模与开发实习指导书Word文档下载推荐.docx
- 文档编号:16672538
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:15
- 大小:177.64KB
遥感建模与开发实习指导书Word文档下载推荐.docx
《遥感建模与开发实习指导书Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《遥感建模与开发实习指导书Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。
1、创建各种变量,并利用help函数跟踪变量类型和大小
a=1
help,a
b=3
help,b
b=-1.3
b=2e-2
c='
Iamastudent~'
help,c
2、创建数组,
arr=[1,2,3,4]
help,arr
print,arr
arr=[[1,2,3],[4,5,6]]
3、创建各种表达式:
数值型表达式、字符型表达式、关系型表达式等
a=2
c=3.2
print,a*2+b
print,c^2
print,9mod2
print,'
i'
+'
am'
astudent'
help,agtb
4、If语句
编程计算下面的公式并输出y的值。
protest
x=3
ifxge0thenbegin
y=9+5*x^2
endifelsebegin
y=9-5*x^2
endelse
y='
y
5、for语句
输出*的图形,最顶层为1个*,最底层为10个*,依次递增。
fori=0,9dobegin
arr=replicate('
*'
i+1);
创建i+1个元素值都为”*”的一维数组
endfor
6、while语句
whileile9dobegin
i+1)
i++
endwhile
7、编写过程,将角度转为弧度
deg=180
pi/360
8、编写函数,将角度转为弧度
print,test(180)
1.57080
9、完成实习报告
要求包括实习目的、各种变量、数组与表达式的创建,控制语句IF、FOR、WHILE、函数和过程的基本形式。
实习三IDL数组及运算
学习IDL数组的定义、格式、下标操作,数组的基本运算,包括最值、均值、方差等,数组的查询定位操作,以及数组的重排列。
1、利用函数创建数组
arr1=intarr(6)
print,arr1
arr2=indgen(6)
print,arr2
arr=indgen(2,2)
arr=replicate(3.2,2,3)
arr1=make_array(3,2,/byte)
arr1=make_array(3,2,/byte,/index)
arr1=make_array(3,2,value=12L)
sz=size(arr)
arr1=make_array(size=sz)
2、数组的下标操作
arr=indgen(6)
print,arr[2]
index=[2,4]
print,arr[index]
print,arr[2:
4]
print,arr[*]
print,arr[3:
*]
i=2
print,arr[i:
i+2]
3、数组的性质,包括数组大小、类型、最大最小值、均值、方差、标准差和总和
arr=fltarr(10,20)
print,size(arr)
print,size(arr,/dimensions)
print,size(arr,/type)
print,size(arr,/n_elements)
arr=[1,3,4.2,6,-2.3,3.2]
print,max(arr),min(arr)
print,mean(arr),variance(arr),stddev(arr)
print,total(arr)
4、数组元素的定位,where函数
arr=findgen(10)
w=where(arrgt3)
print,w
print,arr[w]
w=where((arrgt3)and(arrlt6))
5、数组的排序
arr=[1,3,2,5,4,7,8,6]
arr=arr[sort(arr)]
6、完成实习报告
要求包括实习目的、数组的创建、下标操作,数组的求最大最小值、均值、方差等运算,数组的查询定位操作,以及数组的排序。
实习四IDL读取文件
熟悉IDL的文件操作基本函数,并完成Ascii格式和二进制文件的读取、基本处理与存储。
Data.dat:
2列20行的ASCII码文件。
TM_Multispce:
6个波段的TM数据,400列,300行。
1、文件名的选择、文件的打开
fname=dialog_pickfile()
help,fname
Directory=dialog_pickfile(/directory)
help,directory
openw,lun,fname,/get_lun
help,/file
free_lun,lun
2、ASCII码文件的读写
读取一个ASCII码文件(2列、20行的整数数据)
proread1,data
fn=dialog_pickfile()
openr,lun,fn,/get_lun
data=intarr(2,20)
readf,lun,data
读取一个2列未知行数的ASCII码文件,并将其写入另外一个ASCII码文件,两列之间用分号隔开。
proopen_write
openr,lun,fname,/get_lun
maxrec=10000
data=intarr(2,maxrec)
i=0
whileeof(lun)ne1dobegin
temp=intarr
(2)
readf,lun,temp
data[*,i]=temp
i=i+1
endwhile
data=data[*,0:
i-1]
fname=dialog_pickfile()
printf,lun,data,format='
(i3.3,"
;
"
i3.3)'
3、打开一个6个波段的二进制图像文件
proopen1,data
ns=400
nl=300
nb=6
data=bytarr(ns,nl,nb)
openu,lun,fname,/get_lun
readu,lun,data
4、将一个6个波段的多光谱遥感数据按波段保存为6个独立的文件。
prowrite1,data
tn=indgen(nb)+1
fname=string(tn,format='
(i2.2)'
)+'
.dat'
fori=0,nb-1dobegin
openw,lun,fname[i],/get_lun
writeu,lun,data[*,*,i]
endfor
5、完成实习报告
要求包括实习目的、Ascii格式和二进制文件的读取、基本处理与存储。
实习五IDL绘图
学习利用IDL完成二维光谱数据的处理与绘图工作,重点是曲线图的绘制与标注。
1、创建一个从0~2π变化的数组x,计算出sin(x);
x=findgen(100)*2*!
pi/100
y=sin(x)
2、绘制0~2π的正弦曲线图,即y随x的变化。
plot,x,y
3、利用PSym关键字将曲线图改为散点图
plot,x,y,psym=4
plot,x,y,psym=-4
4、修改曲线的线型和粗细
plot,x,y,linestyle=2
plot,x,y,linestyle=2,thick=3
5、添加坐标轴的标题
plot,x,y,xtitle='
x'
ytitle='
sinx'
6、修改曲线图的颜色
plot,x,y,background=1,color='
0000FF'
xl
plot,x,y,/nodata,background='
FFFFFF'
xl,color='
oplot,x,y,color='
FF0000'
7、完成实习报告
要求包括实习目的、绘制曲线图的基本语句、散点图设置、曲线线型和粗细的修改、坐标轴的添加以及曲线图色彩的设置。
。
实习六IDL图像基本操作
IDL读取多种格式的图像文件,如bmp、jpg等,以灰度和彩色模式显示图像,并对图像进行缩放等调整。
TM_image.jpg:
jpg格式的彩色遥感图像
1、通过Read_image函数读取jpg图像
im=read_image(fn)
help,im
2、通过Write_image函数写入IDL支持的任何图像文件,如bmp、jpg、png等
write_image,fn,'
png'
im
3、显示图像
tvscl,im[0,*,*]
tv,im[0,*,*]
tv,im,true=1
4、调整图像显示窗口尺寸
sz=size(im)
window,xsize=sz[2],ysize=sz[3]
tv,im[0,*,*]
5、显示RGB图像
6、图像尺寸的改变
im1=congrid(im,3,200,400)
7、利用转置运算实现BSQ、BIL和BIP3种存放格式的转换。
help,transpose(im,[1,2,0])
help,transpose(im,[1,0,2])
8、完成实习报告
要求包括实习目的、图像的读写操作、图像的灰度显示和彩色显示、图像显示窗口的调整、图像尺寸的改变、BSQ、BIL和BIP3种存放格式的转换。
实习七IDL与ENVI结合编程
利用ENVI打开遥感影像,导入IDL处理,并把处理完的IDL数据导出到ENVI。
在ENVI环境下调用IDL函数完成相应的遥感图像处理功能。
以叶面积指数LAI的计算为例。
根据NDVI和土地覆盖图利用经验公式计算LAI
Landcover编码表1:
Water;
2:
veg1;
3:
veg2
LAI计算公式
水体
Landcover:
土地覆盖数据
Landcover.hdr:
土地覆盖数据的头文件
NDVI:
植被指数数据
NDVI.hdr:
植被指数数据的头文件
1、编写LAI计算函数
functionlai_cal,ndvi,landcover
计算LAI的函数
sz=size(ndvi)
result=make_array(size=sz)
w1=where(landcovereq1orndvilt0.125)
w2=where(landcovereq2andndvige0.125andndvile0.825)
w3=where(landcovereq2andndvigt0.825)
w4=where(landcovereq3andndvige0.125andndvile0.825)
w5=where(landcovereq3andndvigt0.825)
result[w1]=0
result[w2]=0.1836*exp(4.37*NDVI[w2])
ifw3ne-1thenresult[w3]=6.606
result[w4]=0.0884*exp(4.96*NDVI[w4])
ifw5ne-1thenresult[w5]=6.091
return,result
2、ENVI与IDL的数据交互
在ENVI中打开NDVI和土地覆盖数据,并将数据传到IDL工作空间,在命令行格式下调用LAI计算函数,得到LAI,并将结果传回ENVI,保存,并编辑头文件
3、ENVI环境下调用IDL函数
在ENVI的Bandmath对话框中,调用LAI计算函数,得到LAI结果
要求包括实习目的、LAI计算函数的编写、ENVI与IDL的数据交互以及在ENVI中调用IDL函数的操作。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 遥感 建模 开发 实习 指导书
