田志剛,張彥麗,趙韶沖
(1.黃河水文勘察測(cè)繪局,河南 鄭州 450045;2.黃委水文局,河南 鄭州 450004;3.菏澤黃河河務(wù)局,山東菏澤 274000)
存在于自然世界地理實(shí)體中,與空間位置或特征相關(guān)聯(lián),在空間中不可再分的最小單元稱為空間實(shí)體[1]。吳信才[2]認(rèn)為對(duì)象數(shù)據(jù)結(jié)構(gòu)是由對(duì)象的一組數(shù)據(jù)和表達(dá)它行為的一組操作共同組成,數(shù)據(jù)和行為是統(tǒng)一體。李景文[3]等提出了基于對(duì)象的時(shí)空數(shù)據(jù)模型,對(duì)空間對(duì)象的幾何信息、屬性信息、時(shí)間信息進(jìn)行封裝。姜曉軼[4]設(shè)計(jì)了GOO-STDM空間數(shù)據(jù)模型,運(yùn)用面向?qū)ο蟮姆椒▽⒌貙W(xué)對(duì)象封裝為空間、專題、時(shí)間的整體。面向?qū)嶓w的空間數(shù)據(jù)模型以現(xiàn)實(shí)世界中的實(shí)體為基本表達(dá)對(duì)象,葉亞琴[5]等提出的實(shí)體數(shù)據(jù)模型將地理實(shí)體模型表示為要素,由幾何實(shí)體和屬性組成;劉南[6]等提出了面向?qū)嶓w的分布式結(jié)構(gòu)數(shù)據(jù)對(duì)象集合,將現(xiàn)實(shí)世界抽象為空間參考系模型、地理幾何對(duì)象模型、空間數(shù)據(jù)庫模型和元數(shù)據(jù)庫模型,提供實(shí)體模型的海量數(shù)據(jù)支持。
綜合上述實(shí)體對(duì)象的數(shù)據(jù)描述內(nèi)容,本文將空間實(shí)體對(duì)象定義為由時(shí)空參照、空間信息、屬性特征、關(guān)系、組成5個(gè)特征構(gòu)成的數(shù)據(jù)結(jié)構(gòu),其中組成描述的是對(duì)象的組成部件或部分,是對(duì)象之間的相對(duì)包含關(guān)系。
地理實(shí)體以某種或多種屬性特征為劃分標(biāo)準(zhǔn),同類地理實(shí)體具有相同的地理屬性特征[7]。空間實(shí)體對(duì)象模型對(duì)地理實(shí)體的認(rèn)知過程是相同的,形成對(duì)象的關(guān)鍵是抽象,面向?qū)ο蠓椒ň哂泻軓?qiáng)的抽象表達(dá)能力,可將對(duì)象抽象為對(duì)象類,實(shí)現(xiàn)抽象的數(shù)據(jù)類型,并允許用戶自定義[8]??臻g實(shí)體對(duì)象抽象得到空間實(shí)體對(duì)象模板,將其作為對(duì)象的原型以確定對(duì)象數(shù)據(jù)的描述,且用戶可自定義數(shù)據(jù)結(jié)構(gòu),通過實(shí)例化對(duì)象模板實(shí)現(xiàn)空間實(shí)體對(duì)象建模。
由于模板處理機(jī)制的靈活性和易擴(kuò)展性,已逐漸成為空間數(shù)據(jù)轉(zhuǎn)換、傳輸和組織研究的熱點(diǎn)?,F(xiàn)階段數(shù)據(jù)模板的類型主要分為數(shù)據(jù)匹配模板、數(shù)據(jù)轉(zhuǎn)換模板、數(shù)據(jù)解析模板和數(shù)據(jù)組織模板4種。數(shù)據(jù)匹配模板的應(yīng)用內(nèi)容主要是數(shù)據(jù)內(nèi)容匹配,以影像數(shù)據(jù)結(jié)構(gòu)為模板與被匹配源進(jìn)行配準(zhǔn)[9-11],以連續(xù)的場(chǎng)結(jié)構(gòu)為模板進(jìn)行地形匹配[12],以及在矢量地圖數(shù)據(jù)中通過模板進(jìn)行要素匹配[13];數(shù)據(jù)轉(zhuǎn)換模板提供了數(shù)據(jù)轉(zhuǎn)換標(biāo)準(zhǔn)和目標(biāo)數(shù)據(jù)組織結(jié)構(gòu)[14];數(shù)據(jù)解析模板是數(shù)據(jù)內(nèi)容的描述文件和數(shù)據(jù)的語義解釋方法;數(shù)據(jù)組織模板是通過模板將不同的數(shù)據(jù)組件組成完整的數(shù)據(jù)內(nèi)容,在三維復(fù)雜實(shí)體建模中通過模板將簡(jiǎn)單對(duì)象構(gòu)建為復(fù)雜對(duì)象。對(duì)象模板綜合了數(shù)據(jù)轉(zhuǎn)換模板和數(shù)據(jù)組織模板的特點(diǎn)。
根據(jù)上述對(duì)象模板的理論內(nèi)容和技術(shù),本文提出的空間實(shí)體對(duì)象模板定義為:對(duì)象模板的基本思想是從一組相似的事物中抽象出一種框架模式,任何一個(gè)類似的事物都可作為以模板為超類的派生實(shí)例。空間實(shí)體對(duì)象模板是實(shí)體數(shù)據(jù)組織的抽象模板,將具體應(yīng)用中實(shí)體數(shù)據(jù)的內(nèi)容和組織方式定義為模板樣式,使對(duì)象數(shù)據(jù)能進(jìn)行規(guī)范化組織。
空間實(shí)體對(duì)象信息包括對(duì)象自身特征信息和對(duì)象間關(guān)系信息兩部分,相應(yīng)地可將對(duì)象模板分為對(duì)象原型模板和關(guān)系模板。
1)對(duì)象原型模板包括對(duì)象的時(shí)空參照、空間信息、組成和屬性信息。對(duì)象原型模板的結(jié)構(gòu)和形式化表達(dá)可描述為:
對(duì)象原型模板=
{
時(shí)空參照: {時(shí)間參照,空間參照};
空間信息:
{
幾何1= {空間標(biāo)識(shí),尺度,數(shù)據(jù)類型,數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),空間參照};
…
幾何n= {空間標(biāo)識(shí),尺度,數(shù)據(jù)類型,數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),空間參照};
}
組成:
{
組成1={對(duì)象類型,對(duì)象地址,空間參照};
…
組成n={對(duì)象類型,對(duì)象地址,空間參照};
}
屬性特征:
{
屬性1={名稱,屬性類型,屬性值類型,初始值,取值范圍,獲取方式};
…
屬性n={名稱,屬性類型,屬性值類型,初始值,取值范圍,獲取方式};
}
}
2)關(guān)系模板負(fù)責(zé)描述空間實(shí)體對(duì)象的關(guān)系信息,包括對(duì)象關(guān)系類(關(guān)系模型)和關(guān)系存儲(chǔ)結(jié)構(gòu)。關(guān)系模板的形式化表達(dá)可描述為:
關(guān)系模板=
{
關(guān)系類:
{
關(guān)系類1={關(guān)系類型,關(guān)系標(biāo)識(shí),參數(shù)定義,對(duì)象類約束};
關(guān)系存儲(chǔ)結(jié)構(gòu)={存儲(chǔ)結(jié)構(gòu)類型,關(guān)系節(jié)點(diǎn),關(guān)系邊};
}
…
關(guān)系類:
{
關(guān)系類n={關(guān)系類型,關(guān)系標(biāo)識(shí),參數(shù)定義,對(duì)象類約束};
關(guān)系存儲(chǔ)結(jié)構(gòu)={存儲(chǔ)結(jié)構(gòu)類型,關(guān)系節(jié)點(diǎn),關(guān)系邊};
}
}
對(duì)象原型模板和關(guān)系模板相對(duì)獨(dú)立地描述了某類空間實(shí)體對(duì)象和對(duì)象間關(guān)系的數(shù)據(jù)組織結(jié)構(gòu),關(guān)系模板需依賴于對(duì)象進(jìn)行實(shí)例化。
在概念層次上的實(shí)體被看作是由時(shí)空參照、空間信息、組成、屬性信息和關(guān)系5個(gè)特征組成。對(duì)象模板是某類空間實(shí)體完整特征抽象的集合。根據(jù)對(duì)象分類原則,空間實(shí)體集中可抽象出多個(gè)空間實(shí)體類,而應(yīng)用目的決定了對(duì)象模板的數(shù)據(jù)描述框架,因此一種類型的實(shí)體可包含多個(gè)對(duì)象模板,對(duì)象模板的概念模型設(shè)計(jì)如圖1所示。
圖1 對(duì)象模板概念設(shè)計(jì)
空間實(shí)體對(duì)象模板包括對(duì)象原型模板和關(guān)系模板。
2.3.1 對(duì)象原型模板邏輯結(jié)構(gòu)設(shè)計(jì)
對(duì)象原型模板包括時(shí)空參照、空間位置、空間形態(tài)、組成結(jié)構(gòu)、屬性特征5個(gè)特征。在邏輯結(jié)構(gòu)設(shè)計(jì)時(shí),需要包括對(duì)象模板標(biāo)識(shí)數(shù)據(jù),通過該標(biāo)識(shí)管理和識(shí)別對(duì)象模板類型。
1)模板標(biāo)識(shí)(ObjectTemplate),描述模板編碼和模板中所描述的對(duì)象類別,同時(shí)在該處添加繼承的上層模板路徑??臻g實(shí)體對(duì)象模板標(biāo)識(shí)信息包括模板編碼(TemplateID)、模板所描述對(duì)象類名稱(Name)、對(duì)象類型(Type)、繼承模板路徑(referencePath),其中Type存儲(chǔ)了模板所描述的對(duì)象類的分類編碼。
2)時(shí)空參照(STRID),包括時(shí)間參照類型(TRID)和空間參照類型(SRID),在模板結(jié)構(gòu)中需選擇時(shí)間和空間參照類型。
3)空間信息(Spatials)描述中單個(gè)空間描述是基于對(duì)象空間尺度進(jìn)行劃分的,一個(gè)空間描述中數(shù)據(jù)存儲(chǔ)內(nèi)容可包括一種矢量數(shù)據(jù)。本文模板中Spatials邏輯結(jié)構(gòu)設(shè)計(jì)只針對(duì)對(duì)象二維矢量形態(tài)。
Spatials中,對(duì)象包含多個(gè)形態(tài)的“Spatial”,其數(shù)據(jù)結(jié)構(gòu)包括尺度(Scale)、空間描述名稱(Name)和時(shí)間(Time),Time描述了對(duì)象空間信息的時(shí)態(tài)記錄特點(diǎn)。Part表示空間的組成部分,包含組成部分的名稱、形態(tài)類型(本文矢量形態(tài)統(tǒng)一為Vector2D)。對(duì)象模板構(gòu)建時(shí),需對(duì)Name和Scale屬性進(jìn)行初始化,限定基于該對(duì)象模板建模的對(duì)象空間形態(tài)支持的空間尺度。
4)組成。對(duì)象模板中組成連接部件對(duì)象與組合對(duì)象,Parts結(jié)構(gòu)描述了對(duì)象組成數(shù)據(jù)的標(biāo)識(shí)。Parts結(jié)構(gòu)中,Name表示對(duì)象組成部分的名稱,ID表示組成結(jié)構(gòu)編碼,在對(duì)象組成結(jié)構(gòu)信息初始化時(shí)動(dòng)態(tài)分配,RefType表示組成結(jié)構(gòu)的類型,RefObjectID表示該組成部分所引用的對(duì)象編碼,RefObjectType表示組成部分的對(duì)象類型。構(gòu)建模板時(shí)需對(duì)組成結(jié)構(gòu)中RefType和RefObjectType的屬性進(jìn)行初始化,約束對(duì)象組成結(jié)構(gòu)中部件對(duì)象類型。
5)屬性特征(Attr)。對(duì)象模板中,Attr是模板定義的公有屬性,是對(duì)象實(shí)例化所必須包含的屬性項(xiàng),是基于模板的實(shí)例化對(duì)象的必要屬性信息。
Attr結(jié)構(gòu)中的Type屬性描述了對(duì)象的類型,不同類型屬性的數(shù)據(jù)描述方式不同,動(dòng)態(tài)屬性是具有時(shí)間標(biāo)簽的連續(xù)記錄信息,靜態(tài)屬性描述了與時(shí)間沒有關(guān)聯(lián)的信息。在對(duì)象模板中,公有屬性需初始化的內(nèi)容包括Attr中的Name、ValueType、Type和ValueRange。
2.3.2 關(guān)系模板邏輯結(jié)構(gòu)設(shè)計(jì)
關(guān)系模板中包括關(guān)系模板標(biāo)識(shí)和關(guān)系類兩方面信息,關(guān)系模板標(biāo)識(shí)負(fù)責(zé)識(shí)別和管理關(guān)系模板,關(guān)系類是模板中設(shè)計(jì)的對(duì)象關(guān)系模型。
1)模板標(biāo)識(shí),包括模板編碼(TemplateID)、模板名稱(Name)和繼承模板路徑(referencePath)。
2)關(guān)系類(ObjectRelationClass),包括類名稱(Name)、關(guān)系類型(Type)、類編碼(ID)、關(guān)系數(shù)據(jù)存儲(chǔ)類型(RelationType),其中RelationDataType表示該關(guān)系類實(shí)例化的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu),構(gòu)建關(guān)系的對(duì)象類約束目錄(Category)。ObjectRelationClass通過節(jié)點(diǎn)參數(shù)(NodeParameters)、邊參數(shù)(EdgeParameters)和環(huán)參數(shù)(RingParameters)進(jìn)行定義。
模板生成工具實(shí)現(xiàn)了對(duì)象模板的可視化創(chuàng)建和特征內(nèi)容編輯,以及對(duì)象之間關(guān)系交互式的構(gòu)建和對(duì)象模板文件的導(dǎo)出導(dǎo)入;同時(shí)提供了模板文件在SQLite數(shù)據(jù)庫中的存儲(chǔ)方法,便于對(duì)象模板文件的存儲(chǔ)、管理和重用。模板生成工具實(shí)現(xiàn)了對(duì)象模板的生成和存儲(chǔ)。
圖2 對(duì)象模板生成工具模型類圖
圖2為對(duì)象模板生成工具的模型類圖,模板的創(chuàng)建過程統(tǒng)一在TemplateEditFrame中進(jìn)行管理,模板可視化創(chuàng)建在GraphFrame中進(jìn)行,ObjectClassFactory中包含了模板創(chuàng)建所需的基本結(jié)構(gòu),AbstratEdge中描述了模板間的關(guān)系,Storage負(fù)責(zé)存儲(chǔ)管理創(chuàng)建后的模板。
根據(jù)空間實(shí)體對(duì)象的生成步驟和創(chuàng)建的模板生成工具,將1∶500比例尺下的鄭州市地鐵OSM數(shù)據(jù)、鄭州市地鐵CAD數(shù)據(jù)轉(zhuǎn)換為城市地鐵空間實(shí)體對(duì)象,展示矢量地圖數(shù)據(jù)自動(dòng)化生成空間實(shí)體對(duì)象的轉(zhuǎn)換過程。數(shù)據(jù)源基本信息如表1所示,生成的空間實(shí)體對(duì)象類型如表2所示。地鐵1號(hào)線站點(diǎn)轉(zhuǎn)換后的空間實(shí)體對(duì)象數(shù)據(jù)如圖3所示,轉(zhuǎn)換后的空間實(shí)體對(duì)象通過多粒度時(shí)空獨(dú)享建模工具進(jìn)行顯示,結(jié)果如圖4所示。
表2 數(shù)據(jù)轉(zhuǎn)換結(jié)果描述
圖3 地鐵1號(hào)線地鐵站空間實(shí)體對(duì)象
圖4 地鐵實(shí)體對(duì)象數(shù)據(jù)可視化
在綜合現(xiàn)有空間實(shí)體定義的基礎(chǔ)上,本文提出了一種基于模板實(shí)現(xiàn)空間實(shí)體數(shù)據(jù)自定義的數(shù)據(jù)構(gòu)建機(jī)制,詳細(xì)設(shè)計(jì)了基于模板的空間實(shí)體數(shù)據(jù)組織方法,以及模板的概念模型和邏輯模型,并創(chuàng)建了模板生成工具。基于對(duì)象模板實(shí)現(xiàn)了鄭州市OSM數(shù)據(jù)和地鐵站CAD數(shù)據(jù)的融合和信息重構(gòu),并通過空間實(shí)體對(duì)象數(shù)據(jù)轉(zhuǎn)換結(jié)果和可視化效果驗(yàn)證了本文方法的可行性和科學(xué)性。