面向Android智能移动终端的GIS设计与实现

2013-05-15 00:58韩振镖
测绘通报 2013年8期
关键词:街景空间数据无线网络

王 刚,韩振镖

(1.天津市测绘院,天津300381;2.天津金宇信息技术有限公司,天津300384)

一、引 言

随着智能终端操作系统技术、无线技术、3G技术及网络通信技术的不断发展与成熟,智能移动终端不再仅仅停留在语音通信应用领域,而是逐渐和互联网应用融为一体,成为互联网应用最为广泛的终端之一。特别是随着Google于2007年11月5日推出专为移动设备设计的开源操作系统——Android[1]以来,各种不同的应用终端软件如雨后春笋般出现,大大推动了移动终端应用的普及。

传统的移动GIS受制于硬件移动设备和操作系统,往往只停留在地图浏览方面,极大地制约了移动GIS应用的不断深入。随着硬件移动设备,特别是移动存储设备、移动CPU设备、内存设备等方面的变革,以及开源Android操作系统的成熟,移动GIS技术也得到了质的飞跃。本文将从Android平台的架构、地图数据组织、功能实现、关键性技术的分析及应用等方面探讨智能移动终端GIS实现的相关理论与方法。

二、Android 系统架构[2]

Android系统是一款以Linux为内核、开放式的手机操作系统。和目前存在的其他操作系统类似,其采用分层架构设计,从高层到低层依次为应用程序层、应用程序框架层、系统运行库层和Linux核心层4 层结构[2]。

1)linux核心层:基于Linux 2.6内核开发,主要用来提供系统的底层服务,是硬件和软件之间的抽象层。

2)系统运行库层:包括一组核心库,提供Java编程语言核心库的大多数功能及Dalvik虚拟机。

3)应用框架层:连接开发人员所开发应用程序和核心应用程序所需要的API框架。

4)应用程序层:随同一系列核心应用程序包一起发布的应用程序。

三、移动GIS架构

移动GIS主要由空间数据集、地理信息服务、无线网络和移动智能软件终端4部分组成。其中,空间数据集是移动GIS应用的数据基础,它不仅指存储在数据库中的空间数据,而且包括以文件形式存储在服务器上的地图或专题数据。无线网络是连接移动智能终端与地理信息服务的桥梁,其目前主要有两类:一类是GSM、CDMA、3G等移动通信无线网络;另一类是WiFi等无线广域网络。地理信息服务是GIS核心应用的后台,借助无线网络、移动端GIS软件访问架设在服务器上的地理信息服务,从而快速、高效地完成相应的GIS功能。移动智能软件终端则是一种易于携带、待机时间长、适合野外环境使用、可以用来快速精确定位地理位置的设备。这四者之间的关系如图1所示。

图1 移动GIS关系图

四、移动GIS应用模式

经过近10年的发展与应用,在空间信息技术、通信技术、GPS技术及移动硬件技术等方面的推动下,移动GIS技术已经逐步成熟并投入到空间信息应用领域。目前,根据移动GIS建立中空间数据使用方式的不同,可以将应用模式划分为两大类:一类是离线模式,另一类是在线模式。

1. 离线模式[3]

离线模式主要是指空间信息的获取、显示、计算与分析不依赖任何网络,由移动端自己完成。在这种模式下,安装在移动终端上的GIS不仅具有存储、显示、查询和空间检索的功能,而且还能处理一些简单的空间分析。移动空间信息服务的建立主要侧重于空间数据组织和功能服务的开发方面。空间数据可以通过同步机制从计算机上获取,直接存储在闪存或存储卡上;功能服务针对具体的需求而开发。这种模式主要借鉴了单机版GIS应用思路,将空间数据和服务功能移植到移动端上,从而实现本地存储、管理、计算与分析。

2.在线模式

因空间服务方式的不同,在线模式可划分为两类:“有线下载,无线服务[3]”模式和无线网络模式。

(1)有线网络模式

有线网络模式与离线模式的主要区别是在建立移动空间信息服务过程中对空间数据的准备方式不同。前者需要移动终端设备与服务中心的服务器通过有线网络建立连接,从而下载所需要的空间数据并存储到本地。由于此种模式下提供的功能服务都是在移动终端本地完成的,因此同离线模式一样,其具有数据访问速度快、系统响应及时的优点,而且这种模式在Internet的任一节点都可以更新空间数据和其他数据。

(2)无线网络模式

无线网络模式主要是指移动终端设备通过无线网络与应用服务器建立连接,实时地获取所需的空间数据和专题数据。此种模式下,所有的服务、空间数据及专题数据都放在连接在互联网的计算机上,服务的请求和响应都需要无线网络的支持。这种模式的优点在于保证了数据和服务功能的实时性,应该说是移动空间信息服务的最佳方式和最终目标。

在实际应用中,由于受到无线信号和通信费用方面的制约,移动GIS一般采取有线和无线网络相结合的模式。对于地图底图侧重于提供离线地图包,从而减少网络实时传输的流量;而对于专题信息的查询,则主要提供在线服务访问,从而保证信息数据的实时性。

五、系统实现

1.系统架构

在“天地图·天津”Android版移动GIS建设中,笔者按照前面所述的移动GIS的架构思路,从数据层、地理信息服务层、应用层3方面,设计、搭建并开发了该系统,其架构如图2所示。

图2 系统架构图

从图2可以看出,数据层主要是为了解决移动GIS应用所需要的空间数据源问题。在建设过程中,笔者将实际应用的空间数据划分为4类,依次为地图瓦片数据、专题应用数据、基础地理数据、街景全景数据;地理信息服务层则在网络服务器端搭建基于上述4类的遵循OGC WMTS、WFS-G、WPF等国际标准的地理信息服务;通过无线网络(如Android系统的智能手机、平板电脑)和移动GIS系统完成相应的GIS功能,从而让GIS触手可及。

2.数据组织

在移动设备上,传统的GIS应用底图一般采用矢量数据,根据显示窗口的不同实时绘制当前窗口的地图要素。这种方式的优点在于,有利于数据的动态更新和维护;不足之处在于,由于移动硬件设备和地图综合理论方面的不成熟,无法高效、美观地展示地理空间要素。因此笔者采用地图瓦片的方式来组织GIS的地图数据,对于需要在底图上动态展示的专题点、线、面采取坐标值(坐标串)来存储和动态绘制,而对于街景全景数据则采取长方体的思想来组织数据。

(1)地图瓦片数据组织[4]

地图瓦片分块策略源于瓦片金字塔模型[5]。在“天地图·天津”省级节点建设中,笔者按照国家建立的CGCS2000,将全球地图范围的坐标定义在[-180°,90°]、[180°,-90°]之间,天津区域按天津所在的经纬度进行切片,从而与国家主节点、其他省级节点数据通过坐标层次和瓦片编码统一起来,以便于地图数据的聚合调用。

按以上思路组织好图瓦片数据后,笔者采取两种方式来部署此类数据。一是通过在连接互联网的服务器上搭建OGC WMTS的瓦片服务,提供在线服务;二是采用离线地图包的形式,将一定地理范围内的地图瓦片图片文件存放到小型数据库(Sqlite)中,并将地图包拷贝到移动终端上,从而移动GIS软件就可以直接调用该数据。

(2)360°街景全景数据组织

街景全景照片其实就是一张或一组一个地点360°全景视角的照片。街景全景照片遵循“等矩形投影[6]”,包括一个360°的水平视野(完整地绕一周)和一个180°的垂直视野(从正上方到正下方),这样的视野(fields of view)形成了一张宽高比为2∶1的图片。

街景数据组织和展示建立在长方体模型的基础上,通过对采集回来的街景全景数据进行处理,笔者将一张街景全景照片切分为6张,根据视点视角的范围调用相应的图片,从而避免不必要的街景数据的传输,以改善街景用户体验效果。街景模型如图3所示。

图3 街景模型图

3.系统功能

移动GIS系统的开发主要是结合当今网络通信技术的特点,特别是在WiFi和3G网络逐渐普及应用的环境下,利用GIS技术、GPS技术、网络传输技术,面向移动用户提供更贴近现实工作和生活、具有强大的空间查询和分析能力、具备良好用户体验的地图应用软件系统。

本系统的核心数据是空间数据和街景全景数据。要实现移动端地图显示,需要解决在线或离线地图源的读取、传输、存储与绘制问题;要丰富智能移动端用户的体验和增强数据的多样性,需要将地图信息、空间位置、360°街景实景进行融合,并结合智能设备所具有的罗盘功能、重力功能、多点触摸功能及手指触摸操作方式等,从地图展示效果、操作方式来设计并实现移动GIS功能。因此,本系统主要功能结构如图4所示。

4.关键性技术及应用

(1)多点触控技术(Multi-touch)

该技术使用户不仅可以通过双手进行单点触摸,也可以以单击、双击、平移、按压、滚动及旋转等不同手势触摸屏幕,实现随心所欲地操控,从而更好更全面地了解对象的相关特征。多点触控设计可分为两个步骤:采集和判断,其流程如图5所示。

图4 功能结构图

图5 多点触摸消息机制图

(2)GPS定位机制

在Android系统平台中,无论是基站定位还是GPS定位,主要用到了3个方面的接口或类,其中,LocationManager提供完成定位服务的功能,以及获得最佳定位提供者的功能;LocationListener接口类提供定位信息发生改变时的回调功能,程序设计中必须在管理器中实现注册监听对象;Geocoder用于完成地理编码和反向地理编码。

(3)多线程异步回调技术

多核CPU和Android系统在智能移动端的集成有力地保证了网络技术、GIS技术在移动端的展示。在移动GIS搭建中,为了保持系统性能,笔者采用多线程异步回调技术,用分线程去处理那些CPU占用率较高的任务。其中,用主线程完成UI界面刷新和即时功能操作的响应,如UI界面的切换、按钮的即时响应;用分线程去处理网络通信,如地图瓦片的读取、GPS数据读取等,从而提高了移动端用户的体验效果。

(4)应 用

目前,在天津天地图建设过程中,笔者按照移动GIS建设的思路与策略,进行了相关的开发工作,并取得了一定的成果。

按照瓦片金字塔模型组织地理底图数据,服务器端通过Nginx和PHP5搭建了遵循国际OGC标准的分布式网络地图切片服务(WMTS),在空间信息查询与分析方面搭建了遵循国际OGC标准的网络地名地址服务(WFS-G)和网络处理服务(WPS),采用JSON格式组织矢量数据,在网络传送方面运用GZIP压缩并传输数据,从而初步搭建了“天地图·天津”Android环境的移动 GIS。其在三星平板P7500上的运行效果如图6所示。

图6 运行效果图

六、结束语

本文基于Android平台,从移动GIS架构、应用方式、系统实现、关键性技术等方面对其进行了简要探讨。尽管移动GIS已经走向实用,但由于受智能移动设备操作方式、设备屏幕尺寸及存储空间等因素的影响,还存在以下几方面需要研究和解决的问题:①从数学精度、操作方式上研究如何进行移动GIS空间数据的外业采集,让外业测绘更智能;②矢量数据环境的移动GIS实现;③移动GIS数据更新机制;④研究面向管理部门的行业移动GIS。

随着人们对空间信息需求的日益增大,移动GIS的出现提供了一种在日常生活中准确、快速获取空间信息的方式,随着面向社会大众的LBS和MIS服务的不断深入应用,移动GIS必将迎来更为广阔的发展空间。

[1] 公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008(8):85-89.

[2] 靳岩,姚尚朗.Android开发入门和实战[M].北京:人民邮电出版社,2009.

[3] 舒贤华.基于 Android平台的手机 Web地图服务设计[D].大连:大连海事大学,2009.

[4] 温敏,艾丽蓉,王志国.Android智能手机系统中文件实时监控的研究与实现[J].科学技术与工程,2009,9(1):1717-1719.

[5] 朱欣焰.面向网络的海最影像空间数据在线分发技术[J].武汉大学学报:信息科学版,2003,28(3):288-293.

[6] 金洁.基于 Android平台的校园街景的研究和实现[D].北京:北京邮电大学,2011.

[7] 公磊.基于 Android的 GPS测量系统开发[D].南昌:南昌大学,2008.

[8] GONG Jianya,WANG Yandong.Federated Spatial Databases and Interoperability[J].Wuhan University Journal of Natural Sciences,2001,22(4):45-46.

[9] 马俊海,黄明.车辆监控系统中 GPS,GIS,GSM 的应用[J].测绘通报,2002(10):21-23.

[10] 丰江帆,张宏,沙月进.GPS车载移动视频监控系统的设计[J].测绘通报,2007(2):51-53.

猜你喜欢
街景空间数据无线网络
炫彩街景看过来
滤波器对无线网络中干扰问题的作用探讨
街景
城市街景
3D街景
无线网络的中间人攻击研究
元数据驱动的多中心空间数据同步方法研究
TD-LTE无线网络高层建筑覆盖技术研究与应用
基于文件系统的分布式海量空间数据高效存储与组织研究
数说无线网络:覆盖广 流量大 均衡差