辞旧迎新,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大赛中,我们可以在这个模块中看到大家的创造性思维,看到大家对行业的深入理解。我们期待有更好的作品出现在这个模块开发组的评奖作品当中,期待大家开拓自己的思维和眼界,不拘泥于固定的思维框架中,期待大家给我们带来更多的惊喜!
|