《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之52---BREW SDK 九大功能之位置服务

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/5456712

LBS(基于位置的服务)是相对复杂的服务,但BREW实现起来却很简单,只提供了一个IPosDet接口就能够取得与位置相关的多种信息。PosDetLBS的支持主要是由手机中的GPSone模块提供的。手机中的GPSone软件模块结构如图11-9所示。

11-9手机中的GPSone软件模块结构

手机定位的模式有3种:基于手机的定位模式(MS-Based),手机辅助的定位模式(MS-Assisted)和独立手机的定位模式(standalone),其间的区别如表11-2所示。

MS-Assisted

MS-Based

Standalone

每次定位都要发送辅助数据到手机上

只有需要的时候,才会周期性地发送辅助数据到手机上

根本不需要辅助数据

 

手机接收GPS的区域信息,然后发送到网络服务器(PDE),由服务器完成最终的位置计算

手机既能接收GPS的区域信息,也能够完成位置的计算

 

完全由手机完成所有操作不需要网络服务器(PDE)的配合

  高度的GPS敏感度

  支持多种定位方法例如AFLT,因而损益最大

  每一次定位都需要建立数据呼叫连接

  只使用GPS卫星定位

  跟踪和导航时连续定位的反应时间短

  只需要很少量的数据呼叫连接

  增加了定位时间和耗电量

  减小了损益和精度

  不需要建立数据呼叫连接

在网络上完成定位

定位基本上在手机上完成

手机完成定位

  适用于定位频率较低的应用

  速度较慢

  满足多层次的定位需求

  适用于高频率定位的应用,速度快

  满足反复导航和快速跟踪的定位需求

最适合于手机不在运营商提供的无线网络服务区内

 

11-2 3种定位模式的比较

BREW 1.X就开始提供了对定位服务的接口,随着版本的升级,支持的手机定位功能也越来越丰富,BREW对定位服务提供的功能如表11-3所示。

BREW 版本

GPSone 模式

说明

BREW 1.X

Mobile-Assisted

支持有限的手机辅助GPSone定位数据(主要是经纬度)

BREW 2.0.X

Mobile-Assisted

支持全部的手机辅助定位功能,基于GPSone的定位数据也丰富了很多,除了经纬度,还有海拔,水平速率,垂直速率,不确定值等等,增加的操作模式有single shotTrack_Localtrack_networkDLOAD_First

BREW 2.1.0

BREW 2.1.1

Mobile-Assisted

增加了对方向性的支持(手机集成了罗盘的功能)和查询手机上支持的操作模式

BREW 2.1.2

Mobile-Assisted

Mobile-Based

开始支持MS-Based定位模式和智能操作模式,允许应用在使用GPSone时能够优化速度或者精度

BREW 3.0

Mobile-Assisted

Mobile-Based

增加了新的智能操作模式能够优化手机与定位服务器之间的数据交互,引入了新的操作模式Track_Optimal和新的优化方法Optimal_Payload, DLOAD_First增强了定位的频率

BREW 3.1.2

Mobile-Assisted

Mobile-Based

Standalone

增加了几个新的数据元素使定位信息更加具体化,同时开始支持standalone定位模式

BREW 3.1.4

Mobile-Assisted

Mobile-Based

Standalone

增加了读取E911所需的只读定位标识(通过IShell_GetDeviceInfoEx获得)

BREW 3.1.5

Mobile-Assisted

Mobile-Based

Standalone

更新了相关文档和使用用例

11-3BREW对定位服务提供的功能

针对不同的应用目的,在定位过程中的操作方法也是不同的,这样可以提高定位模式的使用效率。下面逐一给予说明,见表11-4

操作模式的值

说明

One_Shot

执行一次定位是默认操作方式,“Optim” 参数来确定使用 MS-Assisted 还是MS-Based

Track_Network

 执行一系列的MS-Assisted 定位

Track_Local

执行一系列的MS-Based 定位

Track_Optimal

gpsOne引擎选择MS-Based 或者 MS-Assisted依赖于优化的准则,可以使用户不必关心所有的定位数据细节

Track_Standalone

执行一系列stand-alone 定位

DLoad_First

只请求辅助信息而不发生定位操作,在用户不在网络服务区时或者在下载辅助数据来准备MS-Based 操作时非常有用

11-4定位过程中的不同操作方法

以中国联通运营基于BREWLBS业务作为示例,定位工作由四部分组成: 移动终端( 手机) GPS 卫星、基战、业务服务器, 地图服务器。其中基于MS-Assisted的定位操作模式工作流程如图11-10

11-10基于MS-Assistedd的定位操作模式工作流程

对于基于MS-Assisted的定位操作模式工作流程,这里给予简要的描述: (1)Gpsone 手机用户向所属的基战发出“ 自我定位”请求.(2)手机获得当前位置的经纬度.(3)手机用户向业务服务器发送经纬度.(4)业务服务器根据用户提交的经纬度向地图服务器发出位置请求.(5)地图服务器根据经纬度算出用户当前位置地图、将结果返回给业务服务器.(6)业务服务器将结果发送给定位用户.

目录
相关文章
|
4月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
284 1
|
4月前
|
编解码 缓存 开发工具
Pico Neo 3教程☀️ 三、SDK 的进阶功能
Pico Neo 3教程☀️ 三、SDK 的进阶功能
|
4月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
75 0
|
4月前
|
编解码 Linux 开发工具
大牛直播SDK跨平台RTMP直播推送模块技术设计和功能列表
大牛直播SDK是一款跨平台RTMP直播推送模块,支持Windows、Linux(x64_64与aarch64架构)、Android及iOS平台。该SDK功能全面,包括摄像头、屏幕、麦克风等数据采集与推送,并支持编码前后数据对接。其架构设计优秀,确保低延迟与高效率,结合SmartPlayer播放器实现毫秒级延迟体验。具备全自研框架,易于扩展且支持多种数据源接入,如外部YUV/RGB/H.264等格式。此外,各平台支持特性丰富,如Windows平台支持多摄像头合成,Android与iOS平台支持前后摄像头实时切换等。大牛直播SDK还提供了多个示例项目以帮助开发者快速上手。
101 0
|
4月前
|
编解码 开发工具 C#
[大牛直播SDK]Windows平台RTMP直播推送模块功能设计
大牛直播SDK采用全自研框架,具备高度可扩展性与自适应算法,显著降低延迟并提高采集编码效率。SDK以模块化设计,支持RTMP推流及多种音视频编码格式(如AAC、SPEEX、H.264、H.265),并能与播放器SDK组合实现丰富功能,包括流媒体转发、内置RTSP服务等。提供了详尽的参数配置选项,支持多摄像头、屏幕采集与水印叠加,并兼容Windows 7及以上操作系统。该SDK以C++/C#双接口形式提供,集成简便,同时包含调试与发布版本库,便于开发者快速上手。此外,支持断网重连、实时预览及多种编码前后的数据对接需求。
|
5月前
|
NoSQL 开发工具 数据库
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
开发与运维测试问题之应用启动报 Can not load this fake sdk class 的异常如何解决
|
6月前
|
API 开发工具
抖音sdk,抖音开发api接口
抖音sdk,抖音开发api接口
|
7月前
|
分布式计算 DataWorks 监控
DataWorks操作报错合集之DataWorks在调用java sdk的createFile功能时报错com.aliyuncs.exceptions.ClientException: 1201111000 如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
7月前
|
Java 开发工具 Maven
Android SDK开发的那些事(1),已整理成文档
Android SDK开发的那些事(1),已整理成文档
|
4月前
|
JavaScript 前端开发 Java
[Android][Framework]系统jar包,sdk的制作及引用
[Android][Framework]系统jar包,sdk的制作及引用
111 0