周海霞,霍 亮,2,3,朱 杰,胡 嘯,樊龍飛
(1. 北京建筑大學(xué)測(cè)繪與城市空間信息學(xué)院,北京 102616; 2. 現(xiàn)代城市測(cè)繪國(guó)家測(cè)繪地理信息局重點(diǎn)實(shí)驗(yàn)室,北京 102616; 3. 北京建筑大學(xué)北京未來(lái)城市設(shè)計(jì)高精尖創(chuàng)新中心,北京 102616;4. 國(guó)家基礎(chǔ)地理信息中心,北京 100830)
地圖符號(hào)是一種空間信息表達(dá)的重要形式和手段,地圖符號(hào)共享是地理信息共享的重要組成部分。各GIS軟件地圖符號(hào)的符號(hào)格式、繪制策略和軟件接口等各不相同[1],導(dǎo)致ArcGIS、SuperMap等GIS軟件地圖符號(hào)難以實(shí)現(xiàn)跨平臺(tái)操作。過(guò)去對(duì)地圖符號(hào)共享主要集中在符號(hào)視覺(jué)變量、符號(hào)構(gòu)造描述模型等方面,體現(xiàn)的是地圖符號(hào)圖形方面的共享,而忽略了地圖符號(hào)語(yǔ)義信息的共享[2-3]。
目前,已有學(xué)者研究了數(shù)據(jù)格式轉(zhuǎn)換、符號(hào)格式轉(zhuǎn)換、TrueType字體和符號(hào)對(duì)應(yīng)表等符號(hào)共享技術(shù)[4-6]。然而,這些共享技術(shù)都存在著一定的局限性,只是從單個(gè)角度解決了某個(gè)方面的共享問(wèn)題,難以實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下地圖符號(hào)的集成和互操作。
針對(duì)上述問(wèn)題,本文進(jìn)行本體驅(qū)動(dòng)下地圖符號(hào)共享方法的研究,建立基于SOA的地圖符號(hào)共享框架結(jié)構(gòu),為地圖符號(hào)實(shí)現(xiàn)網(wǎng)絡(luò)化的集成、共享提供新的技術(shù)途徑。本文引入本體和網(wǎng)絡(luò)服務(wù)[7-8],引入本體的意義在于構(gòu)造符號(hào)本體,解決“同源異構(gòu)”符號(hào)語(yǔ)義信息不一致問(wèn)題,引入Web服務(wù)技術(shù)構(gòu)建符號(hào)共享框架,實(shí)現(xiàn)符號(hào)跨平臺(tái)的互操作。將本體和網(wǎng)絡(luò)服務(wù)結(jié)合起來(lái)得到網(wǎng)絡(luò)地圖服務(wù),可實(shí)現(xiàn)語(yǔ)義層面下的地圖符號(hào)數(shù)據(jù)獲取與表達(dá),使地圖符號(hào)的互操作更加統(tǒng)一和便捷,實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下跨平臺(tái)、跨系統(tǒng)的地圖符號(hào)共享。
地圖符號(hào)模型的設(shè)計(jì)和研發(fā)是GIS中空間信息表達(dá)的基礎(chǔ)[9],不同GIS公司針對(duì)不同的目的和結(jié)構(gòu)開(kāi)發(fā)了不同的地圖符號(hào)格式(如ArcGIS、AutoCAD、SuperMap、CorelDraw中的專(zhuān)有地圖符號(hào)格式)。此外,在網(wǎng)絡(luò)映射領(lǐng)域可以應(yīng)用可伸縮矢量圖形(SVG)和SLD/SE來(lái)構(gòu)建地圖符號(hào)。除這些格式外,TrueType字體是用于組織點(diǎn)符號(hào)的常用方式,并且廣泛用于商業(yè)和開(kāi)源地圖/GIS工具(如ArcGIS和MapServer)。地圖符號(hào)的構(gòu)建遵循Bertin提出的視覺(jué)變量理論。但是,這些格式具有自己的專(zhuān)有概念設(shè)計(jì),用數(shù)據(jù)模型和數(shù)據(jù)結(jié)構(gòu)來(lái)描述視覺(jué)變量,見(jiàn)表1。
表1 地圖符號(hào)格式示例
目前主流的GIS軟件平臺(tái)都使用內(nèi)置的地圖符號(hào)系統(tǒng)來(lái)對(duì)圖層要素進(jìn)行符號(hào)化,導(dǎo)致各GIS軟件符號(hào)系統(tǒng)相對(duì)獨(dú)立和封閉;TrueType字體僅支持點(diǎn)符號(hào)的設(shè)計(jì),其只能存儲(chǔ)地圖符號(hào)的語(yǔ)法信息,對(duì)符號(hào)語(yǔ)義信息的描述并不支持,不利于用戶(hù)對(duì)符號(hào)的解譯;SLD/SE規(guī)范支持的圖元較少,難以定義復(fù)雜的地圖符號(hào);由于復(fù)雜模型模塊化和層次結(jié)構(gòu)較差,SVG在描述其模型時(shí),不利于模型語(yǔ)義表達(dá)、檢索和程序的可讀性,并且SVG符號(hào)難以集成到現(xiàn)有的GIS軟件平臺(tái)中。
本文將本體概念引用到地圖符號(hào)[10],為地圖符號(hào)共享、語(yǔ)義互操作等提供新方向。通過(guò)本體構(gòu)建地圖符號(hào)概念模型,以概念層面統(tǒng)一地圖符號(hào),包含地圖符號(hào)的組合規(guī)則、屬性、類(lèi)型及語(yǔ)義等,實(shí)現(xiàn)地圖符號(hào)的統(tǒng)一描述表達(dá)。用戶(hù)通過(guò)該描述可以清楚地了解符號(hào)的各種語(yǔ)義信息,同時(shí)還包括地圖符號(hào)的數(shù)據(jù)結(jié)構(gòu)組織及其繪制策略。符號(hào)本體就是一種以解決地圖符號(hào)共享為目的的概念本體[11],主要表達(dá)的是符號(hào)實(shí)體語(yǔ)義概念和符號(hào)本身屬性規(guī)則。符號(hào)本體的描述利用OWL(Web ontology language)語(yǔ)言[12]。OWL語(yǔ)言繼承XML的語(yǔ)言格式,具有多種本體表示語(yǔ)言的開(kāi)放性和交互性,通過(guò)類(lèi)和屬性的形式描述地圖符號(hào),能夠清晰明確地表達(dá)符號(hào)的語(yǔ)義及其相互關(guān)系。地圖符號(hào)涵蓋4大要素:〈Point SymbolDB〉、〈LineSymbolDB〉、〈AreaSymbolDB〉、〈Rule〉,圖1對(duì)其類(lèi)、屬性及它們的關(guān)系進(jìn)行了結(jié)構(gòu)化表達(dá)。
本文對(duì)地圖符號(hào)進(jìn)行分析抽象,進(jìn)而建立符號(hào)本體模型[13],實(shí)質(zhì)是用形式化的語(yǔ)言描述其概念定義、屬性結(jié)構(gòu)、關(guān)聯(lián)關(guān)系的過(guò)程。通過(guò)對(duì)地圖圖形分解,地圖符號(hào)由點(diǎn)、線(xiàn)和面符號(hào)組成,基本幾何圖元構(gòu)成地圖符號(hào)的基本幾何圖形單位。建立完整的、語(yǔ)義一致的地圖符號(hào)數(shù)據(jù)模型,保證對(duì)地圖符號(hào)理解的一致性,是建立通用地圖符號(hào)庫(kù)的核心。為了保障地圖符號(hào)庫(kù)的一致性和地圖符號(hào)庫(kù)的共享性,本文設(shè)計(jì)了包含符號(hào)語(yǔ)義信息、符號(hào)圖形特征和符號(hào)規(guī)則關(guān)系的符號(hào)本體模型,SO=〈SE,ST,SP,SRU,SRL〉,如圖2所示,主要包括符號(hào)要素模型、符號(hào)類(lèi)型模型、符號(hào)圖元模型,符號(hào)規(guī)則模型和符號(hào)關(guān)系模型?;诜?hào)本體描述,在語(yǔ)義層次上實(shí)現(xiàn)關(guān)于信息的共享和互操作。
地圖符號(hào)數(shù)據(jù)模型本質(zhì)上可以看作是一系列幾何圖元按照一定規(guī)則的配置和組合,幾何圖元數(shù)據(jù)模型包含地圖符號(hào)的圖形信息和語(yǔ)義信息,使得符號(hào)更易于識(shí)別和解譯,增強(qiáng)了地圖符號(hào)的互操作性。經(jīng)過(guò)分析ArcGIS、SuperMap等成熟GIS平臺(tái)的內(nèi)置地圖符號(hào)模型及基本圖元構(gòu)成規(guī)律,本文設(shè)計(jì)地圖符號(hào)的基本幾何圖元數(shù)據(jù)模型,將幾何圖元分為折線(xiàn)類(lèi)、圓弧類(lèi)、曲線(xiàn)類(lèi)及文本。
本文以點(diǎn)符號(hào)為例,地圖符號(hào)的組成采用文獻(xiàn)[14]提出的符號(hào)構(gòu)成規(guī)則,由以下兩個(gè)部分組成
〈地圖符號(hào)〉=〈符號(hào)表達(dá)規(guī)則〉〈幾何圖元〉
符號(hào)表達(dá)規(guī)則主要提供了符號(hào)的基本信息、符號(hào)的約束信息和表達(dá)規(guī)則的符號(hào)繪制模型的描述信息。圖元作為構(gòu)成符號(hào)的基本單位,符號(hào)的組成主要體現(xiàn)在“圖元→符號(hào)”的構(gòu)造環(huán)節(jié)中。以“窯洞”符號(hào)為例,可以將其分解為如圖3所示的分解結(jié)構(gòu),圖元“線(xiàn)段”和圖元“圓弧”按照獨(dú)立構(gòu)造規(guī)則組合為“窯洞”組合結(jié)構(gòu)。圖4所示為“窯洞”符號(hào)的編輯器。
地圖符號(hào)庫(kù)的設(shè)計(jì)是以地圖符號(hào)學(xué)的理論和方法為指導(dǎo),豐富地表達(dá)地圖符號(hào)的語(yǔ)法結(jié)構(gòu)和語(yǔ)義特征。它的主要功能是建立、存儲(chǔ)和輸出各種地圖符號(hào)信息。圖元的組成規(guī)則作為地圖符號(hào)庫(kù)系統(tǒng)實(shí)現(xiàn)符號(hào)自動(dòng)化配置的關(guān)鍵,應(yīng)該對(duì)圖元幾何參數(shù)和配置參數(shù)進(jìn)行詳細(xì)描述,因此,本文建立了通用地圖符號(hào)表達(dá)模型,如圖5所示。
符號(hào)層、圖元層及圖形層組成該符號(hào)庫(kù)模型。符號(hào)層由點(diǎn)、線(xiàn)、面符號(hào)組成,其描述地圖符號(hào)的構(gòu)成及其約束條件;圖元層描述構(gòu)成地圖符號(hào)的圖元、繪制參數(shù)及其定位參數(shù);圖形層是對(duì)幾何參數(shù)、配置參數(shù)的設(shè)計(jì),幾何參數(shù)用于描述圖元的幾何形狀,配置參數(shù)用于描述圖元與地圖符號(hào)之間的空間關(guān)系。
地圖符號(hào)共享框架構(gòu)建了一個(gè)獨(dú)立于GIS軟件的通用地圖符號(hào)系統(tǒng),使地圖符號(hào)真正實(shí)現(xiàn)一庫(kù)多用?;赪eb Service的地圖符號(hào)共享模式結(jié)合了當(dāng)今時(shí)代的網(wǎng)絡(luò)化趨勢(shì),實(shí)現(xiàn)了網(wǎng)絡(luò)環(huán)境下跨平臺(tái)、跨系統(tǒng)的地圖符號(hào)共享。本共享服務(wù)提供了通用地圖符號(hào)庫(kù)與其他平臺(tái)地圖符號(hào)庫(kù)的交互與共享機(jī)制,對(duì)通用地圖符號(hào)庫(kù)的共享范圍進(jìn)行了擴(kuò)展?;诖耍疚脑O(shè)計(jì)了如圖6所示的地圖符號(hào)共享框架結(jié)構(gòu),主要由符號(hào)提供者、符號(hào)請(qǐng)求者及符號(hào)注冊(cè)中心3部分組成。符號(hào)提供者為其他服務(wù)和用戶(hù)提供并開(kāi)發(fā)了通用地圖符號(hào)庫(kù)。它以標(biāo)準(zhǔn)的Web服務(wù)接口提供了符號(hào)的注冊(cè)、檢索等服務(wù)。它的服務(wù)對(duì)象為符號(hào)(Symbol)、符號(hào)類(lèi)(Symbol Class)和符號(hào)庫(kù)(SymbolDB)。其中,每個(gè)地圖符號(hào)可以描述為一個(gè)XML節(jié)點(diǎn),符號(hào)類(lèi)和符號(hào)庫(kù)則描述為一個(gè)XML節(jié)點(diǎn)樹(shù)。符號(hào)使用者是符號(hào)的需求用戶(hù),它利用SOAP消息向符號(hào)提供者發(fā)送請(qǐng)求以獲得服務(wù)。它從符號(hào)注冊(cè)中心進(jìn)行符號(hào)的查詢(xún)和發(fā)現(xiàn),并且根據(jù)查詢(xún)結(jié)果與符號(hào)提供者進(jìn)行符號(hào)的綁定調(diào)用。符號(hào)注冊(cè)中心是將符號(hào)提供者與符號(hào)使用者綁定在一起。它以面向共享的通用地圖符號(hào)為信息中介,制訂了符號(hào)的注冊(cè)和檢索等服務(wù)機(jī)制,支持提供者與使用者之間的互操作。
基于前面對(duì)地圖符號(hào)模型的設(shè)計(jì)及地圖符號(hào)共享框架的建立,本文開(kāi)發(fā)了基于Web Services的地圖符號(hào)分布式共享框架系統(tǒng)?;赩isual Studio 2010環(huán)境,完成原型系統(tǒng)的開(kāi)發(fā)。通過(guò)SOAP、WSDL等技術(shù),實(shí)現(xiàn)符號(hào)訪(fǎng)問(wèn)和操作接口的平臺(tái)、語(yǔ)言無(wú)關(guān)性,建立地圖符號(hào)共享門(mén)戶(hù)網(wǎng)站。通過(guò)該門(mén)戶(hù)網(wǎng)站實(shí)現(xiàn)對(duì)服務(wù)器端符號(hào)中心與客戶(hù)端信息交流平臺(tái),允許用戶(hù)選擇某個(gè)具體符號(hào)記錄進(jìn)行符號(hào)信息的瀏覽及下載。圖7為符號(hào)的下載中心頁(yè)面,它的共享理念主要為符號(hào)檢索與調(diào)用。
符號(hào)的調(diào)用即給異構(gòu)的GIS應(yīng)用系統(tǒng)提供Web服務(wù)訪(fǎng)問(wèn)接口。將地圖符號(hào)嵌入到該GIS應(yīng)用系統(tǒng)中,通過(guò)二次開(kāi)發(fā),實(shí)現(xiàn)地圖符號(hào)及符號(hào)化的跨平臺(tái)繪制。如圖8所示,調(diào)用門(mén)戶(hù)網(wǎng)站的地圖符號(hào)接口,利用Esri ArcGIS Engine為客戶(hù)端,擴(kuò)展ISymbol接口,訪(fǎng)問(wèn)符號(hào)概念本體模型結(jié)構(gòu)的地圖符號(hào),以實(shí)現(xiàn)ArcGIS Engine平臺(tái)上跨平臺(tái)的地圖符號(hào)化繪制。
現(xiàn)有地理信息系統(tǒng)間符號(hào)受到當(dāng)前地圖符號(hào)模型與現(xiàn)有異構(gòu)地圖符號(hào)資源不兼容性的阻礙,符號(hào)跨平臺(tái)共享困難,并且符號(hào)共享時(shí)語(yǔ)義特征會(huì)有所丟失。針對(duì)這一問(wèn)題,本文將本體概念引用到地圖符號(hào),為地圖符號(hào)共享、語(yǔ)義互操作提供新方向,設(shè)計(jì)了本體驅(qū)動(dòng)下地圖符號(hào)數(shù)據(jù)模型,保留了地圖符號(hào)的語(yǔ)義信息。利用圖元法對(duì)地圖符號(hào)數(shù)據(jù)模型進(jìn)行組織,設(shè)計(jì)了通用地圖符號(hào)庫(kù)模型,并利用Web Services技術(shù)跨語(yǔ)言、跨網(wǎng)絡(luò)協(xié)議、跨操作系統(tǒng)的優(yōu)勢(shì),設(shè)計(jì)出一種地圖符號(hào)分布式共享框架,建立了地
圖符號(hào)共享門(mén)戶(hù)網(wǎng)站,使多源異構(gòu)的地圖符號(hào)實(shí)現(xiàn)網(wǎng)絡(luò)環(huán)境下靈活開(kāi)放的集成和互操作,且有效保留了地圖符號(hào)的語(yǔ)義信息。