本体驱动下的地图符号共享方法研究
2019-04-03周海霞樊龙飞
周海霞,霍 亮,2,3,朱 杰,胡 啸,樊龙飞
(1. 北京建筑大学测绘与城市空间信息学院,北京 102616; 2. 现代城市测绘国家测绘地理信息局重点实验室,北京 102616; 3. 北京建筑大学北京未来城市设计高精尖创新中心,北京 102616;4. 国家基础地理信息中心,北京 100830)
地图符号是一种空间信息表达的重要形式和手段,地图符号共享是地理信息共享的重要组成部分。各GIS软件地图符号的符号格式、绘制策略和软件接口等各不相同[1],导致ArcGIS、SuperMap等GIS软件地图符号难以实现跨平台操作。过去对地图符号共享主要集中在符号视觉变量、符号构造描述模型等方面,体现的是地图符号图形方面的共享,而忽略了地图符号语义信息的共享[2-3]。
目前,已有学者研究了数据格式转换、符号格式转换、TrueType字体和符号对应表等符号共享技术[4-6]。然而,这些共享技术都存在着一定的局限性,只是从单个角度解决了某个方面的共享问题,难以实现网络环境下地图符号的集成和互操作。
针对上述问题,本文进行本体驱动下地图符号共享方法的研究,建立基于SOA的地图符号共享框架结构,为地图符号实现网络化的集成、共享提供新的技术途径。本文引入本体和网络服务[7-8],引入本体的意义在于构造符号本体,解决“同源异构”符号语义信息不一致问题,引入Web服务技术构建符号共享框架,实现符号跨平台的互操作。将本体和网络服务结合起来得到网络地图服务,可实现语义层面下的地图符号数据获取与表达,使地图符号的互操作更加统一和便捷,实现网络环境下跨平台、跨系统的地图符号共享。
1 现有地图符号模型比较分析
地图符号模型的设计和研发是GIS中空间信息表达的基础[9],不同GIS公司针对不同的目的和结构开发了不同的地图符号格式(如ArcGIS、AutoCAD、SuperMap、CorelDraw中的专有地图符号格式)。此外,在网络映射领域可以应用可伸缩矢量图形(SVG)和SLD/SE来构建地图符号。除这些格式外,TrueType字体是用于组织点符号的常用方式,并且广泛用于商业和开源地图/GIS工具(如ArcGIS和MapServer)。地图符号的构建遵循Bertin提出的视觉变量理论。但是,这些格式具有自己的专有概念设计,用数据模型和数据结构来描述视觉变量,见表1。
表1 地图符号格式示例
目前主流的GIS软件平台都使用内置的地图符号系统来对图层要素进行符号化,导致各GIS软件符号系统相对独立和封闭;TrueType字体仅支持点符号的设计,其只能存储地图符号的语法信息,对符号语义信息的描述并不支持,不利于用户对符号的解译;SLD/SE规范支持的图元较少,难以定义复杂的地图符号;由于复杂模型模块化和层次结构较差,SVG在描述其模型时,不利于模型语义表达、检索和程序的可读性,并且SVG符号难以集成到现有的GIS软件平台中。
2 本体驱动下的地图符号模型研究
2.1 地图符号概念本体模型
本文将本体概念引用到地图符号[10],为地图符号共享、语义互操作等提供新方向。通过本体构建地图符号概念模型,以概念层面统一地图符号,包含地图符号的组合规则、属性、类型及语义等,实现地图符号的统一描述表达。用户通过该描述可以清楚地了解符号的各种语义信息,同时还包括地图符号的数据结构组织及其绘制策略。符号本体就是一种以解决地图符号共享为目的的概念本体[11],主要表达的是符号实体语义概念和符号本身属性规则。符号本体的描述利用OWL(Web ontology language)语言[12]。OWL语言继承XML的语言格式,具有多种本体表示语言的开放性和交互性,通过类和属性的形式描述地图符号,能够清晰明确地表达符号的语义及其相互关系。地图符号涵盖4大要素:〈Point SymbolDB〉、〈LineSymbolDB〉、〈AreaSymbolDB〉、〈Rule〉,图1对其类、属性及它们的关系进行了结构化表达。
本文对地图符号进行分析抽象,进而建立符号本体模型[13],实质是用形式化的语言描述其概念定义、属性结构、关联关系的过程。通过对地图图形分解,地图符号由点、线和面符号组成,基本几何图元构成地图符号的基本几何图形单位。建立完整的、语义一致的地图符号数据模型,保证对地图符号理解的一致性,是建立通用地图符号库的核心。为了保障地图符号库的一致性和地图符号库的共享性,本文设计了包含符号语义信息、符号图形特征和符号规则关系的符号本体模型,SO=〈SE,ST,SP,SRU,SRL〉,如图2所示,主要包括符号要素模型、符号类型模型、符号图元模型,符号规则模型和符号关系模型。基于符号本体描述,在语义层次上实现关于信息的共享和互操作。
2.2 符号本体几何图元数据模型
地图符号数据模型本质上可以看作是一系列几何图元按照一定规则的配置和组合,几何图元数据模型包含地图符号的图形信息和语义信息,使得符号更易于识别和解译,增强了地图符号的互操作性。经过分析ArcGIS、SuperMap等成熟GIS平台的内置地图符号模型及基本图元构成规律,本文设计地图符号的基本几何图元数据模型,将几何图元分为折线类、圆弧类、曲线类及文本。
本文以点符号为例,地图符号的组成采用文献[14]提出的符号构成规则,由以下两个部分组成
〈地图符号〉=〈符号表达规则〉〈几何图元〉
符号表达规则主要提供了符号的基本信息、符号的约束信息和表达规则的符号绘制模型的描述信息。图元作为构成符号的基本单位,符号的组成主要体现在“图元→符号”的构造环节中。以“窑洞”符号为例,可以将其分解为如图3所示的分解结构,图元“线段”和图元“圆弧”按照独立构造规则组合为“窑洞”组合结构。图4所示为“窑洞”符号的编辑器。
2.3 通用地图符号库模型设计
地图符号库的设计是以地图符号学的理论和方法为指导,丰富地表达地图符号的语法结构和语义特征。它的主要功能是建立、存储和输出各种地图符号信息。图元的组成规则作为地图符号库系统实现符号自动化配置的关键,应该对图元几何参数和配置参数进行详细描述,因此,本文建立了通用地图符号表达模型,如图5所示。
符号层、图元层及图形层组成该符号库模型。符号层由点、线、面符号组成,其描述地图符号的构成及其约束条件;图元层描述构成地图符号的图元、绘制参数及其定位参数;图形层是对几何参数、配置参数的设计,几何参数用于描述图元的几何形状,配置参数用于描述图元与地图符号之间的空间关系。
3 地图符号共享机制建立
3.1 基于Web服务共享框架
地图符号共享框架构建了一个独立于GIS软件的通用地图符号系统,使地图符号真正实现一库多用。基于Web Service的地图符号共享模式结合了当今时代的网络化趋势,实现了网络环境下跨平台、跨系统的地图符号共享。本共享服务提供了通用地图符号库与其他平台地图符号库的交互与共享机制,对通用地图符号库的共享范围进行了扩展。基于此,本文设计了如图6所示的地图符号共享框架结构,主要由符号提供者、符号请求者及符号注册中心3部分组成。符号提供者为其他服务和用户提供并开发了通用地图符号库。它以标准的Web服务接口提供了符号的注册、检索等服务。它的服务对象为符号(Symbol)、符号类(Symbol Class)和符号库(SymbolDB)。其中,每个地图符号可以描述为一个XML节点,符号类和符号库则描述为一个XML节点树。符号使用者是符号的需求用户,它利用SOAP消息向符号提供者发送请求以获得服务。它从符号注册中心进行符号的查询和发现,并且根据查询结果与符号提供者进行符号的绑定调用。符号注册中心是将符号提供者与符号使用者绑定在一起。它以面向共享的通用地图符号为信息中介,制订了符号的注册和检索等服务机制,支持提供者与使用者之间的互操作。
3.2 符号共享试验
基于前面对地图符号模型的设计及地图符号共享框架的建立,本文开发了基于Web Services的地图符号分布式共享框架系统。基于Visual Studio 2010环境,完成原型系统的开发。通过SOAP、WSDL等技术,实现符号访问和操作接口的平台、语言无关性,建立地图符号共享门户网站。通过该门户网站实现对服务器端符号中心与客户端信息交流平台,允许用户选择某个具体符号记录进行符号信息的浏览及下载。图7为符号的下载中心页面,它的共享理念主要为符号检索与调用。
符号的调用即给异构的GIS应用系统提供Web服务访问接口。将地图符号嵌入到该GIS应用系统中,通过二次开发,实现地图符号及符号化的跨平台绘制。如图8所示,调用门户网站的地图符号接口,利用Esri ArcGIS Engine为客户端,扩展ISymbol接口,访问符号概念本体模型结构的地图符号,以实现ArcGIS Engine平台上跨平台的地图符号化绘制。
4 结 语
现有地理信息系统间符号受到当前地图符号模型与现有异构地图符号资源不兼容性的阻碍,符号跨平台共享困难,并且符号共享时语义特征会有所丢失。针对这一问题,本文将本体概念引用到地图符号,为地图符号共享、语义互操作提供新方向,设计了本体驱动下地图符号数据模型,保留了地图符号的语义信息。利用图元法对地图符号数据模型进行组织,设计了通用地图符号库模型,并利用Web Services技术跨语言、跨网络协议、跨操作系统的优势,设计出一种地图符号分布式共享框架,建立了地
图符号共享门户网站,使多源异构的地图符号实现网络环境下灵活开放的集成和互操作,且有效保留了地图符号的语义信息。