1、IDL是什么? 美国RSI公司(现并入ittvis--编者注)的旗舰产品--IDL(Interactive Data Language)交互式数据语言是进行二维及多维数据可视化表现、分析及应用开发的理想软件工具。作为面向矩阵、语法简单的第四代可视化语言,IDL致力于科学数据的可视化和分析,是跨平台应用开发的最佳选择。早在1982年NASA的火星飞越航空器的开发就使用IDL软件,到现在IDL已经被列为国外许多大学的标准课程,IDL使科研人员无须编写传统程序就可直接研究数据 IDL(Interface Definition Language)即接口定义语言,是CORBA规范的一部分,是跨平台开发的基础。IDL提供一套通用的数据类型,并以这些数据类型来定义更为复杂的数据类型。可变化 IDL 基本类型 整数类型 OMG IDL 摒弃int 类型在不同平台上取值范围不同带来的多义性的问题。常数定义常数可以是整数、字符、浮点数、字符串、Boolean、octet 或枚举型,不能是 any 类型或用户定义的类型。OMG IDL数组类型IDL array 和 sequence,可以轻易地被映射到实现语言中。序列可以包含所有类型的元素,不管是基本类型还是用户定义的类型。 2、IDL语言是什么? 简单的说,IDL是VC、VB、JAVA、FORTRAN、MATLAB、OPENGL等语言的集成。 IDL语言与大型图形和GIS应用软件相距近,应用IDL可以快速的开发出功能强大的三维图形图像处理软件和三维GIS应用系统。 从本质上讲,OMG IDL接口定义语言不是作为程序设计语言体现在CORBA体系结构中的,而是用来描述产生对象调用请求的客户对象和服务对象之间的接口的语言。OMG IDL文件描述数据类型和方法框架,而服务对象则为一个指定的对象实现提供上述数据和方法。 IDL文件应用过程如图1所示。 图1 OMG IDL文件编译过程
3、IDL语言能干什么? 由于其强大的功能和独特的特点,IDL语言可以应用于任何领域的三维数据可视化、数值计算、三维图形建模、科学数据读取等功能中。概括说来,在地球科学(包括气象、水文、海洋、土壤、地质、地下水等)、医学影像、图像处理、GIS系统、软件开发,大学教学,实验室,测试技术,天文,航空航天、信号处理,防御工程,数学统计及分析,环境工程等很多领域,IDL语言都可以得到广泛而又深远的应用。 采用OMG IDL这样的说明性语言,其目的在于克服特定编程语言在软件系统集成及互操作方面的限制,这正是CORBA的诱人之处,同样也体现出采用CORBA构造分布式应用程序在网络时代的强大生命力。OMG IDL已经为C、C++、Java等主要高级程序设计语言制定了IDL到高级编程语言的映射标准。项目开发人员可以根据需要选择自己最熟悉的编程语言来独立开发基于CORBA的应用,而对软件系统的互操作能力不产生影响。 4、IDL已干出了什么? 目前应用IDL语言,已经开发出了ENVI、IMAGIS、RiverTools、医学等成熟产品。具体的应用实例也非常多,如在2000年澳大利亚悉尼奥运会综合预报系统、美国国家环境卫星数据和信息服务中心的厄尔尼诺现象分析等工作中得到了成功的应用。作为面向矩阵、语法简单的第四代可视化语言,IDL致力于科学数据的可视化和分析,是跨平台应用开发的最佳选择。它集可视化、交互分析、大型商业开发为一体,为用户提供完善、灵活、有效地开发环境。 OMG IDL的语法规则 3,接口(interface) 5、 IDL在数字信号与图像处理的优势: 1.高级的智能工具箱 iTools(intelligent tools)的出现是IDL6.0向易用性和易扩展性迈出的重要一步。iTools是由一批工具箱组成,其中包括iPlot、iSurface、iContour、iImage、iVolume等等。IDL使用者可以通过鼠标进行拖放即可完成数据的可视化以及分析工作。 2.极高的运算效率 IDL采用面向矩阵的技术,具有高效编程特点的同时,自动支持多CPUs机制,可以大大提高计算速度。另外,由于IDL对于数据类型的要求比较灵活,可以避免Matlab中强制64Bit参与计算的瓶颈,使得IDL更加适用于工程计算和相关软件的开发。 3.支持海量数据随着计算机应用水品的不断提高,人们数据量的要求也在不断提高。一些朋友反映说好像 IDL对于开辟矩阵的大小有些置疑,这里我需要补充一下。大部分朋友是受了硬件厂商的错觉,硬件厂商宣称自己的计算机能够有多大的内存,实际上是指内存的管理而不是说明能够一次开辟这么大的矩阵。并且,还有一些操作系统方面的限制。举例说明,Windows系列都是32位的操作系统,一次性最大开辟内存是2G,除了系统本身占用资源外,最多能够开到1.2-1.5G就非常不错了,因此,由此看来,IDL在利用内存上还是不错的。如果在64位的操作系统上,问题就会得到缓解。有人曾经在Linux上测试,利用IDL开辟4G的矩阵没有问题。由此完全客服了数据量的瓶颈限制和分块读取的麻烦。 4.灵活的外部语言接口做为高级的语言工具,IDL提供丰富而灵活的语言接口。可以与C、C++、Fortran、VB、 Java、VC等商业开发平台进行相互调用,尤其是IDL中Java Bridge技术,可以在IDL编程环境中直接创建和管理Jave的对象。与此同时,IDL还可以直接调用IMS以及Lapack等算法库,使得科学计算与分析更为方便快捷。同时,IDL还提供数据库的标准接口,可以对各种大型商业数据进行管理以及的高级应用开发。 IDL语言数据类型有什么? (1)基本数据类型:OMG IDL基本数据类型包括short、long和相应的无符号(unsigned)类型,表示的字长分别为16、32位。 (8)结构类型:
附:以下来自优快云博客:http://blog.youkuaiyun.com/lfkupc/archive/2009/08/08/4426019.aspx 1. IDL-Interactive Data Language IDL 是一种数据分析和图像化应用程序及编程语言,先由美国ITT公司所有。最初在七十年代后期用于帮助科学家分析火星探险卫星发回的数据,将浩瀚的数据转换为图形。从此后,IDL 得到广泛运用,使用者日众,呈几何级别增长。 IDL 使用者可以迅速且方便地运用此软件将数据转换为图象,促进分析和理解。通过软件转化的图像既可以是简单色彩,也可以是全色三维图像和模型。 一。 IDL开发环境 IDLDE是用户快速编写、测试并调试代码的最佳环境,用户可以在该环境中方便地进行应用开发。IDLDE具有完善的代码编译、调试环境。IDLGUIBuilder 可以迅速开发跨平台的用户图形界面(GUI),而无需熟悉IDL控件编程知识。用户可以拖放式建立图形用户界面GUI,非常灵活、快速地产生应用程序的界面。IDL GUIBuilder已被集成到Idl开发环境中(IDLDE)。用户还可方便地输出project,生成可执行文件。 二。 灵活的数据输入和输出 IDL是完全面向矩阵的,因此它具有快速分析超大规模数据的能力。IDL可以通过灵活方便的I/O分析任何数据。可以读取和输出任意有格式或者无格式的数据类型,支持通用文本及图形数据,并且支持在NASA、TPT、NOAA等机构中大量使用的HDF、CDF及netCDF等科学数据格式,以及医学扫描设备的DICOM标准格式。IDL还支持字符、字节、16位整型、长整型、浮点、双精度、复数等多种数据类型。从IDL5.5起还可以支持MrSID压缩数据格式。 三。 IDL——快速实现可视化 IDL支持OpenGL软件或硬件加速,可加速交互式的2D及3D数据分析、图像处理及可视化,除了保留传统的直接图形法外,IDL还采用了先进的面向对象技术;可以实现曲面的旋转和飞行; 用多光源进行阴影或照明处理;可观察实体(Volume)内部复杂的细节;一旦创建对象后,可从各个不同的视角对对象进行可视分析,而不用费时地反复重画。IDL具有强大的数据分析能力,从IDL5.5起支持多进程运算,IDL带有完善的数学分析和统计软件包,提供强大的科学计算模型,支持IMSL函数库。它的图像处理软件包提供了大量方便的分析工具、地图投影变换软件包,使您开发GIS易如反掌。 四。外部语言接口 IDL支持COM/ActiveX组件,可将您的IDL应用开发集成到与COM兼容的环境中。从Visual Basic、Visual C++等访问IDL,还可以通过动态连接库和COM组件方式在IDL程序里调用C 、Fortran 等程序。用 IDL DataMiner 可快速访问、查询并管理与ODBC兼容的数据库,支持Oracle, Informix, Sybase, MS SQL 等数据库。可以创建、删除、查询表格,执行任意的SQL命令,读取/设置/查询/增加/删除记录等操作。 五。应用领域 IDL为用户提供了可视数据分析的解决方案,早在1982年NASA火星飞越航空器的开发就使用了IDL软件。IDL使科学家无须写传统程序就可直接研究数据。IDL还被广泛应用于地球科学、医学影像、图像处理、软件开发、大学教学、实验室研究、测试技术、天文、信号处理、防御工程、数学分析、统计等诸多领域。 六。 广泛的支持平台: 2。 接口定义语言(Interface Definition Language)的缩写,使用Java(TM)编写的API提供基于标准的和CORBA的交互性和连接性。 ·Used to describe "interfaces"
一、IDL语言是什么?
IDL语言的英文全称是Interactive Data Language。
1、IDL =VC本文来GIS公园 从菜单的定制、消息的传递、类的定义与继承等方面来说,IDL如同VC一样具备了强大的功能。
2、IDL=VB
从可视化界面的设计、语言的通俗易懂、编程的入门等方面来说,IDL如同VB一样,让初学者心旷神怡。
3、IDL=JAVAGIS公园-GIS专业网站 从跨平台的移植来说,IDL的功能与JAVA一样强大。应用IDL开发的产品,只要微不足道的工作就可以在各平台之间任逍遥。
4、IDL=FORTRANwww.gispark.com FORTRAN语言是科学计算领域一门最普遍的语言,是科学家最为广泛应用的语言。从函数、子程序的调用、数据传递、语言风格、语言组织等来说,IDL语言与FORTRAN则是如此的相像,见到了IDL,你就会想起FORTRAN语言。本文来GIS公园 5、IDL=MATLAB本文来GIS公园 IDL语言象MATLAB一样,提供了大量封装和参数化了的数学函数,为科学计算插上了强大的翅膀。www.gispark.com 6、IDL=OPENGL
IDL的提供了丰富的二维、三维图形图像类,其功能可与OPENGL媲美,而且其封装好的图形函数类的编程功能远超过OPENGL函数库。 二、IDL语言能干什么?
由于其强大的功能和独特的特点,IDL语言可以应用于任何领域的三维数据可视化、数值计算、三维图形建模、科学数据读取等功能中。
三、IDL已干出了什么?
目前应用IDL语言,已经开发出了ENVI、IMAGIS、RiverTools、医学等成熟产品。具体的应用实例也非常多,如在2000年澳大利亚悉尼奥运会综合预报系统、美国国家环境卫星数据和信息服务中心的厄尔尼诺现象分析等工作中得到了成功的应用。 |
本文引用地址:http://www.sciencenet.cn/m/user_content.aspx?id=320261 |