“3S”技术是目前IT领域的热门话题,而地理信息系统(GIS)随着电子地图的流行被越来越多被人所熟悉,然而GIS流行的背后,确有着众多优秀的开源GIS项目在支撑,这些开源GIS项目的存在,为GIS系统的流行贡献了力量。
国际地理空间开源基金会(Open Source Geospatial Foundation)成立于2006年2月。OSGeo基金会的使命是支持开源地理信息软件的开发以及推动其更广泛的使用,并对其支持的项目提供组织、法律和财政上的支持,不断促进OSGeo基金会基于地理信息开放标准软件及其互操作技术的开发、推广和普及。OSGeo基金会支持的软件项目包括MapServer、GRASS、GDAL等,已迅速在国际开源地理信息领域得到普及,包括Autodesk、ERMapper等著名公司都曾给予过资助。
经过一年的发展,OSGeo已经囊括了12个重要的地理空间软件项目,产品包括了桌面端软件、服务器端软件,众多的空间数据中间件等。另外,OSGeo还有计划开放一部分空间数据,同时支持书籍撰写等。
此外,FOOS4G(OSGeo Free and OpenSource Software)大会是国际自由和开源地理空间软件开发者和用户的盛世,将包括大量的讨论组和个人讲演,许多著名的项目都会有案例发布,同时各大项目的负责人将会就这一年来各个项目的发展和未来的展望做详细的介绍,该大会前身是GRASS用户大会,随着时间的延续,诸多的地理空间开源项目加入其中,最终成就了FOSS 4G的成功。
GIS开源桌面
按照目前商业地理信息系统软件公司的产品架构体现,我们把若干的开源地理空间项目做了简要的分类,包括开源桌面GIS项目,开源服务器端GIS项目,开源空间数据访问项目和开源空间数据库项目等。其中最为繁多和丰富的是开源桌面GIS项目,包括GRASSS、UDIG、QGIS等目前最为著名的项目。
GRASS是最具有传奇色彩的大型GIS系统,最早由美国军方建筑工程研究实验室构建维护,后来贡献给开源社区,目前GRASS已经覆盖了大多数GIS系统的操作函数,超过300个经典算法,是开源版的ArcGIS。它是Uniux平台的第一个GIS软件,同其他Unix软件一样,吸引了多家联邦机构、大学和公司的参与研发。
1988年时,GRASS 3.0软件包的发行达1000余个。GRASS软件曾经三次获得美国联邦政府的有关奖项。目前广泛的在全球的政府,科研以及大学部门使用。最新的6.3.1版本的GRASS增加Sqlit数据库驱动,修改了包括r.flow等40个左右的算法包,修正了若干的Bug,对最新的OGC WMS规范也有了很良好的支持。
另外一个重要的UDIG产品,在2007年改动不大,重点是更新了编辑和新建工具,为用户提供了更加良好的用户体验,用户可以在数分钟内完成数据的处理工作,在其他方面也做了很多的细微的改进和提高。
QGIS也是一个用户界面友好的地理信息系统,它目前能够很好得支持PostGIS空间数据库,最新0.8版本的QGIS开始增加对WMS的支持,同时改进了矢量数据和属性数据的编辑,增加了属性信息的搜索。
最为重要的是其重构了QGIS的API库,方便用户可以进行二次开发,修改了矢量图层的透明和反锯齿,增强了矢量数据编辑,这包括复制、剪切、黏贴和节点捕捉等。在去年的版本中QGIS可以很好的支持GRASS的算法接口,成为了GRASS的一个重要的前端表现工具,为GRASS的发扬起到了很好的推动作用。
由于QGIS基于QT跨平台类库开发,因此QGIS目前支持最为广泛的操作系统Linux、Unix、Mac OSX和Windows等,这一点是其他很多桌面地理信息系统软件所不可企及的。
GIS开源组件
MapWinGIS在国内声音一直不多,但是其作为开源组件GIS项目的地位是不可撼动的。1998年犹他州州立大学Daniel博士在撰写其博士论文《基于贝叶斯评价网络的流域管理》论文的时发现当时ESRI公司的商业GIS组件产品MapObjects LT在很多时候不能满足其工作需求,于是其基于微软的COM技术倡导并研发了MapWinGIS组件,其愿景是期望可以作为开源地理空间软件界一个可以替代MO的产品服务与科研人员。目前,已经发展7年的MapWinGIS作为一个ActiveX控件可以非常快捷的VB工作环境中显示,查询,操作等基本空间数据操作。
GIS开源服务器端
MapGuide OpenSource(以下简称 MapGuide OS)是Autodesk在以MapGuide6.5为蓝本的基础上,在参考最新IT技术的基础上重新研发的大型网络空间信息平台,Autodesk目前已将包括FDO等技术的MapGuide源代码都贡献给了开源社区,在充分利用开源技术优势的同时,也促进了该项技术在全球范围内的广泛使用。
其商业版本Autodesk MapGuide Enterprise正是基于MapGuide OpenSource基础上开发的。在充分利用开源社区创新能力的同时,该产品的愿景是期望成为基础设施市场上智能解决方案的领先平台,可以基于此搭建适合在网络运行的地理空间门户网站或应用系统。
MapGuide OS采用了标准的C++撰写内核,在高效的内核外,项目的开发人员又增加了对PHP、.NET、Java三种不同语言的开发包,以适应不同类型程序员的需求。这非常符合当前混元IT架构的状况,MapGuide OS可以在保证增加一个API的基础上,对三套不同的开发类库均适用。
2006年年底Bob Bray先生被任命为Autodesk地理空间信息总架构师,同时他也担任OSGeo推动委员会的主席。Bob Bray先生多次宣称在今年的MapGuide OS的开发过程中,重点仍然放在产品的性能和质量上,产品的功能将会更多的考虑市场对企业级功能需求,进而将对企业级的支持部分纳入到整个服务器端的地理空间架构中来。同时他还多次讲到Enterprise和OpenSource版本的MapGuide将继续共享同一套源代码库。
另外一个好消息是今年7月24日,MapGuide OS项目宣称著名的DM解决方案团队将其特有的“Fusion”技术贡献给MapGuide开源项目。“Fusion”是一套加速Web地图应用系统开发的开发包,包含了大量的工具和模板的。DM此举也是为了更好的吸引客户端应用系统的蓬勃发展。
GIS开源空间数据类库
2006年初,Autodesk公司推出了类似于ODBC技术的——FDO(Feature Data Object)技术。基于该技术,前端的地理信息系统平台可以快捷的访问大型关系型数据库,基于使用强大的关系型数据库管理系统,不仅可以支持数百人甚至数千人创建、编辑并管理同一份数据,还提供了更灵活的扩展性、更高的安全性,并能创建更完善的数据模型。
目前采纳FDO技术的产品包括Autodesk Map 3D和MapGuide Open Source系列,最新的FDO 3.2版本支持包括ArcSDE、MySQL、ODBC、SDF、SHP、WFS、WMS、GDAL等在内的多个数据源。这样,各类用户就能充分利用关系型数据库管理系统所带来的种种优势。毫无疑问“MapGuide+FDO+MySQL”是一个很好的开源空间信息解决方案。
GDAL/OGR类库目前是两个不同的组成模块,GDAL提供了一整套读写不同栅格数据格式功能的抽象类库,而OGR则是一个读写诸多矢量数据格式功能的抽象类库。目前GDAL支持达50多种栅格数据格式,几乎覆盖了所有的商业应用软件的格式,OGR已经支持包括著名的ESRI Shapefiles、ArcSDE及MapInfo、Oracle Spatial在内的诸多商业公司的矢量格式。数据是一切软件的血液,空间信息产业更是如此,海量数据在空间信息软件行业体现的最为明显,没有一套高效率的数据转换模型和类库很难完成异构数据的集成和融合,正是有了GDAL/OGR,构建在其之上的各类空间信息软件项目才有了生命力。
目前GDAL提供Perl、VB6、RUBY、Java、Python、C#、.NET、R语言的支持,每种语言均可提供对GDAL库的支持,用户可以基于多个平台完成对GDAL类库的调用。
其中最为引人瞩目的是:1.4.0版本的GDAL之后,GDAL提供了对Windows CE平台的支持,目前包括了Windows CE 3.x、Windows CE 4.x、Windows CE 5.x,支持如下几种适合于嵌入式平台运行的栅格格式,这包括:AIGrid、DTED、GeoTIFF,矢量格式则包括CSV MITAB和ESRI Shapefile等。
我们习惯在比较中分析问题,因此笔者在将开源地理空间软件与北京超图公司的SuperMap系列软件进行大致对比中可以发现,目前开源软件在功能上可以完成商业软件类似的功能。
用户的要求非常高,用户往往需要要求专家级的GIS基础概念,需要对多操作系统,多数据库,多少格式有所掌握,才能真正将开源地理空间软件使用起来。短时间来看,目前国内使用开源地理空间软件的用户主要仍然是大学和科研院所。
对于行业用户而言,也许更关心是软件产品的可扩展性,良好的一致性以及稳定性等,从这点意义上讲,目前地理空间技术发展迅猛,越来越多的行业和专家加入到研究和学习地理空间技术的行列中来,相信开源地理空间软件会有更大更好的发展