张晓楠,华一新,熊金华,王 培
(1.信息工程大学 地理空间信息学院,河南 郑州 450052;2.96656部队,北京 102208)
目前,GIS的许多应用领域,诸如工程建设、交通枢纽选址、水文分析、气候分析、地貌分析、旅游线路选取等,对GIS的地形分析功能提出更高的要求[1]。大多数GIS平台都具有用于单一地形特征和独立区域的地形分析模型,用以研究和解决面临的某一实际问题[2-3]。但是,信息化条件下的地形分析环境异常复杂,单个模型往往难堪重任,这就需要多个模型的相互协作。为了更好地利用已有的知识和模型,管理众多地形分析模型,解决实际问题,急需建立一个有效的地形分析模型库管理平台。
地形分析是用直接可以观测到的地貌和外力过程,演绎推断不能直接观察到的地壳运动的进程和发展的方法[4]。GIS地形分析主要完成地形数据的基本量算和特征分析两大任务。从其复杂性角度出发,可以将地形分析分为两大部分:一是基本地形因子(坡度、坡向、粗糙度等)的计算;二是复杂的地形分析,包括可视性分析、地形特征提取、水系特征分析、道路分析等[5]。本文所研究的地形分析,主要是指根据地理环境各要素间的紧密联系、相互作用的规律,利用现有地形资料和实地考察所掌握的部分信息,针对局部地区地形条件进行分析。
模型库是为特定目的服务,具备特定数据存储结构的相关模型的集合。它是一个共享资源,模型库中的模型可以重复使用,即可以被不同的系统所调用,避免冗余。通过模型库还可以将多个模型组合起来构成更大的模型[6]。模型库并不追求模型本身的完美性,也不认为模型能够解决一切问题,它的目标仅是在用户需要时按照要求构建模型。由于经常会有模型的生成、修改、更新、删除、连接等操作,所以,模型库的管理非常重要[7]。
为了对各个模型库实施有效的管理和使用,就必须借助于模型库管理系统[8]。各个领域对模型库管理系统的要求有所不同,其定义也有所差别。目前被广泛接受的模型库管理系统的定义为:模型库管理系统是一个支持模型生成、存储、维护、运行和应用的软件系统。模型生成包括问题启发、建模风格选择、模型提出、模型有效性、模型验证;模型存储功能包括模型表示、模型求解、结果分析和报告生成;模型维护功能包括配置和进化管理、一致性和完整性维护。
GIS地形分析模型库管理系统的设计着眼于各种地形分析模型的统一管理,建立一个通用的模型库开发和管理平台,实现对各种地形分析模型合理而有效的利用,从而方便GIS效能的充分发挥。在构建模型库管理系统时应遵循以下几个基本原则[9]:
1)便捷实用。系统能够为地形分析的各个领域提供基础模型,根据应用需求快速有效地构建出新的实用的地形分析模型,为用户决策提供保障。
2)交互性强。用户能够通过输入输出的外部设备与模型库管理系统进行交互。系统能够给用户提供一些专业性的模型选择向导,协助用户使用合适的分析模型。
3)易于扩展、维护。系统接口设计开放合理,支持外部应用程序调用模型库中的模型。可根据应用需求及地理信息的更新,对模型库管理系统中的数据库、方法库和模型库进行管理和维护。
依据上述设计原则,地形分析模型库管理系统的主要功能大致可以分为模型构建与维护、模型的运行以及模型的组合3大模块,如图1所示。
图1 模型库管理系统的功能
其中,模型的构建与维护功能模块主要提供模型在计算机中的存储方法,便于进行模型的动态管理,提供模型生成、添加、删除、修改、检索、浏览等功能;模型运行功能模块主要有运行前的模型匹配与数据的准备、模型的运行以及模型的可视化表达等功能;模型组合功能模块是建立在模型管理基础之上的,根据用户的不同需求,选择两个或更多需要的基础模型,并将其进行有机的链接,组合成新的扩展模型,存储到模型库中使用。
GIS地形分析模型库管理系统的总体结构框架设计如图2所示。
图2 GIS地形分析模型库管理系统总体框架
GIS地形分析模型库管理系统在结构上主要由系统操作界面、模型数据库、模型方法库、模型库、模型库管理、GIS平台以及GIS平台的数据库管理所组成。逻辑上分为3个层次,即应用层、技术层和资源层。应用层主要是GIS地形分析模型库管理系统的操作界面层,大致包括可供用户选择的模型库浏览,模型构建的添加,根据特殊需求进行模型组合以及最终执行模型等;技术层包括模型库的管理、方法库的管理以及基于GIS平台的数据库管理,该层主要将模型与数据通过一定的规则和算法程序结合到一起,得到用户需求的结果,是应用层与资源层关联到一起的关键,是模型库管理系统的核心部分;资源层包括模型库、方法库和数据库,模型库又细分为基础模型库和专用模型库,基础模型库中存储一些地形分析中常用的基础分析模型,专用模型库主要存储一些针对特定应用的模型,模型方法库主要存储的是一些模型所需要的常规数学算法,模型数据库也细分为基础数据库和专用数据库,主要是根据模型库的分类方法进行同步分类的,这样方便根据不同类型的模型对数据的快速调用。
这里采用将模型与方法分开的系统结构形式,模型库存储的模型主要是以数学模型为主,数学模型则是数学方法的计算机程序化,将两者分开有利于系统的管理和3个库之间的调用,增强模型的重组性以及系统可用性。模型数据库是模型库的血液,为模型库提供运算参数。模型库的设计是3层结构的核心问题,模型数据库与模型方法库的设计 都是以模型库的内容结构和设计形式为基准。
2.3.1 模型库的设计
模型库是模型库管理系统的使用对象,根据地形分析的应用需求,将其分为基础模型库和专用模型库,其结构体系如图3所示。
图3 GIS地形分析模型库结构
基础地形分析模型库存储适用于各类地形分析问题求解的基础性、共性的模型,一般有基本地形因子(坡度、坡向、粗糙度等)的计算、可视性分析、剖面分析、精度分析、道路分析等;专用地形分析模型库存储解决地形分析领域复杂问题的模型,这类模型由多个基础模型利用模型组合技术而形成,是一种基础模型连接关系的集合。
2.3.2 数据库的设计
根据模型库的分类方法,相应的数据库也分为基础数据库和专用数据库。基础数据库存储基本模型所需要的数据或数据文件,以及一些属性信息和参数值;专用数据库存储专用模型所需要的初始数据或数据文件,以及在运行过程中的属性信息和参数值。
根据地形分析模型库管理系统不同模块的功能,以及模块间的相互连接关系,将不同的模型以数据文件的形式存储在数据库中,就形成了不同类型和不同用途的表,主要有模型属性表、模型输入参数表、模型输出参数表、模型组合参数设置表。
模型属性表(modeattribute)用来存储模型的基本属性信息,其结构如表1所示。
表1 modeattribute表结构
模型输入参数表(modeinputpara)用来存储模型输入参数的信息,而模型输出参数表(modeoutputpara)用来存储模型输出参数的信息,结构如表2所示。
表2 modeinputpara/modeoutputpara表结构
模型组合表(mcsxparasetting)用来存储模型组合方法与参数设置信息,其结构如表3所示。
表3 mcsxparasetting表结构
2.3.3 方法库的设计
方法库是利用数学模型进行系统优化与地形分析所需要的各种数学算法的集合体,包含基础模型库中所有模型的基础数学算法,和经过模型组合后形成的专用模型的复杂数学算法。将程序与算法分离开来,模型的子程序主要存储在模型库当中,模型所需的数学算法存储在方法库中,这样使得模型库的管理更加灵活,可以增强模型的可重用性。方法的基本信息表(mathmethod)包含每种方法的基本描述信息,主要有方法名称、方法类型、输入与输出变量名称、表达式、方法内容描述以及约束条件等,如表4表示。
表4 mathmethod表结构
根据以上设计思路,在windows环境下,基于某军事地理信息系统平台,利用Visual C++开发了一个GIS地形分析模型库管理系统原型,如图4所示。
图4 GIS地形分析模型库管理系统原型(部分)
建立模型库管理系统来实现对GIS中众多地形分析模型的统一管理是地形分析模型研究发展的必然趋势。通过GIS模型库管理系统,可以有效利用现有的地形分析模型,有针对性地开发新的地形分析模型、提高模型的使用效率。本文设计和开发的GIS地形分析模型库管理系统原型,实现了模型的管理、构建和运行等功能,提高了模型的可重用性,基本满足GIS地形分析模型管理的需要。
[1]成敏莹.GIS地形分析实例[J].中国科技信息,2012(13):41-42.
[2]JOHN B.LINDSAY.The Terrain Analysis System:a tool for hydro-geomorphic applications[J].Hydrological Processes,2005(19):5:1123-1130.
[3]SUVINEN ANTTI,TOKOLA TIMO,SAARILAHTI MARTTI.Terrain Trafficability Prediction with GIS Analysis[J].Forest Science,2009,55(5):433-442.
[4]百度百科,http://wapbaike.baidu.com/View/1563282.htm.
[5]李世伟,张文诗,宋英进,等.数字地形分析与地形三维可视化表达研究[J].测绘科学,2011,36(2):172-173.
[6]陈文伟.决策支持系统及其开发[M].2版.北京:清华大学出版社,广西科学技术出版社,2000.
[7]董杰.一个决策支持系统的模型管理平台及其应用[D].吉林:吉林大学,2005.
[8]冯军,毕义明,王丽丽,等.模型库管理系统的开发研究[J].兵工自动化,2010,29(5):89-92.
[9]ING-LONG WU.Model management system for IRTbased test construction decision[J].Decision Support Systems,2000,27(4):443-458.