夏 君,于江珮,白軼多,張 勇
(1.重慶市勘測(cè)院,重慶 400020;2.武漢市測(cè)繪研究院,湖北 武漢 430022)
基于Android 的數(shù)據(jù)調(diào)繪系統(tǒng)
夏 君1,于江珮2,白軼多1,張 勇2
(1.重慶市勘測(cè)院,重慶 400020;2.武漢市測(cè)繪研究院,湖北 武漢 430022)
一體化數(shù)據(jù)調(diào)繪系統(tǒng)在生產(chǎn)中有著重要的作用。結(jié)合數(shù)據(jù)組織和數(shù)據(jù)庫(kù)加密關(guān)鍵技術(shù),對(duì)Android下數(shù)據(jù)調(diào)繪系統(tǒng)實(shí)現(xiàn)與應(yīng)用進(jìn)行了研究。開(kāi)發(fā)完成原型系統(tǒng),滿足了愛(ài)尚重慶POI調(diào)繪需要。
Android;SQLite;數(shù)據(jù)調(diào)繪;Shpfile
隨著全國(guó)地理國(guó)情普查工作的全面啟動(dòng)和地圖服務(wù)對(duì)地理信息實(shí)時(shí)性的需求,傳統(tǒng)的數(shù)據(jù)調(diào)繪手段已很難滿足需要[1]。基于移動(dòng)端的一體化數(shù)據(jù)調(diào)繪系統(tǒng)已經(jīng)成為當(dāng)前研究的熱點(diǎn)。
本系統(tǒng)以Android平臺(tái)為基礎(chǔ),SQLite數(shù)據(jù)庫(kù)作為數(shù)據(jù)存儲(chǔ)方式,ArcGIS Map For Android作為地圖展示模塊,實(shí)現(xiàn)了數(shù)據(jù)調(diào)繪過(guò)程中的地圖瀏覽、圖層對(duì)比、圖層創(chuàng)建、信息添加編輯、輔助定位與路徑記錄等功能,并結(jié)合系統(tǒng)應(yīng)用,提出三階段式數(shù)據(jù)調(diào)繪流程,充分體現(xiàn)了移動(dòng)地圖的完整性、適應(yīng)性、靈活性等特征[2]。
1.1 數(shù)據(jù)組織
1)數(shù)據(jù)說(shuō)明。調(diào)繪所需數(shù)據(jù)包含高分辨率影像數(shù)據(jù)、數(shù)字線化圖、點(diǎn)線面矢量數(shù)據(jù)等。這些數(shù)據(jù)具有保密性、精度高、數(shù)據(jù)量大等特點(diǎn)。因此,系統(tǒng)在安全性及展示效率上有較高要求。針對(duì)安全性的主要措施有:身份認(rèn)證,數(shù)據(jù)入庫(kù)、加密處理。針對(duì)效率的主要措施有:①瓦片數(shù)據(jù)入庫(kù)。以文件形式存儲(chǔ)的瓦片數(shù)據(jù)結(jié)構(gòu)松散,在數(shù)據(jù)讀取和傳輸時(shí)效率低下。入庫(kù)后,數(shù)據(jù)為統(tǒng)一文件,傳輸和讀取效率大大提高。②矢量數(shù)據(jù)分級(jí)展示。系統(tǒng)采用ArcGIS Map for Android地圖模塊。該地圖模塊技術(shù)成熟,但在矢量數(shù)據(jù)展示上卻有一定局限性,特別是對(duì)于海量數(shù)據(jù)。因此,矢量數(shù)據(jù)采用分級(jí)展示的形式以提高效率。
2)數(shù)據(jù)組織。根據(jù)系統(tǒng)安全性及展示效率的要求,系統(tǒng)數(shù)據(jù)采用SQLite 數(shù)據(jù)庫(kù)存儲(chǔ)。在存儲(chǔ)時(shí),采用的組織形式如圖1所示。
圖1 矢量柵格SQLite庫(kù)組織
“圖層索引表”是圖層控制表,表中每一條記錄對(duì)應(yīng)于一個(gè)“圖層表”,并最終呈現(xiàn)于地圖模塊之上,供瀏覽、查詢、對(duì)比分析等使用?!皥D層索引表” 主要字段如表1。
表1 圖層索引表結(jié)構(gòu)
“圖層表”為動(dòng)態(tài)表,即表結(jié)構(gòu)根據(jù)圖層源數(shù)據(jù)內(nèi)容的變化而變化。當(dāng)圖層為瓦片數(shù)據(jù)時(shí),其主要字段如表2。
表2 瓦片數(shù)據(jù)結(jié)構(gòu)
當(dāng)圖層為矢量數(shù)據(jù)時(shí),其結(jié)構(gòu)中“屬性字段”部分根據(jù)SHP數(shù)據(jù)結(jié)構(gòu)而定,其主要字段如表3。
表3 矢量數(shù)據(jù)結(jié)構(gòu)
Lyr_MinS字段為系統(tǒng)字段,在數(shù)據(jù)入庫(kù)時(shí),由系統(tǒng)數(shù)據(jù)轉(zhuǎn)換工具計(jì)算而成。
數(shù)據(jù)轉(zhuǎn)換工具采用開(kāi)源庫(kù)ShapeLib、數(shù)據(jù)庫(kù)加密技術(shù)開(kāi)發(fā)而成,主要功能有:SHP數(shù)據(jù)導(dǎo)入SQLite數(shù)據(jù)庫(kù);瓦片數(shù)據(jù)導(dǎo)入SQLite數(shù)據(jù)庫(kù);SQLite數(shù)據(jù)庫(kù)加密;SQLite數(shù)據(jù)庫(kù)解密導(dǎo)出SHP數(shù)據(jù);矢量數(shù)據(jù)分級(jí)字段生成。
矢量數(shù)據(jù)分級(jí)規(guī)則:點(diǎn)、線、面要素按照《基礎(chǔ)地理信息要素分類與代碼》GB/T 13923-2006[4]分類;點(diǎn)、線根據(jù)類別,按比例尺分等級(jí)顯示,主要等級(jí)有:省級(jí)、市級(jí)、鎮(zhèn)街道級(jí)等;面要素根據(jù)類別,按照面積大小計(jì)算顯示級(jí)別,計(jì)算公式如下:
式中,S實(shí)際為面要素實(shí)際面積;S限制為面要素圖上顯示的最小面積;W為類別權(quán)重。
1.2 數(shù)據(jù)庫(kù)加密技術(shù)
綜合研究數(shù)據(jù)安全性及設(shè)備效率,采用AES 算法對(duì)SQLite 數(shù)據(jù)庫(kù)文件進(jìn)行加密[5]。與傳統(tǒng)的數(shù)據(jù)庫(kù)加密相比,數(shù)據(jù)庫(kù)文件加密技術(shù)有以下優(yōu)勢(shì):
1) 對(duì)整個(gè)文件進(jìn)行了加密,無(wú)論采用何種軟件都無(wú)法打開(kāi)文件查看數(shù)據(jù),保證了數(shù)據(jù)安全。
2) 數(shù)據(jù)庫(kù)操作時(shí),只需對(duì)文件解密,即可對(duì)數(shù)據(jù)表進(jìn)行操作。
對(duì)SQLite數(shù)據(jù)庫(kù)文件加密,需要實(shí)現(xiàn)SQLite數(shù)據(jù)庫(kù)相關(guān)的加密接口[6],如表4。在接口實(shí)現(xiàn)中,使用C++語(yǔ)言,并且使用 AES 算法進(jìn)行加密。
表4 SQLite Database加密相關(guān)接口
使用數(shù)據(jù)調(diào)繪系統(tǒng)工作時(shí),可將整個(gè)調(diào)繪過(guò)程分為3個(gè)階段:數(shù)據(jù)準(zhǔn)備階段、采集調(diào)繪階段、成果生成階段,如圖2所示。
圖2 3階段調(diào)繪流程圖
在數(shù)據(jù)準(zhǔn)備階段,首先根據(jù)調(diào)繪任務(wù),確定外業(yè)調(diào)繪使用的數(shù)據(jù)。這些數(shù)據(jù)分為地圖底圖、矢量圖層。地圖底圖使用ArcGIS切圖工具將數(shù)字線化圖或影像生成瓦片數(shù)據(jù),然后使用系統(tǒng)數(shù)據(jù)轉(zhuǎn)換工具(以下簡(jiǎn)稱轉(zhuǎn)換工具)完成數(shù)據(jù)入庫(kù)。矢量圖層源數(shù)據(jù)為待編輯的SHP數(shù)據(jù),使用轉(zhuǎn)換工具生成對(duì)應(yīng)數(shù)據(jù)庫(kù)表,供外業(yè)進(jìn)行屬性、空間信息的編輯。準(zhǔn)備階段的最終成果為加密后的SQLite數(shù)據(jù)庫(kù)文件。
在數(shù)據(jù)調(diào)繪階段,通過(guò)地圖模塊完成SQLite庫(kù)中數(shù)據(jù)的可視化展示,并且根據(jù)需要進(jìn)行地圖圖層的疊加、瀏覽等工作。由于矢量數(shù)據(jù)的繪制需要消耗大量設(shè)備資源,因此在顯示時(shí)采用分級(jí)顯示機(jī)制。級(jí)別由圖層表中Lyr_MinS字段確定。采集調(diào)繪時(shí),選擇編輯圖層,使用配備的觸控筆完成要素的空間信息和屬性信息編輯,也可以新建圖層,記錄相關(guān)地理信息;使用設(shè)備進(jìn)行GPS輔助定位和路線記錄;可使用設(shè)備照相功能完成圖片信息的采集。在成果生成階段,只需要使用轉(zhuǎn)換工具即可生成SHP成果數(shù)據(jù)及附帶的圖片信息庫(kù)。SHP成果數(shù)據(jù)為標(biāo)準(zhǔn)入庫(kù)數(shù)據(jù),可直接導(dǎo)入單位、企業(yè)的地理信息庫(kù)中。
原型系統(tǒng)以三星P6800為硬件基礎(chǔ),Android 4.0為軟件平臺(tái),使用Eclipse開(kāi)發(fā)工具。
系統(tǒng)具有以下功能:
1)身份認(rèn)證。身份驗(yàn)證通過(guò)后方可瀏覽地圖、編輯數(shù)據(jù),以保證數(shù)據(jù)的安全性。
2)地圖數(shù)據(jù)離線瀏覽及圖層控制。系統(tǒng)圖層按數(shù)據(jù)類型分為瓦片圖層、矢量圖層。系統(tǒng)使用配套轉(zhuǎn)換工具將瓦片數(shù)據(jù)、矢量數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)庫(kù)中;通過(guò)圖層管理模塊來(lái)控制圖層的開(kāi)關(guān),選擇編輯的圖層。
3)矢量圖層新建。調(diào)繪準(zhǔn)備階段準(zhǔn)備的數(shù)據(jù)在結(jié)構(gòu)上可能無(wú)法滿足需要,此時(shí)可以通過(guò)圖層新建功能,創(chuàng)建新的矢量圖層,圖層類型包括點(diǎn)、線、面矢量圖層。
4)要素編輯。要素編輯是系統(tǒng)必備功能之一,編輯要素包括點(diǎn)要素、線要素、面要素,編輯內(nèi)容包括空間信息、屬性信息(文字、圖片)。使用觸摸筆可繪制較為精確的要素。
5)要素采集。要素采集包括空間信息、屬性信息(文字、圖片)。采集時(shí),需根據(jù)采集要素的類型確定對(duì)應(yīng)類型的圖層,例如,點(diǎn)要素采集時(shí),需選擇或創(chuàng)建點(diǎn)圖層。除采集空間信息、文字屬性信息外,還可以通過(guò)設(shè)備的照相功能采集圖片信息。
6)歷史記錄。編輯、刪除的要素信息都進(jìn)行了記錄,這些信息將保存一段時(shí)間。當(dāng)誤操作時(shí),可通過(guò)撤銷操作恢復(fù)原數(shù)據(jù)。
7)輔助定位和路線記錄。系統(tǒng)調(diào)用設(shè)備GPS進(jìn)行地圖定位,以輔助外業(yè)人員進(jìn)行調(diào)繪工作。必要時(shí),可以使用GPS記錄行進(jìn)路線,作為道路更新依據(jù)。
8)系統(tǒng)數(shù)據(jù)轉(zhuǎn)換。系統(tǒng)數(shù)據(jù)轉(zhuǎn)換使用系統(tǒng)配套的轉(zhuǎn)換工具。該工具可以快速完成SHP數(shù)據(jù)與數(shù)據(jù)庫(kù)之間的相互轉(zhuǎn)換、數(shù)據(jù)庫(kù)加密解密。系統(tǒng)實(shí)現(xiàn)效果如圖3所示。
圖3 系統(tǒng)效果圖
本文討論了基于Android的數(shù)據(jù)調(diào)繪系統(tǒng)的數(shù)據(jù)組織、數(shù)據(jù)加密的技術(shù)方案,通過(guò)數(shù)據(jù)調(diào)繪流程的詳細(xì)解析,突出了系統(tǒng)在外業(yè)數(shù)據(jù)調(diào)繪中的優(yōu)勢(shì)。原型系統(tǒng)在愛(ài)尚重慶POI調(diào)繪中得到應(yīng)用并逐步升級(jí)?,F(xiàn)階段系統(tǒng)正被使用于重慶市國(guó)土普查調(diào)繪之中。隨著Android移動(dòng)設(shè)備的不斷發(fā)展及數(shù)據(jù)調(diào)繪系統(tǒng)的逐漸完善,一體化數(shù)據(jù)調(diào)繪系統(tǒng)必將產(chǎn)生更為巨大的經(jīng)濟(jì)效益和社會(huì)效益。
[1] 吳滿意, 王占宏, 楊新海. 地理國(guó)情外業(yè)核查數(shù)碼調(diào)繪系統(tǒng)的模塊設(shè)計(jì)研究[J]. 測(cè)繪技術(shù)裝備, 2013(4):16-18
[2] 王慧謨, 張瑜. 移動(dòng)地圖應(yīng)用模式及其空間認(rèn)知功能研究[J].測(cè)繪科學(xué), 2007(6):61-62
[3] 王小軍. 基于ArcGIS Engine進(jìn)行瓦片式切圖的技術(shù)研究[J].測(cè)繪與空間地理信息, 2010(4):49-51
[4] GB/T 13923-2006.基礎(chǔ)地理信息要素分類與代碼[S].
[5] 鄧劍鋒, 白軼多, 張洪. 移動(dòng)智能終端“一張圖”在規(guī)劃行業(yè)中的應(yīng)用[J].城市勘測(cè), 2014(2): 30-31
[6] 趙躍華, 朱偉玲. 基于SQLite數(shù)據(jù)庫(kù)加密模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì), 2008(16): 4 132-4 134
[7] 陸衛(wèi)東, 周華明, 洪春曉,等. 淺談1∶10 000 調(diào)繪內(nèi)外業(yè)一體化作業(yè)[J]. 地理空間信息, 2012,10(3): 78-80
P208
B
1672-4623(2015)03-0056-03
10.3969/j.issn.1672-4623.2015.03.020
夏君,研究方向?yàn)榈乩硇畔⒐こ獭?/p>
2014-07-11。
項(xiàng)目來(lái)源:重慶市重點(diǎn)科技攻關(guān)資助項(xiàng)目(CSTC2012GG-YYJSB40006)。