资源描述
24北京测绘2010年第1期I i III跡I一 ,一 1“GIS二次开发及界面优化的探究王枣阳张昶华2(1北京北矢方正秋件技术学陀.河北廉坊065001$ 2北京亦測第设计研比fit,北京IOOO38)摘 5组件式CIS以其冬大的生余力在结合GPS技术的升发,何分析应用领域在基于阿络的开发领城梆发挥出了主力军的作用。实的ArcEngine.而由于ArcEngine在GIS开发中文缺乏界面优化工具.可,补不仅实现了鼻面的优化又降低了成本;同时也将发散式”思维研究关键词GIS;二次开发;Active Bar; ArvEngine ;界面优化中图分类号P208文献标识码A(收積日期j 2009-09-08【作者简介】王M阳(1978-)辽宁沈阳人讲獅研究方向:地理信息系统计算机科学技术。组件式GIS即将复杂的GIS功能按照对象、功能、 应用等层次分解为叮以互操作和自我管理的组件并 由一种待定的平台或语言开发能够在其他的平台或 语吉中血复使用。目前组件式GIS主要有两种形式. 一种是由可以实现制图与一般GIS功能的ActiveX控 件集构成的组件式GIS。这些控件既可以通过属性、事 件、方法等接口与应用程用进行交互也可以在可视 化开发环境中集成构成应用系统另种形式的组件 式G【S是基于Microsoft COM技术构建一系列COM组件 集用户可以利用宜些组件开发各种GIS功能,并在此 星础上构建(4S应用系统。这种开发模式更为底尼开 发较为复杂功能更为强大以ESR1公司的ArcObjecte (简称A0)组件为典型。两种开发形式的软件都具冇 地图2示、图层控制、数据査询、地图符号化、专题地 图等基本功能。A0的全称叫ArcObjects.是一组组件对象库号称 是世界上继微软之后第二庞大的类库L我们所熟悉的 ArcGIS桌面产品,ArcGIS Dmklop、AreIMS、ArcSDE、Ar- cGISSenere?都是的的产品也就是说都是用A0开发 岀来的.产品覆盖的领域更是从工具型CIS到应用型 GS从结合GPS技术开发的综合运用领域到基于地理 空间数据库支持下的空间分析应用领域再到开发基于 网络的WEBGIS系统以及三维GIS系统等都发挥出了主 力军的作用。A0足基于COM技术的因此.凡是支持 COM技术的山邮境或语言都可以应用A0或是A谜行 开发如用VB VC .Neu由干使用AOff发的程序必须安 装桌面版软件这使得它的开发成本大大增加。岀于产品策略上的考ig.ESRI将A0中的某些组 件集单独封装岀米屆名为AE使用AE开发的软件需 要在一个RUNTIME下运行而不需要安装ArcGIS软 件。AE全称ArcEngine,是用于嵌入式开发的组件类 库或叫开发包可以供使用布在现有的MS系统中嵌 入地图服务等功能。AE从类库或是从体系架构上来 说只是A0的子集其功能没有A0那么强大但凡是 在ArcGIS Desktop中能实现的功能用AE开发基本都 能实现在最终程序的部黑过程中由于所需要的运行 环境不同因此需要在运行程序的机器上安装ArcGIS Dcsktop(提供A0环境)或是ArcEngine RunTime 由于 这两秆的价格相邃其远因此轻锻级的开发大家都 会选用AE做开发简言之.AE开发出来的程序可以脱 离ArcGIS台环境:,但由于AE的定位是开发包因此比A0少了很多 UI的东西就是少了许多图形界面的工具及对话框. 要实现英化的用户界面.我们一般需耍自己用GDI+ AP写实现起来比较麻烦可以采用第三方控件Ac- tiveBar来实现界面优化。就像利用ArcGIS Server发 地图网站一样在环境进行网贞的效果设计比较 困难.可以利用Dreamveaer结合Photoshop处理好美 观的网页文件后再把英添加的皿1开发环境的相应 工程下再进行代码级的开发解决了这个问题。1 ActiveBar 简介ActiveBar是一款设计用户界面必不可少的ActiveX 控件,可使程序变得更专业。便用它可以制作岀 像Word 一样的个性化菜敏广白定义”对话框;像 Outlook的快捷按钮栏;像CorelDRAW的入坞式谢 口;像DJphi的控件选择页面。并且使用十分简单. 保存设计图和加载设计图祁十分简单只用几个方法 既可。这个控件可以用在VB5.VB6和VC卄上。 1.1 ActiveBar的主要特征独特的交互设计器可以直接在表单中使用。2010年第1期北京测绘271 菜单捕捉器:可以直接捕捉处于运行状态的应 用程序的全部菜草。2 图标设计器:含有图标捕捉功能及可以定制的 调色板。4能够创建菜单、普通工具条、镶边工具条和快 捷栏以及状态条。5 工具条和菜单是可停泊的可以浮动或者作 为弹出菜单。其工具按钮可以固定不变也可以分拆。6运行时刻允许控件激活/禁止停泊、浮动或改 变大小。7支持按扭、F拉按扭、组合框、文本编辑框、标 签、分隔符.ActiveX控件以及可停泊表单。&在不同的状杰下对工具进行枣新绘制:包括工 具被单击、激活和燥用状态。9 控件工具的标题和图标等元素的排列和位2L10 自动的快捷键处理和支持单个工具拥有多个 快捷键。11 支持菜单展开和滑动的动态效果。12 支持大图标和小图标。13 支持0ffke2000类似的个性化菜单快速定制 和飞出工具。2 ActiveBar对象模型图ActiveBar供了一个广泛的对鏡模型这个模型 可以全方位地控制带区(Bands)和工具集该模型图 如图1所示;ffil ActiveBar对食模型图其中带区(Bands)是一个容纳行为的工具集带区 可以是应用的菜单栏子菜单栏工具栏、状态拦或上下 文菜单。菜单和工具条可以披放社或停靠金窗体的任何 一边.也可以作为独立的窗体浮动在应用程序界面上。 带区可以根据具体需求具体定义来实现用户化。工具集种类,行为工具架被按照类型分组以满足 用户化的妄求并且方便責找和管理。例如.打开、关 闭.打印等所有关于文档和文件相关的行为组成为一 组文件类型而将例如剪切、复制.粘贴等功能则被 分组为编辑类型。开始创建行为类熨工具的设计然后把工具集加 到每个类中而同名工具集中的毎个工具很容易的通 过它的ID码加以区分和识别例如下面有一组简单的 类型和行为工具集工具名可以根据用户自行定义. 而工具名前面是工具标识也就是前面的数字则是唯 一的类和标识如图2所示。图 2 ActiveBar 计器工具集分亨属性:ActiveBar行为工具集可以放置 不同的带区例如菜单、工具栏和上下文菜唯。作为新 实例的每个工具都有它们自己的属性这种结构允许 用户根据自己的需要来定制和设置,工具的属性如可 用、可视等这些属性控制肴工具的状态而与工具的 当前位置无关如图3所示。图3菜单和工具栏2开发OFFICE风格的G1E应用程序ActiveBar控件的客户比包括双击带区的任何地 方或右击来显示客户化弹岀式菜单。ActiveBar创建客 户化的弹出式菜单作为一个带区被叫做运行时系统 客户化。这将允许用户从该控件的-BandOpcn-事件 中增加或移除工典例如用户能够移除-CustomizeM 工具以防止用户显示“定制”对话据。为了快速定制OFF1CE2000风格的工具栏版式. AWeBar控件包含了一个运行时定制対话框给用户 提供了自由定制带区和设置工具集的方法。自定义对话框通當包括堆加、廈命名和删除、右 键菜单和控制标题和样式、行为工具集的显示拖放及 定制帝助对话框等o ActiveBar可以通过控制显示对话框用于用户创建自定义的对话框这会让应用变得更 加灵活这种客户化的显示控制看带区、类别和工具栏 的站示并且能够随着带区的移除而控制增减工具集。2.1 ArcEngine控件添加当开发应用稅序的布局时我们首先要理輛设计 的目标和AcliveBar控件内在的工作机理ActiveBar控 件管理着你应用程序中所有的功能并把这些功能与 菜取、工具栏、快捷菜笊和快捷键紧密的联系起来,例 如在开发一个简单的基于地图文档的应用中可能 存在创建一个新的文档打开一个已冇的文档和保存 地图文档等基本功能这些简单的操作可以通过菜 单、工具栏的相应命令摆作或快捷键完成功能调用. 当用户通过以上方法调用了一个相应的操作,Active- Bar将会产生一个敢活该行为的CL1CIC事件来调用 和执行相应的程序代码。因此我们可以将ActiveBar 件作为容器在窗体中首先装入然后在其中添加 GIS控件和相应的功能。如图4所示。2.2利用自定义功能实现常规地图操作ActiveBar件提供了一系列的事件触发机制、属 性和方法见图5所示。图4添加GIS控件匕Acti*tBr2 揑件?1 ActivBar2 控件电 ActivBar2 霭性0 ActiveBar2 爭件 lulActivBtr2 方谖囹&boQt方法ApplyAll方法?1 Cl.tr樹方法2) Cuxtoize 方法 ?】GtBandFroPosi tion ?GtToolFromPosition21 方法?】LoadLtyoutChtncx 方法?】Lo%dMenuUsageDate 方法图5 ActiveBar控件的属性、方法、車件由丁篇幅原因仅以简单的-Toolclick-件为例 来说事件触发和行为调用相应的机理,更多内容请读 者参见相关帮助文件。Private Sub ActiveBar31 .ToolClick (ByVai Too) As ActiveBar3LibraryCll.Tool)DilDilSeiSeiSelecCasefils/pv“vu rt*r* 7 口 ar*?数完成详见下面代码。Case btnFileSaveMxdSaveDocument一篇幅原因程序不再一一列举方法类似。End Sub当用户点击打开命令程序即根据名称、in- FikOpen”来确定程序入口.并调用相应的自定义函 数完成相关操作该甬数的代码如下:Private Sub fileopenOCommonDialogl .DialugTitle 二Open Map Docu mentH 扌T开“open map documents0对话框CommonDialogl .Filter = KMap Documents (. DigitalG|4 www.ApolloTG.com54北京测绘2010年第1期54北京测绘2010年第1期The Study on the Imagery Procedure Method of WorldView-1 SatelliteQU qiao-xin, WANG Su-min. LIU Yuan-yuan, ZHANG Fan(61512 unit Beijing 10008& China)Abstract: Rational Function Model (RFM) is a general model irrespective of specific sensors. The test results obtained, with the aid of certain GCP, REM can procew the WorldView-1 high resolution remote sensing image timely, rapidly and precisely, which hclpe to show its great potential in national economy.Key words: Rational Function Model (RFM); WorMView-1 high resolution remote sensing images; Ground control points (CCP); Accuracy.(上接第27页)Second Development and Interface Optimizqtion on GISWANG Chong-yang. ZHANG Shao-han(Peking University Founder Technology College. Lang Fang, 065001, China)Abstract:Component-based GIS play a main role with its powerful vitality, in combining with GPS technology developmentareas; geo-spatial database, based on the support of spatial analysis applicAlions, and in the development of network -baed areas majority of development is designed with ArcEngine, but it is lack of interface development optimization tool The introduction of third-party developers to make up for the ActiveBar control, not only achieve opt mization of the interface but also reduces costs: The Mdivergenr thinking and research methods can be verifiedKey words: CIS; Redevelopment; ActiveBar; AnrEngine; Interface OptimizationGIS二次开发及界面优化的探究作者:王重阳,张韶华,WANG Chong-yang ZHANG Shao-han作者单位:王重阳,WANG Cho ng-yar北京北大方正软件技术学院河北廊坊,065001),张韶华,ZHANGShao-han北京市测绘设计研究院北京100038)刊名:北京测绘英文刊名:BEIJING SURVEYING AND MAPPING年,卷(勒:201Q (1)被引用次数:0次参考文献(5条)1. 查看详情2. 查看详情3. ESRI Inc ArcGIS Engine Developer Help 20044. ESR中 国(北京)有限公司ESR公ArcGIS系列产品简介 20055. 冯克忠AreObjects开发指南(VB篇)2007相似文献(10条)1. 期刊论文 郑军.陈正阳.ZHENG JunCHEN Zheng-yang基于.NET平台集成二次开发GIS的方法-兵工自动化 2005,24(1)基于NE呼台的集成二次开发5IS,需考虑系统本身性质及设计者自身情5大型GIS系统可选择OL方法组织开发对小型3IS系统可采用组件式开发 .若只在一大型系统中嵌入SIS应用,作为要求较高的功能模块可选择调用可执行程序利用专业GIS自带开发工具二次开发再与NE呼台集成即可满足 用户特殊需求.2. 学位论文李莹基于组件式GIS的二次开发的研究与应用2007地理信息系统GIS)是地球科学和信息科学等学科交叉的产物,涉及了地理学、制图学、遥感AD技术、数据库技术。目前已成功地应用到资源管 理、自动制图、设施管理、城市和区域的规划、人口和商业管理、交通运输、石油和天然气、教育、军事等众多领域之中,并取得了显著的社会效益和 经济效益。但传统的3I註需要按照客户的要求定制时,面临越来越多不能解决的难题。随着软件工业的发展,基于组件的软件正扮演着越来越重要的角 色,取代传统的软件,在3IS领域也是如此。本文以组件式3I3的应用系统研究为背景,在系统理论的指导下,按照要求,应用系统工程原理和方法,为了满足实际需要,COM技术,讨论 并分析了GIS勺实现方案。并彻APG基础上进行二次开发,抽取IAPG中适合于城市规划和日常管理的功能命令重新开发组合,建立了针对市政专业部 门,经济可行,界面友好,简单实用的专业市政管理软件,满足了当前市政部门的迫切需要。组件式3IS是GISf组件技术相结合的新一代地理信息系统。基于组件式的二次开发已成为当43IS软牛二次开发的主流,因此本文对基于 MAPG组件的二次开发做了重点理论探讨,介绍了地理信息系统和组件式的基本概念,并介绍了组件商SS本优点,MAPG组件开发平台的组成 ,层次和功能划分,MAPGffi件设计,开发的基本思想和原则,阐述了使MAPGS件进行GISS用软件二次开发的一般方法和步骤,以及在B.NET中 使用MAPGISS件对象的基本步骤。在现有的GISF发中,各种开发语言使用广泛,但用ET来进行3IS系统二次开发的却很少。本文从地理信息系统二次开发入手,VB.NET可视化 编程语言为开发工具,对基于/B.NET的MAPGIS1次开发作了系统的理论总结和探讨,并开发基B.NEffiMAPG的城市规划和日常管理系统。对使 用VB.NE语言进行二次开发具有一定的指导意义。3. 期刊论文 秦凯.杨杰.QIN Kai. YANG Jie普通高校GIS二次开发课程实践教学探讨-南阳师范学院学报2007,6(6)GIS二次开发,是地理信息系统专业的核心课程之一吉合教学实际介绍了普通高校GIS二次开发课程教学和实践的实现过程从课程特点、教学过 程组织、学生科研等方面探讨了实践教学的方法.4. 学位论文 郭皓基于Skyline的3D GIST次开发技术研究2009地理信息系统已经广泛地应用于与地学相关的众多领域,三维地理信息系统d(gis是其发展趋势之一。很多应用领域要求IS能够在虚拟三维空 间中进行浏览、显示和分析。本文旨在研究D GIS勺相关理论及二次开发技术,以信息管理中的应用为需求,探索技术手段并在系统原型中实现。现有的三维软件大多是面向视觉上的景观制作与浏览,作者在总结前人工作的基础上,选择合适的I开发方式,利用ArcGIS Engin组件和 Skyline三维软件的TerraExplorer Pro二次开发包函数库,在面向对象的可视化编程平台Sual Studio C #开发环境中进行D GI$勺二次开发,实现了 三维空间数据建模及二维与三维空间数据的一体化存储管理,2为GI在三维空间的辅助决策支持与分析提供了解决方法,拓展了 GI在三维空间的 应用。在这些技术与方法的支撑下,建立了相应的实验系统原型一一潼河地区宝应站南水北调三维管理信息系统,是I技术总结和理论提升,并且给 出了具体设计与实现的技术和方法。其中综合查询模块,实现了各种空间数据的管理查询等功能,二三维联动互响应功能做到了虚拟三维场景与 GIS勺互响应技术两者间的优势互补,实现二三维地物的准确定位和视野关系,有效地解决了独立的二维电子地图和虚拟三维场景各自不足之处。这个二 三维的交互系统原型的实现,为今后D GI$勺开发提供了一种行之有效的技术途径。5. 期刊论文 邵保华.田学志.李勐.SHAO Bao-huaTian Xue-zhi . Li Meng方正智绘Mirage GIS在资源调查上的二次 开发-林业勘查设计2007,(1)论述了方正智绘Mirage GI註森林资源调查中的二次开发详细介绍了方正智绘irageGI进行二次开发的对象模型方法,并在Visual Basic开发环 境下进行具体实例的开发应用.6. 学位论文王莹基于ArcObjects的塔河流域土地利用趋势预测系统的开发研究2006地理信息系统GIS)作为土地利用变化研究的主要技术手段,覆盖了从数据采集、数据处理到数据分析的全部过程。然而单g一软件所能实现的 功能有限,难以满足土地利用变化研究的全部需要,因此研究人员需要借助若干儆件的不同功能来共同完成土地利用变化的研究。如果借助几套通 用GI5软件仍然不能满足研究需求,就需要利用I5软件提供的二次开发功能来解决实际问题。本文作者利用3ISZ次开发技术开发的塔河流域土地利用趋势预测系统,将地理位置和属性数据结合起来,根据用户的需要将空间信息及其属性信息 可视化输出给用户,并对多种来源的海量时空数据进行动态存取、管理、检索、建模和模拟,直观地显示土地利用性质的变化及土地预测的结果,使系 统达到可视化、易操作以及多功能的要求。使土地利用研究人员不用再使用不同的软牛研究,更不用再学习专业的5ISZ次开发语言,就可以完成土 地利用变化的研究工作,大大提高了工作效率。本课题来源于煤航集团实业发展有限公司联合体的塔里木河流域水量调度管理系统项目,塔河流域土地利用趋势预测系统作为该总项目中的一个子 系统,它的目标客户是塔河水量调度局的领导和职工,主要功能是以直观地地图展示,简单友好的界面,强大的分析能力,使系统达到易操作性和高效 性的要求。本文采用组件式GIST发方式,利用ArcGIS9.0勺ArcObject;组件和VisualBasic语言,开发了塔里木河流域土地利用趋势分析系统。模拟和预测和田 河流域、叶尔羌河流域、阿克苏河流域和阿拉尔地区人工绿洲土地利用变化趋势,并将分析出的结果以地图和图表的形式显示出来,揭示土地利用的动 态变化趋势与演化规律,为领导决策提供科学依据。论文共分为五个部分:第一部分:绪论。简明阐述了地理信息系统在土地利用研究中的应用情况,选题的背景、意义、研究内容、方法。第二部分:GISZ次开发技术概述。阐述了利JGISJ术开发应用系统的几种技术。第三部分:塔河流域土地利用趋势预测系统平台构建。介绍了开发本系统的计算机硬件及软件方面的配置情况。第四部分:塔河流域土地利用趋势预测系统设计与实现。详细介绍了本系统的结构设计、功能设计、数据库设计以及开发过程和运行情况。 第五部分:结论。对本论文研究地总结,存在的问题以及进一步研究地展望。本文的创新之处在于系统的服务对象范围广,不仅可以辅助专业 土地利用变化研究人员进行土地利用变化研究,还可以为非专业用户、领导层提供决策帮助。2. 系统将各种分析功能集于一身,省去了用不同S软牛分析时数据转换的繁琐工作,研究人员可通过调整参数及数据得到多种分析结果,为土地利 用趋势预测研究提供方便。3. 系统数据库实现了以关系数据库管理系(Oracle)为基础的空间数据管理,使用rcSD空间数据库引擎,实现了空间数据和属性数据的无缝连结4. 目前,很多相关研究只是在3IS软件中利用二次开发语言增加个别功能,而本系统针对土地利用趋势预测中的各种具体问题,独立开发了一个可以 对土地利用进行综合研究的BISS用软件。本文存在的不足及展望:.系统菜单设计目标为三级菜单,但由于系统结构原因,有些功能还是放在了四级菜单中,这样无形中将系统的操作难度 提升了,对于初级用户而言还是稍难;另外,系统界面的设计也有待于更加友好、更人性化。2.分析功能偏少,目前只实现了统计图表分析,以后会加入动态演示等功能。7. 期刊论文 陈立平.刘媛杰.王志勇.Chen Liping . Liu Yuanjie . Wang Zhiyong结合Script Control组件实现GIS应用的二次开发功能-塔里木大学学报2007,19(2)本文通过将微软Script Control组件引入到基于Map的GIS应用开发中实现了GI越用系统对二次开发功能的支持这种二次开发功能支持不仅有 利于最终用户根据需要扩充I5应用系统的功能而且,亦有利于开发者对软件的维护.8. 学位论文张臣基于MapObject下的GIST次开发在工程中的应用2007地理信息系统Geographic lnformation System,简称GIS作为集计算机科学、测绘学、遥感学、地理学、环境科学、空间科学、信息管理科学为 一体的新兴交叉科学,越来越受到人们的重视,并且广泛应用于工程建设中。本文简要介绍了地理信息系统的发展历程,阐述了其概要和特征。并指出组件式对象模型的开发方法髭次开发的潮流与趋势。作者较为详细的 介绍了运用面向对象技术SMapObjec开发组件进行二次开发的方法和常用的组件属性、方法、事件的应用,并基于该组件提供的完备的空间数据处理 、分析功能,利用可视化开发工具,进行了城市地震危害评估系统和路由图绘制信息统计系统的开发实践。在开发城市地震危害评估系统过程中,作者利用I5技术采集、存储、管理、分析与显示地理空间数据的优势.Visual Basic开发平台上利用 MapOb腔件.ects进行GIS二次集成开发,对不同类型的城市建筑物分别用不同的分析方法进行计算,借助已有地震衰减模型,求取建筑物在不同地震 烈度下的结构损害情况。该系统可以提前进行地震模拟,并将分析与评价结果展示出来,从而有助于分析、管理与决策。在开发路由图绘制信息统计系统过程中,作者利用图层上每个图形对象都有空间数据和属性数据这个特性,将图形对象的空间数据通过属性数据与 数据库连接,使得路由图的绘制与统计查询结合起来。使得统计过程中能够节省大量的人力,还可以避免人工统计时发生的错误。9. 学位论文李海霞平台无关的GI亚用软件功能复用研究与实现2005本文首先介绍了GIS勺开发模式和几种不同构件技术通过对几种不同3ISF台的比较分析其各自的接口特点及空间数据格于建议通过一种基于体系 结构、面向构件的软件开发方法来二次开发应用软件U用We服务封装构件接口利用SOAP议实现构件之间通信在其他基于不同3I5平台二次开发应用 软件中进行功能复用从而实现平台无关提高软件复用性最后在一个应用实例中初步实现所需要进行的复用研本文所作的工作有如下几点.分析了 GIS勺几种开发模式、构件技术的几种方法和IS系统间的数据接口2.了解目前GISE用技术分析平台无关性提出基于体系结构、面向构件的软件开发 方法3.分析了常见的几种3I5开发平台和其各自开发实例提出了利用We服务封装构件接口SOA实现接口之间通信实现构件复馬.利用前面提出的软 件开发方法完成了一个基毛I5应用软件的开发使用具体技术初步实现平台无关功能复用.10. 期刊论文 汪竹青.WANG Zhu-qingGISX次开发实践一一动态追踪案例-机械管理开发2009,24(2)GIS作为传统学科与现代科学技术相结合的产物正在逐步发展成为一门处理空间数据的现代综合学科IS以其强大的海量空间数据处理和空间分析 功能正广泛被应用于社会各个领域和部【孜章立足于地理教学以WindowVb为开发平台借助GISS件,Esri MapObjects进行了二次应用开发动态 追踪的实践尝试.本文链接:授权使用:中南大学(zndx),授权号:07c7b381-23a5-4aad-963e-9db800bb8cc2下载时间:2010年月19日
展开阅读全文