计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

IDL在分布式GIS系统中的应用研究(1)(2)

2014-07-09 01:38
导读:系统中所有的空间数据由ArcSDE空间数据库统一管理,系统与ArcSDE的交互由C# Shell负责管理,具体的交互功能在体系结构图的Data Acess组件中实现。其中主要使

  系统中所有的空间数据由ArcSDE空间数据库统一管理,系统与ArcSDE的交互由C# Shell负责管理,具体的交互功能在体系结构图的Data Acess组件中实现。其中主要使用了经过 .NET封装的ArcSDE C APIs空间数据库访问函数库。
  
  2.4空间数据处理与显示
  系统中使用IDL语言来进行对空间数据的处理与运算。IDL是目前对科学计算可视化支持较好的语言之一,是一种集成了所有科学计算环境中所需函数的面向矩阵运算、用于数据可视化研究与应用开发的第四代计算机语言,也是易于使用、面向矩阵的语言。它具有高级图像处理能力、交互式二维和三维图形技术、面向对象的编程方式、OpenGL 图形加速、量化可视化表现、集成的数学与统计学算法、灵活的数据输入/输出方式、跨平台图形用户界面工具包、连接ODBC 兼容数据库存取及多种程序连接工具等功能,并且能够运行于多种操作系统和硬件平台之上。本质上,IDL是一个巨大的C程序库,包括了编译器、解释器、图像、算术处理器、用户界面和大量依赖操作系统的代码[5]。利用C#和IDL语言混合开发的系统,既包含了IDL语言强大的科学计算能力,又具备了C#语言对系统开发的灵活性以及系统运行的稳定性,使得两种语言在系统中达到优势互补,是实现科学计算及可视化的一种有效途径。ァ  3SDE访问接口
  
  系统采用了目前较为成熟的空间数据库引擎ArcSDE与大型关系数据库管理系统SQL Server来实现对空间数据的分布式存储和管理。需要解决的首要问题是如何建立与ArcSDE的远程连接,并与之实现交互操作。
  ArcSDE提供的访问通道有三条[6,7] 。三条通道中:使用ArcObjects成本太高;而直接数据库连接通过SQL语言直接从关系型数据库中获取以表、行、列为基础的数据,这种方法绕过了ArcSDE,适合于对非空间信息的访问,但处理空间信息的难度很大;ArcSDE的Client APIs是较为基础的一种功能发布形式,具有较长的历史和非常广泛的应用,它面向开放式系统开发,可以用于客户端与ArcSDE的交互过程。系统中最终采用ArcSDE提供的C语言客户端API方式,以便在保证系统性能的前提下,降低系统的开发和运行成本。 (转载自http://zw.NSEAC.com科教作文网)
  ArcSDE的C APIs具有较高的数据访问性能、较完整的矢量和栅格数据访问和管理能力。但是它是一个复杂的体系,包括30个结构、21个枚举以及757个函数,并且不支持面向对象,也没有提供对.NET环境的支持(只提供了C和Java两个版本),因而难以直接在.NET环境中以不安全代码(Unsafe)的方式访问。
  为解决这一问题,系统开发中利用托管(Managed)〤 语言,将ArcSDE 的C APIs封装为.NET环境支持的模块,然后在.NET环境中使用。
  
  4IDL与C#通信机制
  
  4.1IDL对混合编程的支持
  IDL为了更好地实现软件开发的灵活性和面向对象的功能,不断地对功能进行扩充,并且增加了许多与其他语言之间的通信接口,并提供了许多与其他语言进行混合编程的内部API函数。IDL 6.0可以与标准C、UNIX C、Visual 〤 、Java、Delphi等高级语言进行混合编程。 共2页: 1 [2] 下一页 论文出处(作者):
RFID生猪管理解决方案
异地容灾系统和数据仓库中数据同步的设计及其关键技术实
上一篇:人工智能语言--PROLOG 下一篇:没有了