周 艷,黃悅瑩,曾桂香,張鵬程,楊衛(wèi)軍
(1. 電子科技大學(xué) 資源與環(huán)境學(xué)院,四川 成都 611731;2. 廣州市城市規(guī)劃勘測設(shè)計研究院,廣東 廣州 510060)
目前,以空間位置為基礎(chǔ)的位置服務(wù)已經(jīng)成為新興服務(wù)產(chǎn)業(yè)的重要組成部分,也是未來移動應(yīng)用的第二大發(fā)展方向[1]。隨著數(shù)字城市的不斷發(fā)展與建設(shè),人們對位置服務(wù)的需求不再滿足傳統(tǒng)的室外空間,室內(nèi)位置服務(wù)逐漸成為關(guān)注的重點,未來大型建筑物的室內(nèi)三維模型技術(shù)發(fā)展必須支持互操作、智能化等多功能應(yīng)用[2-4],因此,與室內(nèi)位置服務(wù)相關(guān)的室內(nèi)三維空間模型研究已經(jīng)引起人們的極大關(guān)注,成為了國內(nèi)外研究前沿和熱點。
大多數(shù)室內(nèi)三維模型數(shù)據(jù)組織研究主要面向室內(nèi)空間可視化應(yīng)用[5-6],較少考慮三維模型中豐富的語義信息和拓?fù)湫畔?,對室?nèi)空間位置服務(wù)的專題查詢導(dǎo)航、分析等支持有限。因此,如何有效地組織室內(nèi)三維模型數(shù)據(jù)以更好地滿足位置服務(wù)應(yīng)用需求,成為亟需解決的重要問題。為此,本文面向室內(nèi)位置服務(wù)提出一種顧及語義拓?fù)涞臄?shù)據(jù)組織方法,并以典型室內(nèi)路徑規(guī)劃應(yīng)用為例說明方法的有效性。
本文基于室內(nèi)空間位置模型(Indoor Space Location Model,ISLM)進(jìn)行室內(nèi)空間位置表達(dá),ISLM是基于IndoorGML[7]標(biāo)準(zhǔn)核心模塊的擴(kuò)展表達(dá)模型,從幾何、拓?fù)浜驼Z義位置3個方面對室內(nèi)三維空間實體進(jìn)行模型表達(dá),模型描述可參考相關(guān)文獻(xiàn)[8],本文此處不贅述。圖1表示了ISLM拓?fù)浔磉_(dá)的三層拓?fù)浣Y(jié)構(gòu)及其之間的連接關(guān)系,其中,基本拓?fù)鋵踊邶嫾尤R二元性變換理論表達(dá)了室內(nèi)單元空間之間的連通關(guān)系;距離拓?fù)鋵硬捎肐ndoorGML標(biāo)準(zhǔn)的厚門模型(Thick Door Model),將門作為單元(Cell)實體從基本拓?fù)鋵咏Y(jié)構(gòu)推導(dǎo)而得“門-門”模型,可實現(xiàn)室內(nèi)空間任意兩點位置距離計算;位置拓?fù)鋵硬捎弥休S轉(zhuǎn)換方法將走廊、過道等語義空間抽象為一維的直線,此時以室內(nèi)位置服務(wù)用戶在走廊中的自我中心為方向基準(zhǔn)對過道兩邊的單元空間表達(dá)對應(yīng)的語義相對位置信息?;就?fù)鋵油ㄟ^層間連接與距離拓?fù)鋵雍臀恢猛負(fù)鋵舆M(jìn)行關(guān)聯(lián)。
圖1 ISLM三層拓?fù)浣Y(jié)構(gòu)Fig.1 3-layer topology structure of ISLM
從面向位置服務(wù)的角度出發(fā),本文將室內(nèi)三維模型中的空間對象與構(gòu)件對象作為模型組織關(guān)注的重點,將空間要素抽象為對偶空間中的節(jié)點與邊,通過基本拓?fù)?、距離拓?fù)浜臀恢猛負(fù)鋵κ覂?nèi)三維模型進(jìn)行數(shù)據(jù)組織。
本文將室內(nèi)三維空間內(nèi)的要素分為構(gòu)成建筑物基本單元的構(gòu)件對象和具有一定空間容器功能的空間對象。如圖2所示,將空間對象中的單元空間劃分為房間、水平通道和豎向通道三類語義空間;具有空間分割功能的墻、天花板等構(gòu)件對象與空間對象組織成一個有機(jī)整體;通道口作為位置服務(wù)中特殊的構(gòu)件對象需要顯式組織,為了避免數(shù)據(jù)結(jié)構(gòu)冗余,將水平通道口(出入口、門等)和豎向通道口(電梯口、樓梯口、扶梯口)抽象為拓?fù)浣Y(jié)構(gòu)中的點要素進(jìn)行組織。由于室內(nèi)火災(zāi)應(yīng)急情況發(fā)生時,窗作為特殊的語義通道口發(fā)揮重要的作用,因此空間要素數(shù)據(jù)組織中考慮了窗戶的通道口語義。
圖2 室內(nèi)三維模型語義空間要素層次劃分Fig.2 Hierarchical division of semantic spatial elements in indoor 3D models
室內(nèi)三維模型拓?fù)潢P(guān)聯(lián)關(guān)系主要由原始空間抽象成對偶空間的節(jié)點和邊組成,拓?fù)潢P(guān)系節(jié)點和拓?fù)潢P(guān)系邊的類型與定義分別見表1和表2,其中,拓?fù)浣Y(jié)構(gòu)表示節(jié)點或邊的抽象類型與本文表達(dá)的拓?fù)潢P(guān)系層相對應(yīng)。以下分別介紹三層拓?fù)潢P(guān)系的數(shù)據(jù)組織,基本拓?fù)鋵优c距離拓?fù)鋵拥臄?shù)據(jù)組織關(guān)系如圖3所示。
表1 拓?fù)潢P(guān)系節(jié)點類型和定義Tab.1 Types and def i nitions of topological relationship nodes
表2 拓?fù)潢P(guān)系邊的類型和定義Tab.2 Types and def i nitions of topological relationship edges
圖3 基本拓?fù)渑c距離拓?fù)涞臄?shù)據(jù)組織Fig.3 Data organization of foundation topology and distance topology
1)基本拓?fù)鋵?/p>
基本拓?fù)涔?jié)點屬性表保存了由室內(nèi)單元空間抽象而成的所有節(jié)點,layer屬性與語義空間要素組織的房間信息表、水平通道表、豎向通道表相對應(yīng),每一張表對應(yīng)一個圖層;type為對應(yīng)的拓?fù)涔?jié)點類型;SpaceObject_ID表示單元空間對象ID,通過該屬性與單元空間信息相關(guān)聯(lián)的語義位置屬性,實現(xiàn)單元空間的語義位置信息組織;C_Node_ID表示與該節(jié)點相鄰的其他單元空間節(jié)點ID,是對空間鄰接關(guān)聯(lián)關(guān)系的組織;CE_Node_ID表示該單元空間節(jié)點包含的距離拓?fù)鋵又型ǖ揽诠?jié)點的集合,隱含了空間邊界關(guān)聯(lián)關(guān)系的組織;floor表示該單元空間節(jié)點所在樓層;coordinate表示該節(jié)點的抽象幾何坐標(biāo)位置;基本拓?fù)溥厡傩员斫M織管理單元空間節(jié)點之間的空間關(guān)系(如兩個房間的鄰接或連通關(guān)系等)。
2)距離拓?fù)鋵?/p>
距離拓?fù)鋵訉崿F(xiàn)了“通道口-通道口”的連通關(guān)系和單元空間之間的語義距離位置的組織,其中,單元空間之間的語義距離位置通過位于單元空間邊界的通道口之間的距離進(jìn)行度量。距離拓?fù)鋵臃謩e定義了距離拓?fù)涔?jié)點屬性表和距離拓?fù)溥厡傩员?,字段含義如圖3所示。距離拓?fù)涔?jié)點屬性表主要對窗戶以外的所有通道口進(jìn)行幾何語義屬性的定義,其中Cell_ID表示通道口所屬的基本拓?fù)溥厡傩员碇械膯卧臻g節(jié)點,direction表示通道口出入方向(direction為-1時表示只出不進(jìn)、為1時表示只進(jìn)不出、為0時可進(jìn)可出);距離拓?fù)溥厡傩员碇羞叺臋?quán)重是由歐式空間幾何位置確定的空間距離。
3)位置拓?fù)鋵?/p>
位置拓?fù)鋵訉⒆呃?、過道等水平通道和豎向通道抽象為以室內(nèi)位置服務(wù)用戶為中心的語義位置描述,通過水平或豎向通道的連接方向判斷通道兩邊房間節(jié)點的語義相對方向和語義相對順序,以用戶為中心建立類似“走廊左邊第一個房間”的描述方式,其中“左”和“第一個”為語義相對方向和順序的位置描述的關(guān)鍵詞。
位置拓?fù)鋵又泄?jié)點包含表1所定義的房間節(jié)點Room和走廊上的水平通道節(jié)點CorridorNode及豎向通道上的樓梯口節(jié)點StairEntrance、電梯出入口節(jié)點ElevatorEntrance、扶梯出入口節(jié)點EscalatorEntrance,邊包含走廊邊CorridorEdge和豎向通道邊VerticalChannelEdge,為了直觀上的圖形理解,也將同一樓層房間節(jié)點與走廊的垂線段VerticalEdge作為位置拓?fù)鋵又械倪叀R韵峦ㄟ^示例闡述二維位置拓?fù)鋵拥恼Z義相對位置組織。如圖4所示,走廊和連接房間與走廊的垂線段作為位置拓?fù)鋵又械倪?,房間和走廊上的端點、交叉點作為位置拓?fù)鋵又械墓?jié)點,邊和節(jié)點的數(shù)據(jù)表結(jié)構(gòu)見表3和表4。
圖4 位置拓?fù)鋵涌臻g要素抽象示意圖Fig.4 Schematic diagram of spatial elements of location topological layer
表3 位置拓?fù)溥厡傩员硎纠齌ab.3 Example of locationEdge_table
表4 位置拓?fù)涔?jié)點屬性表示例Tab.4 Example of locationNode_table
表3中保存了位置拓?fù)鋵又型ǖ肋叺膶傩孕畔?,表中示?和示例2分別為圖4中的走廊CN1—CN2和走廊CN3—CN4。type表示拓?fù)溥叺念愋?,CN_Node_ID和direction屬性共同定義了通道的方向。表4保存了位置拓?fù)鋵又泄?jié)點本身的幾何語義信息,也包含相對于通道邊的語義位置屬性,表中示例1和示例2分別為圖4中的房間節(jié)點R1和水平通道走廊上的交叉點CN2,ID為該節(jié)點的ID號;type表示該節(jié)點所屬類型;RoomObject_ID表示該節(jié)點對應(yīng)的房間ID號,當(dāng)節(jié)點類型為Room時,通過該屬性可與房間單元空間相關(guān)聯(lián)從而訪問其基本語義位置屬性;corrdinate表示該節(jié)點的幾何位置;ChannelEdge_ID是表3中存儲的與該節(jié)點相鄰的通道邊ID;Direction_Desc表示該節(jié)點對鄰接通道邊的語義方向相對位置,表述為[通道邊ID,{方向,正序號},{方向,反序號}],其中第一個參數(shù)表示與該節(jié)點相鄰的通道邊ID,即為位置拓?fù)涔?jié)點屬性表的ChannelEdge_ID屬性,第二個參數(shù)為以第一個參數(shù)的正序方向的語義方向描述,第三個參數(shù)為以第一個參數(shù)的反序方向的語義方向描述;Order_Desc表示該節(jié)點對鄰接通道邊的語義相對順序位置,表述為[通道邊ID,{順序,正序號},{順序,反序號}],第一個參數(shù)表示與該節(jié)點相鄰的通道邊ID,第二個參數(shù)為以第一個參數(shù)的正序方向的語義順序描述,第三個參數(shù)為以第一個參數(shù)的反序方向的語義順序描述。
為驗證本文提出的面向位置服務(wù)的室內(nèi)三維模型數(shù)據(jù)組織方法的有效性,以圖5a所示的建筑物為實驗對象,根據(jù)室內(nèi)空間位置模型ISLM表達(dá)的拓?fù)潢P(guān)系進(jìn)行建模,室內(nèi)三維模型的三層拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)如圖5b、5c和5d所示?;陬櫦罢Z義拓?fù)涞氖覂?nèi)三維模型數(shù)據(jù)組織方法為各空間要素建立語義位置屬性,按照真實值添加屬性值,然后以面向位置服務(wù)的室內(nèi)路徑規(guī)劃典型應(yīng)用為例,驗證本文提出的室內(nèi)三維模型拓?fù)浔磉_(dá)與組織方法的有效性。
本實驗采用Dijkstra算法[9-10]實現(xiàn)室內(nèi)路徑規(guī)劃,設(shè)置出發(fā)點和目標(biāo)點分別為“建筑正門入口”和三樓“會議室”,通過距離拓?fù)涔?jié)點屬性表的通道口名稱和房間信息表的房間名稱分別確定出發(fā)點和目標(biāo)點的所屬空間要素類型ID號,利用房間信息表、基本拓?fù)涔?jié)點屬性表及距離拓?fù)涔?jié)點屬性表三者的相互關(guān)聯(lián)關(guān)系確定出發(fā)點和目標(biāo)點在距離拓?fù)鋵又械墓?jié)點映射,最優(yōu)路徑規(guī)劃結(jié)果如圖6所示。
圖5 室內(nèi)三維模型以及三層拓?fù)渚W(wǎng)絡(luò)Fig.5 Indoor 3D model and 3 layer topology network
圖6 室內(nèi)三維路徑表達(dá)Fig.6 Indoor 3D path expression
為了說明位置拓?fù)鋵釉谑覂?nèi)路徑規(guī)劃應(yīng)用中的作用,本文基于路徑規(guī)劃結(jié)果和位置拓?fù)浔磉_(dá)實現(xiàn)自然語言的路徑表達(dá)。自然語言路徑描述的方式能將豐富的語義信息以生動自然的方式表現(xiàn)出來,與三維模型路徑圖相結(jié)合可以為用戶提供圖文并茂的表達(dá)方式,更符合用戶的認(rèn)知習(xí)慣。自然語言路徑表達(dá)的關(guān)鍵步驟如下:
1)路徑拐彎節(jié)點提?。涸谕凰矫嫔?,根據(jù)距離拓?fù)涔?jié)點表和邊表判斷相鄰的兩個路徑片段是否屬于同一單元空間,如果不是,則中間路徑節(jié)點為拐彎節(jié)點;在垂直方向上,若第三個路徑節(jié)點高程大于第一個路徑節(jié)點高程,則第二個路徑節(jié)點即為向上的豎向通道拐彎節(jié)點;
2)拐彎方向判斷:拐彎方向判斷需要先根據(jù)已知距離拓?fù)鋵又械囊?guī)劃路徑方向判斷在位置拓?fù)鋵又械囊?guī)劃路徑所在的走廊方向,將規(guī)劃路徑所在走廊定為某個方向的投影坐標(biāo)軸,若(拐彎節(jié)點下一個節(jié)點在走廊的投影坐標(biāo)-拐彎節(jié)點在走廊的投影坐標(biāo))&&(走廊終點投影坐標(biāo)-走廊起點投影坐標(biāo))為真,則走廊假設(shè)的行進(jìn)方向與規(guī)劃路徑方向同向,否則為相反方向;進(jìn)而通過走廊起點與終點確定的向量與規(guī)劃路徑向量的叉乘,根據(jù)向量的叉乘右手定則,確定用戶以自我為中心的轉(zhuǎn)彎方向;
3)路徑起點的自我中心方向確定:前面的拐彎方向判斷是針對路徑的中間節(jié)點,路徑中間節(jié)點的用戶自我中心方向可通過前一路徑片段確定,而以同樣的方法無法確定路徑起點的自我中心方向,本文以人工的方式確定路徑起點的自我中心方向,特別注意跨樓層導(dǎo)航時自我中心方向的改變,如進(jìn)電梯前和出電梯后的自我中心方向相反。
最后對提取的路徑節(jié)點描述信息及路徑描述輔助性詞匯進(jìn)行拼接,路徑規(guī)劃結(jié)果的自然語言描述為:“從起點出發(fā),向右轉(zhuǎn)到走廊第一個電梯,向上到三樓,左轉(zhuǎn)到走廊盡頭,左轉(zhuǎn)到走廊右邊第二個房間”,這與室內(nèi)三維模型的最優(yōu)路徑規(guī)劃導(dǎo)航情況相一致,說明了語義導(dǎo)航的有效性。
本文面向室內(nèi)位置服務(wù)應(yīng)用需求,實現(xiàn)了面向位置服務(wù)的室內(nèi)三維模型規(guī)范化表達(dá),提出了顧及語義拓?fù)涞氖覂?nèi)三維模型組織方法,并進(jìn)行了實例化室內(nèi)三維建模,考慮到室內(nèi)位置服務(wù)的多樣性及其技術(shù)的復(fù)雜性,本文以室內(nèi)路徑規(guī)劃典型應(yīng)用為例,驗證了本文提出的室內(nèi)三維模型數(shù)據(jù)組織方法的有效性,未來可以考慮更為復(fù)雜和多樣性的室內(nèi)位置服務(wù)應(yīng)用,以充分利用室內(nèi)三維模型的豐富語義空間關(guān)系,進(jìn)一步驗證本文模型和方法的適用性。