经过半个世纪的发展,GIS已经形成了包括GIS技术、地理信息科学与地理信息服务的综合体系。同时,随着应用领域的扩大,GIS在时空分析、过程模拟、预测预报和决策支持等方面正面临着严峻的挑战。通过地理模型的共享与集成来拓展GIS的地理分析能力是GIS发展的增长点。
国内外地理学家面向不同的研究目标已经建立了大量的地理模型。由于模型设计和实现上的差异,造成了模型共享和重用困难,形成了明显的“地理模型孤岛”。传统的基于模型程序直接分发和集成的共享方式,在模型的使用和保护方面都存在不少问题,无法实现模型在网络上的有效共享,造成了模型资源的严重浪费。随着地理数据共享方法、技术和标准的日趋成熟,地理模型共享已成为GIS研究的重点和发展趋势。GIS服务正在从数据服务向功能服务发展转变,同时也将带动地理模型服务的研究。发展地理模型服务,探索地理模型的服务化封装方法成为地理模型共享与集成、GIS发展的一项重要而紧迫的任务。
本文以地理模型共享和重用为导向,抓住地理模型数据、功能和操作的本质特征,借鉴现有Web服务、GIS服务相关标准规范、实现方法和技术,改变传统的基于数据格式转换的模型封装思路,提出了一套新的模型封装与服务化的理念和思路,重点突破地理模型服务化封装过程中的核心和关键问题,提供解决这些问题的思路、方法与技术,实现地理模型的服务化封装。主要研究内容与成果如下:
(1) 地理模型的计算机实现特征分析与分类。从地理模型计算机实现的组成要素——数据、程序和文档3个方面分析了地理模型的特征。在此基础上,设计了地理模型的分类方法,并进行了地理模型的分类。
(2) 地理模型服务的描述。提出了以位置为中心,以数据类型和分隔符为核心的数据格式描述模型,设计了数据格式标记语言(DFML),实现了数据格式的统一描述;在DFML的基础上,提出了以地理模型功能、输入输出为核心的地理模型服务的描述模型,设计了地理模型服务描述语言(GMSDL),实现了地理模型服务的统一描述。
(3) 地理模型服务描述文档的生成。针对地理模型不同组成要素的特点,设计了3大类7种地理模型服务描述文档的生成方法,包括数据解析法、源代码反推法、头文件解析法、中间代码反推法、静态分析法、动态调试法和用户描述法。阐述了每种方法的概念与原理、步骤与实现,讨论了每种方法的适用性以及在地理模型组成要素的不同组合情况下,方法的选择流程与原则,初步形成了地理模型服务描述文档生成的方法体系。
(4) 地理模型交互操作的服务化封装。分析了地理模型使用的操作流程以及交互操作服务化封装的关键问题和难点,提出了数据操作封装、功能调用操作封装和操作服务化3阶段封装法;设计了地理模型服务交互模型和输入输出重定向法、操作系统文件操作拦截法、图形用户界面自动化测试法3种模型数据操作的封装方法,设计了基于文件和命令的模型功能调用操作的封装方法,形成了地理模型服务实现的基本方法。
通过地理模型服务化封装工具、服务系统的研发和案例试验,验证了本文提出的地理模型服务化封装的理念和思路的可行性,设计的系列方法能够有效解决地理模型服务化封装过程中的主要问题,实现强交互性的地理模型服务,为地理模型的网络共享和重用提供了有效的方法,有利于消除“地理模型孤岛”,促进地理模型的共享与集成,对提升GIS的地理分析能力、拓展GIS服务具有重要意义。