• IDL遥感相关


    http://hdfeos.net/software.php#HDFExplorer   MODIS相关工具
    http://liang0816.spaces.live.com/blog/cns!4653C3C95CBC6B53!787.entry
    http://ladsweb.nascom.nasa.gov/data/search.html modis数据下载
    http://bbs.typhoon.gov.cn/read.php?tid=5183&page=1&fpage=1 气象书籍
    http://www.idl.changeip.org/forum/    idl中文社区
    http://blog.csdn.net/fbysss/archive/2008/03/28/2226538.aspx IDL学习笔记(1)--可视化组件编程
    http://rsgisman.bokee.com/diaryIndex.b   专门做这方面开发的blog
    http://hi.baidu.com/qqzwind/blog idl编程
    http://bbs.matwav.com/forumdisplay.php?fid=126 idl研究讨论
    http://micro.ustc.edu.cn/IDL/ idl资源
    http://fermi.jhuapl.edu/s1r/idl/idl.html 约翰·霍普金斯大学应用物理实验室
    http://www.ittvis.com/UserCommunity/UserForums/tabid/58/forumid/27/scope/threads/Default.aspx
    http://nstx.pppl.gov/nstx/Software/Programming/index.html idl实例
    http://bbs.matwav.com/viewthread.php?tid=494071&extra=page%3D11 envi里面的区域统计
    http://liang0816.spaces.live.com/blog/cns!4653C3C95CBC6B53!818.entry 利用矢量数据对影像做多边形裁剪
    http://niuxiaojie.bokee.com/diaryIndex.b 遥感爱好者
    http://niuxiaojie.bokee.com/viewdiary.38308087.html   MODIS各级数据
    http://niuxiaojie.bokee.com/viewdiary.38308075.html MODIS EVI存在的问题
    http://niuxiaojie.bokee.com/viewdiary.38308074.html MODIS植被指数计算过程际产品展示
    https://lpdaac.usgs.gov/lpdaac/products/modis_products_table MODIS产品数据
    http://niuxiaojie.bokee.com/viewdiary.20039040.html   ENVI中利用矢量边界裁剪栅格数据详解
    ftp://e4ftl01u.ecs.nasa.gov/MOLT/   MODIS数据下载
    http://e4eil01u.ecs.nasa.gov:22000/WebAccess/drill;jsessionid=A6B74A6CC0E74CD765B14D8A45F78135?attrib=group&group=MOLT&
    http://e4eil01u.ecs.nasa.gov:22000/WebAccess/drill?attrib=esdt&esdt=MOD13Q1.5&group=MOLT   MODIS13数据下载
    http://westdc.westgis.ac.cn 西部环境与生态监测中心
    http://westdc.westgis.ac.cn/data/download/uuid/1cad1a63-ca8d-431a-b2b2-45d9916d860d 西部环境与生态监测中心NDVI
    http://bbs.matwav.com/viewthread.php?tid=31837
    http://www.gumley.com/PIP/Free_Software.html IDL Software



    IDL官方网站代码库
    https://www.ittvis.com/UserCommunity/CodeLibrary.aspx
    IDL开发者论坛
    http://objectmix.com/idl-pvwave/
    the Fisheries Acoustics Research Lab IDL Web
    http://www.acoustics.washington.edu/~towler/IDLviz.html
    IDL书籍、源码下载网站,好久没更新了。
    http://www.kilvarock.com/
    具有9年IDL编程经历的个人网站
    http://michaelgalloy.com/
    斯坦福大学上的一个个人网站
    http://imac-252a.stanford.edu/
    约翰霍普金斯大学做应用物理的,有不少实用的算法
    http://fermi.jhuapl.edu/s1r/idl/s1rlib/local_idl.html
    NASA上的IDL资源
    http://idlastro.gsfc.nasa.gov/homepage.html
    Coyote’s Guide to IDL Programming
    http://www.dfanning.com
    IDL Emacs Mode (IDLWAVE)
    http://www.idlwave.org/
    Curve Fitting and Mathematics
    http://cow.physics.wisc.edu/~craigm/idl/idl.html
    JHUAPL IDL Library
    http://fermi.jhuapl.edu/s1r/idl/s1rlib/local_idl.html
    http://groups.google.com/group/comp.lang.idl-pvwave/topics
    http://www.acoustics.washington.edu/~towler/
    http://www.barnett.id.au/idl/



    Varname=EV_250_RefSB
    file=dialog_pickfile(default_extension='.hdf',filter='*.hdf'
    hdfid=hdf_sd_start(file)
    index=hdf_sd_nametoindex(hdfid,varname)
    varid=hdf_sd_select(hdfid,index)
    hdf_sd_getdata,varid,data,_extra=extra_kewords
    hdf_sd_endaccess,varid



    [原]封装了envi函数的IDL发布程序的执行方法 以及注意事项
    2008-04-25 00:03

    -----很老的东西--在这里记录一下

    大家都知道IDL程序发布出来或打包是可以直接运行的,区别只是无license虚拟机模式还是有license的runtime模式。

    但是如果IDL代码里使用了envi的函数,这时候发布出来的sav文件(或exe、idlrt啥的)就不能直接运行。

    运行后就会弹出一个丑陋的envi界面。

    解决办法1:

    不能运行是因为使用了envi的函数后,需要用envi的方式去运行。(假如的程序叫Protest)

    1)先建一个文本文件,命名为protes.run,里面写上程序的名字protest

    2)打开idl编辑器把打包程序目录(包含sav文件的目录)修改成Idl工作目录或者是添加到IDL搜索路径

    3)建立一个快捷方式。在快捷方式的属性中 目标 加上一下命令

    idlde路径 -minimized -noconfirmexit -nosplash @ "run文件路径"

    例如:

    D:Programenvi43IDL63inin.x86idlde.exe -minimized -noconfirmexit -nosplash @"D:protestprotest.run"

    最简单的方法:直接拷贝envi的快捷方式,把最后envi的run的文件路径改成你的run文件路径就行

    4)直接双击快捷方式就可以直接运行你的程序。

    ----------------------------------------------------

    注意:如果使用idl6.4/envi4.4 运行程序可能会遇到无法初始化envi的问题 ,提示

    ENVI_batch_init 找不到或者没定义。

    那是因为编辑器本身找到到envi,把IDL根目录加到idl的搜索路径下就可以了



    ;---------------------------------------------

    其实用了ENVI函数也是可以绿色发布的,运行连envi都不用装。涉及版权问题,就不在这里透露了--请支持正版哦







    【教程】IDL一些界面操作
    1、使启动界面居中
    PRO Mainfrm,XSIZE=xsize,YSIZE=ysize
    ;   使窗口界面居中
        ScreenSize=get_screen_size()
        xoffset=(ScreenSize[0]-xsize)/2
        yoffset=(ScreenSize[1]-ysize)/2
    tlb=Widget_Base(column=1,XOFFSET=xoffset,YOFFSET=yoffset,XSIZE=xsize,
    YSIZE=ysize, /TLB_SIZE_EVENTS ,TITLE='ECVS',MBAR=mbar)
    END

    2、设置子菜单
    MenuFile = Widget_Button(mbar, VALUE='文件(&F) ')
    MenuNew = Widget_Button(MenuFile, VALUE='新建',Event_Pro='',/menu)
    MenuNewBlock = Widget_Button(MenuNew, VALUE='新建测区...')

    3、按钮式下拉菜单
    CW_PDMENU

    4、改变菜单Value及其状态
    pro On_Stretch,event
    Widget_Control, event.id, Get_Value=buttonValue

    IF buttonValue EQ '拉伸图像' THEN BEGIN
    setting = 1
    hlvalue = '原始图像'
    ENDIF ELSE BEGIN
    setting = 0
    hlvalue = '拉伸图像'
    ENDELSE
    Widget_Control, event.id, Set_Value=hlvalue     
    End

    只能打开程序的一个进度
    If (XRegistered('MainTest', /NoShow)) then Begin
        v = Dialog_Message('此程序已经运行。')
        return
    EndIf

    闫殿武QQ:173819397  


    将idl程序编译成可执行文件

    1. 建立一个工程项目(PRJ)文件,加载其他的所需要的过程,主过程要和工程同名字。

    2. 在Project菜单下打开Options,在ProjectType栏目选中LicensedSave文件,这样编译的程序可以不要License,然后最好Build一下你的程

    序,以防出错。

    3. 在选择Project下面的Export,选择一个空的文件夹,这里取名Setup,注意需要选择你用到的一些库文件以及字体,为图,有时还要添加你

    自己的一些数据之类的。然后输出。

    4. 到你输出的文件夹Setup里面可以发现有一个和你的工程项目同名的SAV文件,还有好几个文件夹,包括Bin,lib,resource等等,打开 bin

    ->bin.x86->,就会发现一个和你的工程项目同名的Exe文件,双击就可以运行你的程序了。

    如果要在别的没有安装IDL的机器上运行,就把这个文件夹SetUp全部拷贝到目标机器就行。当然你想要打包也可以,最方便的方法就是做一个

    自解压文件。
    这个方法前提是你的IDL有一个比较好的License哦,不然你有可能没有权限生成Licensed Save File。

    在输出了EXE可执行文件之后我们可以对IDL.pref文件进行编辑来使自己的应用程序有一个个性的图标,在文件最后面添加如下

    IDL_WINRT_ICON:myico.ico

    myico.ico是指你自己的ICO文件,放置到Bin/Bin.x86路径中即可。
    ============================好学的分割线============================

    问了一下培训的美女jj,据说这样的程序还是需要在IDL的环境下运行,ENVI处于后台运行状态,在没有安装IDL的机器上需要安装IDL虚拟机,

    可以在IDL网站免费下载到

    ============================实践出真知的分割线============================

    试了一下,IDL直接编写的程序打包成功了,用到ENVI环境的失败了=.=

    没意思啊没意思



    文章来自http://www.nfiieos.cn/网站,对envi4.0环境下的安装略作修改。
    1, 首先将 modistools.sav (见附件)放到正确的目录下 , 也就是 ENVI 安装目录下的 save_add 目录 ( 可以通过搜索找到 )
    比如 :d:RSIIDL60productsenvi40save_add
    2, 找到安装目录下的 envi.men 文件 , 该文件存放的是 ENVI 软件菜单命令的位置信息 , 新加的模块菜单都可以在这里添加 , 只要稍做编

    辑即可 :

    找到需要将模块加入的菜单目录 , 我们这里将 MODIS 工具模块放在下面这个位置(见图), 在文件中找到该目录位置后 , 将下面东西 , 复

    制在该目录下 , 保存即可 . 结果见图 ,
    2 {MODIS tools}
    3 {Bow-tie correction} {x} {MODISBowCorrection}
    3 {Export GCPs} {x} {EOSgeoToENVIGCP}
    3 {Load Temperature} {x} {MODIS_LOADTEMPERATURE}

    完成了这些工作后 , 只需要重新起动 ENVI 即可 , 然后就可以在 Basic Tools-processing 下面找到这个modistool菜单。


    这是一个求ndvi的代码,虽然大概意思我明白,但是并不是每一句的作用或意义我都明白,请帮帮忙,谢谢!

    function bm_ndvi,b1,b2,check = check
       den = float(b2)+b1
       if (keyword_set(check)) then ptr = where(den eq 0,count)$
       else count = 0
          if(count gt 0) then den[ptr] = 1.0
          result = (float(b2) - b1)/den
          if(count gt 0) then result[ptr] = 0.0
       return, result
    end

    count 是den eq 0的总数,ptr是den 中eq 0 的数在数组den 中的序号,你可以随便用个数组试试。
    第四行表示den中所有大于等于0的数都等于1.0,第六行的if 可以去掉的,
    你要注意在IDL中除法是有条件的,比如整数4/5=0的。
    最后这是个函数而不是过程啊,需要返回一个值的。。
  • 相关阅读:
    日志模块
    DDT数据驱动
    unittest测试框架
    vim编辑器
    文件夹的管理
    文件内容查看(如查看日志)
    文件的移动和拷贝
    文件的增删改查
    linux基本命令
    测试5--模拟一个在控制台不断按时分秒打印的电子表
  • 原文地址:https://www.cnblogs.com/crmhf/p/3823156.html
Copyright © 2020-2023  润新知