孙立志,徐洪秀
(天津市测绘院,天津 300381)
随着城市建设的扩大,城市面貌日新月异,规划审批验收等数据越来越复杂和庞大[1]。GIS技术的发展将这些庞大的数据整合到一起,以直观的形式展现给用户,提高了数据管理查询的效率。伴随移动平台的高速发展,移动平台的便携性为终端用户提供强大的优势。移动端硬件的提升为移动GIS系统的实现提供了可能。但GIS数据量庞大,移动平台相对成熟的计算机处理能力还有这一定的差距,能否在移动平台上快速的浏览、查询,并保证数据的安全是一个难题[2]。嵌入式文件数据库的出现,如SQLite,为移动平台的大数据管理提供了一种可能。本文详细介绍利用SQLite文件数据库设计离线地图、设计和实现基于移动GIS的辅助规划巡查系统。
基于移动平台搭建辅助规划GIS系统旨在通过对数据的浏览、专题数据的查询获取相关规划信息,辅助规划业务人员决策。通过GPS定位与拍照等功能,辅助业务人员在考察过程中记录相关问题[6]。
数据浏览:提供影像数据、地形数据、控规数据、管线数据等的无缝集成,能进行快速的放大、缩小、漫游、量测等操作。
数据查询:查询管线、管点、控规数据、照片等的属性信息。
定位和拍照:定位业务人员的位置并以圆圈的形式显示在图中;点击地图上某一位置进行拍照,将位置信息和照片、描述信息存储在数据库中。并提供这些数据列表显示、删除与导出等功能。
对维基百科中的移动操作系统进行比较,Google公司的 Android,苹果公司的 IOS,微软公司 Window phone全球市场使用率最高。综合考虑到Android的开源性以及市场占有率高等特点,本辅助规划巡查系统选用Android移动操作系统。Android是一款开源的基于Linux内核开发的移动操作系统,可以采用JAVA语言进行二次开发。
现有的移动GIS平台有ArcGIS平台,超图的iMoble 7C,高德地图的Android_Map_V2.2.0,百度地图,Google地图,跬步科技平台UCMAP等。这些都是专业的移动GIS开发平台,空间分析功能齐全,支持广泛的在线地图服务和强大的离线数据。
考虑到成本和技术的需求,本辅助规划巡查系统选用UCMap应用程序开发包。UCMap是由南京跬步科技自主研发的系列软件,提供了Android、IOS、Windows Phone等手机操作系统下的开发包,延伸GIS在移动端的应用。UCMap提供除基本的地图浏览、地图渲染、地图查询等基本功能外,还提供了要素编辑、数据缓存、空间分析、定位、影像浏览、扩展定制等高级GIS 功能[3]。
移动GIS平台支持在线地图服务和强大的离线数据。在线数据服务包括支持OGC(开放地理信息联盟)标准的地图服务和互联网地图[4]。OGC标准地图服务是将本地数据包装成OGC标准的格式通过局域网或互联网发布,如 ArcGIS,MapServer,GeoServer。互联网地图是由商业机构提供的在线数据,如百度地图、谷歌地图,微软Bing Maps等。离线数据是将特定格式的数据放在移动平台终端中供程序访问。
这3种方式数据各有优缺点:①OGC标准地图服务:优点是数据格式唯一、扩展性强,缺点是需要后台服务器支持,移动终端必须通过网络才能访问。②互联网地图服务:优点是访问数据简便、不需个人维护,缺点是不能叠加本地数据,扩展性不高。③离线地图:优点是数据扩展性高,缺点是占据磁盘空间大、数据制作工作量大。
由于规划审批数据属于涉密数据,数据保密性要求高,且专题数据比较多,因此本辅助规划GIS系统须选用离线地图技术。这样即保证数据的安全性又可以添加各种专题数据[5]。
本系统离线数据是通过文件数据库SQLite存储的,在数据库中以层次细节模型(LOD)组织,存储结构如图1所示。图中tiles数据层是瓦片层,包含瓦片所在的层级、行列号、和图片,metadata是元数据层,包含切片的范围,切片的宽度和高度、原始坐标以及图层号等元数据信息。属性数据和几何数据是分开存储且存储结构完全不一样。
图1 LOD数据组织模型
当系统获取地图时,首先会根据元数据信息和当前的屏幕范围信息计算要获取的瓦片的行列号,然后根据行列号获取瓦片数据,将图片显示到系统中。SQLite将瓦片图层建立索引,从而提高获取瓦片数据的速度。以这种方式存储既保证数据的高效和数据的完整。
系统采用3层体系架构,由最底层的数据服务层、中间逻辑应用层、最上层的移动终端表示组成。如图2所示。
图2 系统结构模型
数据服务层是由文件数据库组成,文件数据库存储了系统所需基础地理信息数据,包括地形数据和栅格数据;存储了规划专题数据,包括总体规划数据、专项数据(住房建设规划),控规数据,管线数据等;存储考察记录数据,保存照片文件。基础地理数据和规划专题数据是通过UCMap数据库引擎处理Shape数据和影像数据得到的,巡查记录数据是由程序动态生成的。
逻辑应用层由Android SDK、UCMap SDK和应用程序组成。应用程序通过调用Android SDK与移动终端进行交互和通信,通过UCMap SDK进行规划数据的数据读取和显示,最终将所有功能和指令串联起来,相应终端用户请求,展现给用户一个可视化操作界面,形成一个完整应用程序APP。
终端表示层是各个不同的移动终端、如手机、PAD等安装应用程序APP,通过界面操作逻辑应用层。
在确定系统架构和功能后,进行系统开发,系统开发过程如图3所示。首先要收集各种数据,然后进行数据处理制作,将配置工程环境,导入Android和UCMap包,然后进行各个功能开发,包括系统界面、系统控制、系统模型Model View Controller(MVC)三方面,最后进行测试,在保证各个功能正确无误后,将编译后的APP放在终端中安装试用。
本辅助规划 GIS系统是基于Android SDK4.2.2和UCMap SDK基础上进行开发实现的。地图制作过程使用UCMap地图配置程序5.0生成SQLite文件数据库,如图3所示,具体的开发环境如表1所示。
图3 系统开发过程
系统开发环境 表1
按照本文第2节中功能,系统将数据浏览功能,如放大、缩小、漫游等,查询管线功能,定位功能设置成快捷工具,放在屏幕右侧正中间方便用户的操作。拍照、删除、图层控制等功能放在菜单右上栏。系统总体实现界面如图4所示。
图4 系统界面
点击查询按钮,可方便查看管线的属性、查看控规单位数据的属性以及图片的信息等,如图5所示。
图5 管线查询
点击定位按钮,可定位到当前的位置,位置精度在 50 m左右。点击拍照按钮,然后在图上位置选一个点,点击弹出系统拍照界面,拍完照片后,输入照片信息就可以将照片、照片所在位置、照片描述信息保存起来,如图6所示。通过删除照片按钮可以将照片点删除。
图6 照片信息
本文基于文件数据库、瓦片技术、Android平台、UCMap平台,实现基于移动平台的辅助规划GIS系统,系统能方便快捷的浏览规划审批数据,查询数据的属性信息,实时的进行定位,并可以将现实信息拍照处理,极大的帮助辅助规划审批业务实现,提高工作效率。
[1]潘国辉,张一蔚.移动办公在规划国土辅助审批方面的应用[J].地球,2013(3):14.
[2]赵小厂.基于移动GIS和GPRS技术的数据采集系统研究[D].上海:华东师范大学,2011.
[3]Ucmap Sdk for Android[OL/DB].http://www.creable.cn/kuibu/index.asp.
[4]孔凡随,邹学忠.移动GIS组成关键技术及其应用[J].现代测绘,2005,28(3):44 ~46.
[5]许文峰.基于Android的移动监察GIS平台研发[J].城市建设理论研究,2013(19).
[6]董志江,盛宇.GIS在城市规划中的应用[J].民营科技,2012(12):20.