夏 君,于江珮,白軼多,張 勇
(1.重慶市勘測院,重慶 400020;2.武漢市測繪研究院,湖北 武漢 430022)
基于Android 的數據調繪系統
夏 君1,于江珮2,白軼多1,張 勇2
(1.重慶市勘測院,重慶 400020;2.武漢市測繪研究院,湖北 武漢 430022)

一體化數據調繪系統在生產中有著重要的作用。結合數據組織和數據庫加密關鍵技術,對Android下數據調繪系統實現與應用進行了研究。開發完成原型系統,滿足了愛尚重慶POI調繪需要。
Android;SQLite;數據調繪;Shpfile
隨著全國地理國情普查工作的全面啟動和地圖服務對地理信息實時性的需求,傳統的數據調繪手段已很難滿足需要[1]。基于移動端的一體化數據調繪系統已經成為當前研究的熱點。
本系統以Android平臺為基礎,SQLite數據庫作為數據存儲方式,ArcGIS Map For Android作為地圖展示模塊,實現了數據調繪過程中的地圖瀏覽、圖層對比、圖層創建、信息添加編輯、輔助定位與路徑記錄等功能,并結合系統應用,提出三階段式數據調繪流程,充分體現了移動地圖的完整性、適應性、靈活性等特征[2]。
1.1 數據組織
1)數據說明。調繪所需數據包含高分辨率影像數據、數字線化圖、點線面矢量數據等。這些數據具有保密性、精度高、數據量大等特點。因此,系統在安全性及展示效率上有較高要求。針對安全性的主要措施有:身份認證,數據入庫、加密處理。針對效率的主要措施有:①瓦片數據入庫。以文件形式存儲的瓦片數據結構松散,在數據讀取和傳輸時效率低下。入庫后,數據為統一文件,傳輸和讀取效率大大提高。②矢量數據分級展示。系統采用ArcGIS Map for Android地圖模塊。該地圖模塊技術成熟,但在矢量數據展示上卻有一定局限性,特別是對于海量數據。因此,矢量數據采用分級展示的形式以提高效率。
2)數據組織。根據系統安全性及展示效率的要求,系統數據采用SQLite 數據庫存儲。在存儲時,采用的組織形式如圖1所示。

圖1 矢量柵格SQLite庫組織
“圖層索引表”是圖層控制表,表中每一條記錄對應于一個“圖層表”,并最終呈現于地圖模塊之上,供瀏覽、查詢、對比分析等使用?!皥D層索引表” 主要字段如表1。

表1 圖層索引表結構
“圖層表”為動態表,即表結構根據圖層源數據內容的變化而變化。當圖層為瓦片數據時,其主要字段如表2。

表2 瓦片數據結構
當圖層為矢量數據時,其結構中“屬性字段”部分根據SHP數據結構而定,其主要字段如表3。

表3 矢量數據結構
Lyr_MinS字段為系統字段,在數據入庫時,由系統數據轉換工具計算而成。
數據轉換工具采用開源庫ShapeLib、數據庫加密技術開發而成,主要功能有:SHP數據導入SQLite數據庫;瓦片數據導入SQLite數據庫;SQLite數據庫加密;SQLite數據庫解密導出SHP數據;矢量數據分級字段生成。
矢量數據分級規則:點、線、面要素按照《基礎地理信息要素分類與代碼》GB/T 13923-2006[4]分類;點、線根據類別,按比例尺分等級顯示,主要等級有:省級、市級、鎮街道級等;面要素根據類別,按照面積大小計算顯示級別,計算公式如下:

式中,S實際為面要素實際面積;S限制為面要素圖上顯示的最小面積;W為類別權重。
1.2 數據庫加密技術
綜合研究數據安全性及設備效率,采用AES 算法對SQLite 數據庫文件進行加密[5]。與傳統的數據庫加密相比,數據庫文件加密技術有以下優勢:
1) 對整個文件進行了加密,無論采用何種軟件都無法打開文件查看數據,保證了數據安全。
2) 數據庫操作時,只需對文件解密,即可對數據表進行操作。
對SQLite數據庫文件加密,需要實現SQLite數據庫相關的加密接口[6],如表4。在接口實現中,使用C++語言,并且使用 AES 算法進行加密。

表4 SQLite Database加密相關接口
使用數據調繪系統工作時,可將整個調繪過程分為3個階段:數據準備階段、采集調繪階段、成果生成階段,如圖2所示。

圖2 3階段調繪流程圖
在數據準備階段,首先根據調繪任務,確定外業調繪使用的數據。這些數據分為地圖底圖、矢量圖層。地圖底圖使用ArcGIS切圖工具將數字線化圖或影像生成瓦片數據,然后使用系統數據轉換工具(以下簡稱轉換工具)完成數據入庫。矢量圖層源數據為待編輯的SHP數據,使用轉換工具生成對應數據庫表,供外業進行屬性、空間信息的編輯。準備階段的最終成果為加密后的SQLite數據庫文件。
在數據調繪階段,通過地圖模塊完成SQLite庫中數據的可視化展示,并且根據需要進行地圖圖層的疊加、瀏覽等工作。由于矢量數據的繪制需要消耗大量設備資源,因此在顯示時采用分級顯示機制。級別由圖層表中Lyr_MinS字段確定。采集調繪時,選擇編輯圖層,使用配備的觸控筆完成要素的空間信息和屬性信息編輯,也可以新建圖層,記錄相關地理信息;使用設備進行GPS輔助定位和路線記錄;可使用設備照相功能完成圖片信息的采集。在成果生成階段,只需要使用轉換工具即可生成SHP成果數據及附帶的圖片信息庫。SHP成果數據為標準入庫數據,可直接導入單位、企業的地理信息庫中。
原型系統以三星P6800為硬件基礎,Android 4.0為軟件平臺,使用Eclipse開發工具。
系統具有以下功能:
1)身份認證。身份驗證通過后方可瀏覽地圖、編輯數據,以保證數據的安全性。
2)地圖數據離線瀏覽及圖層控制。系統圖層按數據類型分為瓦片圖層、矢量圖層。系統使用配套轉換工具將瓦片數據、矢量數據存儲于數據庫中;通過圖層管理模塊來控制圖層的開關,選擇編輯的圖層。
3)矢量圖層新建。調繪準備階段準備的數據在結構上可能無法滿足需要,此時可以通過圖層新建功能,創建新的矢量圖層,圖層類型包括點、線、面矢量圖層。
4)要素編輯。要素編輯是系統必備功能之一,編輯要素包括點要素、線要素、面要素,編輯內容包括空間信息、屬性信息(文字、圖片)。使用觸摸筆可繪制較為精確的要素。
5)要素采集。要素采集包括空間信息、屬性信息(文字、圖片)。采集時,需根據采集要素的類型確定對應類型的圖層,例如,點要素采集時,需選擇或創建點圖層。除采集空間信息、文字屬性信息外,還可以通過設備的照相功能采集圖片信息。
6)歷史記錄。編輯、刪除的要素信息都進行了記錄,這些信息將保存一段時間。當誤操作時,可通過撤銷操作恢復原數據。
7)輔助定位和路線記錄。系統調用設備GPS進行地圖定位,以輔助外業人員進行調繪工作。必要時,可以使用GPS記錄行進路線,作為道路更新依據。
8)系統數據轉換。系統數據轉換使用系統配套的轉換工具。該工具可以快速完成SHP數據與數據庫之間的相互轉換、數據庫加密解密。系統實現效果如圖3所示。

圖3 系統效果圖
本文討論了基于Android的數據調繪系統的數據組織、數據加密的技術方案,通過數據調繪流程的詳細解析,突出了系統在外業數據調繪中的優勢。原型系統在愛尚重慶POI調繪中得到應用并逐步升級。現階段系統正被使用于重慶市國土普查調繪之中。隨著Android移動設備的不斷發展及數據調繪系統的逐漸完善,一體化數據調繪系統必將產生更為巨大的經濟效益和社會效益。
[1] 吳滿意, 王占宏, 楊新海. 地理國情外業核查數碼調繪系統的模塊設計研究[J]. 測繪技術裝備, 2013(4):16-18
[2] 王慧謨, 張瑜. 移動地圖應用模式及其空間認知功能研究[J].測繪科學, 2007(6):61-62
[3] 王小軍. 基于ArcGIS Engine進行瓦片式切圖的技術研究[J].測繪與空間地理信息, 2010(4):49-51
[4] GB/T 13923-2006.基礎地理信息要素分類與代碼[S].
[5] 鄧劍鋒, 白軼多, 張洪. 移動智能終端“一張圖”在規劃行業中的應用[J].城市勘測, 2014(2): 30-31
[6] 趙躍華, 朱偉玲. 基于SQLite數據庫加密模塊的設計與實現[J].計算機工程與設計, 2008(16): 4 132-4 134
[7] 陸衛東, 周華明, 洪春曉,等. 淺談1∶10 000 調繪內外業一體化作業[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。
項目來源:重慶市重點科技攻關資助項目(CSTC2012GG-YYJSB40006)。