版权说明:转载文章请注明出处                                        访问超图公司网站 
 
 

2007年超图GIS大赛有感——模块开发组解题

超图公司支持中心技术支持工程师 丁晓佩

 

  那么希望在2008年的超图GIS大赛中,我们可以在这个模块中看到大家的创造性思维,看到大家对行业的深入理解。

 


  辞旧迎新,2007年的超图GIS大赛刚刚落下帷幕,甚至我们还能隐约听到最后一场答辩时的喝彩,2008年新一届的超图GIS大赛已经悄悄地开场了。俗话说一个好的开端是成功的一半。因此在开始筹划新一届比赛的同时,我们也应该及时地回顾一下。回顾什么呢?回顾成败得失,总结经验教训。那么下面,我就跟大家一起来回顾上届GIS大赛中的一个新的命题模块,解一解这道“题”到底需要我们做什么。
  如果没有参加或者不了解上届大赛的朋友,可能会问了,这个新的命题模块到底是什么呢?它就是2007年GIS大赛中新推出的“GIS模块编程组”命题。在下面的时间里,我会带着大家来分析一下,这个命题模块到底需要我们完成怎样的内容。
  首先,我们先来看看它的特点,初步的了解一下这个模块隐含的意思。
  这个比赛模块,可以说是组件开发模块的一个“近亲”。为什么这么说呢?因为从开发所使用的工具来讲,主要还是使用SuperMap Objects全组件式二次开发平台为主来进行二次开发的。既然所使用的主体技术没有文章可以做,那么可以做文章的就是程序制作的目的了。只有了解了这个模块需要我们做什么,做到“有的放矢”才能很好的完成这一模块的作品,取得好的成绩。
  相信大家都是考场上的老手了,那么我们以往考试所关注的是什么呢?当然了首先知道考官关注什么,想要什么,也就知道我们应该关注什么了。既然这样讲,我们就先来看看考官新开辟这一个命题模块的目的是什么。上面讲到这个新的模块和传统的组件开发模块是“近亲”,说它们“近”,是从开发的手段上来讲的,但是从开发的思路上来说,它们的关注点是完全不一样的。传统组件开发模块的作品内容,主要关注的是功能的全面性,也就是说开发完成的系统,应该将某个行业所需要使用到的GIS的功能全部包括进来,当然所需要完成的功能根据行业的不同需要应该是不一样的。但是总结一下超图开办GIS大赛以来,很多组件开发模块的系统,都是在模仿SuperMap Deskpro。很多自己行业不需要的功能也被硬塞到系统中去了,使开发出来的系统成了“四不像”。
  针对这样的一种误区,2007年的大赛命题组作出了一个重大的决定,那就是要让大家重新把目光聚焦到行业特殊GIS功能需求上来。于是,我们就看到一个新的比赛模块的诞生,这个模块所关注的不再是功能的全面性,而是行业GIS功能的特殊性和GIS功能的易用性。
  思路一,在这个模块中我们需要大家利用SuperMap Objects这个开发工具,深入地挖掘行业中对GIS的特殊需求。我们所希望看到的不是一个“功能强大”的“四不像”应用系统,而是一个针对行业应用的几个甚至是一个功能模块的完成,开发完成的模块应该可以非常方便的嵌入到行业已有的业务系统中直接进行使用。这就要求我们要有更全面的逻辑思维,如何可以使我们完成的模块很好的被其他系统整合。如果我们完成的功能,有很强的流程性,我们就可以考虑,把这一系列的功能操作封装成一个方法,使其可以在行业的系统中方便的进行调用。或者,我们完成的功能对数据有特殊的要求,那么我们就还需要考虑由数据带来的影响,从而针对数据做一些特殊的处理过程。
  思路二,除了针对行业的应用以外,我们还应该关注GIS功能的易用性。比如在Supermap Despro中,我们已经将GIS大部分的基础功能都开放给大家了,但是同样的功能,不同需求的人使用起来,对是否易用的评价是不一样的。相信大家在使用SuperMap Deskpro的时候也会有这样的感觉,那么在这个模块中我们就可以充分发挥自己的想象力,在实现SuperMap Deskpro某些功能的同时,对该功能进行优化,提高该功能的易用性。
  如果大家还不理解的话,我们可以以2007年GIS大赛模块开发组提交的几个作品来举例说明一下。
  首先,针对思路一的作品完成方式,我们看到在2007年的作品中有这样一个功能模块。这位参赛者,针对交通或者管线行业的需求,对SuperMap Deskpro中拓扑处理生成网络数据集的功能进行了行业化的深入挖掘。在SuperMap Deskpro中,我们生成的网络数据集中的节点,全部都是线与线之间的交点,但是对于真正的行业应用来说,很多时候进行分析所使用的控制点并不是线与线之间的交点,而是单独由一个点数据集来存放的,那么我们怎么将点数据集中的特殊点和线数据集一起构成网络数据呢?这个就是需要我们自己针对行业的特点来自行完成的。在这样的功能模块中,我们还是使用SuperMap Objects进行二次开发,但是并不是直接应用组件所提供的现成的拓扑处理功能,而是自己开发一个针对行业的点、线拓扑关系的构建和管理了(见图1,图2)。当然,在2007年的这个作品中,并没有很好的完成这样的功能,但是我们可以借鉴的是这种从行业出发考虑功能实现的思考方式。因此,在这里非常希望这位参赛者可以再仔细斟酌和完善一下自己的功能,力求可以将自己的这个构想用二次开发的手段实现出来,我们大赛评委会还是非常希望,在2008年新一届的大赛中再看到经过你改良的这个功能模块的。


图1 构建网络数据集对话框


图2 系统运行界面

  第二,针对思路二的作品完成方式,我们在2007年的作品还发现了这样一个构想。这位参赛者,针对数据制作人员,给SuperMap Deskpro提了这样一个好的建议。在Supermap Deskpro中,我们进行地图配色时,都会为这样一个问题头疼?那就是,对于图层风格的修改,我们没有一个统一的界面,这就是说我们在修改完一个图层的风格之后,必须退出去再选择另外一个图层,打开它的风格设置对话框进行设置,这样的过程如果图层非常多的话,是很繁琐的。因此,这位参赛者就完成了这样一个功能的开发,使用了简单的控件,制作了一个风格修改对话框(见图3)。打开这个对话框,我们可以通过拉杆拖动的方式,对地图中的任意指定图层进行风格的修改,在修改的过程当中,我们不用再另外打开其他的窗口,这样就使繁琐的风格修改功能得到了简化,提高了功能的易用性。这个作品中所完成的功能可能要比开发一个完整的系统要容易许多,但是却比那些代码量庞大的“四不像”系统要有用的多。在我们推出的2008版SuperMap Deskpro中,针对栅格色彩的改变和优化,我们的研发人员就采用了拉杆拖动的方式,使我们可以在一个窗口中对栅格数据的色彩进行方便的优化。提高了这个功能的易用性。


图3 风格修改对话框

  从上面所举的两个例子,大家应该对模块开发组的命题,有了比较清晰的理解了。那么希望在2008年的超图GIS大赛中,我们可以在这个模块中看到大家的创造性思维,看到大家对行业的深入理解。我们期待有更好的作品出现在这个模块开发组的评奖作品当中,期待大家开拓自己的思维和眼界,不拘泥于固定的思维框架中,期待大家给我们带来更多的惊喜!



→ TOP
 

杂志首页

刊首语
 
 在路上

特别报道

 对话解延德:GIS让数据身临其境

本期焦点

 GIS照亮人生

大赛综述

 我创作我快乐——第五届全国高校GIS应用开发大赛回顾

作品点评

 组件GIS系统开发组分析与展望

 悟,地图的奥秘——评阅第五届地理数据处理组作品有感

 WebGIS的意义

 2007年超图GIS大赛有感
——模块开发组解题

 影响胜利的要素——Web GIS系统开发组作品简评题

评委点评

 发展国产软件,跻身国际竞争

 通向GIS世界的航道

 让我们做的更好

 燎原之火,还需有更高更明亮的火焰

 从事GIS,面向特定背景服务最重要

优秀指导教师点评

 171号作品开发过程点评

 GIS教育 实践为先

 少有凌云志 敢为世界先

亲历大赛

 激情点燃GIS成功的梦想

 大赛,我们成长的时节

 坚持到最后你就是胜者

 GIS大赛助我们成长

 知难而上,收获快乐

 五届大赛的快乐片断

业界动态

 RFID技术防盗 老树也有“身份证”

 《基础地理信息标准数据基本规定》3月1日实施

 计算机世界报:GIS软件不以价格分胜负

 全国经济普查地理信息系统试点潞城市

 2007国产软件测评揭晓 SuperMap GIS获三项表彰

 日文版SuperMap GIS 2008桌面系列产品正式发布

 超图与中国传媒大学共建广电传媒地理信息技术联合实验室

 超图与软件产业基地公共技术支撑体系签约

SPN专栏

 安徽瑞信软件有限公司

SuperMap国际化

 瑞典出差见闻录

 瑞典行

产品速递

 
吾家有女初长成——初试SuperMap FDO Provider for SDB/SDX+

 解读超图导航开发平台
SNE的产品特点及应用发展

技术风向标

 
雄关漫道真如铁,而今迈步从头越——记超图七年测评之路

专题报道

 
GIS与旅游的美丽邂逅

 基于SuperMap GIS的乡村旅游——地理信息系统解决方案

 数字峨眉山地理信息GIS平台

 黑龙江旅游公共信息服务系统

应用案例

 
国家土地督察北京局土地利用遥感巡察系统

 全国土地利用遥感监测查询浏览系统

 石家庄城镇地籍管理信息系统

 农行地图导航及效益测评系统

小贴士

 提问:在SuperMap Objects中如何实现反选?

 提问:在SuperMap Objects中如何绘制岛洞多边形?

 提问:为什么有时候绘制对象会失败?

 当使用IDW方法进行查值得时候,所有参数是正确的,而且进度条也正常运行。但是如果跟踪一下结果,发现定义的soDatasetRaster对象的实例并没有值。更奇怪的是,重新打开这个数据源,发现结果数据集就在那里,而且是正确的。不要觉得奇怪,不是Bug,也没有见鬼。你一定丢掉了一句重要的代码

 在使用工作空间管理器控件时,如果只想使用地图的选项卡,只用来显示地图,那么开始的时候可能会遇到这样的问题。就是打开工作空间之后,显示在控件地图选项卡中的是数据而不是地图,但是如果点击一下地图的标签的时候就刷新显示地图名称了。有点奇怪开始怀疑是缺陷,但实际上并不是。

 设置SQL语句进行查询问题。

 关于soTreeView的几点注意。

 在Delphi中实现三维显示功能的注意事项。



 杂志介绍 |  关于我们 |  订阅杂志 |  欢迎赐稿   版权所有© 2006 中国科学院地理信息产业发展中心 《超图通讯》编辑部