遥感IDL二次开发(光谱数据可视化)

简介: 遥感IDL二次开发(光谱数据可视化)

1.程序功能:

打开 ASCII 码格式的光谱文件,读取反射率数据并进行显示。


2.源代码:

2.1 方法1:单一窗口显示光谱数据

#在同一个窗口中用不同线形和颜色显示光谱数据#

pro IDL020101
fn=dialog_pickfile();打开光谱数据
nb=file_lines(fn)
data=fltarr(5,nb)
openr,lun,fn,/get_lun
readf,lun,data
free_lun,lun
wv=transpose(data[0,*]);读取波长
c1=transpose(data[1,*]);读取第1条光谱曲线的反射率
c2=transpose(data[2,*]);读取第2条光谱曲线的反射率
c3=transpose(data[3,*]);读取第3条光谱曲线的反射率
c4=transpose(data[4,*]);读取第4条光谱曲线的反射率


;在同一个窗口中用不同线形和颜色显示光谱数据

p1=plot(wv,c1,xtitle='Wavelength(nm)',ytitle='Reflectance',$
/buffer,xrange=[min(wv),max(wv)],color='red',linestyle=0,$
thick=1,name='spectral curve1',margin=[0.1,0.1,0.01,0.01])
p2=plot(wv,c2,xtitle='Wavelength(nm)',ytitle='Reflectance',$
/buffer,xrange=[min(wv),max(wv)],color='blue',linestyle=0,$
thick=1,name='spectral curve2',/overplot)
p3=plot(wv,c3,xtitle='Wavelength(nm)',ytitle='Reflectance',$
/buffer,xrange=[min(wv),max(wv)],color='green',linestyle=0,$
thick=1,name='spectral curve3',/overplot)
p4=plot(wv,c4,xtitle='Wavelength(nm)',ytitle='Reflectance',$
/buffer,xrange=[min(wv),max(wv)],color='orange',linestyle=0,$
thick=1,name='spectral curve4',/overplot)


;添加图例

l1=legend(target=[p1,p2,p3,p4],position=[0.6,0.2],color='w',$
/auto_text_color,horizontal_alignment=0,vertical_alignment=0,$
horizontal_spacing=0.02,vertical_spacing=0.01,/normal)


;保存文件

o_fn=dialog_pickfile(title='图形保存为')+'.png'
p1.save,o_fn,border=0
p2.save,o_fn,border=0
p3.save,o_fn,border=0
p4.save,o_fn,border=0

end


结果图:

微信截图_20230111114541.png


2.2 方法2:同一个窗口中的四个子窗口显示光谱曲线

#同一个窗口中的四个子窗口显示光谱曲线#

pro IDL020102
fn=dialog_pickfile();打开光谱数据
nb=file_lines(fn)
data=fltarr(5,nb)
openr,lun,fn,/get_lun
readf,lun,data
free_lun,lun
wv=transpose(data[0,*]);读取波长
c1=transpose(data[1,*]);读取第1条光谱曲线的反射率
c2=transpose(data[2,*]);读取第2条光谱曲线的反射率
c3=transpose(data[3,*]);读取第3条光谱曲线的反射率
c4=transpose(data[4,*]);读取第4条光谱曲线的反射率


;用同一窗口中的子窗口中显示光谱曲线

x=findgen(101)*0.01
window,1,xsize=900,ysize=600
plot,wv,c1,position=[0.1,0.6,0.45,0.9],xtitle='Wavelength(nm)',ytitle='Reflectance',title='spectral curve1',$
color='000000'xl,background='FFFFFF'xl,/nodata
oplot,wv,c1,color='f00000'xl
plot,wv,c2,position=[0.6,0.6,0.95,0.9],xtitle='Wavelength(nm)',ytitle='Reflectance',title='spectral curve2',/noerase,$
color='000000'xl,background='FFFFFF'xl,/nodata
oplot,wv,c2,color='0000ff'xl
plot,wv,c3,position=[0.1,0.1,0.45,0.4],xtitle='Wavelength(nm)',ytitle='Reflectance',title='spectral curve3',/noerase,$
color='000000'xl,background='FFFFFF'xl,/nodata
oplot,wv,c3,color='00ffff'xl
plot,wv,c4,position=[0.6,0.1,0.95,0.4],xtitle='Wavelength(nm)',ytitle='Reflectance',title='spectral curve4',/noerase,$
color='000000'xl,background='FFFFFF'xl,/nodata
oplot,wv,c4,color='0fff00'xl

end


结果图:

微信截图_20230111114554.png

相关文章
|
XML 存储 SQL
独立部署Xray反练平台——详细说明加举例xxe漏洞
xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:检测速度快。发包速度快; 漏洞检测算法高效。支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客制化功能。安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。
2075 0
独立部署Xray反练平台——详细说明加举例xxe漏洞
|
监控 网络协议 Java
Tomcat源码解析】整体架构组成及核心组件
Tomcat,原名Catalina,是一款优雅轻盈的Web服务器,自4.x版本起扩展了JSP、EL等功能,超越了单纯的Servlet容器范畴。Servlet是Sun公司为Java编程Web应用制定的规范,Tomcat作为Servlet容器,负责构建Request与Response对象,并执行业务逻辑。
Tomcat源码解析】整体架构组成及核心组件
|
3月前
|
算法 数据挖掘 API
《拼多多 API 助力,拼多多店铺商品好评率快速提升》
本文介绍如何利用拼多多开放平台API自动化管理商品评论,提升店铺好评率。通过获取评论数据、自动回复差评、数据分析与批量操作,商家可高效优化好评率,提升店铺曝光与转化。内容涵盖API使用步骤、优势及注意事项,助力商家实现数据驱动的精准运营,提升顾客满意度。
246 0
|
7月前
|
安全 关系型数据库 文件存储
Websoft9 服务器面板中 Odoo 安装与群晖 NAS 的对比
传统部署Odoo面临基础设施搭建、镜像供应链、复杂配置及运维监控四大难题,而群晖NAS方案存在Docker依赖、插件更新滞后和配置自由度低的局限。Websoft9提供开箱即用的解决方案:无需预装Docker,三键式安装支持全版本Odoo;具备企业级扩展功能如负载均衡与集群部署;兼容混合云架构,支持公有云、私有云及边缘设备管理;同时确保合规性,自动扫描漏洞并生成修复报告,大幅提升部署效率与系统安全性。
超好用的截图软件Snipaste(包含安装包)、如何设置Snipaste开机自启
这篇文章提供了Snipaste截图软件的介绍,包括它的功能、如何下载和安装,以及如何设置开机自启动的详细步骤。
|
编译器 vr&ar 图形学
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
这是一篇Unity3D结合Vuforia实现增强现实(AR)项目的入门教程,涵盖了环境配置、Vuforia账户注册、Target数据集创建、Unity项目设置、AR程序配置、Android环境配置以及最终在手机上测试运行的全过程。
从零开始的unity3d入门教程(五)---- 基于Vuforia的AR项目
|
自然语言处理 安全 前端开发
什么是CMS?CMS适合搭建什么网站?
CMS(内容管理系统)用于快速搭建、管理和发布网站内容。它支持自定义板块,降低建站门槛。CMS分为独立CMS和SaaS CMS两种类型,主要功能包括角色分配、SEO优化、多语言支持等。建站流程包括确定需求、选择系统、购买域名和主机、安装系统、选择模板、扩展栏目、添加内容、上线和维护。PageAdmin CMS是一款优秀的建站系统,推荐免费试用。
575 1
Error: Cannot find module ‘node:url‘【已解决】
Error: Cannot find module ‘node:url‘【已解决】
1037 3
|
机器学习/深度学习 人工智能 安全
云上智能风控:重塑金融安全的智能屏障
灵活性:系统具备良好的灵活性和可扩展性,能够根据业务需求进行功能扩展和升级。 成本节约:通过自动化和智能化的方式降低人工成本,提高风控效率的同时减少不必要的开支。 4.2 未来展望 随着技术的不断进步和市场的不断发展,云上智能风控将迎来更加广阔的发展前景。未来,云上智能风控系统将进一步优化算法模型和技术架构,提高风险识别的准确性和效率;
583 7
|
JavaScript Java 网络安全
从零玩转之JPOM自动化部署本地构建 + SSH 发布 java 项目
从零玩转之JPOM自动化部署本地构建 + SSH 发布 java 项目
808 0

热门文章

最新文章