CN111141294A - 一种基于位置编码运动轨迹比对的方法 - Google Patents
一种基于位置编码运动轨迹比对的方法 Download PDFInfo
- Publication number
- CN111141294A CN111141294A CN201911378170.2A CN201911378170A CN111141294A CN 111141294 A CN111141294 A CN 111141294A CN 201911378170 A CN201911378170 A CN 201911378170A CN 111141294 A CN111141294 A CN 111141294A
- Authority
- CN
- China
- Prior art keywords
- coding
- distance
- points
- point
- motion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开一种基于位置编码运动轨迹比对的方法,基于一种坐标编码方法,对目标地图进行区域编码,经过处理后的位置编码,是一组由四进制数字编码转化来的十进制数字编码,运动轨迹是由一系列的位置编码表示,将运动轨迹的比对转化为轨迹间点与点的位置编码比对;运动轨迹比对精度可控,对编码区域中两点之间距离进行计算,进而能够用于对两条或者更多的运动轨迹进行比对,位置编码适用于计算机信息系统中存储运行和计算,采用基于本发明所述位置编码计算两点的距离和轨迹比对,速度快,而且数据准确,能够用于大规模运动轨迹或位置信息的比对,采用本发明在解决不同运动轨迹的比对问题时,便于理解、节省存储空间及传送流量。
Description
技术领域
本发明属于地理位置技术领域,具体涉及一种基于位置编码运动轨迹比对的方法。
背景技术
随着网络移动化的不断发展,各种各样的运动社交APP、智能手环开始走进人们的生活。各式各样LBS(基于地理位置场景的服务)的应用越来越多,运动轨迹的比对是其中一种位置信息挖掘的重要技术,如基于运动轨迹的朋友推荐、约跑等功能。
目前,位置提供商提供位置信息时,是通过GPS或北斗全球定位系统确定的坐标数据,这类数据是用经度和纬度表示,如:121.2394E,80.7901N。这种数据在存储时占据的空间较大,不便于在信息系统中传输,查找位置目标时,速度也比较慢。在大规模位置运动位置轨迹信息的比对上,也存在较多的问题。
发明内容
本发明的目的在于克服背景技术中的不足,提供一种基于位置编码运动轨迹比对的方法,在一种方便地图查找、形象直观、容易存储和传递的地理位置编码方法基础上,更容易解决大规模用户运动轨迹的比对。
为了实现上述目的,本发明采用的技术方案是,一种基于位置编码运动轨迹比对的方法,包括以下步骤:
S1,对目标地图进行区域编码
获取目标地图,目标地图内建立位置编码信息,得到带有位置编码信息的目标地图,并将目标位置数据信息与目标地图进行匹配,得到目标位置对应的位置编码信息;
S2,计算编码位置距离
根据S1所得位置编码信息,运动轨迹的表示要素为位置编码序列,通过一串有顺序的位置编码来实现轨迹的表示,将运动轨迹的比对要素转换为点与点之间的距离计算;
S3,运动轨迹比对
在S2进行计算编码位置距离计算基础上,实现两个位置编码间的距离比较,两条运动轨迹的比对转换为真实距离估算或层级邻域距离计算,采用第一运动轨迹中的轨迹点与第二运动轨迹中的轨迹点逐个进行比对,如果两条运动轨迹之间的轨迹点的距离小于阈值或满足精度的局域相邻,则视为两点为同一位置,如果两条运动轨迹中有位置相同的点,则对相同位置点之后的轨迹点逐对进行比对,直至某一对的轨迹点之间的距离大于阈值,则从第一个位置相同的轨迹点到距离大于阈值轨迹点之前的运动轨迹重合;如果找不到位置相同的轨迹点,则两条轨迹没有重合的部分。
S1中,确定四个基准坐标,基准坐标将目标区域包围,四个基准坐标依次连线,形成一个矩形待编码区域,以四个基准坐标为矩形的四个顶点;以矩形中心为原点,建立二维坐标系,坐标轴平行于矩形的长边和宽边,将矩形分为四个相同的区域,四个区域分别对应二维坐标系的四个象限,以象限数代表四个区域的编码;以同样的方法,分别对四个区域进行划分和编码,逐层细分;得到一个划分n层的位置编码地图,位置编码地图中的每个子区域用一个n位编码数表示;最终得到的区域中每层级下子区域的大小和形状相同,n不小于2。
基准坐标满足四个基准坐标组成一个矩形;四个基准坐标与目标位置编码组合,可以实现对任意位置的编码。
根据不同的精度要求,编码的位数增加一位,精度提高一倍,精度动态的调节范围可以是基准坐标区域边长的2的-n次方。
将目标地图划分为p个一级等分编码区域,p为2或x2,x为不小于2的整数。
S2中,采用距离算法计算点与点之间的距离,距离计算法通过计算x、y轴的投影差由所述公式给出真实的距离估算,比对所述轨迹序列点间的真实差。
S2中,两个编码点间真实的距离是通过如下公式计算得到:
其中Mx、My和Nx、Ny分别是两点编码在x轴和y轴上的投影,sx、sy是编码M和N在x方向和y方向上的精度,所述精度为边长的2的-n次方。
S2中,采用邻域编码算法计算点与点之间的距离,邻域编码计算法给出最大层级相邻,将层级划分与邻域的结合起来,编码的区域逐渐扩展至相邻,利用此时的层级代表两点间的远近程度,层级数越大,代表两点越近,反之越远。
运动轨迹的编码信息中包含时间信息,形成时空编码。
计算两点之间的实际距离时,将位置编码转换为二进制数值,在将二进制数值转换为十进制数值。
与现有技术相比,本发明至少具有以下有益效果:
本发明实现在基于对地图进行区域编码的基础上,提供对编码区域中两点之间距离的计算方法,进而能够用于对两条或者更多的运动轨迹进行比对,位置编码适用于计算机信息系统中存储运行和计算,采用基于本发明所述位置编码计算两点的距离和轨迹比对,速度快,而且数据准确,能够用于大规模运动轨迹或位置信息的比对,能广泛用于查找位置、运动轨迹复原、获取某一区域内某一时间段内用户活动情况和路径建议基础服务。
进一步的,所述的地理位置编码方法可以应用于软件应用开发,尤其是与大规模个体位置表征及运动轨迹比对这类问题相关的应用。
附图说明
图1为目标位置基准坐标ABCD示意图。
图2为基准坐标区域目标的编码示意图。
图3为目标位置示意图。
图4为拓展区域的四种方式示意图。
图5为位置编码示意图。
图6为编码解码示意图。
图7为运动轨迹示意图。
图8为区域X和区域Y(编码分别为21和02)示意图。
图9为某时刻特定人群的位置分布图。
图10为起点和终点相同的路径示意图。
图11为两条路径示意图。
图12为用户给定的起点、终点以及中途点示意图。
具体实施方式
以一种地图编码为基础,实现运动轨迹的比对。
参考图1-图4,一种基于位置编码运动轨迹比对的方法,包括以下步骤:
S1,对目标地图进行区域编码
获取目标地图,目标地图内建立位置编码信息,得到带有位置编码信息的目标地图,并将目标位置数据信息与目标地图进行匹配,得到目标位置对应的位置编码信息;
S2,计算编码位置距离
根据S1所得位置编码信息,运动轨迹的表示要素为位置编码序列,通过一串有顺序的位置编码来实现轨迹的表示,将运动轨迹的比对要素转换为点与点之间的距离计算;
S3,运动轨迹比对
在S2进行计算编码位置距离计算基础上,实现两个位置编码间的距离比较,两条运动轨迹的比对转换为真实距离估算或层级邻域距离计算,采用第一运动轨迹中的轨迹点与第二运动轨迹中的轨迹点逐个进行比对,如果两条运动轨迹之间的轨迹点的距离小于阈值或满足精度的局域相邻,则视为两点为同一位置,如果两条运动轨迹中有位置相同的点,则对相同位置点之后的轨迹点逐对进行比对,直至某一对的轨迹点之间的距离大于阈值,则从第一个位置相同的轨迹点到距离大于阈值轨迹点之前的运动轨迹重合;如果找不到位置相同的轨迹点,则两条轨迹没有重合的部分。
S1中,确定四个基准坐标,基准坐标将目标区域包围,四个基准坐标依次连线,形成一个矩形待编码区域,以四个基准坐标为矩形的四个顶点;以矩形中心为原点,建立二维坐标系,坐标轴平行于矩形的长边和宽边,将矩形分为四个相同的区域,四个区域分别对应二维坐标系的四个象限,以象限数代表四个区域的编码;以同样的方法,分别对四个区域进行划分和编码,逐层细分;得到一个划分n层的位置编码地图,位置编码地图中的每个子区域用一个n位编码数表示;最终得到的区域中每层级下子区域的大小和形状相同,n不小于2。
基准坐标满足四个基准坐标组成一个矩形;四个基准坐标与目标位置编码组合,可以实现对任意位置的编码。
根据不同的精度要求,编码的位数增加一位,精度提高一倍,精度动态的调节范围可以是基准坐标区域边长的2的-n次方。
将目标地图划分为p个一级等分编码区域,p为2或x2,x为不小于2的整数。
S2中,采用距离算法计算点与点之间的距离,距离计算法通过计算x、y轴的投影差由所述公式给出真实的距离估算,比对所述轨迹序列点间的真实差。
S2中,两个编码点间真实的距离是通过如下公式计算得到:
其中Mx、My和Nx、Ny分别是两点编码在x轴和y轴上的投影,sx、sy是编码M和N在x方向和y方向上的精度,所述精度为边长的2的-n次方。
S2中,采用邻域编码算法计算点与点之间的距离,邻域编码计算法给出最大层级相邻,将层级划分与邻域的结合起来,编码的区域逐渐扩展至相邻,利用此时的层级代表两点间的远近程度,层级数越大,代表两点越近,反之越远。
运动轨迹的编码信息中包含时间信息,形成时空编码。
计算两点之间的实际距离时,将位置编码转换为二进制数值,在将二进制数值转换为十进制数值。
位置编码
本发明首先提供一种地图位置编码方法,坐标的编码形式为:编码P,四个坐标点ABCD。
其中:P为区域内目标位置的编码;坐标点ABCD是编码前确定的基准坐标的坐标,由于基准坐标在编码初始化后基本保持不变;在存储和传输时,基准坐标只需要存储或者传递一次,在同样基准坐标下的编码数据存成一组。
编码的具体表示方法:如图1,图中目标位置位于实线围成的区域,编码之前,选取四个固定点作为基准分别点记为ABCD,形成一个矩形,可以将目标区域包围,如贴近区域轮廓的矩形;然后,对于区域内部的任何一个位置,都可以实现编码,具体方案如下:
以矩形中心为原点,建立二维坐标系,x轴和y轴分别平行于四条边,称为第一层区域坐标系,所述矩形被分成四个相同的局部区域,如图1示,矩形被分成4个部分,根据每个部分所在象限数字对本区域进行编码:位于第一象限的局部区域被编码为0,位于第二象限的局部区域被编码为1,位于第三象限的局部区域被编码为2,位于第四象限的局部区域被编码为3,图中的四个区域分别为0、1、2和3,编码位数为1,四个局部区域位于同一层,共同组成区域编码的第一层。如图2,目标位于第一象限相应的局域,则目标位置编码的第一位数字相应为0;同理,以层级式往下,逐渐细分。
采用上述的方法对划分成的局域继续编码:如图2中目标位于局域0,将该部分继续细分为层级式划分的第二层,以中心为原点,目标所在象限区域数字作为编码的第二位;在局域0中被划分成四个相同的部分,它的编码的第二位数字分别为0、1、2、3,目标(阴影部分)位于第二层区域的第一象限,因此目标位置(阴影部分)编码前两位为00。
继续往下细分,每一层向下细分的四个区域是大小形状相同的;根据规则,可以分到第三层、第四层……直到达到精度的要求;编码的长度能够达到10位或11位甚至更长,每增加一位编码,精度就会提高一倍,直到满足精度的要求,最终将获得一个位置编码P;其中P为一个四进制的数字。在图2中,目标的位置分别表示为000,转换为十进制数为0。
采用距离计算法和邻域编码计算法计算编码位置距离
在上述编码方法的基础上,运动轨迹是以一串位置编码表示;实现运动轨迹的比对,需要实现两个位置编码序列之间的比对;简单的比较可以对两点的编码逐位比较,如果两点的编码全部相同,则两点处于同一局域,否则一定不在同一位置。
对于不在同一位置的点,本发明提出以下两种方法可以推断编码之间距离的远近:编码位置的距离计算以及地图编码局域的邻域查找。
1)第一种方法:距离计算法
给定两个实际的位置编码,计算距离。由于上述位置编码的实现是在坐标系的基础上,根据划分局域所在象限编码,因此,将编码分别投影在x轴和y轴,上述的0、1、2、3局域投影在x轴和y轴上只是将x,y轴一分为二可以设为0和1,具体的投影规则如下:
X方向:第一、四象限局域投影在x轴零点的右侧,记为1,第二、三象限的局域投影在零点的左侧,记为0;Y方向:第一、二象限局域投影在y轴零点的上方,记为1,第三、四象限的局域投影在零点的下方,记为0。
根据投影的规则,编码向x轴和y轴转化如下:
X轴单位:编码中出现的数字0或3映射为1,编码数字1或2映射为数字0;
Y轴单位:编码数字0或1变成映射为1,编码数字2或3映射为数字0。
对于编码M和N,分别根据上述规则转化得到:Mx、My和Nx、Ny;两个位置之间的距离是:
其中sx、sy是编码M和N在两个方向上的精度(为边长的2的-n次方)。
2)第二种方法:邻域编码计算法
给定一个位置编码,可以首先找出位置局域上下左右四个邻域的位置编码,可分为四种情况讨论。
(1)如果位置编码为X…X0(即位置编码的末位是0)时,左邻域编码是X…X1;下邻域编码X…X3;上邻域编码是由编码最后一位依次向前处理得到,直到出现了编码中的第一个2或者3,处理的方法是编码数字规则是0变成3,1变成2,2变成1,3变成0;若编码中没有数字2或3,代表编码位置处在区域的上边界;同理,右邻域编码产生的方法类似,由编码最后一位依次向前处理,处理的方法是编码数字规则是0变成1,2变成3,3变成2,1变成0,直到出现并处理了编码中的第一个1或者2,若编码中没有数字,1或2,代表编码位置处在区域的右边界,伪代码如下:
与(1)情况类似,可以处理其它情况(2)、(3)和(4),即位置编码末位是1、2、3的情况,一个编码的四个邻域有两个邻域的编码比较容易获得,另外两个邻域的编码也可以按照上述的方式获取,从末位向前依次处理,处理方法如下,左邻域的求解是直至出现并处理了第一数字0或3,右邻域的求解是直至出现并处理了第一数字1或2,上邻域的求解是直至出现并处理了第一数字2或3,下邻域的求解是直至出现并处理了第一数字0或3。具体处理方法见下:
求解左右邻域时,规则为0变成1,2变成3,3变成2,1变成0;
求解上下邻域时,规则为0变成3,1变成2,2变成1,3变成0。
邻域的概念可以粗略地表示两点之间的距离,但是如果两个位置编码不相邻,不相邻不能表示两点之间的距离远近程度。将层级的概念与邻域结合起来,可以用第x层相邻的方式表示两点间的大致距离,称之为最大层级相邻。
比如编码点M:1203200和编码点N:1202211,可以逐步向上层扩大区域,直至两点所在的局域互为邻域,记录此时局域编码的精度或者层级,可以粗略地表示两点间距离。点1203200的邻域是1203201、1203203、1203133和1203311,显然在第7层的区域划分后,点M:1203200和编码点N:1202211并不相邻;扩大局域至第6层:点M为120320,点N为120221,点M的邻域是120321、120323、120313和120331,显然点N并不是M的邻域;继续扩大区域,在第5层中,点M、N的编码是12032和12022,点M的邻域是12031、12033、12301、12023,显然与点N不相邻;扩大至第4层,两点的编码是1203和1202,点M的邻域编码是1200、1202、1112、1230,显然两点是相邻的,称两点所在的局域在第4层是相邻的。两点间的距离可以用7位编码精度的8倍粗略表示,如果编码M:1203200的精度是10米,那么M和N间的距离可估算为10*2(7-4)=80米,称两点所在的局域在第4层相邻。
运动轨迹的比对
在两个编码距离比较的基础上,进行运动轨迹的比对;第一步实现了两个位置编码之间的距离比较,两条轨迹的比对可以通过比较点与点之间的距离实现,既可以是真实的距离估算,也可以是层级相邻的距离估算。
对于两条运动轨迹A和运动轨迹B,分别可以表示为:A1、A2、A3、A4……和B1、B2、B3、B4……。从运动轨迹A中的第一个点开始,A1开始与运动轨迹B中的所有轨迹点开始比对,计算它们之间的距离或者推算两点是否相邻,如果距离小于阈值(如距离小于50米)或者满足精度的局域相邻,将两点视为同一位置,如果运动轨迹A中的Ai与运动轨迹B中的某点Bj“重合”,接着直接对Ai与Bj后的位置点逐对比对,直至对应点设为Ai+k与Bj+k距离大于规定值,从Ai到Ai+k与运动轨迹B中的Bj到Bj+k的轨迹是重合的。如果找不到重合点,显然运动轨迹A和运动轨迹B之间没有重合的部分。
下面结合实例对本发明作进一步说明。
实施例1
如图5,以北京市地图为例,选取A(116.31257E,39.981754N)、B(116.48102E,39.981754N)、C(116.48102E,39.873306N)、D(116.31257E,39.873306N)为四个基准坐标,其中AB=CD=14.1km,AD=BC=11.8km,目标位置点为E(116.410018E,39.953054N)。为方便描述,以矩形中心为原点(0,0),CB、DC方向分别为y、x轴建立坐标系。
首先目标E位于基准坐标矩形ABCD区域内,按照方案,逐步细化分层。第一层:目标点E位于新区域坐标系的第1象限,编码P第一位为0,两个方向的精度分别为7.05km,5.9km;第二层:在第一层目标所在的象限区域1中,重新建立坐标系并细分;E位于区域坐标系的第3象限,编码P的第二位为2,两方向的精度为3.5025km和2.95km;第三层:继续重复划分区域,E位于第三层区域的第2象限,编码P的第三位为1,两方向的精度分别为1.7513km和1.475km;第四层:E位于第1象限,编码的第四位是0,精度分别为0.8757km和0.7375km。如此继续往下划分,直到精度达到要求;假设精度要求是12.5km,根据求解过程目标的编码为0210,转化为十进制数为0+32+4+0=36。
实施例2
假设给定4个基准坐标ABCD,给出目标编码36,查找目标位置的过程如下:
首先,如图6示,将36转化为四位四进制数0210,然后对区域ABCD进行划分;第一层:编码的第一位数字是0,目标位于第一象限区域;第二层:编码的第二位数字是2,目标位于第三象限;第三层:编码的第三位数字是1,目标位于第2象限区域;最后一层:编码的第四位数字是0,目标位于第1象限区域,即阴影部分。上述步骤就可以查找到目标所在的区域范围见图6的阴影部分。查找过程中,区域由大变小,层层细化,每向下细分一层,区域大小就缩小为原区域的四分之一,实现了快速的查找。
实施例3
在西安上学的小明,想记录一天的运动轨迹,按照本发明的方案是,对小明的运动位置进行编码并记录,具体表现是一串数字。如图7示,图中的小黑点是小明在某个时间点的位置,以图中点ABCD为基准坐标,经过编码后运动轨迹可以表示为一串四进制数字:2130,2021,2012,2011,1322,1321,1312,1311,1310,1301,1300,1033。十进制表示为:156,137,134,133,122,121,118,117,116,113,112,79。按照时间顺序连接起来就可以复原小明的运动轨迹。
实施例4
构建一个社交产品时,通常会基于地理位置信息,如果需要识别判定从一个区域X运动到另一个区域Y内的用户。本发明的方法是:将区域X的编码(假定区域X编码的四进制形式有m位),将X编码分别与用户的运动轨迹编码的前m位进行逐一比对,如果相同,说明位置在区域X内;然后,使用Y区域编码进行比对。如果运动轨迹中同时包含在X区域和Y区域的点,说明用户曾经从X区域前往Y区域,或者从Y区域到X区域。
如图8示,区域X和区域Y编码分别为:21和02,实施例3中小明的运动轨迹为:2130,2021,2012,2011,1322,1321,1312,1311,1310,1301,1300,1033;分别将每一个位置编码由第一位往后,与区域X的编码21比较,发现位置2131的前两位与区域21吻合,因此运动轨迹经过区域X。同理,将区域Y编码02与运动轨迹的每一个编码的前两位比较,发现没有与之相同的编码,因此小明没有经过区域Y,由此可判断小明没有从区域X前往区域Y。
实施例5
给定一个区域如图9示,已知某个时间点特定人群的位置数据四进制编码(精度为四位)是:0202,0210,1311,1312,1230,1020,1022,1031,需要快速统计出现在在这个区域(阴影部分)里的人数。如图9示,阴影部分区域的编码为两位编码13,直接将各位置编码的前两位与13比较,若相同表明位置处于阴影局部内,显然位置1311,1312位于阴影部分内,共计2人。
实施例6
对于实施例4的问题,再拓展一下,如果希望得到一段时间内由区域X前往区域Y的用户。本发明的方案是,在位置编码的基础之上,加上一个时间信息,组合形成时空编码,加上时间的判定条件,利用实施例4中的方法即可解决这类问题。
实施例7
在实施例3中,一串编码记录了小明在某个时间段内的一条运动轨迹,如图7,起点、终点的四进制编码分别为:2130和1033,现在需要计算两点之间的直线距离;对于编码2130,按照规则分别向x轴和y轴投影,分别得到对应二进制数值对(0011,0101),编码1033可以映射为二进制数值对(0111,1100)。两者x方向的距离为:0111-0010=0100,转化成十进制为4,代表4个y轴上的精度单位,同理y方向的距离:1100-0101=0111,转化成十进制是7,代表7个y轴上的精度单位;如果x、y方向的精度相同,根据公式S≈max(Mx-Nx|×sx,|My-Ny|×sy),所以两点的距离是7个精度单位。
实施例8
给定一个大群体位置的数据,需要查找局域编码2310210周边的人,已知此编码的精度为25米,如果需要找出周围50米的人,即编码区域2310210的邻域组成的范围;按照邻域编码计算方法,显然左邻域是2310211,下邻域是2310213,上邻域的获取过程为:从最后一位开始是0,变成3,倒数第二位是1,变成2,编码数字继续往前是2,遇到第一个数字编码2,变成1,即可得到上邻域的编码是2310123。同样可以得到右邻域编码2310201。只需要判定位置编码是上述5个编码其中之一的人,均处于周围50米的范围。
如果需要查找的周围100米的人,可以将编码层级减少一层,“舍去”编码的最后一位数字,231021代表精度为50米的局域,按照一样的方法找出231021的邻域分别为:231020、231022、231130和231012。将所有已知位置编码的前6位分别于编码231021及邻域编码比较,如果与其中之一相同,认定此人位于目标点100米的范围之内。
实施例9
如图10,存在两条轨迹,有着同样的起点A和终点B,以三角形和五角星表示,分别是轨迹1:1233、1321、1320、1331、1333、3113、3101、0233和轨迹2:1233、2011、2010、2001、0222、0220、0230、0233,精度设为10米,判断两条轨迹是否重合。
对运动轨迹1中的每一个点,在精度要求的范围内,分别判断每一个点是否处于运动轨迹2的某一层的邻域内,假设运动轨迹重合的精度设定为10米,与定位精度一致。主要思路是从运动轨迹1中取出某点与运动轨迹2中的所有点进行比对,如果该点位于运动轨迹2中某一点的邻域内或者重合,则认定该点位于运动轨迹2上。具体步骤是,结合二分法,先把运动轨迹1的起点和终点与运动轨迹2比对,再将运动轨迹1的中间点与运动轨迹2比对,如此反复直至比对结束。结合本例,运动轨迹1共8个点,首先取第1个和第8个点与运动轨迹2进行比对,发现两点均位于运动轨迹2上。再取中间第4个点,编码为1331,四个邻域分别为:1330、1332、1320和1302,然后在运动轨迹2中查看有无此四个邻域编码及原位置编码,显然运动轨迹2中并没有,因此,认定第四个点位于运动轨迹2之外,所以运动轨迹1和运动轨迹2不完全重合。
实施例10
如图11示,为两条不同的路径A和B,分别以圆点和五角星表示,分别为:2011、2013、2023、2301、2300、3210、3201、3200、3312、3320和2200、2311、2310、2301、2033、3211、3212、3221和3222,查找两条路径的重合部分。
首先,对于两个点的编码,可以用邻域的方式粗略判定两者的距离,比如编码点M:1203200和编码点N:1202211,可以逐步向上层扩大区域,直至两点所在的局域互为邻域,记录此时局域编码的精度或者层级,可以粗略地表示两点间距离。如点1203200的四个邻域是1203201、1203203、1203133和1203311,显然在第7层的区域划分后,点M:1203200和编码点N:1202211并不相邻;扩大局域至第6层:点M为120320,点N为120221,点M的邻域是120321、120323、120313和120331,显然点N并不是M的邻域;继续扩大区域,在第5层中,点M、N的编码是12032和12022,点M的邻域是12031、12033、12301、12023,显然与点N不相邻;扩大至第4层,两点的编码是1203和1202,点M的邻域编码是1200、1202、1112、1230,显然两点是相邻的,称两点所在的局域在第4层是相邻的。两点间的距离可以用7位编码精度的8倍粗略表示,如果编码M:1203200的精度是10米,那么M、N间的距离可估算为10*2(7-4)=80米,称两点所在的局域在第4层相邻。如果精度要求低于80米,可以认定M、N位于同一位置。
按照上述思路,将运动轨迹A中的每一个点分别与运动轨迹B中的位置点进行比对,找出该点与运动轨迹B中的某点所在局域相邻时的最小层级,将其粗略地作为该点距离运动轨迹B的距离。对运动轨迹A,第一个点编码2011,在第4层局域中,邻域是1322、2012、2100和2010,在运动轨迹B的编码中没有此5个点,因此第一个点与运动轨迹B上的位置点不相邻;在第3层上,第一个点的邻域是200、202、210、132,与运动轨迹B中编码的前三位比较,显然没有相邻的局域;在第2层上,第一个点20的邻域是23、21、31和13,显然轨迹中点2311、2310、2301位于邻域内,因此运动轨迹A中的第一个点与运动轨迹B在第2层相邻。同理,可以分别得到第1至10个点与运动轨迹B分别在第2、2、4、4、4、4、3、3、2、2,可以记作2244443322。
假设4位编码的精度是10米,如果在查找轨迹重合部分要求的精度是10米,则运动轨迹A与运动轨迹B在第4层相邻的点是两条运动轨迹重合部分,即为运动轨迹A的第3个点至第6个点轨迹。如果在查找轨迹重合部分要求的精度是40米,则轨迹A与B在第3层相邻的点是两条轨迹重合部分,重合部分是从轨迹A的第3个点至第8个点。
实施例11
假设用户需要查找一条由地点A到地点C路径,如图12所示,并自主标定路径必须经过的位置B,如何从海量轨迹中快速查找符合要求的轨迹。
对A点,编码为0213,邻域编码是0212、0210、0202、0220,在海量数据轨迹的起点中搜索此五个编码,若某条轨迹的起点是其中之一,说明该轨迹的起点是点A。接着,查看轨迹的终点是否是编码C或者C的邻域编码,如果是,继续查看轨迹是否包含点B的编码或邻域编码,如果包含,说明该轨迹符合起点是A,经过点B,终点是C的条件,否则舍去。上述的方法实现了海量数据的快速查找。
Claims (10)
1.一种基于位置编码运动轨迹比对的方法,其特征在于,包括以下步骤:
S1,对目标地图进行区域编码
获取目标地图,目标地图内建立位置编码信息,得到带有位置编码信息的目标地图,并将目标位置数据信息与目标地图进行匹配,得到目标位置对应的位置编码信息;
S2,计算编码位置距离
根据S1所得位置编码信息,运动轨迹的表示要素为位置编码序列,通过一串有顺序的位置编码来实现轨迹的表示,将运动轨迹的比对要素转换为点与点之间的距离计算;
S3,运动轨迹比对
在S2进行计算编码位置距离计算基础上,实现两个位置编码间的距离比较,两条运动轨迹的比对转换为真实距离估算或层级邻域距离计算,采用第一运动轨迹中的轨迹点与第二运动轨迹中的轨迹点逐个进行比对,如果两条运动轨迹之间的轨迹点的距离小于阈值或满足精度的局域相邻,则视为两点为同一位置,如果两条运动轨迹中有位置相同的点,则对相同位置点之后的轨迹点逐对进行比对,直至某一对的轨迹点之间的距离大于阈值,则从第一个位置相同的轨迹点到距离大于阈值轨迹点之前的运动轨迹重合;如果找不到位置相同的轨迹点,则两条轨迹没有重合的部分。
2.根据权利要求1所述的基于位置编码运动轨迹比对的方法,其特征在于,S1中,确定四个基准坐标,基准坐标将目标区域包围,四个基准坐标依次连线,形成一个矩形待编码区域,以四个基准坐标为矩形的四个顶点;以矩形中心为原点,建立二维坐标系,坐标轴平行于矩形的长边和宽边,将矩形分为四个相同的区域,四个区域分别对应二维坐标系的四个象限,以象限数代表四个区域的编码;以同样的方法,分别对四个区域进行划分和编码,逐层细分;得到一个划分n层的位置编码地图,位置编码地图中的每个子区域用一个n位编码数表示;最终得到的区域中每层级下子区域的大小和形状相同,n不小于2。
3.根据权利要求2所述的基于位置编码运动轨迹比对的方法,其特征在于,基准坐标满足四个基准坐标组成一个矩形;四个基准坐标与目标位置编码组合,可以实现对任意位置的编码。
4.根据权利要求2所述的基于位置编码运动轨迹比对的方法,其特征在于,根据不同的精度要求,编码的位数增加一位,精度提高一倍,精度动态的调节范围可以是基准坐标区域边长的2的-n次方。
5.根据权利要求1所述的基于位置编码运动轨迹比对的方法,其特征在于,将目标地图划分为p个一级等分编码区域,p为2或x2,x为不小于2的整数。
6.根据权利要求1所述的基于位置编码运动轨迹比对的方法,其特征在于,S2中,采用距离算法计算点与点之间的距离,距离计算法通过计算x、y轴的投影差由所述公式给出真实的距离估算,比对所述轨迹序列点间的真实差。
8.根据权利要求1所述的基于位置编码运动轨迹比对的方法,其特征在于,S2中,采用邻域编码算法计算点与点之间的距离,邻域编码计算法给出最大层级相邻,将层级划分与邻域的结合起来,编码的区域逐渐扩展至相邻,利用此时的层级代表两点间的远近程度,层级数越大,代表两点越近,反之越远。
9.根据权利要求1所述的基于位置编码运动轨迹比对的方法,其特征在于,运动轨迹的编码信息中包含时间信息,形成时空编码。
10.根据权利要求1所述的基于位置编码运动轨迹比对的方法,其特征在于,计算两点之间的实际距离时,将位置编码转换为二进制数值,在将二进制数值转换为十进制数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378170.2A CN111141294B (zh) | 2019-12-27 | 2019-12-27 | 一种基于位置编码运动轨迹比对的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911378170.2A CN111141294B (zh) | 2019-12-27 | 2019-12-27 | 一种基于位置编码运动轨迹比对的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111141294A true CN111141294A (zh) | 2020-05-12 |
CN111141294B CN111141294B (zh) | 2021-09-07 |
Family
ID=70520961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911378170.2A Active CN111141294B (zh) | 2019-12-27 | 2019-12-27 | 一种基于位置编码运动轨迹比对的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111141294B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111609858A (zh) * | 2020-05-28 | 2020-09-01 | 新石器慧通(北京)科技有限公司 | 定位误差确定方法、轨迹生成方法、装置及交通工具 |
CN112214537A (zh) * | 2020-09-16 | 2021-01-12 | 拓尔思信息技术股份有限公司 | 用于航迹检索的航迹特征建模方法及系统、电子装置 |
WO2022068745A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 数据处理方法及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701255A (zh) * | 2016-03-22 | 2016-06-22 | 西安交通大学 | 一种应用于快速位置检索的区域地图坐标编码方法 |
CN106776482A (zh) * | 2016-12-01 | 2017-05-31 | 河海大学 | 一种轨迹相似度计算方法 |
CN106980129A (zh) * | 2017-03-10 | 2017-07-25 | 西安交通大学 | 一种基于位置编码地图的运动轨迹比对方法 |
CN108645421A (zh) * | 2018-05-15 | 2018-10-12 | 天津大学 | 基于隐马尔科夫模型的自适应在线地图匹配方法 |
CN109710714A (zh) * | 2018-12-21 | 2019-05-03 | 西安交通大学 | 一种隐马尔可夫模型改进的路网匹配方法 |
-
2019
- 2019-12-27 CN CN201911378170.2A patent/CN111141294B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701255A (zh) * | 2016-03-22 | 2016-06-22 | 西安交通大学 | 一种应用于快速位置检索的区域地图坐标编码方法 |
CN106776482A (zh) * | 2016-12-01 | 2017-05-31 | 河海大学 | 一种轨迹相似度计算方法 |
CN106980129A (zh) * | 2017-03-10 | 2017-07-25 | 西安交通大学 | 一种基于位置编码地图的运动轨迹比对方法 |
CN108645421A (zh) * | 2018-05-15 | 2018-10-12 | 天津大学 | 基于隐马尔科夫模型的自适应在线地图匹配方法 |
CN109710714A (zh) * | 2018-12-21 | 2019-05-03 | 西安交通大学 | 一种隐马尔可夫模型改进的路网匹配方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111609858A (zh) * | 2020-05-28 | 2020-09-01 | 新石器慧通(北京)科技有限公司 | 定位误差确定方法、轨迹生成方法、装置及交通工具 |
CN111609858B (zh) * | 2020-05-28 | 2021-10-22 | 新石器慧通(北京)科技有限公司 | 定位误差确定方法、轨迹生成方法、装置及交通工具 |
CN112214537A (zh) * | 2020-09-16 | 2021-01-12 | 拓尔思信息技术股份有限公司 | 用于航迹检索的航迹特征建模方法及系统、电子装置 |
WO2022068745A1 (zh) * | 2020-09-30 | 2022-04-07 | 华为技术有限公司 | 数据处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111141294B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111141294B (zh) | 一种基于位置编码运动轨迹比对的方法 | |
US10380410B2 (en) | Apparatus and method for image-based positioning, orientation and situational awareness | |
CN104835158B (zh) | 基于格雷码结构光与极线约束的三维点云获取方法 | |
CN109740604B (zh) | 一种行驶区域检测的方法和设备 | |
CN104469676A (zh) | 一种移动终端的定位方法及系统 | |
JP2004164596A (ja) | 2分木を巡回する方法およびシステム | |
CN112418129B (zh) | 一种点云数据处理的方法、装置、电子设备及存储介质 | |
CN110160538B (zh) | 一种基于手机信令数据的地图匹配方法 | |
CN110321443A (zh) | 三维实景模型数据库构建方法、装置及数据服务系统 | |
CN106980129A (zh) | 一种基于位置编码地图的运动轨迹比对方法 | |
CN111292356B (zh) | 运动轨迹与道路的匹配方法及装置 | |
CN107071721B (zh) | 基于手机定位数据的停留点提取方法 | |
CN110136174A (zh) | 一种目标对象跟踪方法和装置 | |
Sadeghi et al. | 2DTriPnP: A robust two-dimensional method for fine visual localization using Google streetview database | |
Gao et al. | Joint optimization of depth and ego-motion for intelligent autonomous vehicles | |
CN103400393A (zh) | 一种图像匹配方法和系统 | |
CN112802184B (zh) | 三维点云重构方法、系统、电子设备及存储介质 | |
CN112100308A (zh) | 一种北斗时空轨迹的相似性查询方法 | |
CN112132951B (zh) | 一种基于视觉的网格语义地图的构建方法 | |
CN110956337B (zh) | 无人机常态化智能作业前的勘探方法和装置 | |
Yamamoto et al. | On-demand generalization of road networks based on facility search results | |
CN109785656B (zh) | 一种基于局部近似秩的交通规划及导航方法 | |
Hong et al. | Designing interactive distance cartograms to support urban travelers | |
CN111402429A (zh) | 一种尺度还原、三维重建方法、系统、存储介质及设备 | |
Mantoro et al. | Pedestrian position and pathway in the design of 3D mobile interactive navigation aid |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |