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