基于Android 的数据调绘系统
2015-02-06于江珮白轶多
夏 君,于江珮,白轶多,张 勇
(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 数据组织
1)数据说明。调绘所需数据包含高分辨率影像数据、数字线化图、点线面矢量数据等。这些数据具有保密性、精度高、数据量大等特点。因此,系统在安全性及展示效率上有较高要求。针对安全性的主要措施有:身份认证,数据入库、加密处理。针对效率的主要措施有:①瓦片数据入库。以文件形式存储的瓦片数据结构松散,在数据读取和传输时效率低下。入库后,数据为统一文件,传输和读取效率大大提高。②矢量数据分级展示。系统采用ArcGIS Map for Android地图模块。该地图模块技术成熟,但在矢量数据展示上却有一定局限性,特别是对于海量数据。因此,矢量数据采用分级展示的形式以提高效率。
2)数据组织。根据系统安全性及展示效率的要求,系统数据采用SQLite 数据库存储。在存储时,采用的组织形式如图1所示。
图1 矢量栅格SQLite库组织
“图层索引表”是图层控制表,表中每一条记录对应于一个“图层表”,并最终呈现于地图模块之上,供浏览、查询、对比分析等使用。“图层索引表” 主要字段如表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加密相关接口
2 调绘流程
使用数据调绘系统工作时,可将整个调绘过程分为3个阶段:数据准备阶段、采集调绘阶段、成果生成阶段,如图2所示。
图2 3阶段调绘流程图
在数据准备阶段,首先根据调绘任务,确定外业调绘使用的数据。这些数据分为地图底图、矢量图层。地图底图使用ArcGIS切图工具将数字线化图或影像生成瓦片数据,然后使用系统数据转换工具(以下简称转换工具)完成数据入库。矢量图层源数据为待编辑的SHP数据,使用转换工具生成对应数据库表,供外业进行属性、空间信息的编辑。准备阶段的最终成果为加密后的SQLite数据库文件。
在数据调绘阶段,通过地图模块完成SQLite库中数据的可视化展示,并且根据需要进行地图图层的叠加、浏览等工作。由于矢量数据的绘制需要消耗大量设备资源,因此在显示时采用分级显示机制。级别由图层表中Lyr_MinS字段确定。采集调绘时,选择编辑图层,使用配备的触控笔完成要素的空间信息和属性信息编辑,也可以新建图层,记录相关地理信息;使用设备进行GPS辅助定位和路线记录;可使用设备照相功能完成图片信息的采集。在成果生成阶段,只需要使用转换工具即可生成SHP成果数据及附带的图片信息库。SHP成果数据为标准入库数据,可直接导入单位、企业的地理信息库中。
3 系统实现
原型系统以三星P6800为硬件基础,Android 4.0为软件平台,使用Eclipse开发工具。
系统具有以下功能:
1)身份认证。身份验证通过后方可浏览地图、编辑数据,以保证数据的安全性。
2)地图数据离线浏览及图层控制。系统图层按数据类型分为瓦片图层、矢量图层。系统使用配套转换工具将瓦片数据、矢量数据存储于数据库中;通过图层管理模块来控制图层的开关,选择编辑的图层。
3)矢量图层新建。调绘准备阶段准备的数据在结构上可能无法满足需要,此时可以通过图层新建功能,创建新的矢量图层,图层类型包括点、线、面矢量图层。
4)要素编辑。要素编辑是系统必备功能之一,编辑要素包括点要素、线要素、面要素,编辑内容包括空间信息、属性信息(文字、图片)。使用触摸笔可绘制较为精确的要素。
5)要素采集。要素采集包括空间信息、属性信息(文字、图片)。采集时,需根据采集要素的类型确定对应类型的图层,例如,点要素采集时,需选择或创建点图层。除采集空间信息、文字属性信息外,还可以通过设备的照相功能采集图片信息。
6)历史记录。编辑、删除的要素信息都进行了记录,这些信息将保存一段时间。当误操作时,可通过撤销操作恢复原数据。
7)辅助定位和路线记录。系统调用设备GPS进行地图定位,以辅助外业人员进行调绘工作。必要时,可以使用GPS记录行进路线,作为道路更新依据。
8)系统数据转换。系统数据转换使用系统配套的转换工具。该工具可以快速完成SHP数据与数据库之间的相互转换、数据库加密解密。系统实现效果如图3所示。
图3 系统效果图
4 结 语
本文讨论了基于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)。