利用MapX组件实现手机定位的研究

更新时间:2023-07-21 19:52:02 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

移动定位技术

0引言1手机定位系统的实现

该部分将对系统所基于的移动定位平台提供商的移动定

所谓移动定位,其实质就是通过移动通信网和定位技术获取移动终端(如手机)的位置信息(主要是经纬度坐标数据)。而在目前,移动通信技术成熟而又健壮,用其与定位技术相结合来提供移动定位位置服务,对个人及社会的各方面都具有重要意义。其意义性在于:①在安全领域,它不仅是保障个人人身安全和财产安全的需要,而且是保证社会公共安全的需要(如通过移动定位发起紧急救援或向处于危险区域的移动用户发布警报信息等);②在跟踪方面,警方通过移动定位来跟踪犯罪嫌疑人或寻找走失人员等;在个性化服务行业,可以进行基于位置的差别收费与基于位置的信息服务等;③在交通领域,移动定位更是进行智能交通建设、获取实时交通数据、发布实时交通信息的一项重要技术。正是移动定位对人类社会生活具有的这些重大意义,以及当前第3代通信时代(3G)的到来其即将产生的对人类更为深刻而又广泛的影响,使其成为当前关注的热点。然而由于定位目标不同,所采用的移动终端也不同,移动终端可以有手机、其它手持终端或车载终端等。在本文中,移动终端是采用手机,主要是考虑到定位目标主要是个体移动用户,再者也便于进行仿真试验。下面将对此手机定位系统的设计、实现方法及仿真实验的结果做具体的描述。

位平台系统(mobilepositioningsystem,和实现系统时所MPS)使用的核心组件仅做简要描述,而对系统的体系结构和关键部分的实现则进行较为详细的描述。

1.1Ericsson的MPS简介

目前,移动定位平台的提供商有Ericsson、Siemens、KDDI和NEC等,而在本系统中选用Ericsson的MPS。因为Ericsson的MPS不仅是基于现有的GSM网络的国际上最先进的移动定位系统之一[1],而且具有其特有的系统优越性。从文献[2]可知:并且其Ericsson的移动定位系统能适用于所有GSM手机,系统具有一套开放定位标准,具有良好的可扩展性能,能与现在以及将来其它各种定位方式实现无缝集成。它是一种基于移动终端的定位系统,能够确定手机的位置而无需对手机做出修改。

运行于HLR上的Ericsson的MPS由基于服务器的MPC、

支撑软件及扩展软件、MSC/VLR和BSC共4个部分组成。其

中的核心部分——MPC由两部分组成:移动定位网关中心(Ga-tewayMobilePositioningCenter,GMPC)和移动定位服务中心(ServingMobilePositioningCenter,SMPC)。GMPC主要是接收用户请求、处理用户认证、进行权限检查以及生成账单数据,

收稿日期:2005-03-17。

作者简介:毛斐巧(1980

-1631-

移动定位技术

它提供了一套标准的应用接口协议将MPC与各种位置服务应用分离,从而使得位置服务应用不做任何调整就可利用各种定位技术;SMPC的功能主要是通过移动通信网与辅助的定位技术计算出移动终端的实际位置。而MSC/VLR用于提供一条GMPC与SMPC之间信息传输的逻辑通道。这4部分协同工作为不同的位置服务应用提供一个移动定位平台,下面就是在该平台上进行手机定位的应用。

向Ericsson的MPS发送并接收定位请求。下面针对这几部分给出在VisualC++6.0可视化开发环境中的详细实现方法。

当在用户界面中输入的欲定位的手机号码是8613666666667时:

(1)生成的RequestDTD<?xmlversion='1.0'?>

<!DOCTYPEREQSYSTEM\"file://mpp50_req.dtd\"><REQver=\"5.00\"><CLIENT><ID>aUser</ID><PWD>aPwd</PWD></CLIENT><LIR><MSIDS>

<MSID>8613666666667</MSID></MSIDS></LIR></REQ>

(2)发送并接收定位请求try{

(SERVER_IP”pServer=session.GetHttpConnection“,1,SER-VER_PORT,NULL,NULL);

pFile=pServer->OpenRequest(0,"newRequest",NULL,1,NULL,NULL,INTERNET_FLAG_EXISTING_CONNECT);//向MPS建立连接实体

pFile->SendRequest(requestHead,strlen(requestHead),request-Body,strlen(requestBody));//发送请求,requestBody的内容就是生成的RequestDTD

if(pFile){//获得应答内容

charbuffer[1000];

1.2MapX简介

定出手机的地理位置之后在桌面地图上直观地显示出来需要一种软件编程技术来实现。而在本系统中是采用基于组件的软件开发技术来编程实现,MapX就是在编程实现系统时所基于的组件。MapX是MapInfo公司向软件开发人员提供的具有强大地图分析功能的ActiveX可编程组件,它采用基于可以实现MapInfoMapInfoProfessional的相同的地图化技术,

易用、Professional具有的绝大部分地图编辑和空间分析功能,稳定且健壮,只需在设计阶段将MapX组件嵌入到VC或PB等可视化开发环境中,对其进行编程、设置属性或调用方法或相应事件即可实现数据可视化、专题分析、地理查询、自动标注、任意放大、缩小和漫游地图等[3]。

1.3系统体系结构

该手机定位系统是基于C/S的工作模式,采用嵌入式组

件开发技术与网络通信编程技术实现。系统共分为3个层次(如图1所示):①表示层:实现软件系统的用户界面,进行对地图的基本操作,管理定位日志信息,生成符合MPP5.0协议所规定的定位RequestDTD与AnswerDTD;②信息服务层:保存定位信息并提供进行定位日志管理所必需的信息,同时提供访问Ericsson的MPS所必须遵守的移动定位协议;③信息提供层:由Ericsson的MPS组成,提供所请求定位手机的地理位置信息。

for(inti=0;i<900;i++)buffer[i]=0;pFile->Read(buffer,900);mContent="";mContent=buffer;}pFile->Close();

pServer->Close();}

catch(CInternetException*pEx){

TCHARszErr[1024];

pEx->GetErrorMessage(szErr,1024);MessageBox(szErr,_T("错误"));pEx->Delete();}

(3)解释AnswerDTD并在地图上显示出位置

经解释后AnswerDTD也就是应答变量mContent中的内容,知从MPS响应回的定位请求数据为:

TIME:20040406010655MSID:8613666666667LAT:N23.1810LONG:E114.2435IN_RAD:0OUT_RAD:550START_ANG-LE:150STOP_ANGLE:270然后使用MapX组件调出地图:try{

m_CtrlMapX.Create(NULL,WS_VISIBLE,CRect(0,0,(STAT-

图1系统体系结构

在用户界面输入欲定位的手机号码,系统一方面向定位日志数据库输入定位请求信息,另一方面生成RequestDTD,然后遵循MPP5.0通过网络通信向MPS的GMPC发送目标手机的定位请求;MPS收到定位请求后,由SMPC通过其移动通信网及所采用的定位技术计算出目标手机的地理位置数据,返回请求响应到系统的表示层,最后表示层解释AnswerDTD,并调用MapX组件在用户界面的地图上显示出目标手机的位置。

1.4关键部分的实现

在系统的实现过程中,关键部分是如何对MapX组件进

行编程调出地图,并在地图上显示出手机的位置;如何按照移动定位协议的规定生成RequestDTD,解释AnswerDTD;如何

-1632-

移动定位技术

表1

手机号码86136666666668613666666667861366666666686136666666688613666666667

定位时间(年月日时分秒)2004040612582820040407014102200404070145552004040701430920040413061316

纬度(单位度)23.111723.110023.051623.053323.1117

部分系统仿真运行的结果

经度(单位度)114.3016113.5846114.3131114.3530114.3016

内径(单位m)

00000

外径(单位m)532532532532532

起始角(单位度)150303030150

结束角(单位度)270150150150270

ICINFO-10),SHOWBOTTOM),this,IDC_MAP);

m_CtrlMapX.SetGeoSet(_T("广州"));m_CtrlMapX.SetTitleText("");}catch(COleDispatchException*e){

e->ReportError();e->Delete();}

果就不够精确。

3结束语

由移动定位所提供的位置服务具有广泛的应用前景,

在实际应用过程中可根据应用目的的不同来选择移动终端。虽移动终端发生改变,但该手机定位系统仍然适用,只需将手机终端更换成相应的终端即可。因为该系统是不依赖于移动终端的,是基于网络的移动定位,而不是基于移动终端的移动定位。因此笔者所设计实现的系统具有一定范围内的通用性。然而系统现在也存在一个问题,就是当手机处于移动基站分布稀疏的地方时,系统定位精度会严重下降。不过这个问题可以通过两种办法解决:①更换MPS所采用的定位技术;②通过寻找合适的地图匹配算法来解决。因该系统是基于Ericsson的MPS,可以与现在或将来其它任

[8]和何定位技术进行无缝的集成,但问题是根据文献[7]、[9]可知目前现有的定位技术均不是精确而完美的,都有其自身的局限性,因此第1种解决方法在当前是不可行的。至于如何通过第2种办法来解决这个问题正是笔者进一步要研究的内容。

再在地图上显示出目标位置,并使目标位置在桌面上居中突出显示:

CmapXFeaturesquare=p->m_CtrlMapX.GetFeatureFactory().CreateRegion(Points,SquareStyle);m_lyr.AddFeature(square);

m_lyr.GetSelection().SelectAll(0);

p->m_CtrlMapX.SetCenterX(Ftr_X);p->m_CtrlMapX.SetCenterY(Ftr_Y);p->m_CtrlMapX.Refresh();

其中,Points变量中存放的是手机所在地理位置的经纬度值转化为地图坐标后的数据。

2仿真平台上运行的结果

Ericsson专门为应用系统开发者提供了一个供测试使用,模拟其MPS功能的仿真平台——MPCEmulator。装好Java虚拟机,采用的是j2sdk1.4.0,因系统使用的是MPCEmulatorVer-对Java2SDK1.3及其以上版本均支持。配置好环境sion5.0,

变量后启动仿真器,相当于Ericsson的MPS已运行起来,随时接收并响应用户的定位请求。因运行仿真器的主机IP是202.38.215.151,那么在第1.4节中的发送定位请求时的SER-当从用户界面在不同时间输入目标手VERIP就是此IP地址。

机号码进行定位时得到对应的定位数据,下面给出部分结果如表1所示。

因为在仿真平台上运行时Ericsson的MPS采用的是CGI+TA的定位技术,所以得到的定位数据描述的是手机所在地理位置的一块弧形区域。其中,纬度值和经度值给出手机所处位置移动基站的确切地理位置,也就是该弧形区域的圆心点;内径值给出该弧形区域的内圆半径长度,外径值给出该弧形区域的外圆半径长度;起始角给出该弧形区域起始半径相对水平向右方向按逆时针顺序的偏移角度大小,结束半径给出该弧形区域结束半径相对水平向右方向按逆时针顺序的偏移角度大小。对于这种定位技术定出的结果:当手机处于市区内,因移动基站分布密集,定出的结果精确度较高,而当手机处于距市区偏远区域时,由于移动基站分布很稀疏,定出的弧形区域偏大,定位结

参考文献:

[1][2][3][4][5][6][7]

路菁.爱立信的移动定位系统[J].电子科技,2000,(6):11-13.

Ericsson.MPS-G5.0productdescription[EB/OL]..

刘光.地理信息系统——组件开发篇[M].北京:中国电力出版社,2003.1-5.

Wylie-GreenMP,WangP.GSMmobilepositioningsimulator[J].WirelessInternetAccess,IEEE,2000,(10-11):5.

EricssonMPCemulatorversion5.0userguide[EB/OL]..

江晓平,钟军.VisualC++网络通信协议分析与应用实现[M].北京:人民邮电出版社,2003.42-53.

HepsaydirE.AnalysisofmobilepositioningmeasurementsinCDMAcellularnetworks[C].RadioandWirelessConference,1999.73-76.[8]

CongL,ZhuangW.HybridTDOA/AOAmobileuserlocationforwidebandCDMAcellularsystems[J].IEEETransitionWire-lessCommunication,2002,1(3):439-447.[9]

WangSS,GreenM,MalkawiM.Mobilepositioningtechnolo-giesandlocationservices[C].RadioandWirelessConference,2002.9-12.

-1633-

本文来源:https://www.bwwdw.com/article/xlcm.html

Top