GIS自主创新十年路(一) :缘起ActiveMap
转载自:http://songguanfu.blog.ccidnet.com/blog.php?do=showone&itemid=187062&typ=blog
作者:宋关福
原文发表时间:2007年9月18日
从 最初默默无闻的课题组,到今天在GIS自主创新中取得一点小小成就,北京超图公司自成立以来,历经十年岁月。在这期间,超图人付出了许多艰辛,在各界朋友 们的支持下,我们收获的不仅有SuperMap这一GIS软件品牌,更有整个十年的创业和创新体验。我就从自己的亲身经历的角度,跟大家一起回顾刚走过的 十年之路。
尽管在研究生院学过GIS课程,但我真正踏入GIS领域,要从1995年跟钟耳顺研究员(现任超图公 司董事长)做博士研究生开始算起。编制土地利用图是我参与的第一个GIS项目,当时,钟老师手把手教我学习Arc/Info的各种命令,技术上慢慢有所进 步,不过对于成天做地图编辑工作,心里还是有点小情绪,尽管嘴上没说,也没耽误制图工作,心里却在犯嘀咕。很久以后我才体会到,那段时间的基础工作,让我 对GIS的数据结构、功能和技术体系都有了深刻认识,为日后设计和开发SuperMap打下了坚实的基础。
随后我就参与一些GIS应 用系统开发项目。当时做应用开发很痛苦,每换一种GIS软件就要学一种新的二次开发语言,比如Arc/Info的AML、MapInfo的 MapBasic、MicroStation的MDL等,这些我们在项目中都用过,甚至后来还跟王尔琪(现任超图公司副总裁)一起翻译过一本《MDL开发 教程》。当时的GIS软件没有现在所见即所得(What you see, what you get)的界面设计能力,一个对话框的位置、大小,以及对话框上各种界面元素的位置和大小都只能在代码中用数字来标定,通过不断观察运行后的程序效果,不 断修改代码中的各种数字来调整界面,做好一个对话框就要花很多工夫。
尽管用过不少GIS二次开发语言,那时我仍对C++非常痴迷,没 有间断自学C++编程。学习一种开发语言最好的办法就是给自己定一个目标,做出一个软件来,于是我利用空余时间写了个叫MapStudio的软件练手。从 现在的角度看,它还不能叫软件,充其量只是程序而已。MapStudio有些GIS初步功能,可以转入其他GIS软件的数据格式,并配置各种专题地图,还 增加了一些在商业化的GIS软件中很难实现的特殊的动态标注符号,这个程序后来成为我们最初的组件式GIS软件的配图工具。
接下来发 生的另一件事,触发了我们开发组件式GIS软件的动机。1996年的一天,钟老师从美国出差回京,花一两百美元买了一套某国外GIS组件软件的Beta测 试版。这个GIS软件的新品种立刻引起了我浓厚的兴趣,当即装上并使用Visual Basic练习二次开发。不用学习新的GIS软件专用二次开发语言、所见即所得的界面设计、与多媒体等其他组件无缝集成等一系列新特性让我对这种特别方便 的二次开发方式感到兴奋不已,当天晚上就熬到深夜。第二天一早把刚开发的应用程序向钟老师和其他同事们展示,大家都对一个晚上就可以上手开发的这套GIS 软件表示惊讶。
尽管这个GIS组件软件带来了令人兴奋的二次开发方式,但直到现在我一直也没有机会使用它开发一个真正的应用系统,因 为在接下来的几个月里,我以MapStudio的功能为基础开发了一个类似的程序—ActiveMap。ActiveMap采用COM/ActiveX技 术封装了GIS的基本功能,这成为日后SuperMap研发的基础。关于ActiveMap名称的来历,很显然,源于它所使用的ActiveX控件技术。