【Android论文栏目提醒】:网学会员--在 Android论文编辑为广大网友搜集整理了:[精品]基于ArcGISAndroidAPI的GPS手机导航系统关键技术的研究与实现 - 期刊论文绩等信息,祝愿广大网友取得需要的信息,参考学习。
数字技术 与应用 应用研究 基于 ArcGIS Android API 的 GPS 手机导航系统关键技术的研究与实现 周靖雄 陈友飞 福建师范大学地理科学学院 福建福州 350007 摘要: 手机导航新需求, 本文首先分析当今的市场对GIS、 在物联网环境下需要地理空间信息提供4A服务,而这需要一系列的新技术支持。
接着论述了这些新技术的概念、原理及特点。
最后在目前最流行的
Android平台下, 设计了一款智能 结合ESRI推出的ArcGIS
Android API插件,手机导航系统。
关键词:LBS GPS手机导航 移动GIS ArcGIS for
Android 中图分类号:TN929.53 文献标识码: A 文章编号:1007-9416201204-0045-03 如今, 地理空间信息(Geographical Information)已部分实现 用的主要是基于移动终端的GPS定位和A-GPS定位。
P S定位正 而G了随时(anytime)、 随地(anywhere)为所有的人(anybody)和事 是Android系统平台的一大特色亮点。
GPS系统包括3大部分: 空间(anything)提供实时服务(4A 服务)。
位置服务 (Location Based 部分——G P S 卫星星座; 地面控制部分——地面监控系统; 用户设Service, 是一种移动信息服务, LBS) 它采用定位技术确定用户的当 备部分——GPS信号接收机〔5〕。
前地理位置, 利用地理信息系统技术和移动互联网技术向用户提供 在ArcGIS for Android中, 定位功能都被分装在一个Loca-与其位置相关的信息服务〔1〕。
LBS几乎涵盖了人类动态活动的每一 tion Manager对象中, 我们可以这样来使用Android的定位服务〔6〕。
方面: 智能交通、 物流配送、 军事国防、 公安消防、 环境工程、 野外数 要使用A n d r o i d系统的定位服务 O C A T I O N _ S E R V I C E)在A n - (L ,据采集等多个领域, 它将在未来人们的数字生活中扮演重要角色。
droid清单文件中一定要有相应的权限:但这些专业级产品的目标用户往往是专业人员或行业使用者, 因此 <manifest ... >专业GIS不适合大众类应用〔2〕 。
<uses-permission
android:name=”
android.permission. GPS导航手机就是卫星导航手机, 与手机电子地图的区别就在 ACCESS_FINE_LOCATION” />于, 它能够告诉你在地图中所在的位置, 以及你要去的那个地方在 ...地图中的位置, 并且能够在你所在位置和目的地之间选择最佳路 </manifest>线, 并在行进过程中的为你提示左转还是右转, 这就是所谓的导航。
通过GPS 与GIS 技术的结合, 可以实现各种与位置有关的地理 G目前, P S 手机已经不仅适应车载导航用户, 也能适应步行者以及 信息服务(LBS, Location Based Services),从而大大扩展了移动人们日常公交的换乘用户使用, 未来的GPS手机功能将涵盖普通百 GIS的应用领域〔7〕。
姓更多的需求。
如今,随着智能手机的进一步发展, 以及3G 网络的 1.3 移动互联网技术使用, 移动终端不再仅是通讯网络的终端, 还将成为互联网的终端。
移动互联网是指手持设备通过无线方式访问互联网, 就是将移在当今社会, 越来越多的互联网应用被移植到智能手机中来, 导航 动通信和互联网二者结合起来, 随着Web2.0技术使大众 成为一体。
软件在智能手机中的应用成为了研究热点之一。
群体成为信息创造的主体,移动互联网就把信息生产从P C 拓展到 物联网环境下使得信息生产从人拓展到物。
手机, 互联网时代, 海量1、移动 GIS 系统关键技术介绍 信息的存储和信息的处理能力成为信息服务的关键。
调查显示,移 1.1 移动 GIS 技术 动互联网正以飞快的发展速度赶超传统互联网。
地理信息系统 (简称G I S)是一种特定的十分重要的空间信息 1.4 移动数据库技术系统,是在计算机软、 硬件系统支持下, 对整个或部分地球表层 (包 移动数据库是指移动环境的分布式数据库,是分布式数据库的括大气层) 的有关地理分布数据进行采集、 存储、 管理、 运算、 分析、 延伸和发展。
移动数据库要求支持用户在多种网络条件下都能够有显示和描述的技术系统。
( 移动GIS是GIS 地理信息系统) 从静态走 效地访问, 完成移动查询和事务处理。
利用数据库复制/ 缓存技术向动态环境的重大发展, 通过综合运用G P S 的精确定位技术、 便携 或数据广播技术, 移动用户即使在断接的情况下也可以访问所需的移动设备(如掌上电脑、 智能手机)、移动通信技术和GIS的空间信息 数据,从而继续自己的工作。
其中的时态空间数据库技术是移动GIS处理能力, 使野外工作者能够利用该系统实时地获取、 存储、 更新、 的关键。
移动数据库技术的研究主要涉及五个方面: 移动数据库复处理、分析和显示地理信息〔3〕。
制/缓存技术、移动查询技术、 移动事务处理技术、 数据广播技术、 移 移动GIS作为一种特殊的网络GIS, 除具有网络GIS的一般特点 动数据库安全技术。
外, 还具有以下特点: (1)基于无线网络; (2)移动端的多样性; (3)信息 1.5 地图匹配技术载体多样化; (4)信息服务的实时性; (5)移动性; (6)频繁间断性; (7) 地图匹配是一项确定车辆在地图上位置的技术, 其纠错技术恰弱可靠性;(8)网络通信的非对称性; (9)资源有限性; (10)对空间位置 恰避免了定位技术无法克服的局限性。
地图匹配指GPS接收机测量的依赖性〔4〕。
到其载体当前的有关位置信息后, 再从电子地图数据库中获取有关 1.2 移动定位技术 信息,然后通过匹配算法得到载体位置等的偏差信息, 并对其进行 对于移动终端的定位过程大致分为两步: 一是测量; 二是计算。
实时修正,从而准确显示车辆的位置〔8〕。
地图匹配技术是决定导航产根据测量和计算实体的不同, 移动定位技术大致可以划分为三类: 品最终性能的关键技术,因此, 电子地图相结合并通过地图的 GPS、(1)基于移动终端的定位; (3)混合定位。
(2)基于网络的定位; 目前市 匹配算法实现的组合导航技术是一种比较理想的导航方式。
场上的智能手机大都采用的是混合定位方式, 但是在野外导航时采 1.6 ArcGIS for
Android介绍 45 数字技术应用研究 与应用 ArcGIS for Android将GIS的适用范围从办公室扩展到移动 (1)根据debug.keystore获取MD5指纹Web。
发布时, ArcGIS for Android将包括一个应用程序, 您将能 keytool -list -alias androiddebugkey -keystore ”C:够从Android Market应用商店下载这款称为ArcGIS的应用程序。
\Users\Administrator\.
android\debug.keystore” -storepass这个应用程序将类似于已经发布的ArcGIS for iOS和Windows
android -keypass androidPhone应用程序。
使用该ArcGIS应用程序, 您能够浏览ArcGIS.com或ArcGIS Server提供的地图, 并且利用程序中提供的工具进行搜索, 识别位置和要素, 测量线和面, 以及编辑。
图 1 MD5 指纹的获取 (2)申请Android map的API Key2、G PS 手机导航系统的设计 打开http://code.google.com/intl/zh-CN/
android/maps- W C 目前移动G I S 的实现方式主要有以下三种: A P 模式、 / S 模 api-signup.html, 输入上一步得到的MD5指纹, 获得Android map式和应用软件模式。
的API Key: 0_m9JB9jLjWCLqj_ MAoPgdLf8D2aM9gPjG8Wuuw。
2.1 需求分析 (3)创建一个用来显示地图的View主键 手机导航的主要功能是以图形、 文字的形式为用户提供地图服 <view
android:id=”@+id/mv”务,并提供友好、 方便、快捷的操作界面。
其功能需求从用户和商家 class=”com.google.
android.maps.MapView”两方面来进行分析设计, 具体需求包括: (1)地图控制:能够对地图
android:layout_width=”fill_parent”进行放大、 缩小、漫游、 显示全图等; (2)实时定位: 能够将用户当前位
android:layout_height=”fill_parent”置在地图上标注出来, 并能随着位置的变化而实时更新, 即在地图
android:layout_weight=”1”上定位用户的当前位置; (3)路径导航: 能够根据用户的当前位置与
android:apiKey=”0_m9JB9jLjWCLqj_MAoPgd目的地,为用户规划路径, 并在地图上显示, 进行实时路径引导; (4) Lf8D2aM9gPjG8Wuuw”轨迹跟踪: 能够在地图上显示出用户的行驶路径, 并给出相应的行 / >驶距离;(5)资讯查询:根据用户的当前位置, 查询用户附近所需要 3.2 导航定位功能的实现的信息,比如附近的影院信息、 商家信息等; 所有这些需求实现, 都 由于Android中的LocationManager提供了一系列的方法来处要求操作简单, 符合手机使用者的习惯。
商家需要能够根据用户的 理地理位置相关的问题, 包括:(1)查询上一个已知位置; (2)注册/注位置,进行促销信息的广告推送。
销来自某个LocationManager的周期性的位置更新; (3)注册/注销 2.2 数据存储和表的设计 接近某个坐标时对一个已定义的Intent的触发。
具体的实现步骤包 在A n d r o i d 的环境中, 可供选择的存储方式有S h a r e d 括: 1)将地图定位到当前的GPS指定的位置。
在地图展示的界面中,Preference、 文件存储、 SQLite数据库方式、 内容提供器和网络。
本次 首先注册一个基于locationListener的MyLocationListener, 使得移实验中选择的是SharedPreference数据库方式来对属性数据进行存 动终端在G P S信息改变的时候能够被捕捉到, 然后使用Location储。
Manager 得到当前的GPS位置信息, 最后将地图定位到当前的GPS 表 1 Tracks 表的结构描述 指定位置, 并使用基于Overlay的MyOverlay将其显示在地图上; 2) 属性 类型 含义 备注 通过实现MyOverlay, 在地图上划出一个图层。
首先使用toPixels将 id IN T E G E R 主键 ID G P S 获取的G e o p o i n t 点转化为手机屏幕上的点坐标m y S c r e e n nam e tex t 名字 Coords, 然后使用Android的draw系列画出需要的标识即可; 3)实 desc tex t 描述 描述文字 现MyLocationListener。
定义一个MyLocationListener类实现Lo- distance long 距离 起点到终点的距离 cation Listener定义好的接口, 主要是实现一个onLocationChanged tracked_tim e long 已经跟踪的时间 locats_count IN T E G E R 跟踪点数 的方法, 当在G P S 位置信息发生改变的时候被调用, 将地图定位到 created_at IN T E G E R 创建时间 新的位置, 并使用Toast显示当前位置的坐标, 并使用MyOverlay将 updated_at IN T E G E R 更新时间 其显示在地图上。
avg_speed long 平均速度 m ax_speed long 最大速度 4 、结语 表2 locats表的结构描述 4.1 系统实现的功能 属性 数据类型 含义 备注 本文在谷歌手机导航的基础上, 重点引入了移动G I S的概念, id IN T E G E R 主键 主要实现了以下功能: (1)地图操作功能。
包括放大、 缩小、漫游、 鹰 track_id IN T E G E R 跟踪 ID 外键 眼、 显示全图、 距离测量、面积测量等; (2)数据查询功能。
包括查询定 longitude tex t 维度 (可以输入地点的名称, 位 , 定位到地图上具体位置)公交换乘查询 latitude tex t 经度 altitude tex t 偏差 (输入起点站和终点站, 可以显示车次, ; 并在图上显示出来)(3)实时 created_at IN T E G E R 创建时间 导航定位功能。
实时导航定位主要是为自驾用户服务, 当用户在一 个陌生的地方或是不熟悉路况的情况下, 可以将用户在地图上的位3、G PS 手机导航系统的实现 置在手机终端实时地显示出来。
并且可以输入起点和终点, 显示出 在本次实验中, 需要的软件环境及插件配置为: JDK1.6.0_10, 最短路径, 提供实时导航的功能。
Eclipse IDE for Java EE Developers, Android SDK 2.2,ADT- 4.2 改进的地方15.0.0,ArcGISAndroidSDK。
除此之外, 还需要配置java的环境变 (1)实时导航的实现。
可以在此基础上进一步完善, 实时地获得量。
本系统基于Android智能手机平台, 初步实现了位置跟踪、 实时 移动终端的移动方向、 最大速度和跟踪时间等。
定位和导航、 公交查询和换成等功能。
(2)与物联网相结合。
将该GPS 手机导航系统与物联网结合起 3.1 电子地图的设计和显示处理 来。
从具体的实现来看, 可以将每次跟踪导出为K M L 文件, 也可以 电子地图调用的是googleMap, 这需要在Eclipse环境中安装 每次更新位置.