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