IDL在分布式GIS系统的中的应用研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IDL在分布式GIS系统的中的应用研究

IDL在分布式GIS系统中的应用研究 摘要:以新型的面向图形对象、基于矩阵的交互式数据处理语言(IDL),与空间数据引擎(SDE)结合来构建分布式GIS应用,既发挥了IDL在空间数据处理、三维显示方面的长处,又利用了SDE在空间数据管理方面良好的性能及安全性,同时避免了在购买专业GIS开发组件许可证上的巨额投入,在性能和开发成本之间做到了合适的平衡,是一种经济可行的应用方案。   关键词:地理信息系统;交互式数据处理语言;空间数据引擎;C#;分布式应用   0引言      进行GIS应用开发,若直接从底层做起则开发周期长、成本高。目前应用最为广泛的模式是集成二次开发[1],就是以当前成熟的商业GIS平台为基础,以高级开发语言为支持来进行应用开发。然而目前的商业GIS平台价格昂贵,并且由于提供厂商在知识产权保护方面的考虑和限制,有些还不能用来开发完全独立(Standalone)的应用系统。   业界应用最广的ESRI[2]公司产品系列中提供了功能强大的基于COM技术的ArcObjects组件作为GIS二次开发工具,开发者可以借助其成熟的空间分析技术以及其与ArcSDE空间数据库之间良好的协作特性,快速地实现GIS应用系统的开发。然而在ArcGIS 9.0之前的版本中,ArcObjects不是独立的软件开发工具包(Software Development Kit,SDK),无法脱离ArcGIS环境开发独立的应用系统[2];即便在新发布的ArcGIS 9.0开始支持独立开发的情形下,昂贵的发布许可费用仍然使得目标系统的应用成本非常高。这对科研应用目的而言,不但开发成本太高,而且灵活性很差。因而尝试在系统的设计开发中,选择基于矩阵运算的交互式数据处理语言(Interactive Data Language,IDL),以及商业化的空间数据管理引擎ArcSDE的集成开发模式,以期在性能和开发成本之间达成一个合理的平衡。      1开发环境      IDL是一种新型的面向图形对象、基于矩阵的数据处理语言,自带强大的数学库支持,在数据运算、分析和空间表现方面有出色的性能[3]。ArcSDE是非常成熟的空间数据库引擎。通过结合MS SQL Server或Oracle大型关系数据库系统,可以建立具有良好性能的空间数据库[2];并且通过利用ArcSDE提供的Client APIs(Application Programming Interfaces,应用编程接口)接口进行开发,系统的自主性较强。   经过对多种开发环境和编程语言的比较,系统决定采用.NET作为实现平台。C#是一种新的编程语言,它是专为生成运行在.NET框架上的企业级应用程序而设计的,同时具备C/C++的强大功能及Visual Basic的快速开发能力,是面向下一代操作系统的开发语言[4]。      2系统开发方案      2.1系统体系结构   系统采用多层逻辑结构的胖客户端/瘦服务器端模式。服务器端由ArcSDE来实现空间数据的管理,结合服务器上的SQL Server构成空间数据库。客户端由C#构建,利用其在应用程序开发方面的性能、快捷性及交互界面开发方面的出色能力,以弥补IDL在此方面的不足。IDL在系统中主要负责实现空间数据(含二维和三维)的本地访问管理和表现,如空间数据的加载、本地管理、地图渲染、三维显示等;系统还可借助IDL强大的数据处理能力实现基于矩阵运算的各种分析功能。IDL部分经过良好的封装被嵌入在客户端的C# Shell中。      2.2客户端程序框架   客户端交互界面由C#和经过.NET封装的IDL DrawWidget开发控件构建。由于IDL并没有像其他专业GIS开发组件(如ESRI的MapObjects或ArcObjects)一样直接提供对GIS应用开发的支持,因而基本的GIS功能需要利用IDL自行实现。图层控件用标准的Windows基本控件组合开发;鹰眼控件和地图控件由经过.NET封装的IDL DrawWidget开发控件来实现;比例尺控件由Windows绘图函数与IDL函数共同实现。      2.3空间数据管理   系统中所有的空间数据由ArcSDE空间数据库统一管理,系统与ArcSDE的交互由C# Shell负责管理,具体的交互功能在体系结构图的Data Acess组件中实现。其中主要使用了经过 .NET封装的ArcSDE C APIs空间数据库访问函数库。      2.4空间数据处理与显示   系统中使用IDL语言来进行对空间数据的处理与运算。IDL是目前对科学计算可视化支持较好的语言之一,是一种集成了所有科学计算环境中所需函数的面向矩阵运算、用于数据可视化研究与应用开发的第四代计算机语言,也是

文档评论(0)

ayangjiayu3 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档