吳秀蕓,王海江,梁寒冬
(1.寧波市測(cè)繪設(shè)計(jì)研究院,浙江 寧波 315042)
輕量級(jí)空間數(shù)據(jù)引擎的應(yīng)用研究
吳秀蕓1,王海江1,梁寒冬1
(1.寧波市測(cè)繪設(shè)計(jì)研究院,浙江 寧波 315042)
針對(duì)移動(dòng)終端存儲(chǔ)空間及計(jì)算能力有限的特點(diǎn),提出一種輕量級(jí)空間數(shù)據(jù)引擎,通過(guò)采用先進(jìn)的空間數(shù)據(jù)存儲(chǔ)技術(shù)、索引技術(shù)和查詢(xún)技術(shù),實(shí)現(xiàn)多源數(shù)據(jù)的一體化管理及高效調(diào)度。將該引擎應(yīng)用于規(guī)劃、城建等領(lǐng)域,搭建了滿(mǎn)足其業(yè)務(wù)需求的移動(dòng)地圖服務(wù)平臺(tái),改進(jìn)現(xiàn)有的工作和服務(wù)模式。
多源數(shù)據(jù)管理;空間數(shù)據(jù)檢索;輕量級(jí)空間數(shù)據(jù)引擎;移動(dòng)地圖平臺(tái)
移動(dòng)GIS在帶來(lái)眾多新的行業(yè)應(yīng)用模式的同時(shí),也遭遇到技術(shù)瓶頸,一些問(wèn)題嚴(yán)重地制約著移動(dòng)GIS平臺(tái)的進(jìn)一步發(fā)展。如在線數(shù)據(jù)調(diào)度響應(yīng)滯后,瀏覽及顯示不流暢;空間查詢(xún)不穩(wěn)定,影響系統(tǒng)正常運(yùn)行,數(shù)據(jù)更新不及時(shí)等。這主要是受網(wǎng)絡(luò)及移動(dòng)設(shè)備軟硬件條件的限制,很多傳統(tǒng)桌面GIS技術(shù)無(wú)法直接移植到移動(dòng)GIS產(chǎn)品中[1-3]。因此,設(shè)計(jì)一個(gè)適合于智能移動(dòng)終端的輕量級(jí)空間數(shù)據(jù)引擎,研究完善的數(shù)據(jù)組織、管理及檢索機(jī)制,是提高移動(dòng)GIS服務(wù)能力的關(guān)鍵。
本文設(shè)計(jì)了一種基于嵌入式數(shù)據(jù)庫(kù)SQLite的輕量級(jí)空間數(shù)據(jù)引擎,系統(tǒng)闡述適合于移動(dòng)終端設(shè)備的多源數(shù)據(jù)組織管理模式及空間數(shù)據(jù)檢索方法,并應(yīng)用于規(guī)劃、城建、招商等領(lǐng)域,搭建滿(mǎn)足其業(yè)務(wù)需求的移動(dòng)地圖服務(wù)平臺(tái),提高空間信息服務(wù)水平。
GIS以數(shù)據(jù)為本,而移動(dòng)終端往往難以攜帶大量的數(shù)據(jù),雖然設(shè)備容量提升已經(jīng)極大增加了終端的性能和存儲(chǔ)空間,但仍然難以滿(mǎn)足對(duì)數(shù)據(jù)的需求[4]。網(wǎng)絡(luò)數(shù)據(jù)服務(wù)由于受到網(wǎng)絡(luò)環(huán)境及服務(wù)器規(guī)模的限制,存在數(shù)據(jù)響應(yīng)慢、顯示不流暢等缺點(diǎn)[5],因此研究多源離線數(shù)據(jù)的快速存儲(chǔ)機(jī)制,實(shí)現(xiàn)數(shù)據(jù)的有機(jī)集成及快速響應(yīng)具有重要的意義。通過(guò)設(shè)計(jì)一種適合于移動(dòng)終端軟硬件環(huán)境的輕量級(jí)空間數(shù)據(jù)引擎,將各類(lèi)數(shù)據(jù)進(jìn)行一體化無(wú)縫集成、融合和管理,使得基礎(chǔ)數(shù)據(jù)能夠直接交由移動(dòng)終端使用,實(shí)現(xiàn)數(shù)據(jù)的快速響應(yīng),并達(dá)到最佳的顯示效果及交互體驗(yàn)。
SQLite是一個(gè)嵌入式輕型SQL數(shù)據(jù)庫(kù)。與其他大多數(shù)SQL數(shù)據(jù)庫(kù)不同,SQLite沒(méi)有獨(dú)立的服務(wù)進(jìn)程,占用資源非常低,只需要幾百K內(nèi)存,目前已經(jīng)用于很多嵌入式產(chǎn)品[6]。因此,針對(duì)智能移動(dòng)終端設(shè)備和空間數(shù)據(jù)特性,選用SQLite作為底層數(shù)據(jù)庫(kù)支撐工具,并針對(duì)矢量、柵格及多媒體數(shù)據(jù)的格式、內(nèi)容,分別設(shè)計(jì)符合其數(shù)據(jù)特征的空間數(shù)據(jù)引擎。
1)矢量數(shù)據(jù)組織管理。矢量數(shù)據(jù)以坐標(biāo)點(diǎn)對(duì)來(lái)描述點(diǎn)、線、面3類(lèi)空間實(shí)體,采用ArcGIS的SHP文件格式存儲(chǔ)在文件系統(tǒng)中,輔助DBF文件進(jìn)行屬性說(shuō)明。在ArcMap中對(duì)矢量數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換、符號(hào)化處理后生成MDB配置文件。在SQLite數(shù)據(jù)庫(kù)環(huán)境支撐下,按照點(diǎn)、線、面逐個(gè)對(duì)象一一映射到空間數(shù)據(jù)表中。每一個(gè)空間數(shù)據(jù)表唯一對(duì)應(yīng)一個(gè)featurelayer,數(shù)據(jù)表采用空間數(shù)據(jù)和屬性數(shù)據(jù)一體化存儲(chǔ)的方式保存空間信息,每條記錄對(duì)應(yīng)Shapefile文件中的一個(gè)空間對(duì)象,每條記錄中包含屬性數(shù)據(jù)和空間數(shù)據(jù),這種方式存儲(chǔ)的空間數(shù)據(jù)表保證了數(shù)據(jù)的完備性,實(shí)現(xiàn)了圖形數(shù)據(jù)和屬性數(shù)據(jù)的有機(jī)結(jié)合。對(duì)多個(gè)空間數(shù)據(jù)表進(jìn)行合理有序組織,構(gòu)成自定義的矢量空間數(shù)據(jù)庫(kù)(.oflw)。矢量數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)如表1所示。
2)柵格數(shù)據(jù)組織管理。柵格數(shù)據(jù)是以柵格元素值來(lái)表示空間屬性。在柵格數(shù)據(jù)中,點(diǎn)用一個(gè)柵格元素來(lái)表示,線用一組相鄰的柵格單位來(lái)表示,面用相鄰柵格單元的集合來(lái)表示。在ArcServer中對(duì)柵格數(shù)據(jù)文件進(jìn)行地圖切片處理,生成各個(gè)比例尺的瓦片數(shù)據(jù)文件,每個(gè)地圖塊為512×512像素大小。在SQLite數(shù)據(jù)庫(kù)環(huán)境支撐下,對(duì)瓦片數(shù)據(jù)按照分層分幅原則逐個(gè)圖片一一映射到空間數(shù)據(jù)表中。每一個(gè)空間數(shù)據(jù)表唯一對(duì)應(yīng)一幅柵格數(shù)據(jù),每條記錄對(duì)應(yīng)著一個(gè)地圖塊(.jpg或.png),多個(gè)數(shù)據(jù)表共同構(gòu)成柵格空間數(shù)據(jù)庫(kù)(.otlw)。柵格數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)如表2。
表1 矢量數(shù)據(jù)庫(kù)(.oflw)的數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)
表2 柵格數(shù)據(jù)庫(kù)(.otlw)的數(shù)據(jù)表結(jié)構(gòu)設(shè)計(jì)
3)多媒體數(shù)據(jù)組織管理。針對(duì)圖片、視頻等多媒體文件,保留其原始文件格式。在滿(mǎn)足數(shù)據(jù)精度的前提下,對(duì)其進(jìn)行壓縮處理,壓縮率控制在60%以上,使得數(shù)據(jù)組織更加緊湊,進(jìn)而提高移動(dòng)終端設(shè)備存儲(chǔ)空間利用率。
空間數(shù)據(jù)檢索服務(wù)是GIS中最基礎(chǔ)也是最重要的服務(wù)[7]。傳統(tǒng)的基于網(wǎng)絡(luò)的空間查詢(xún)由于受網(wǎng)絡(luò)及服務(wù)器環(huán)境穩(wěn)定性的限制,往往出現(xiàn)效率低下甚至無(wú)法響應(yīng)查詢(xún)請(qǐng)求的情況。因此,本文在輕量級(jí)矢量空間數(shù)據(jù)引擎的基礎(chǔ)上,針對(duì)每個(gè)空間數(shù)據(jù)表建立B樹(shù)索引,空間索引和數(shù)據(jù)表一一對(duì)應(yīng),表中每條記錄對(duì)應(yīng)空間索引中的一個(gè)結(jié)點(diǎn)。由于采用SQLite作為存儲(chǔ)數(shù)據(jù)的底層環(huán)境支撐,因此空間數(shù)據(jù)搜索支持大部分SQL92標(biāo)準(zhǔn)語(yǔ)法,具體的檢索機(jī)制如圖1所示。頂層是標(biāo)記處理器和分析器,用于快速生成高效率的代碼。底部是基于Knuth經(jīng)過(guò)優(yōu)化的B樹(shù),運(yùn)行在可調(diào)整的頁(yè)面緩存上,有助于將對(duì)磁盤(pán)的查找減到最少。頁(yè)面緩存作用在操作系統(tǒng)抽象層之上,有助于數(shù)據(jù)庫(kù)的移動(dòng)。搜索的核心是虛擬機(jī),作為客戶(hù)和儲(chǔ)存之間進(jìn)行信息交換的中間單元完成與數(shù)據(jù)操作相關(guān)的全部操作。在查詢(xún)語(yǔ)句被分析之后,虛擬機(jī)開(kāi)始起作用。代碼生成器將分析樹(shù)翻譯成一個(gè)袖珍程序,隨后這些袖珍程序被組合成用虛擬機(jī)器語(yǔ)言表示的一系列指令。如此往復(fù),虛擬機(jī)執(zhí)行每條指令,最終完成SQL語(yǔ)句指定的查詢(xún)要求。
圖1 空間檢索機(jī)制
由于輕量級(jí)空間數(shù)據(jù)引擎集成了嵌入式關(guān)系數(shù)據(jù)庫(kù)和空間索引,能夠以統(tǒng)一的方式訪問(wèn)不同的數(shù)據(jù)庫(kù),有效地處理空間數(shù)據(jù)集,保證了移動(dòng)終端環(huán)境下空間查詢(xún)的穩(wěn)定性及高效性??臻g數(shù)據(jù)搜索查詢(xún)有3種表現(xiàn)形式。
1)屬性查詢(xún)。用戶(hù)可選擇屬性列表,查看其詳細(xì)信息,并在地圖上準(zhǔn)確定位。
2)空間查詢(xún)。用戶(hù)可以實(shí)時(shí)地在感興趣的地圖范圍內(nèi)進(jìn)行點(diǎn)擊查詢(xún)、拉框查詢(xún)等操作,顯示信息詳情。
3)模糊查詢(xún)。用戶(hù)可輸入關(guān)鍵字,如“東部新城”,地圖可定位至該區(qū)域,同時(shí)支持Info Window信息彈出顯示。
寧波市測(cè)繪設(shè)計(jì)研究院近年來(lái)重點(diǎn)開(kāi)展移動(dòng)地圖服務(wù)平臺(tái)建設(shè),并先后在寧波市杭州灣新區(qū)管委會(huì)、寧波市東部新城規(guī)劃處、寧波市住房和城鄉(xiāng)建設(shè)委員會(huì)等局委辦進(jìn)行推廣應(yīng)用,在輕量級(jí)空間數(shù)據(jù)引擎的技術(shù)支撐下,成功搭建杭州灣移動(dòng)地圖平臺(tái)、東部新城移動(dòng)服務(wù)平臺(tái)、現(xiàn)代都市移動(dòng)服務(wù)平臺(tái)等業(yè)務(wù)平臺(tái),實(shí)現(xiàn)基于移動(dòng)終端設(shè)備的空間數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)的一體化管理,構(gòu)建一整套從數(shù)據(jù)呈現(xiàn)和查詢(xún)分析到后臺(tái)配置的完整的應(yīng)用解決方案,改進(jìn)和優(yōu)化相關(guān)部門(mén)的日常工作手段。
綜合而言,基于輕量級(jí)空間數(shù)據(jù)引擎的移動(dòng)地圖平臺(tái)具有如下4個(gè)特點(diǎn):
1)支持各類(lèi)地理數(shù)據(jù)。平臺(tái)支持多種地理數(shù)據(jù),包括政務(wù)電子地圖數(shù)據(jù)、影像數(shù)據(jù)、三維數(shù)據(jù)、360°街景數(shù)據(jù)等,并可在各類(lèi)地圖數(shù)據(jù)中進(jìn)行自由切換,方便地圖瀏覽和漫游,如圖2所示。
2) 集成多種業(yè)務(wù)數(shù)據(jù)。集成多種不同內(nèi)容、不同類(lèi)型的業(yè)務(wù)數(shù)據(jù),實(shí)現(xiàn)圖片、文本、視頻等多媒體數(shù)據(jù)的顯示和瀏覽,并實(shí)現(xiàn)與地理底圖的無(wú)縫集成,如圖3所示。
3) 實(shí)現(xiàn)離線信息查詢(xún)。實(shí)現(xiàn)各類(lèi)專(zhuān)題信息的離線綜合查詢(xún),一鍵式搜索平臺(tái)中所有信息(如地名、地址、醫(yī)療、衛(wèi)生等),搜索結(jié)果疊加在電子地圖、影像數(shù)據(jù)上,并分類(lèi)顯示縮略信息,如圖4所示。
圖2 地圖切換
圖3 專(zhuān)題業(yè)務(wù)數(shù)據(jù)
4) 提供完善后臺(tái)配置。提供數(shù)據(jù)準(zhǔn)入原則,設(shè)置用戶(hù)權(quán)限,不同的用戶(hù)擁有不同級(jí)別的數(shù)據(jù)訪問(wèn)能力和功能模塊使用權(quán)限。
本文研究了一種基于移動(dòng)終端的輕量級(jí)空間數(shù)據(jù)引擎。該引擎采用先進(jìn)的空間數(shù)據(jù)庫(kù)存儲(chǔ)技術(shù)、索引技術(shù)和查詢(xún)技術(shù),具有“空間-屬性數(shù)據(jù)一體化”、“矢量-柵格數(shù)據(jù)一體化”和“空間信息-業(yè)務(wù)信息一體化”的集成式空間數(shù)據(jù)庫(kù)管理能力,適合于移動(dòng)GIS工程應(yīng)用。
圖4 離線信息查詢(xún)
[1]李德仁, 邵振峰. 信息化測(cè)繪的本質(zhì)是服務(wù)[J]. 測(cè)繪通報(bào),2008(5):1-4
[2]楊任農(nóng), 白娟, 黃震宇, 等. 基于SQLite的LOD模式海量影像數(shù)據(jù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2011(10):140-144
[3]胡菲菲. SQLite在嵌入式電子地圖中的應(yīng)用[J].工程地質(zhì)計(jì)算機(jī)應(yīng)用, 2008(2): 1-6
[4]張菁蕾. 多源空間數(shù)據(jù)的組織管理與應(yīng)用[D]. 同濟(jì)大學(xué), 2010
[5]王恩泉. 中國(guó)版GoogleEarth的空間數(shù)據(jù)組織與管理研究[D].中國(guó)測(cè)繪科學(xué)研究院, 2007
[6]姚萌萌. 嵌入式電子地圖的數(shù)據(jù)組織與檢索算法研究[D].浙江工業(yè)大學(xué), 2009
[7]適用于移動(dòng)GIS的輕量級(jí)空間數(shù)據(jù)引擎的設(shè)計(jì)[J].Computer Era, 2009(5):26-29
P208
B
1672-4623(2017)12-0048-03
10.3969/j.issn.1672-4623.2017.12.015
2016-07-27。
基于移動(dòng)位置服務(wù)的關(guān)鍵技術(shù)研究與應(yīng)用(甬測(cè)院字[2012]32號(hào))。
吳秀蕓,碩士研究生,工程師,主要從事地理信息系統(tǒng)研發(fā)工作。