书签 分享 收藏 举报 版权申诉 / 67
上传文档赚钱

类型TheInteractiveDataLanguage交互式数据语言课件.pptx

  • 上传人(卖家):晟晟文业
  • 文档编号:4989458
  • 上传时间:2023-01-31
  • 格式:PPTX
  • 页数:67
  • 大小:409.60KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《TheInteractiveDataLanguage交互式数据语言课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    TheInteractiveDataLanguage 交互式 数据 语言 课件
    资源描述:

    1、The Interactive Data Language交互式数据语言1感谢你的观看2019年5月8日功能简介IDL是进行数据分析、是进行数据分析、可视化及跨平台应用开可视化及跨平台应用开发的最佳选择。发的最佳选择。IDL集集可视、交互分析、大型可视、交互分析、大型商业开发为一体,为您商业开发为一体,为您提供了最完善、最灵活提供了最完善、最灵活最有效的开发环境。最有效的开发环境。(参考 idl5.5.ppt)2感谢你的观看2019年5月8日lIDL简介及应用lIDL程序特点l命令行操作l数据输入输出l图像与信号处理l矩阵操作l界面设计l对象图形l对象操作l参数传递l与外部语言接口l数据库接口

    2、l例程分析l回答问题3感谢你的观看2019年5月8日l分隔符为“,”,而非空格l不分大小写l变量无需事先说明宽松的语法检查机制4感谢你的观看2019年5月8日l$作为一行的第一个字符时,返回到操作系统下,如:$dir作为一行的最后一个字符时,相当于一行未写完,换行。l;后面是注释l 批作业 如:test5感谢你的观看2019年5月8日lA=dist(100)lPlot,alTv,alEraselTvscl,alSurface,alShade_surf,alShade_surf,a,az=60lZvalue=0.5lContour,alContour,a,nlevels=10lContour,a

    3、,nlevels=10,$,/filllContour,a,nlevels=10,$,/followlContour,a,nlevels=10,$,/t3d6感谢你的观看2019年5月8日变量命名规则正确:lreade6_$filelonly_8_bitlComputerTypelvariablesl_day_of_year错误:lname.lastlthird%filel4th_listl$temp变量名称长度不超过255个字符,但变量大小取决于计算机配置和操作系统。7感谢你的观看2019年5月8日TypeLenCreationArrayConversionByte1A=5BBytarrBy

    4、teInteger2B=0;b=0SIntarrFixUint2C=0UUintarrunitLong4D=0LLonarrLongUlong4E=0ULUlonarrUlongLong648F=0LLLong64arrLong64Ulong648G=0ULLUlon64arrUlong64Float4H=0.0FltarrFloatDouble8I=0.0DDblarrDoubleComplex8J=complex(1.0,0.0)ComplexarrComplexDcomplex16K=dcomplex(1.0,0.0)DcomplexarrDcomplexString?L=helloSt

    5、rarrStringPointer4M=ptr_new()Ptrarr-Object4N=obj_new()Objarr-IDL变量类型8感谢你的观看2019年5月8日lScalarlArray(18维)lStructure(结构)9感谢你的观看2019年5月8日l系统Keyword!dpi(3.1415926)!p 控制显示 如:!p.font,!p.color!d(device,对设备进行控制)如:device,get_screen_size=view 24bit显卡下显示8位假彩色图像,用Device,decompose=0,(设置成8bit 256色)10感谢你的观看2019年5月8日

    6、nA=bytarr(512,512)列 行 b=tan(a)+10子区处理:A(*,1)表示第2行的所有列A(*,1:10)11感谢你的观看2019年5月8日l若a为一二维数组,c=10,15,20,则A(c)将是一稀疏矩阵,只提取a中第10,15,20个元素,如可用来提取河流。C=where(a,max=15,min=0)a(c)=255将a中很暗的值变为255。取字区还可实现非常多的局部操作。12感谢你的观看2019年5月8日Indices=where(data gt 0.4 and data lt 0.5)Dataindices=1.013感谢你的观看2019年5月8日lsearch2D

    7、 二维数组中在一定值域范围内以一初始点为准,搜索与它连通的范围,相当于a(c)lsearch3D 在三维体数据内搜索。l应用:给定步长,可实现半自动矢量化,半自动跟踪一条线。14感谢你的观看2019年5月8日lA#B 表示 A的列乘以B的行lA#B表示 A的行乘以B的列lTranspose 矩阵转置 ai,j=aj,i15感谢你的观看2019年5月8日lASCII_TEMPLATE 和 READ_ASCIIlBINARY_TEMPLATE 和 READ_BINARYlIDL LIVE_TOOLSlDIALOG_READ_IMAGE 和DIALOG_WRITE_IMAGE16感谢你的观看2019

    8、年5月8日l主程序lProcedurelFunctionlmethod17感谢你的观看2019年5月8日l1、程序体end l文件名为test.pro,没有名称的主程序必须放在程序最后面。l源代码编译后,直接执行没有名称的放在最后的主程序18感谢你的观看2019年5月8日lpro test程序体end l文件名为test.pro。l源代码编译后,直接执行与文件名同名的主程序19感谢你的观看2019年5月8日pro 程序名程序体end20感谢你的观看2019年5月8日lFor example,here is a main program that plots ten random numbers

    9、.It is placed in alfile named pnums.pro.numbers=randomu(seed,10)*20.0plot,numbersendlExecute this main program using the.RUN executive command.lIDL.run pnums21感谢你的观看2019年5月8日l结构:lpro 子程序名称,变量V1,V2,k1=k1,k2=k2l程序体lendlkeyword起重要作用22感谢你的观看2019年5月8日lThe procedure is placed in the file twoplot.pro.pro t

    10、woplot,one,twoloadct,5plot,one,COLOR=125oplot,two,COLOR=180End调用时调用时:IDL twoplot,var1,var223感谢你的观看2019年5月8日lFunction test 变量 V1,V2,l 关键字 k1=k1,k2=k2程序体return,Valueend 24感谢你的观看2019年5月8日la file named mean.pro.function mean,arrayaverage=total(array)/n_elements(array)return,averageendlCall MEAN from the

    11、 command line and return its output to a named variable:lIDL avgarray=mean(findgen(10)25感谢你的观看2019年5月8日lpro class_name:test,变量V1,V2,k1=k1,k2=k2程序体end26感谢你的观看2019年5月8日l调用routines:test,v1,v2,k1=k1,k2=k2,keyword 可有可无,若没有,用缺省值。l调用Function:result=test(v1,v2,k1=k1,k2=k2,)27感谢你的观看2019年5月8日l调用method:lObject

    12、-test,v1,v228感谢你的观看2019年5月8日lBegin EndlIf Then ElselFor DolWhile DolRepeat UntillCase X of else endcaselExpr?Expr1:expr2(条件判断语句)29感谢你的观看2019年5月8日l两种方式GUI方式程序方式30感谢你的观看2019年5月8日pro test ;主程序 base=widget_base(/column)button1=widget_button(base,value=打开,uvalue=op)draw=widget_draw(base,uvalue=dra,xsize=

    13、800,ysize=600);,$;x_scroll_size=1000,y_scroll_size=1000)button2=widget_button(base,value=退出,uvalue=ex)widget_control,base,/realize xmanager,test,base;,event=test_eventend31感谢你的观看2019年5月8日pro test_event,ev;事件处理程序widget_control,ev.id,get_uvalue=uvcase uv ofop:beginshade_surf,dist(100)endex:beginwidget

    14、_control,ev.top,/destroyendendcaseend32感谢你的观看2019年5月8日PRO widget2;主程序base=WIDGET_BASE(/COLUMN)button1=WIDGET_BUTTON(base,VALUE=One,UVALUE=ONE)button2=WIDGET_BUTTON(base,VALUE=Two,UVALUE=TWO)text=WIDGET_TEXT(base,XSIZE=20)button3=WIDGET_BUTTON(base,value=Done,UVALUE=DONE)WIDGET_CONTROL,base,SET_UVALU

    15、E=textWIDGET_CONTROL,base,/REALIZEXMANAGER,Widget2,baseEND 33感谢你的观看2019年5月8日PRO widget2_event,ev;事件处理程序 WIDGET_CONTROL,ev.top,GET_UVALUE=textwid WIDGET_CONTROL,ev.id,GET_UVALUE=uval CASE uval OF ONE:WIDGET_CONTROL,textwid,SET_VALUE=Button One Pressed TWO:WIDGET_CONTROL,textwid,SET_VALUE=Button Two P

    16、ressed DONE:WIDGET_CONTROL,ev.top,/DESTROY ENDCASEEND34感谢你的观看2019年5月8日l8 bit Color Color Lookup Tables(LUT)l24 bit Color 指定RGB颜色在程序开始时将decomposed选相关掉lDevice,decomposed=0或:根据颜色深度指定颜色察看系统颜色信息:Device,get_visual_depth=vdSysdevinfoHelp,/device浏览彩色表:cindex,xloadct35感谢你的观看2019年5月8日l直接图形法:创建2D图形时常用,如:plot,m

    17、apping,contours.简单、快速,但需反复重画;l对象图形法:加速3D系统显示,灵活,交互性强,充分控制对象,对象驻留内存,不需反复重画。36感谢你的观看2019年5月8日lLive_contourlLive_controllLive_destroylLive_exportlLive_ImagelLive_infolLive_loadlLive_oplotlLive_plotlLive_printlLive_rectlLive_surfacelLive_textlLive_style高效快捷的对象分析工具,提供如下函数:37感谢你的观看2019年5月8日l定义类的Structure

    18、Structure=IDLexModelManip,$INHERITS,IDLgrModel,常量及新的对象The following is an example of a structure definition procedure that defines a structure that will be used for the class CNAME.PRO CNAME_DEFINE struct=CNAME,data1:0L,data2:FLTARR(10)END38感谢你的观看2019年5月8日l定义类的method:PRO ClassName:Method IDL stateme

    19、ntsENDor FUNCTION ClassName:Method,Argument1 IDL statementsRETURN,valueEND39感谢你的观看2019年5月8日lResult=OBJ_NEW(ObjectClassName,Arg1.Argn)l如:a=obj_new(idlgrmodel)40感谢你的观看2019年5月8日lOBJ_DESTROY,ObjRef,Arg1,Argn41感谢你的观看2019年5月8日l四大类:l容器:View,Windowl模型:idlgrmodel,是容器对象的子对象起承上启下作用l原子:image,surface,polyline,pl

    20、oygon,光源(均可直接显示)q属性:符号,IDLgrFont,(无法直接显示)42感谢你的观看2019年5月8日l四类对象呈树状关系l一个只能有一个父对象Graphics AtomModelViewSceneGraphics AtomGraphics AtomGraphics AtomModelModelView43感谢你的观看2019年5月8日l调用 时传递Surface,a,color=255,0,0限制性强l公共区传递Common fd,a,b,c 公共区占用PRO MULT,M COMMON SHARE2,E,F,G M=E*F*G PRINT,M,E,F,G RETURNENDP

    21、RO DIV,D COMMON SHARE2 D=E/F PRINT,D,E,F,G RETURN固定内存l用uservalue传递参数lKeyword传递参数传递44感谢你的观看2019年5月8日l与C、C+中指针不同,只是IDL堆变量的索引,不存在真正的内存地址。l相关函数:PTR_NEW,PTR_VALID,PTR_FREEl调用方法:a=findgen(10)aptr=ptr_new(a)Print,*aptr45感谢你的观看2019年5月8日lData 数据坐标缺省的坐标系统,plot,contour,surface常用lDevice 设备坐标以像素为单位的物理坐标,tv,tvscl

    22、常用lNormal 归一化坐标,从0到1,对象图形法常用46感谢你的观看2019年5月8日lSpawn 子进程lActive X 控件lRPC 远程进程调用lCall_externallLink_imagelCallable IDL47感谢你的观看2019年5月8日lWindows下可执行操作,无法返回信息。lSpawn,cd/windowsl单用spawn,可到dos操作系统下。lUnix下,可以多进程使用,非常有用。48感谢你的观看2019年5月8日lVb调用IDLl界面由VB设计,触发事件可有VB或IDL控制。l控件初始化lIDL程序初始化49感谢你的观看2019年5月8日l只支持UNI

    23、X平台lallows IDL to be run as an RPC server and your own program to be run as a client.IDL commands can be sent from your application to the IDL server,where they are executed.Variable structures can be defined in the client program and then sent to the IDL server for creation as IDL variables.Similar

    24、ly,the values of variables in the IDL server session can be retrieved into the client process.50感谢你的观看2019年5月8日l将IDL作为Server端 IDL命令环境IDLDE 开发环境在Server端运行IDL时idlrpc-server=server_numberl将IDL作为Client端IDL_VARIABLE 结构对变量作说明IDL_RPCGetMainVariableLinking to the Client Library,libidl.rfc.h51感谢你的观看2019年5月8日

    25、l通过目标码进行传递,可调用任何语言的Code(如c和Fortran),适合任何操作平台。X=FINDGEN(10)S=CALL_EXTERNAL(example.so,$sum_array X,N_ELEMENTS(X),/F_VALUE)In this example,example.so is the name of the sharable image file,sum_array is the name of the entry point,and X and N_ELEMENTS(X)are passed to the called routine as parameters.Th

    26、e F_VALUE keyword specifies that the returned value is a floating-point number rather than an IDL_LONG.l缺点:数据在传递时数据大小和类型都必须已知,且不能传递虚拟变量。l建议:写错误捕捉子程序。52感谢你的观看2019年5月8日l把外部程序变为内部程序l须了解IDL的内部结构 IDL internalsl调用 n=link_image()l传递变量lKeyword的处理:Signals:捕捉,控制lUnix操作系统允许多进程53感谢你的观看2019年5月8日lIDL can be calle

    27、d as a subroutine from other programs.This capability is referred to as Callable IDL to distinguish it from the more common case of calling your code from IDL via CALL_EXTERNAL or LINKIMAGE.lIDL for Windows has a small driver program linked to a Dynamic Link Library(DLL).l效率高l与RPC接近(在RPC中,必须先启动IDLRP

    28、C Server)l比较复杂54感谢你的观看2019年5月8日lThe IDL DataMiner is an Open Database Connectivity(ODBC)interface that allows IDL users to access and manipulate information from a variety of database management systems.Research Systems,Inc.,developed IDL DataMiner so that IDL users can have all the connectivity adv

    29、antages of ODBC without having to understand the intricacies of ODBC or SQL(Structured Query Language).55感谢你的观看2019年5月8日lConnect to a database management system(DBMS)lQuery data from a DBMSlGet information about the available database tables in a DBMSlAccess a table in a DBMSlCreate a table in a DBM

    30、SlDelete a table in a DBMSlPerform standard SQL operations in the DBMSlGet information about the columns in a selected tablelAdd/Change/Delete records in a table56感谢你的观看2019年5月8日lThe IDL DataMiner provides two IDL objects for accessing databases:Database object(IDLdbDatabase)Recordset object(IDLdbRe

    31、cordset)57感谢你的观看2019年5月8日lstatus=DB_EXISTS()lobjDB=OBJ_NEW(IDLdbDatabase)lstatus=DIALOG_DBCONNECT(objDB)lsources=objDB-GetDatasources()58感谢你的观看2019年5月8日lmyDB=OBJ_NEW(IDLdbDatabase)lOBJ_DESTORY,myDBlstatus=DIALOG_DBCONNECT(DBobj)lstatus=DB_EXISTS()59感谢你的观看2019年5月8日l IDLdbDatabase:Connectl IDLdbDataba

    32、se:ExecuteSQLl IDLdbDatabase:GetDatasourcesl IDLdbDatabase:GetPropertyl IDLdbDatabase:GetTablesl IDLdbDatabase:SetProperty60感谢你的观看2019年5月8日lConnect ODBC for Oracle supports two separate drivers.Connect ODBC for Oracle 7(the Oracle driver)supports the Oracle 7 database system.Connect ODBC for Oracle

    33、8(the Oracle 8 driver)supports the Oracle 8 database system.The Oracle 8 driver is supported in the Windows 9x,Windows NT,Macintosh Power PC,and UNIX environments.See the README file shipped with your INTERSOLV DataDirect product for the file names of the Oracle drivers.61感谢你的观看2019年5月8日lThe IDLdbRe

    34、cordset object contains a database table or the results from an SQLquery.lRSObj=OBJ_NEW(IDLdbRecordset,DBobj,KEYWORD)lOBJ_DESTROY,RSObj62感谢你的观看2019年5月8日lIDLdbRecordset:AddRecordlIDLdbRecordset:CurrentRecordlIDLdbRecordset:DeleteRecordlIDLdbRecordset:GetFieldlIDLdbRecordset:GetPropertylIDLdbRecordset:GetRecordlIDLdbRecordset:MoveCursorlIDLdbRecordset:NFieldslIDLdbRecordset:SetField63感谢你的观看2019年5月8日64感谢你的观看2019年5月8日65感谢你的观看2019年5月8日谢 谢!66感谢你的观看2019年5月8日67感谢你的观看2019年5月8日

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:TheInteractiveDataLanguage交互式数据语言课件.pptx
    链接地址:https://www.163wenku.com/p-4989458.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库