第一节 地理信息系统的开发
四、地理信息系统软件平台开发
1.地理信息系统软件平台构成
一个大型实用化地理信息系统的外壳由若干个技术部分组成(图6.4):空间数据库管理系统、属性数据库管理系统、模型库管理系统、知识库管理系统等。
2.地理信息系统软件平台开发方案
(1)全部自行开发 根据系统需要的功能,编写所有的程序。用这种方式建立的系统外壳,其各组成部分之间的联系最为紧密、综合程度和操作效率最高。这是因为程序员可以对程序的各个方面进行总体控制。但由于地理信息系统的复杂性,工作量是十分庞大的,开发周期长,并且其稳定性和可靠性难以保证。地理信息系统发展初期一般采用这种方案,但目前地理信息系统的开发已很少采用这种方案。
(2)全部利用现有软件 目前,商业化的地理信息系统通用软件和DBMS已经很成熟,模型库管理系统还在发展中,但模型分析软件包很多。编写接口程序把购买的现有软件结合起来,建成系统外壳。用这种方式开发系统外壳的周期短,工作量小,系统的稳定性和可靠性高。用户可以把精力集中在特定的专业应用上。缺点是结构松散,系统显得有些臃肿,操作效率和系统功能利用率较低。这种方案目前采用的较多。
(3)部分自行开发 购买部分软件,自行开发部分软件,来建设系统外壳。这种方案又分为两种情况,其一,购买地理信息系统通用软件和DBMS软件,编写专业分析模型软件和接口软件,开发模型库管理信息系统;其二,利用软件商提供的地理信息系统开发工具,如SDE(ESRI提供),以及应用接口工具API,结合其它开发工具进行开发。前者在目前的大型实用地理信息系统开发中较多采用。后者在目前可用来开发小型实用性地理信息系统。
3.地理信息系统应用软件间的综合方式
(1)基于数据交换的简单综合方式 地理信息系统和模型是两个完全分开的系统,二
者的用户界面一般是分开的,但共享数据库和数据文件(图6.5)。地理信息系统与模型系统之间的联系只有数据交换,即地理信息系统预处理的数据作为模型系统的输入,而模型分析的输出数据用地理信息系统来显示。这是一种最通用的方法,因为利用现有的软件只需作较少的修改,只要文件格式和输入输出一致就可以。通常是模型作必要的修改,以适应地理信息系统的格式。
(2)基于相同数据结构的紧密连接方式 这种方式提供公共的接口和透明的文件,组分之间信息可以共享或转换(图6.6)。有三种方法可以用来实现这一目标:①使用由地理信息系统软件提供的一种较高级应用语言或
应用产生器,如ARC/INFO的AML或子程序开发库(ARC/SDE)(ESRI,1992),来实现这种综合;②使用具有标准接口的开放地理信息系统工具箱,如GRASS(USA—CERL,1988;Fedra and Kubat,1993),地理信息系统的所有模块可以被包括进模型应用中,例如,使用X—Windows系统和很多接口建设工具箱就是一种相当有效的策略,但是,在这一水平上的任何综合都需要一个开放的地理信息系统结构;③使用do-it-yourself工具箱,它不仅提供特定的地理信息系统功能,而且提供模拟模型的接口,RAISON(Lam andSwayne,1991)就是用这种方式进行综合的一个例子。
(3)基于组件方式的高度综合 数据获取、数据处理和交互分析功能分别支持具有不同任务的不同用户,这种分层功能概念导致内嵌的地理信息系统功能的产生(图6.7),例如,地图(和模型输出)显示包括相关的动态模型和模型分析。这种局部镶嵌具有很高的灵活性和可操作性。更高水平的综合将是以下两种方法的合并:模型成为一个地理信息系统的一部分功能;地理信息系统为模型生产和操作参数、输入和阐述变量、构造输出模式、提供附加输出选项,不过,这需要工具充分模块化。显然,这种最好综合形式的开发代价是最高。