大量用户快速定位方法及其装置与流程

文档序号:14043028阅读:173来源:国知局

本发明涉及移动通信技术领域,具体涉及一种大量用户快速定位方法及其装置。



背景技术:

在移动通信领域,快速定位大量用户处于哪个蜂窝网格是目前最大的挑战。针对用户的快速定位,目前主要有以下两种方法,(1)基于墨卡托平面坐标系,计算用户(点)到所有蜂窝网格中心点的距离,找出最近的距离来判定用户处于哪个蜂窝网格,其计算量巨大,无法针对大批量用户进行定位计算;(2)基于用户点的平面位置圈定用户在平面坐标系上、下、左、右的范围,即使只偏移一个单位,也需要计算4-10次用户(点)到蜂窝网格中心店的距离,且针对大量用户进行定位时,由于涉及蜂窝网格维表关联,其计算量仍然巨大。



技术实现要素:

本发明实施例的目的在于提供一种大量用户快速定位方法及其装置,以减少用户定位计算量,实现大量用户的快速定位。

为实现上述目的,第一方面,本发明实施例提供了一种大量用户快速定位方法,包括以下步骤:

获取平面地图以确定基准点位置,并对平面地图进行分割以得到蜂窝网格图,所述蜂窝网格图包括多个蜂窝网格;

对所述蜂窝网格图进行结构分割与转化处理以得到矩形网格图,所述矩形网格图包括多个矩形网格;

获取用户点位置,并基于所述基准点位置及用户点位置确定目标矩形网格,所述目标矩形网格为所述用户点位置在所述矩形网格图中所处的网格位置;

根据所述目标矩形网格确定初始蜂窝网格,所述初始蜂窝网格与所述用户点位置相关;

根据所述用户点位置及初始蜂窝网格确定目标蜂窝网格以实现用户定位。

作为一种可选的实施方式,获取用户点位置具体包括:

获取用户ott数据,并解析所述用户ott数据以得到用户点位置。

作为一种可选的实施方式,所述初始蜂窝网格包括三个,根据所述用户点位置及初始蜂窝网格确定目标蜂窝网格具体包括:

确定三个所述初始蜂窝网格之间的相交点;

计算所述用户点位置与所述相交点的方向角以确定所述目标蜂窝网格。

作为一种可选的实施方式,所述初始蜂窝网格包括两个,根据所述用户点位置及初始蜂窝网格确定目标蜂窝网格具体包括:

确定两个所述初始蜂窝网格之间的相交线;

计算所述用户点位置与所述相交线的位置关系以确定所述目标蜂窝网格。

第二方面,本发明实施例还提供了一种大量用户快速定位装置,包括:

分割模块,用于获取平面地图以确定基准点位置,并对平面地图进行分割以得到蜂窝网格图,所述蜂窝网格图包括多个蜂窝网格;

处理模块,用于对所述蜂窝网格图进行结构分割与转化处理以得到矩形网格图,所述矩形网格图包括多个矩形网格;

获取模块,用于获取用户点位置,并基于所述基准点位置及用户点位置确定目标矩形网格,所述目标矩形网格为所述用户点位置在所述矩形网格图中所处的网格位置;

确定模块,用于根据所述目标矩形网格确定初始蜂窝网格,所述初始蜂窝网格与所述用户点位置相关;

定位模块,用于根据所述用户点位置及初始蜂窝网格确定目标蜂窝网格以实现用户定位。

作为一种可选的实施方式,所述获取模块具体用于:

获取用户ott数据,并解析所述用户ott数据以得到用户点位置。

作为一种可选的实施方式,所述初始蜂窝网格包括三个,所述定位模块具体用于:

确定三个所述初始蜂窝网格之间的相交点;

计算所述用户点位置与所述相交点的方向角以确定所述目标蜂窝网格。

作为一种可选的实施方式,所述初始蜂窝网格包括两个,所述定位模块具体用于:

确定两个所述初始蜂窝网格之间的相交线;

计算所述用户点位置与所述相交线的位置关系以确定所述目标蜂窝网格。

本发明实施例所提供的大量用户快速定位方法及其装置,对蜂窝网格图进行结构分割与转化处理得到矩形网格图,进一步地基于矩形网格图对用户点位置进行初步定位(初始蜂窝网格)及再次定位(目标蜂窝网格),减少了每个用户定位的计算量,实现了大量用户的快速定位。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。

图1是本发明第一实施例提供的大量用户快速定位方法的示意流程图;

图2是本发明第二实施例提供的大量用户快速定位方法的示意流程图;

图3是第一种墨卡托平面西坐标示意图;

图4是本发明第三实施例提供的大量用户快速定位方法的示意流程图;

图5是第二种墨卡托平面西坐标示意图;

图6是本发明第一实施例提供的大量用户快速定位装置的结构示意图。

具体实施方式

下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只是作为示例,而不能以此来限制本发明的保护范围。

需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。

请参考图1,是本发明第一实施例所提供的大量用户快速定位方法的流程示意图,如图所示,该方法可以包括如下步骤:

s101,获取平面地图以确定基准点位置,并对平面地图进行分割以得到蜂窝网格图。

其中,蜂窝网格图包括多个蜂窝网格。

s102,对蜂窝网格图进行结构分割与转化处理以得到矩形网格图。

其中,矩形网格图包括多个矩形网格。

s103,获取用户点位置,并基于基准点位置及用户点位置确定目标矩形网格。

其中,目标矩形网格为用户点位置在所述矩形网格图中所处的网格位置。

s104,根据目标矩形网格确定初始蜂窝网格。

其中,初始蜂窝网格与用户点位置相关。

s105,根据用户点位置及初始蜂窝网格确定目标蜂窝网格以实现用户定位。

实施本发明实施例所提供的大量用户快速定位方法,对蜂窝网格图进行结构分割与转化处理得到矩形网格图,进一步地基于矩形网格图对用户点位置进行初步定位(初始蜂窝网格)及再次定位(目标蜂窝网格),减少了每个用户定位的计算量,实现了大量用户的快速定位。

请参考图2,是本发明第二实施例所提供的大量用户快速定位方法的流程示意图,如图所示,该方法可以包括如下步骤:

s201,获取平面地图以确定基准点位置,并对平面地图进行分割以得到蜂窝网格图。

s202,对蜂窝网格图进行结构分割及转化处理以得到矩形网格图。

其中,蜂窝网格图包括多个蜂窝网格,矩形网格图包括多个矩形网格。具体地,通过gis系统获取任一地区的平面地图,基于该平面地图构建如图3所示的墨卡托平面坐标系以确定出一基准点位置,该基准点位置通常是墨卡托平面坐标系的原点位置,也可以用该地区矩形平面地图的四个顶点之一作为基准点。进一步地,在墨卡托平面坐标系上,以正六边形方式对平面地图进行结构分割及转化处理以得到多个蜂窝网格,从而形成蜂窝网格图。

具体地,蜂窝网格图中的六边形边长为d,用hg表示,hg_id为蜂窝网格编码,hg_xno为蜂窝网格x轴序号,hg_yno为蜂窝网格y轴序号。

进一步地,对于蜂窝网格图,采用地区编码+5位y坐标+5位x坐标的方式进行编码,需要说明的是,对蜂窝网格图进行编码的目的是为了计算和表征是哪个网格。其中,编码关键在于蜂窝网格的中心点相对于基准点的相对位置(hg_xno,hg_yno),地区编码可以采用地区行政编码等进行唯一表示(例如,重庆为50)。本实施例中,将基准点作为蜂窝网格(1,1)的中心点。

具体地,将y坐标为奇数相邻网格(hg_xno,hg_yno)和(hg_xno+1,hg_yno)的中心点,与(hg_xno,hg_yno-1)网格中心点构建如图3所示的平面矩形a,将平面矩形a分割为如图3所示的、多个矩形的栅格b,用sg表示,sg_id为栅格编码,sg_xno为栅格x轴序号,sg_yno为栅格y轴序号,x轴上矩形边长y轴上矩形边长dy=1.5d。

s203,获取用户点位置,并基于基准点位置及用户点位置确定目标矩形网格。

具体地,先获取用户ott数据,并对其解析以得到用户点位置。ott数据为overthetop,指通过互联网想用户提供各种应用服务,地图app是其中一种应用服务。当用户使用地图app等时,网关会获取用户ott数据,对用户ott数据进行解析以得到用户点位置。

进一步地,基于用户点的位置(x,y)及基准点的位置(x0,y0),可以确定出目标矩形网格为图3所示的黑色粗线部分。

s204,根据目标矩形网格确定三个初始蜂窝网格。

其中,初始蜂窝网格与用户点位置相关。具体地,根据目标矩形网格确定三个初始蜂窝网格包括:

(1)(x–x0)/dx+1可以得到目标矩形网格x坐标上的序号sg_xno,(y-y0)/dy+1可以得到目标矩形网格y坐标的序号hg_yno;

(2)当sg_yno为奇数时,三个初始蜂窝网格为(sg_xno,sg_yno)、(sg_xno+1,sg_yno)、(sg_xno,sg_yno+1);

(3)当sg_xno为偶数时,三个初始蜂窝网格为(sg_xno,sg_yno)、(sg_xno+1,sg_yno+1)、(sg_xno,sg_yno+1)。

根据以上描述确定出的三个初始蜂窝网格是图3中的s1、s2及s3,图3中点u表示用户点位置。需要说明的是,确定出与用户点位置相关的三个初始蜂窝网格,相当于实现了用户点位置的初步定位,后续步骤基于该三个初始蜂窝网格,进一步地确定用户点位置属于哪个蜂窝网格内,以实现用户点位置的最终定位。

s205,确定三个初始蜂窝网格之间的相交点。

s206,计算用户点位置与所述相交点的方向角以确定目标网格。

具体地,步骤s205分以下两种情况:

第一种:当sg_yno为奇数时,三个初始蜂窝网格交点为(((sg_xno-1)*dx+0.5dx),((sg_yno–1)*dy+1/3dy)),北向顺时针方向角在0-120度网格为(sg_xno+1,sg_yno),在120-240度网格为(sg_xno,sg_yno+1),在240-360度网格为(sg_xno,sg_yno)。

第二种,当sg_yno为偶数时,三个蜂窝状网格交点为(((sg_xno-1)*dx+0.5dx),((sg_yno–1)*dy+2/3dy)),北向顺时针方向角在0-60度网格为(sg_xno,sg_yno),在60-180度网格为(sg_xno+1,sg_yno+1),在180-300度网格为(sg_xno,sg_yno+1),300-360度网格为(sg_xno,sg_yno);

北向方向角求解用户位置(x1,y1),求方向角基准点(x0,y0):

当x1=x0且y1=y0时,两点重合无方向角;

当y1=y0且x1>x0时,为90度;

当y1=y0且x1<x0时,为270度;

当x1>=x0,y1>y0时,arctan((x1-x0)/(y1-y0));

当x1>=x0,y1<y0时,180+arctan((x1-x0)/(y1-y0));

当x1<x0,y1<y0时,180+arctan((x1-x0)/(y1-y0));

当x1<x0,y1>y0时,360+arctan((x1-x0)/(y1-y0))。

实施本发明实施例所提供的大量用户快速定位方法,对蜂窝网格图进行结构分割及转化处理得到矩形网格图,进一步地基于矩形网格图对用户点位置进行初步定位(初始蜂窝网格)及再次定位(目标蜂窝网格),减少了每个用户定位的计算量,实现了大量用户的快速定位。

请参考图4,是本发明第二实施例所提供的大量用户快速定位方法的流程示意图,如图所示,该方法可以包括如下步骤:

s401,获取平面地图以确定基准点位置,并对平面地图进行分割以得到蜂窝网格图。

s402,对蜂窝网格图进行网格编码以得到矩形网格图。

其中,蜂窝网格图包括多个蜂窝网格,矩形网格图包括多个矩形网格。具体地,通过gis系统获取任一地区的平面地图,基于该平面地图构建如图5所示的墨卡托平面坐标系以确定出一基准点位置,该基准点位置通常是墨卡托平面坐标系的原点位置,也可以用该地区矩形平面地图的四个顶点之一作为基准点。进一步地,在墨卡托平面坐标系上,以正六边形方式对平面地图分割以得到多个蜂窝网格,从而形成蜂窝网格图。

具体地,蜂窝网格图中的六边形边长为d,用hg表示,hg_id为蜂窝网格编码,hg_xno为蜂窝网格x轴序号,hg_yno为蜂窝网格y轴序号。

进一步地,对于蜂窝网格图,采用地区编码50+5位y坐标+5位x坐标的方式进行编码,其中,编码关键在于蜂窝网格的中心点相对于基准点的相对位置(hg_xno,hg_yno),地区编码可以采用地区行政编码等进行唯一表示(例如,重庆为50)。本实施例中,将(1,1)作为蜂窝网格的中心点。

具体地,将y坐标为奇数相邻网格(hg_xno,hg_yno)和(hg_xno+1,hg_yno)的中心点,与(hg_xno,hg_yno-1)网格中心点构建如图5所示的平面矩形c,将平面矩形c分割为如图5所示的、多个矩形的栅格d,用sg表示,sg_id为栅格编码,sg_xno为栅格x轴序号,sg_yno为栅格y轴序号,矩形x轴边长矩形y轴边长dy=1.5d。

s403,获取用户点位置,并基于基准点位置及用户点位置确定目标矩形网格。

具体地,先获取用户ott数据,并对其解析以得到用户点位置。进一步地,基于用户点的位置(x,y)及基准点的位置(x0,y0),可以确定出目标矩形网格为图5所示的黑色粗线部分。

s404,根据目标矩形网格确定两个初始蜂窝网格。

其中,初始蜂窝网格与用户点位置相关。具体地,根据目标矩形网格确定两个初始蜂窝网格包括:

(1)(x–x0)/dx+1可以得到目标矩形网格x坐标上的序号sg_xno,(y-y0)/dy+1可以得到目标矩形网格y坐标的序号hg_yno;

(2)当sg_yno为奇数且sg_yno为奇数时,两个初始蜂窝网格为((sg_xno+1)/2,sg_yno)、((sg_xno+1)/2,sg_yno+1);

(3)当sg_yno为奇数且sg_yno为偶数时,两个初始蜂窝网格为((sg_xno+1)/2,sg_yno)、((sg_xno+1)/2,sg_yno+1);

(4)当sg_yno为偶数且sg_yno为奇数时,两个初始蜂窝网格为(sg_xno/2+1,sg_yno)、(sg_xno/2,sg_yno+1);

(5)当sg_yno为偶数且sg_yno为偶数时,两个初始蜂窝网格为(sg_xno/2,sg_yno)、(sg_xno/2+1,sg_yno+1);

根据以上描述确定出的两个初始蜂窝网格是图5中的s4及s5,图5中点u表示用户点位置。需要说明的是,确定出与用户点位置相关的两个初始蜂窝网格,相当于实现了用户点位置的初步定位,后续步骤基于该两个初始蜂窝网格,进一步地确定用户点位置属于哪个蜂窝网格内,以实现用户点位置的最终定位。

s405,确定两个初始蜂窝网格之间的相交线。

s406,计算用户点位置与所述相交线的位置关系以确定目标网格。

为更好地描述步骤s405及s406,对相关原理做以下描述:

具体地,步骤s405分以下两种情况:

第一种:当sg_yno+sg_yno为奇数时,两个网格的相交线为左下至右上倾斜的斜线,斜线的左下点为(((sg_xno-1)*dx),((sg_yno-1)*dy+1/3dy)),计算用户所在点到该点的斜率,当斜率大于时,用户网格为上面的网格即当sg_yno为奇数且sg_yno为偶数时,网格为((sg_xno+1)/2,sg_yno+1),当sg_yno为偶数且sg_yno为奇数时,网格为(sg_xno/2,sg_yno+1);当斜率小于等于时,用户网格为下面的网格即当sg_yno为奇数且sg_yno为偶数时,网格为((sg_xno+1)/2,sg_yno),当sg_yno为偶数且sg_yno为奇数时,网格为(sg_xno/2+1,sg_yno)。

第二种,当sg_yno+sg_yno为偶数时,两个网格的相交线为左上至右下倾斜的斜线,斜线的左下点为(((sg_xno-1)*dx),((sg_yno-1)*dy+2/3dy)),计算用户所在点到该点的斜率,当斜率大于时,用户网格为上面的网格即当sg_yno为奇数且sg_yno为奇数时,网格为((sg_xno+1)/2,sg_yno+1),当sg_yno为偶数且sg_yno为偶数时,网格为(sg_xno/2+1,sg_yno+1);当斜率小于等于时,用户网格为下面的网格即当sg_yno为奇数且sg_yno为偶数时,网格为((sg_xno+1)/2,sg_yno),当sg_yno为偶数且sg_yno为奇数时,网格为(sg_xno/2,sg_yno);

斜率求解用户位置(x1,y1),求斜率基准点(x0,y0):

当x1=x0且y1=y0时,两点重合

当x1=x0且y1>y0时,斜率为+∞

当x1=x0且y1<y0时,斜率为-∞

当x1<>x0时k=(y1–y0)/(x1–x0)。

实施本发明实施例所提供的大量用户快速定位方法,对蜂窝网格图进行结构分割及转化处理得到矩形网格图,进一步地基于矩形网格图对用户点位置进行初步定位(初始蜂窝网格)及再次定位(目标蜂窝网格),减少了每个用户定位的计算量,实现了大量用户的快速定位。

请参考图6,是本发明第一实施例提供的大量用户快速定位装置的结构示意图,如图所示,该定位装置包括:

分割模块10,用于获取平面地图以确定基准点位置,并对平面地图进行分割以得到蜂窝网格图,蜂窝网格图包括多个蜂窝网格;

处理模块11,用于对蜂窝网格图进行结构分割与转化处理以得到矩形网格图,矩形网格图包括多个矩形网格;

获取模块12,用于获取用户点位置,并基于基准点位置及用户点位置确定目标矩形网格,目标矩形网格为所述用户点位置在矩形网格图中所处的网格位置;

确定模块13,用于根据目标矩形网格确定初始蜂窝网格,初始蜂窝网格与所述用户点位置相关;

定位模块14,用于根据用户点位置及初始蜂窝网格确定目标蜂窝网格以实现用户定位。

具体地,获取模块12具体用于:

获取用户ott数据,并解析用户ott数据以得到用户点位置。

具体地,初始蜂窝网格包括三个,定位模块14具体用于:

确定三个初始蜂窝网格之间的相交点;

计算用户点位置与相交点的方向角以确定目标网格。

可选地,初始蜂窝网格包括两个,定位模块14具体用于:

确定两个初始蜂窝网格之间的相交线;

计算用户点位置与相交线的位置关系以确定目标网格。

本发明实施例所提供的大量用户快速定位装置,对蜂窝网格图进行结构分割及转化处理得到矩形网格图,进一步地基于矩形网格图对用户点位置进行初步定位(初始蜂窝网格)及再次定位(目标蜂窝网格),减少了每个用户定位的计算量,实现了大用户量的快速定位。

需要说明的是,本实施例中大量用户快速定位装置的具体工作流程请参考方法部分的描述,在此不再赘述。

以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1