当前位置:首页 期刊杂志

基于Android的南极人员定位软件的设计与实现

时间:2024-07-28

孔爱婷 刘健 余旭

(1广东工业大学土木与交通工程学院,广东广州510006;2中国极地研究中心,上海200136)

0 引言

近年来,各南极考察国家在南极开展了大量的GIS研究活动,包括空间数据采集和管理、测绘和制图等方面[1]。在南极,标志性的地物不多,早期在南极探险的人们通过观测太阳和星星来确定位置,到了20世纪80年代后期,南极人员普遍采用GPS定位的方法。为了寻找某个地点,南极考察人员需要耗费大量的精力。手机地图定位服务的便携性和数据的实时性可以很好地解决这一问题。

现在的智能手机有着极高的集成性,为在手机上开发测绘及地理信息系统(GIS)相关软件提供了有利的条件并有着广阔前景[2]。利用Android平台[3]开发手机地图定位软件成为了目前的研究热点,如:利用Google Map API技术,开发基于Android手机平台的地图应用[4-5];通过调用已发布的Arc-GISServer[6]地图服务研究实时跟踪和快速准确的地理定位[7];采用方向传感器和GPS模块,开发野外使用的Android软件[8]。目前大部分的人员定位软件主要是以网络的方式实现,不适合在极地考察的南极人员使用。因此,开发适合南极人员使用的移动终端地图定位软件有着重大的现实意义。

本文所实现的南极人员定位软件基于Android平台开发,采用的地图是经过ArcGIS处理的卫星图像,该手机软件可以用来浏览南极中山站和长城站地图,并能对其进行放大缩小等漫游操作,同时具有无网络实时定位、电子指南针、导航、位置记录等功能,满足了南极用户基本的手机地图定位服务需求。

1 软件设计

南极人员定位软件建设以实现无网络实时定位为目标,以 Android为开发平台,以ArcGIS插件[9]为基础,结合计算机技术、GPS定位技术和ArcGIS Server地图缓存技术,实现地图浏览、定位、电子罗盘、导航、记录、计算距离等功能。

1.1 软硬件环境

由于南极部分区域还不具备数据访问的无线网络通讯环境,因此在移动地理信息框架支撑方面选择具备离线数据支持的辅助方法。软件采用Arc-GISServer地图缓存技术,ArcGIS Runtime SDK for Android v10.1.1插件,以Eclipse作为开发平台,以安卓手机Android 4.1.2作为真机测试。

1.2 软件功能设计

根据南极人员出行考察的需要和Android平台的特点,南极人员定位软件设计的功能如图1所示。

图1 软件功能整体架构Fig.1.Software architecture of functions

(1)底图切换功能:用户可以根据所在位置选择对应的底图;

(2)地图控制:实现地图放大、缩小、平移等漫游操作,并提供导航功能;

(3)位置定位:每间隔20 s自动更新位置;

(4)记录功能:标记当前位置,包括添加和删除功能;

(5)计算距离:计算当前位置与记录位置的距离。

2 软件开发

软件的开发实现包括开发环境的配置;地图缓存的生成;定位模式的选择;记录位置、电子指南针等功能的开发。

2.1 开发环境配置

根据电脑的操作系统,下载安装对应软件,环境配置过程如下:(1)安装JDK 1.6;(2)安装Eclipse 4.3;(3)安装SDK并设置环境变量;(4)安装ADT;(5)安装ArcGIS插件。

2.2 地图缓存的生成

底图的设计有两种方案:一是把中山站和长城站的影像叠加在世界地图上,优点是在空间上呈现无缝的特点,缺点是创建后的缓存非常大;二是使用局部区域底图,提供选择底图功能,优点是创建后的缓存大幅减少,缺点是仅限于指定地区使用。

对这两种方案的地图进行缓存切片研究,研究结果如表1所示。从表1可以看出,地图缓存的大小与地图范围和缓存比例尺有关,如果使用方案一,在保证底图清晰的前提下,切片后的缓存必定很大,这样会造成手机存储容量的压力,基于对比结果,选择方案二,这样既保证了底图分辨率,也控制了缓存大小。

表1 缓存研究结果Table 1.The results of cache study

软件以1∶4 000为最大比例尺,选择6个比例级别,生成地图缓存,步骤为:(1)对中山站影像和长城站影像分别使用ArcMap配置底图;(2)应用ArcGISServer地图服务器发布地图服务;(3)对底图的地图服务创建缓存。

2.3 定位模式选择

手机定位方式有基站定位、GPS定位、Wifi定位、Assist GPS定位,考虑到南极特殊的地理环境,本软件采用不依赖于网络的GPS定位这种模式,在地球任何一个上空无遮挡的地方只需要同时接收到四颗或以上的卫星信号就可以获取经纬度。

为了证明定位数据的准确性,对任意两个点采用GPS静态测量技术进行测量,得到这两个点的坐标,分别是 113°23'18.91″E、23°02'27.43″N和113°23'33.34″E、23°02'06.26″N;使用手机每隔 20 s获取这两个点的坐标,对获取的10组数据取平均后的坐标,分别是 113°23'18.71″E、23°02'27.91″N和113°23'36.51″E、23°02'11.61″N。 从测试结果可以看出,手机GPS与GPS接收机所获得的数据之差在6″的范围内。手机GPS定位在空旷环境中能达到几米至几十米的精度,在一般环境中能达到几十米至几百米的精度。虽然不能和专业的接收机相比,但能够满足人员定位的一般需要[10]。

用Android提供的地理位置服务功能API获取当前的位置。这里主要用到LocationManager和LocationListener功能类进行定位实现,其中Location-Manager提供定位服务的功能;LocationListener提供定位信息发生改变时的回调功能。

2.4 记录功能的实现

由于南极没有太多明显的地物,因此软件设计时提供记录当前点位置的功能,可以应用在如海冰卸货(记录冰缝位置)、野外作业(记录站点或标识物位置)等情况下。记录的标记采用数字叠加图标的显示方式。主要是根据当前的位置信息添加图标和添加按顺序的数字,并保存记录点的信息。主要用到ArrayList数组类保存记录点的信息和TextSymbol文本符号类型添加按顺序的数字。

2.5 电子指南针的实现

Android系统可支持多种传感器类型,本程序主要使用到方向传感器。用Android提供的API调用传感器,这里主要用到SensorManager和SensorEventListener功能类获取手机绕Z轴旋转的角度,再根据此角度旋转图标,在底图服务基础上叠加此图标。然后设置一个监听器,利用监听接口onSensorChanged来读取具体感应内容,从而实现电子指南针。

2.6 软件测试成果

每个功能模块实现后,运行程序,测试过程如表2所示,选取几个运行画面如图2至图7所示,从测试结果可以看出,整体设计满足要求,实现了选择底图功能、显示离线地图、GPS定位、添加标记、记录该点位置、电子指南针指向正确、计算距离、放大、缩小等功能,而且定位数据准确,运行流畅。

表2 测试过程Table 2.The process of testing

3 关键技术概述

南极人员定位软件关键是实现无网络实时定位,加载离线地图和添加一些辅助功能。

(1)ArcGIS地图缓存技术 软件采用处理后的卫星图像作为底图,利用ArcGIS Server创建地图缓存,利用ArcGISLocalTiledLayer类调用移动终端地图缓存。ArcGIS地图缓存的主要问题是缓存大小与缓存分辨率相矛盾的问题,因此采用切换底图的方法,这样既保证了地图的分辨率,又控制了缓存的大小。

(2)投影转换技术 为了使获取的位置信息可视化,采用图形类Graphic对相关位置进行图标注记和文字注记。由于GPS获取的位置坐标是WGS-84坐标系下的大地坐标,即用经纬度高程(B,L,H)表示的坐标;地图使用的是墨卡托投影的直角坐标,是用(X,Y)表示的平面坐标。因此,在不考虑高程参与转换的前提下,使用ArcGIS Android API提供的GeometryEngine类将GPS获取的经纬度投影到地图上。

图2 GPS设置界面Fig.2.GPS interface settings

图3 选择底图Fig.3.Basemap selection

图4 记录位置Fig.4.Position record

图5 总体效果图Fig.5.Overall effect diagram

图6 显示距离Fig.6.Distance shows

图7 导航图Fig.7.Navigation diagram

(3)实时定位的优化 采用GPS定位时,由于绝大部分用户默认不开启GPS模块,因此使用协助组件之间通讯的类Intent激活GPS设置界面,从而保证软件可以获取卫星信号。由于采用定位监听器频繁地获取位置信息比较耗电,因此软件采用RequestLocationUpdates方法,设置间隔20 s自动更新位置信息。

(4)显示距离 在南极,标志性的地物不多,利用经纬度计算当前位置与记录位置的距离,有利于用户定量分析是否到达目的地。软件提供显示距离和隐藏距离的功能,方便用户把距离信息与图上标记联系起来且不影响界面的显示效果。

4 结语

本文结合南极特殊的位置特点和地理环境,设计并实现了南极人员定位软件。该软件能为南极人员在无网络服务的通讯盲区提供实时定位与导航功能,为以后开发手机地图定位软件提供了借鉴意义。当然,软件的建立还存在一些问题,包括:范围过大的地图会占用过多的手机储存容量;首次获取定位数据时间较长而且比较耗电;功能需要进一步完善,比如在有手机信号或者网络的情况下可以传送自己的位置等信息,以上问题有待于在实践过程中进一步将其完善。

致谢数据由中国极地研究中心和中国南北极数据中心“极地科学数据共享平台(http://www.chinare.org.cn)”提供,谨致谢忱。

1 温家洪,王清华,吴健平.地里信息系统在南极考察和研究中的应用.极地研究,2001,13(3):217-228.

2 王刚,韩振镖.面向Android智能移动终端的GIS设计与实现.测绘通报,2013,(8):77-80.

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

4 刘胜前,陈立定,任志刚.基于Android移动平台和GPS应用服务研究.信息技术,2012,(1):82-85.

5 吴林,熊滔,蔡永香.基于Android手机的地图应用设计与开发.城市勘测,2011,(2):16-19.

6 ESRI.ArcGISServer Administrator and Developer Guide.California:ESRIPress,2004.

7 李沛鸿,白东强,李营营.基于Android的WebGIS地理定位服务研究.测绘通报,2013,(7):99-101.

8 Weng Y H, Sun F S, Grigsby JD.GeoTools:An android phone application in geology.Computers&Geosciences,2012,44:24-30.

9 吴泳锋.ArcGISAPI for Android案例教程[2011-02-22].http://www.doc88.com/p-59896798582.html.

10 谢翔,荆昊,郭际明.室内环境下手机GPS定位精度研究.测绘通报,2012,(8):95-98.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!