徐溯陽, 蔡陽軍, 張 豐, 杜震洪*, 劉仁義
(1. 浙江大學(xué) 浙江省資源與環(huán)境信息系統(tǒng)重點實驗室, 浙江 杭州 310028; 2. 浙江大學(xué) 地理信息科學(xué)研究所, 浙江 杭州 310027; 3. 杭州市住房保障辦公室, 浙江 杭州 310006)
表1 配置文件標簽數(shù)及比例
表2 傳統(tǒng)方案中的配置文件
表3 動態(tài)生成方案下的配置文件
表4 2種方案的文件數(shù)量對比
表5 2種方案的請求獲取時間對比
?
全景配置動態(tài)生成方法及實現(xiàn)
徐溯陽1,2, 蔡陽軍3, 張 豐1,2, 杜震洪1,2*, 劉仁義2
(1. 浙江大學(xué) 浙江省資源與環(huán)境信息系統(tǒng)重點實驗室, 浙江 杭州 310028; 2. 浙江大學(xué) 地理信息科學(xué)研究所, 浙江 杭州 310027; 3. 杭州市住房保障辦公室, 浙江 杭州 310006)
基于配置靜態(tài)存儲方法的全景應(yīng)用模式已能較好地滿足一般的全景瀏覽應(yīng)用要求.但在更新頻繁、交互量大、場景數(shù)多的環(huán)境下,此方法容易造成維護困難、服務(wù)器數(shù)據(jù)量激增等問題.針對在不同場景圖像配置中存在重復(fù)的靜態(tài)內(nèi)容這一問題,提出了一套具有普適性和可移植性的全景配置文件動態(tài)生成方法:提煉靜態(tài)內(nèi)容,存儲動態(tài)內(nèi)容,并根據(jù)不同場景的請求參數(shù)動態(tài)生成配置文件.經(jīng)實驗對比,相較配置靜態(tài)存儲方法,動態(tài)生成方法顯著減少了服務(wù)器文件數(shù)量,在傳輸時間、可維護性與瀏覽器緩存利用方面均優(yōu)于傳統(tǒng)方案.
全景;配置;動態(tài)生成
全景圖像是一種能為用戶提供超過人類正常視野范圍的實景圖片,在機械、計算機視覺、監(jiān)控以及虛擬現(xiàn)實領(lǐng)域有著廣泛應(yīng)用[1].全景是GIS的重要組成部分,也是傳統(tǒng)仿真三維技術(shù)的一種替代方案[2].近年來,各類全景系統(tǒng)發(fā)展迅猛,具有代表性的有國外的谷歌街景,國內(nèi)的騰訊街景、百度街景等.
行業(yè)內(nèi)的小型全景應(yīng)用常采用商業(yè)全景引擎與自定義配置文件相結(jié)合的方式實現(xiàn).其中,全景引擎封裝了全景應(yīng)用的核心功能,而配置文件則定義了應(yīng)用的圖像、展現(xiàn)形式和交互邏輯,是全景應(yīng)用必不可少的組成部分.
目前對于全景配置管理的研究尚不成熟.文獻[3]自主實現(xiàn)了一套配置文件標準規(guī)范,但在組織方式上還是最原始的多景配置.文獻[4]提出了配置拆分思想,將各類功能性配置文件分開組織,而將景相關(guān)配置統(tǒng)一組織.文獻[5]設(shè)計了一個全景生成系統(tǒng),但其配置在訪問前而非訪問時生成.文獻[6]提出了對配置進行編輯管理的思想,但只采用了簡單的I/O文件操作.
以上研究在配置管理上均未突破靜態(tài)性.每一景的配置文件均于事先制作完成,訪問時直接調(diào)用.這類方案在景數(shù)較少的場合效果較好,但在景數(shù)大于100的中大型全景應(yīng)用中,具有數(shù)據(jù)冗余、修改維護困難、實時性不足等缺點.
本文擬設(shè)計并實現(xiàn)一套具有普適性和可移植性的全景配置文件動態(tài)生成方法,并用實驗驗證所搭建的原型系統(tǒng).
1.1 全景應(yīng)用組成
1.1.1 全景引擎
全景引擎又稱全景播放器,是全景應(yīng)用的核心.全景引擎封裝了實現(xiàn)全景瀏覽功能的主要模塊,允許用戶根據(jù)設(shè)定的參數(shù),對已有全景切片進行獲取、融合、拼接和渲染.
全景引擎必須通過特定的配置文件來傳遞配置信息.
1.1.2 配置文件
全景配置文件的作用是傳遞全景應(yīng)用每一景初始化時的各類配置信息.讀取全景引擎解析配置文件中相應(yīng)內(nèi)容到內(nèi)存并進行維護.初始化結(jié)束后,配置文件即被丟棄,在用戶瀏覽交互過程中不再起作用[7].
配置文件的具體格式和寫法與使用的引擎相關(guān).本文使用的Krpano全景引擎要求配置文件以XML格式書寫.各類配置項實際上都是XML文檔中帶屬性的標簽與子標簽.
1.1.3 全景腳本程序
嚴格來說,全景腳本函數(shù)也是配置文件的一部分,定義在〈action〉標簽中.
全景腳本程序是全景引擎提供的一種用戶接口,允許用戶使用其支持的腳本語言對全景場景進行控制.包括樣式修改、景切換、視角轉(zhuǎn)換、興趣點增刪、事件綁定等.
1.1.4 前端控制程序
前端控制程序即是傳統(tǒng)的javascript前端腳本.前端控制程序負責對一些沒有定義在全景內(nèi)的DOM對象以及BOM對象進行控制和操作.Krpano引擎提供了前端控制程序與全景腳本相互調(diào)用的直接接口.在前端代碼中,可以使用krpano.call()調(diào)用全景腳本函數(shù),而在全景腳本函數(shù)中,可以通過js()調(diào)用前端.
1.2 全景配置靜態(tài)存儲方法
全景配置的靜態(tài)存儲方案如圖1所示.靜態(tài)存儲方案沒有服務(wù)器端程序.服務(wù)器端只發(fā)布包含全景配置文件與全景切片數(shù)據(jù)的文件系統(tǒng),供全景引擎調(diào)用.
圖1 靜態(tài)存儲方法架構(gòu)Fig.1 Architecture of static storage method
在配置文件的組織上,存在“多景-配置”與“一景-配置”2種情況.前者為每一景存儲一個配置文件,后者將部分或者所有景的配置置入同一個配置文件的〈scene〉標簽中.
在實踐中發(fā)現(xiàn),全景系統(tǒng)的傳統(tǒng)配置方案導(dǎo)致了以下問題:
1.2.1 配置存在大量冗余
在配置文件中,每一景獨有的配置信息包括景名、視角、切片地址與興趣點,而其他配置項,包括樣式、顯示效果、全景腳本程序等各景都基本相同,從而造成相同的配置項在多個配置文件中重復(fù)出現(xiàn).
以本實驗所用的數(shù)據(jù)為例(見表1),平均每份配置文件定義樣式8項、腳本動作函數(shù)25項,平均行數(shù)410,占配置文件數(shù)據(jù)總量的70%以上.
表1 配置文件標簽數(shù)及比例
Table 1 Number and proportion of tags in configuration file
1.2.2 興趣點的創(chuàng)建維護困難
興趣點(hotspot)是指景空間中預(yù)先定義的、擁有固定位置和樣式、可承載一定信息的對象[8].功能上,可以分為跳轉(zhuǎn)興趣點、鏈接興趣點、圖片展示興趣點、文字介紹興趣點、評論興趣點、語音興趣點等.樣式上,可以分為面狀興趣點和點狀興趣點.除了全景圖像外,興趣點是全景應(yīng)用信息傳遞的最主要方式.
配置靜態(tài)存儲方法很難解決創(chuàng)建和維護興趣點的問題.在創(chuàng)建方面,因為興趣點屬于景外內(nèi)容,Krpano引擎的配置文件自動生成的工具,其興趣點錄入生成功能不盡完備,開發(fā)人員需根據(jù)資料,在配置文件生成之后,手動修改、寫入〈hotspot〉標簽,并增加相應(yīng)屬性.
其次,興趣點具有動態(tài)性和時效性.店鋪、公共設(shè)施、儀器器材等重要興趣點的信息處于動態(tài)變化中,需要不斷對其進行更新維護.
由于〈hotspot〉標簽寫在配置文件中,很難通過代碼修改,只能采用手工方式修改,工作量巨大.當與同一個實體對應(yīng)的興趣點出現(xiàn)在N個景中時,一個實體改變,就需要修改N個景的配置文件.
1.2.3 無法利用瀏覽器緩存
在全景應(yīng)用中,由于全景引擎首先需要獲取配置文件才能進行渲染,在配置文件的請求響應(yīng)到達前,一切工作都將掛起.所以配置文件的請求阻塞性是全景應(yīng)用中的瓶頸.能否快速地從服務(wù)器獲取配置文件,關(guān)系到全景應(yīng)用用戶體驗?zāi)芊窳鲿?
為了追求最快的瀏覽速度,現(xiàn)代瀏覽器都會將訪問網(wǎng)頁時依賴的一些靜態(tài)資源緩存到本地[9].當使用傳統(tǒng)方法時,每訪問一個新景,都要重新下載該景的配置文件,而之前緩存的其他景的配置文件在邏輯上與其無關(guān),相同內(nèi)容無法再利用,這在一定程度上降低了瀏覽速度.
全景配置本質(zhì)上是對全景應(yīng)用中的各類功能、展現(xiàn)效果和特性的設(shè)置.這些功能、展現(xiàn)效果和特性可被抽象為全景對象.
全景對象A與全景配置C之間存在不完全映射關(guān)系.認識全景對象是進一步認識和分析全景配置的必要前提.
2.1 全景對象
2.1.1 全景對象抽象
分析現(xiàn)有全景應(yīng)用中的各類功能、展現(xiàn)效果和特性,結(jié)合配置文件格式,對全景應(yīng)用中的概念及其之間的關(guān)系進行抽象,如圖2所示.
圖2 全景對象ER圖Fig.2 Entity relationship diagram of panoramic object
結(jié)合圖2,對以上抽象對象進行描述.
a) PanoSystem:對全景應(yīng)用本身的抽象.代表一個完整的全景應(yīng)用.
b) View:對全景圖視角的抽象.包括當前視角方向、視角寬度和視野范圍.
c) Display:對全景圖展示質(zhì)量的抽象.包括幀率、銳化等配置項.
d) Control:對用戶操作和交互細節(jié)的抽象.
e) Autorotate:對全景自動旋轉(zhuǎn)功能的抽象.
f) Cursors:對鼠標樣式的抽象.
g) Events:對各類事件的抽象.
h) Action:對全景腳本的抽象.
i) Scene:對景的抽象.景是全景應(yīng)用中最重要的概念之一,全景應(yīng)用本身即是以景為單位進行組織的.
j) Hotspot:對興趣點的抽象.興趣點是景內(nèi)最重要的表現(xiàn)數(shù)據(jù)和內(nèi)容的概念.興趣點從樣式上可分為兩類,其中一類為Image Hotspot.
k) Entity:對Hotspot所對應(yīng)的真正實體對象的抽象.
l) Layer:對全景圖內(nèi)的自定義區(qū)域的抽象.
m) Image:對景內(nèi)全景圖片配置的抽象,分為CUBE、CUBESTRIP、SPHERE、CYLINDER等.
n) Level:對全景切片層級的抽象.只有當Image開啟了Multiles選項時才可以使用.
o) Polypoint:對組成Polygon Hotspot的點的抽象.Polypoint與Hotspot是多對一關(guān)系.
p) Preview:對景預(yù)覽圖的抽象.
q) Style:對樣式的抽象.
2.1.2 全景對象分析
從圖2中可以看到,全景對象被分為上下2個部分.上方的對象引申自PanoSystem,是PanoSystem的子對象.下方的對象引申自Scene,是Scene的子對象,而Scene本身又是PanoSystem的子對象.
PanoSystem的直接子對象具有全局性和一致性,即在單個全景應(yīng)用中只需定義一次,和任何一景既沒有邏輯關(guān)聯(lián)也不存在包含關(guān)系,所以將其歸為靜態(tài)對象.
而Scene的子對象具有局部性和動態(tài)性,即每一景都有自己獨特的Hotspot、Image、Preview、Layer和Entity,所以將這些Scene的子對象歸為動態(tài)對象.
如果用首字母來標志各類全景對象(重復(fù)則以下標區(qū)分),以廣義表的形式來表示全景對象及其之間的關(guān)系,則有:
Pa=(Ps,Pd),
(1)
Ps=(V,D,C1,A1,C2,A2,E,S),
(2)
Pd=(S1(H(E,P)),I(L),P2),
(3)
其中,Pa代表全景應(yīng)用整體,Ps代表全景應(yīng)用中的靜態(tài)內(nèi)容,Pd代表全景應(yīng)用中的動態(tài)內(nèi)容.將全景對象映射到全景配置中,則可以得到各配置項的特性和關(guān)系.
2.2 全景動態(tài)配置思想
根據(jù)式(1)~(3),分別處理全景靜態(tài)對象與動態(tài)對象.將動態(tài)對象的相關(guān)信息保存到數(shù)據(jù)庫中,靜態(tài)對象對應(yīng)的配置項保存到幾個不同的靜態(tài)模板文件中.
全景配置動態(tài)生成架構(gòu)如圖3所示,生成過程如圖4所示,具體步驟為:
1) 獲取html頁面,載入前端js代碼并執(zhí)行.js代碼控制載入全景引擎核心文件,創(chuàng)建全景視窗.全景引擎向web服務(wù)器發(fā)出獲取全景配置的請求.
2) web服務(wù)器根據(jù)唯一標識符進行數(shù)據(jù)庫查詢,判斷目標景是否存在,如存在,則進行下一步操作.如不存在,則請求失敗,返回錯誤信息.
3) 根據(jù)唯一標識符進行數(shù)據(jù)庫查詢,獲取目標景的初始視角信息、全景圖像信息、興趣點信息和實體信息.
4) 在web服務(wù)器的內(nèi)存中創(chuàng)建一個空文檔,將第3步獲取的動態(tài)配置信息寫入空文檔.
5) 獲取其他請求參數(shù),根據(jù)這些請求參數(shù),對之前的配置項做覆蓋和追加,并寫入文檔.
6) 將靜態(tài)配置模板引入文檔.
7) 修改http response的MIME類型為text/xml.將動態(tài)生成的配置文檔寫入response,并返回http response.
在動態(tài)生成模型下,全景瀏覽需要的配置不再是“統(tǒng)一生成,永久存儲”,而是“分類存儲,時時更新”.
圖3 動態(tài)生成方法架構(gòu)Fig.3 Architecture of dynamic generation method
圖4 動態(tài)生成方法步驟Fig.4 Procedure of dynamic generation method
2.3 靜態(tài)配置模板設(shè)計
靜態(tài)配置模板事先編寫,有3個文件,分別為:
a) template.xml:配置文件的入口,存放除action和style之外的所有靜態(tài)配置項.另外2個靜態(tài)配置模板由它引入.
b) action.xml:存放所有全景腳本配置項.
c) style.xml:存放所有樣式配置項.
之所以將action.xml和style.xml拆分,是因為只有1項其他靜態(tài)配置項,而這2類配置項的數(shù)量較大,拆分為2個文件有助于更好地管理和維護.如果文件體量過大,可以進一步拆分.
2.4 動態(tài)配置項生成
動態(tài)配置項的生成主要由后端服務(wù)器程序負責.服務(wù)器程序獲取用戶的請求參數(shù)(主要為景名或景編號),與數(shù)據(jù)庫交互,讀取與目標景關(guān)聯(lián)的動態(tài)配置信息并創(chuàng)建配置項.
2.4.1 動態(tài)配置信息
動態(tài)配置信息存儲在數(shù)據(jù)庫中,主要包括4部分:目標景的初始視角信息、全景圖像信息、興趣點信息和實體信息.
a) 初始視角信息
初始視角信息指圖像載入時的視角方向,包括水平角(hlookat)和天頂角(vlookat).靜態(tài)配置模板中本已設(shè)定視角配置,但由于無人機拍攝角度無法固定等,往往需要對初始視角進行調(diào)整.
b) 全景圖像信息
圖像信息指的是該景對應(yīng)的瓦片層級、瓦片大小、瓦片存儲地址以及該景在電子地圖上的經(jīng)緯度等信息.
c) 興趣點信息
興趣點信息指的是景內(nèi)的興趣點類型、興趣點關(guān)聯(lián)實體、興趣點坐標,以及組成Polygon Hotspot的Polypoint的坐標.
d) 實體信息
實體信息指的是興趣點所對應(yīng)的場景實體(商家、景觀、公共設(shè)施、展覽對象等)的相關(guān)信息.
2.4.2 生成配置項
配置文件的生成主要有3個步驟:
第1步是靜態(tài)模板文件的引入,實踐中通過生成〈include〉標簽引入template.xml實現(xiàn).
第2步是全景圖像的配置,實踐中通過動態(tài)生成〈image〉標簽的方式實現(xiàn).同時,還要根據(jù)從數(shù)據(jù)庫中獲取的景信息寫入〈image〉標簽的type屬性(投影類型)、url屬性(全景圖像地址)、multitiles屬性(是否采用多級切片)、tilesize類型(切片大小)和progressive屬性(是否支持漸進式切片載入效果).如果存在切片,則還要添加〈level〉標簽.
第3步是興趣點的配置,這是配置文件生成過程中的重點和難點.實踐中通過動態(tài)生成〈hotspot〉標簽的方式實現(xiàn).如果是面狀興趣點(polygonal hotspot),則需要在〈hotspot〉標簽內(nèi)部增加〈point〉標簽及其ath與atv屬性;如果是點狀興趣點(image hotspot),則需要設(shè)定〈hotspot〉的type屬性為“image”,并設(shè)定ath和atv.
每個興趣點都對應(yīng)一個實體(Entity),當初始化興趣點時,還要通過關(guān)聯(lián)查詢獲取關(guān)聯(lián)實體的信息,并寫入hotspot的配置項中.
杭州市河道監(jiān)管中心擬建設(shè)河道管理系統(tǒng)(一期)全景展示模塊,筆者以此為契機,構(gòu)建了動態(tài)生成配置的全景展示與管理系統(tǒng),對動態(tài)生成方法進行了驗證.
平臺用PHP作為后臺語言,用thinkphp作為MVC框架,DomDocument作為動態(tài)構(gòu)建XML格式配置文件的擴展工具.采用SQLServer2008數(shù)據(jù)庫,測試網(wǎng)絡(luò)環(huán)境為普通互聯(lián)網(wǎng),帶寬為2 M.
3.1 文件數(shù)量縮減
在靜態(tài)存儲方案中,使用最新版本的全景引擎批處理工具.工具為每個景自動生成以下配置文件,文件名中s代表具體的景名或編號.
表2 傳統(tǒng)方案中的配置文件
Table 2 Configuration file in static storage method
本系統(tǒng)的景數(shù)較多.水面全景,上塘河692景,余杭塘河443景,共計1 135景.空中全景,上塘河36景,余杭塘河22景,共計58景.水面與空中全景總計1 193景.
傳統(tǒng)方案中配置文件總數(shù)隨景數(shù)遞增.配置文件總數(shù)為1 193×3=3 579.配置文件大小為23 kB×1 193=27.44 MB.
動態(tài)生成方案下,配置(模板)文件如表3所示.配置模板文件總數(shù)固定為3個,不隨景數(shù)的增加而增加.配置文件的總大小為35 kB.結(jié)果如表4所示.
表3 動態(tài)生成方案下的配置文件
Table 3 Configuration file in method of dynamic generation
表4 2種方案的文件數(shù)量對比
3.2 興趣點可維護性優(yōu)化
系統(tǒng)設(shè)計并實現(xiàn)了興趣點創(chuàng)建維護功能.
在本系統(tǒng)中,興趣點實體是河道監(jiān)管中需要特別關(guān)注的閘泵站、排水口、近水平臺等地物.
管理員只要在任一景的幅面上單擊選定位置,填寫相應(yīng)的屬性信息,就可以創(chuàng)建興趣點,并將其信息寫入數(shù)據(jù)庫,刷新后依然可見.同時,管理員還可以對已有興趣點進行刪除或?qū)傩跃庉嫴僮?,修改結(jié)果也可以保存.
在傳統(tǒng)配置文件靜態(tài)存儲的方案下,這是無法實現(xiàn)的.
3.3 瀏覽器緩存優(yōu)化
在動態(tài)生成方案下,訪問過的任意一景,其配置模板文件全部被瀏覽器緩存,模板文件可以從緩存用戶本地瞬時讀取,通過網(wǎng)絡(luò)傳輸?shù)闹挥袆討B(tài)生成的內(nèi)容.
而在傳統(tǒng)方案中,訪問一景后,這一景的配置文件雖然被緩存,但和其他景的配置文件沒有關(guān)系.當訪問第2景時,依然需要通過網(wǎng)絡(luò)獲取第2景的配置文件.在網(wǎng)絡(luò)環(huán)境較差時,如果配置文件沒有即刻獲得,會給用戶造成“黑屏”的視覺印象.
從圖5中可以看到,在對某一景的首次訪問中,用于動態(tài)生成配置文件的http請求(第1行)耗時146 ms,其他3個靜態(tài)配置模板分別耗時45,247和258 ms.
如圖6所示,當下一次訪問其他景時,其用于動態(tài)生成配置文件的http請求耗時基本不變,而3個靜態(tài)配置文件均可從緩存中瞬時獲取,整體瀏覽時間大大縮短.
對2種方案進行訪問測試,結(jié)果如表5所示.可見,動態(tài)生成方案能夠更好地利用緩存,且請求總體響應(yīng)時間短于靜態(tài)存儲方案.
圖5 動態(tài)生成方案下配置文件模板的http請求獲取(首次請求)Fig.5 The http request information in method of dynamic generation(first request)
圖6 動態(tài)生成方案下配置文件模板的http請求獲取(從緩存中獲取)Fig.6 The http request information in method of dynamic generation(from cache)
表5 2種方案的請求獲取時間對比
Table 5 Contrast on http request transmission time between two methods
針對全景應(yīng)用配置文件大、可維護性差、無法緩存等問題,提出了全景配置動態(tài)生成的解決方案,探索了靜態(tài)配置模板存儲與動態(tài)配置項生成相結(jié)合的配置生成方法;搭建了基于該方法的全景應(yīng)用并運用于實際項目中.實例驗證表明,本文采用的方法能較好地解決以上問題.
然而,本文的探索尚處于初步階段,所提方案仍有很大的改進空間,例如,僅把景本身作為控制動態(tài)內(nèi)容的變量進行傳遞.下一步可考慮增加其他控制動態(tài)配置變量,以增強動態(tài)性.
[1] GLEDHILL D, TIAN G Y, TAYLOR D, et al. Panoramic imaging:A review[J]. Computers&Graphics,2003,27(3):435-445.
[2] 丁峰,萬遠,雷雨,等.基于三維全景的在線漫游及GIS集成研究與開發(fā)[J].南開大學(xué)學(xué)報:自然科學(xué)版,2014(4):54-58. DING Feng, WAN Yuan, LEI Yu, et al. Online roaming and GIS integration research and development based on three-dimensional panoramic[J]. Journal of Nankai University:Science Edition,2014(4):54-58.
[3] 楊仁杰. 基于Web的全景技術(shù)研究[D].鄭州:鄭州大學(xué),2012. YANG Renjie. The Research for Web-Based Panorama Technology[D]. Zhengzhou:Zhengzhou University,2012.
[4] 王延朝.基于Krpano的三維全景系統(tǒng)的開發(fā)和應(yīng)用[D].上海:華東師范大學(xué),2012. WANG Yanchao. The Development and Application of Three-Dimensional Panorama System Based on Krpano[D].Shanghai: East China Normal University,2012.
[5] 孫磊.全景制作平臺的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2014. SUN Lei. The Design and Implementation of A Panoramic Production Platform[D]. Xian: Xidian University,2014.
[6] 朱國情,李東亮,程剛.基于Krpano的全景編輯系統(tǒng)設(shè)計與實現(xiàn)[C]//第14屆中國系統(tǒng)仿真技術(shù)及其應(yīng)用學(xué)術(shù)年會論文集.三亞:科研出版社,2012. ZHU Guoqing, LI Dongliang, CHENG Gang. Design and realization of panorama edit system based on Krpano[C]//Proceedings of 14th Chinese Conference on System Simulation Technology & Application.Sanya:Scientific Research Publishing,2012.
[7] Krpano Gesellschaft. Krpano XML Reference Version1.19[DB/OL].http://www.krpano.com/docu/xml.[2014-10-17].
[8] World Wide Web Consortium. Caching in HTTP[DB/OL].[1999-06-01]. http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html.
[9] SHIBATA K, ARAKI S, MAEDA K, et al. High-quality panoramic image generation using multiple PAL images[J]. Electronics and Communications in Japan, 2014,97(6):58-66.
XU Suyang1,2, CAI Yangjun3, ZHANG Feng1,2, DU Zhenhong1,2, LIU Renyi2
(1.ZhejiangProvincialKeyLabofGIS,ZhejiangUniversity,Hangzhou310028,China; 2.DepartmentofGeographicInformationScience,ZhejiangUniversity,Hangzhou310027,China; 3.HangzhouHousingSecurityOffice,Hangzhou310006,China)
A method of dynamic generation of the panoramic configuration file and its implementation. Journal of Zhejiang University(Science Edition), 2016,43(6):726-732
The application model based on static storage of the panoramic configuration file meets normal requirements. But in systems which demand frequent update, complex interaction and contain large number of scenes, it may lead difficulties in system maintenance as well as a sharp rise of the configuration file number. Since some static configuration contents appear repeatedly in different scenes’ configuration files, we propose an improvement method by extracting the static content from the configuration file, storing the dynamic content in database and creating configuration file based on the parameters about the current scenes. Experimental results show that the dynamic generation method can remarkably reduce the number of files, and is superior to static storage method in transmission time, maintainability and cache use.
panorama; configuration; dynamic generation
2015-12-18.
徐溯陽(1990-),ORCID:http://orcid.org/0000-0003-0486-1978,男,碩士研究生,主要從事全景技術(shù)和網(wǎng)絡(luò)地理信息系統(tǒng)研究.
*通信作者,ORCID:http://orcid.org/0000-0001-9449-0415,E-mail:duzhenhong@zju.edu.cn.
10.3785/j.issn.1008-9497.2016.06.018
TP 391
A
1008-9497(2016)06-726-07