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

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

超图公司支持中心技术支持工程师 叶雨

 

  我们认为“共享资源、合作发展”是一个非常好的模式。超图公司已经发展多项技术,为今后的技术拓展奠定了很好的基础。我们还要探求更加广泛的合作,不仅在技术上、市场上,包括在公司层面甚至在金融市场方面进行合作,大家携手,共同发展我国的GIS产业,为建设和谐社会做出应有的贡献。

 

  什么才是好的GIS系统?这个问题看似简单,但是在要把不同的应用系统拿来比较的时候,原来空泛的答案就显得没什么意义了。可是对于GIS大赛设计开发类的参赛选手,这是一个不可回避的重要问题。
  在比赛中哪些因素能让一个系统显得更为优秀呢?从本次GIS大赛Web GIS系统开发组的获奖作品中可以看出一些端倪。

选题
  这或许是让大多数参赛选手们最为头痛的问题了。作为一个应用系统,功能决定了其存在的根本价值。在这里,“应用”代表着系统不是作为编程语言或工具的功能示范,也不是可以替代雕塑或电影的视觉艺术。系统实现的功能应当与实际的某些需求相对应,让参赛作品具有满足实际需求的现实意义和价值,这将比不切实际的炫目技术更动人。
  然而即使着眼于满足实际需求,“取舍”依然掌控着作品的命运。可以实现的功能有很多,难以实现的则更多。所谓“食之无味,弃之可惜”,许多人因为取舍而左右为难。从大多数的软件开发大赛来看,软件作品“小而精”,往往比“大而全”更具优势。在较短的开发时间内试图实现一个庞大的系统,往往架构出来的要么只是一个“架子”系统,要么被喧宾夺主,主题模糊;而且大多不能表现出系统目标的功能。而一个相对小的系统,往往能做到专注,有明确的目标和清晰的思路,并且能够关注到各种细节,做到精益求精。把系统最有价值的功能最集中的表现出来,能让人们充分意识到它的价值,体会设计者的用心。
  此次大赛设计开发类-Web GIS系统开发组获奖作品中排名的前三位,都具备了这样的特点。值得一提的是672组《浙江省象山县森林病虫害Web发布系统》(以下简称森林病虫害发布系统),系统应用的领域本身具有显著的行业特点,因此针对性很强,而且不容易受到各类花哨的技术的诱惑,相对更专注。而171组《玄武湖景区服务与景观评估地理信息系统》(以下简称玄武湖系统)和269组的《紧急事故处理网上中心(青岛市黄岛区)》(以下简称紧急事故处理系统)则比较贴近人们日常生活,容易受到社会信息化的影响,而在各种信息之间难以取舍。不过这两个作品很好的做出了选择,突出重点,使应用功能集中于主题,不会被冗杂的信息干扰。
  在软件开发大赛中,或许人们更多的去关注参赛作品所使用到的技术,然而技术本身的优劣远不如系统功能的差异明显;而系统架构和功能则在更高的层次屏蔽的技术细节。因此可以说,选题在一开始就决定了这个作品的命运。

技巧
  技术是开发团队实力的代表,应用系统采用的技术常常能决定系统的品质。然而这里要说的是“技巧”。IT行业的一大特点是“Share”,图书馆中计算机技术相关书籍是同一分类级别中数量最多的。Internet上各类技术、技巧、源码和技术分享数不胜数。抛开个人因素,每个参赛队伍所能达到的技术水平是相差无几的。因此从单纯的技术角度来看,很难划分优劣。而技巧在于作者们对技术的应用,在于功能之间的逻辑,在于实现方式方法的取舍。这里实际上会受到选题的巨大影响。道理很简单,如果实现得最漂亮的功能是系统中使用最少的功能,那么没有人会注意到的。将大量精力花费在没有用的功能上,只能导致系统建设失败。
  在避免本末倒置之后,要重点关注的就是逻辑。参加GIS开发大赛,系统功能就要突出GIS的应用,这样的想法很好,但是很可能在选题时就范了错误;系统各个功能模块的轻重组合,决定于其所应对的实际需求,而非哪种功能的演示。系统设计的最基本原则应当是如何能够更好的满足需求。如果在这个原则下GIS功能不能达到期望的突出效果,那么应该是换选题而不是改逻辑。在SuperMap软件应用的整体框架下,GIS功能已经有了一个相对限定的范畴,此时系统的业务逻辑以及GIS功能在其中的有机组合,就成为选手们表演的舞台。在这一点上获奖作品都有可圈可点的表现,比如玄武湖系统,首先在选题上,景区服务和景观评价与GIS关系就非常密切,地图和空间信息可以作为整个功能的表现核心和承载体。系统充分发挥了这个优势,将用户-游客与景观评价专家-对一个大型景区的需求,一一在地图上关联起来,在各个专题的划分上也遵循了用户需求的心理,让用户能很容易的找到自己需要的信息,并在关联中获得更多的帮助。森林病虫害发布系统则是放弃了流行的Ajax模式而采用传统的WebControl开发,为用户提供了功能全面的业务分析模型,并结合地图提供具有分析价值的专题图表现。采用传统模式并没有使其处于劣势,反而因为更有效的功能实现而获得好评。逻辑的技巧是需要设计者去琢磨的,即在需求既定的情况下,如何实现能让用户体验更好,能让系统运行效率更高,能让系统稳定性更好。


图1 玄武湖景区服务与景观评估地理信息系统

  系统具体功能的实现技术的选择是在前两者的主导下完成的。没有什么万能的技术,先进的技术是实现原先不能的功能或更好的实现原有功能,然而应用到系统中也是要以功能实现为指标的。在本次大赛Web GIS系统开发组的作品中,Ajax技术得到了大量的应用,但是优秀的作品并不是全部以Ajax模式为主体的。设计者要表现出对技术的掌控能力,而不是被技术所控制。玄武湖系统中通过Asp.NET Ajax扩展框架获得了很好的用户体验,而紧急事故处理系统和261组的《芜湖交通查询系统》中利用Ajax扩展框架提供了输入提示功能。这些技术并不是应用在系统主体,但为整个系统的使用效果带来不少提升。各类技术应当融合在功能流程中,而不是为了表现技术而设计系统

表现
  GIS系统的主导是图形表现,系统的界面虽然不能代表这个系统的功能,但是往往会让人产生心理的倾向。而用户界面的友好不仅仅表现为界面美观,还包括各种操作的响应。哪怕一个子窗体弹出的位置都会影响用户使用的体验。在这一方面获奖作品的表现都很好。比如玄武湖系统,借助Ajax模式提供了流畅的动态操作效果,而且MS的Asp.NET Ajax 扩展框架提供了大多数人所习惯的Windows窗体变化效果,让用户感到亲切。整体界面设计简洁,风格活泼。它的美工处理相对并不很多,但是界面操作性较好,让用户不用关注页面元素的外观。森林病虫害发布系统则在界面上表现出显明的主题色彩。整体的美工设计具有强烈的视觉影响力。用户界面遵循一致的表现样式,个性鲜明(图2)。


图2 浙江省象山县森林病虫害Web发布系统

  然而在细节的处理上各个作品均不尽人意;玄武湖系统在各个查询主题之间缺乏关联,在主页面以外的界面比较粗糙;森林病虫害发布系统的查询结果提供了所有属性字段,其中相当一部分是冗余信息,或者不能直接使用。在Web应用领域,系统界面是一个难点,浏览器缺乏丰富的表现能力,设计友好的系统界面和交互机制又是考验选手的要点。

创新
  创新是软件开发永恒的目标。在竞赛中显得犹为重要。许多参赛选手都能设计出满足实际需求的优质系统,然而能在系统中体现出创新的思想和技术的非常少。技术的创新或许还有非常大的难度,然而创造力可以表现在整个系统的每个方面;架构、算法、界面、交互等等都是发挥想象力的空间。很可惜的是在此次大赛作品中没有看到能让人耳目一新的地方,芜湖交通查询系统使用SuperMap IS .NET AjaxMap 做前端呈现,以Java的JSP架构做服务端数据访问,在架构上提出了新的思路,是少有的创新亮点,然而在系统部署方面缺乏周全考虑,导致部署发布难度大,容错性较差的问题。GIS开发大赛的主题对程序设计的创新有一定的限制,但是现有GIS技术并未吸纳IT发展的全部内容,提升扩展的空间还非常大,新的技术组合,新的应用模式,还有待以后的参赛选手不断挑战。

  这四个方面是作为一个软件大赛作品最为重要的地方,但是“细节决定成败”,作品的稳定性、文档、易用性等等都会直接影响作品的质量,需要参赛选手倾注心力去设计。
  在主题、技巧等方面,参赛选手都有很好的表现,但是创新似乎一直没有激动人心的亮点。很期待在以后的比赛中能看到令人赞叹的创意,将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 中国科学院地理信息产业发展中心 《超图通讯》编辑部