一种路径相似度比较方法

文档序号:9433205阅读:1199来源:国知局
一种路径相似度比较方法
【技术领域】
[0001] 本发明属于路径相似度对比技术领域。
【背景技术】
[0002] 随着城市人口增加,上班族上下班出行的难度和体验越来越差,人们上下班拼车 出行(多人出行,由于出行线路类似,可以乘坐同一辆轿车)的需求越来越大。
[0003] 随着我国经济的飞速发展,人们的生活水平不断提高,人们在旅游方面的支出显 著增长,选择自驾出游的人越来越多。人们期望在旅途中有人陪伴,同时随着低碳环保观念 深入人心,越来越多的人渴望拼车出行来降低成本、便利交通、节省能源、保护环境、结交好 友,一举多得。
[0004] 另外伴随着我国信息化水平的不断提高,人们习惯并且需要从互联网上获取各种 信息,包括本专利涉及到的拼车信息。谷歌地图、百度地图等一些WebGIS技术迅猛发展,并 提供了免费的API服务供开发者使用,给拼车类应用的实现提供了便利。
[0005] 市场上天天用车、嘀嗒拼车、51拼车等拼车类应用如雨后春笋般涌现出来。用户可 以在此类应用中发布自己出行的起点和终点,系统会自动比较无车用户与有车用户线路相 似度,当相似度较高时会自动提醒用户选择拼车出行。这就对相似度算法有了较高的要求。

【发明内容】

[0006] 有鉴于此,本发明提供了一种路径相似度比较方法,该方法计算简单、效率高。
[0007] 为了达到上述目的,本发明的技术方案包括如下步骤:
[0008] 步骤1、获取相比较的二者的路径信息,建立驾驶路线A和B。
[0009] 步骤2、建立A外接矩形A',和B的外界矩形B',确定A'和B'的左上角点间的距 离L1和右下角点间的距离L2,若LJP 1^均小于设定阈值,进入步骤3 ;否则,输出相似度为 0,本方法结束。
[0010] 步骤3、计算A和B之间重复的路径长度S,首其中A的总路程长度为S1A的总路 程长度为S2,在相似度C为
[0011] 进一步地,步骤3中计算A和B之间重复的路径长度S的方法具体为:在根据所建 立的驾驶路线A和B,分别获取A和B的折线图A。和B。;从折线图A。上获取每个转折点,共 N个,保存至数组心中,从B。上获取每个转折点,共M个,保存至数组R 8中,计算数组R &中 任意两个相邻转折点组成的线段和数组Rb中任意两个相邻转折点所组成的线段之间的重 合距离并叠加,获得整个驾驶路线A和B的重合距离。
[0012] 进一步地,计算数组Ra中任意两个相邻转折点组成的线段和数组Rb中任意两个相 邻转折点所组成的线段之间的重合距离的方法具体为:数组Ra中任意两个相邻转折点组成 的线段为(RA[i],RA[i+l]),其中RA[i]为数组R a中的第i个转折点,i = 1~N-I ;数组1?冲 任意两个相邻转折点所组成的线段为(RB[j], RB[j+l]),j = 1~M-I ;计算(RA[i], RA[i+l]) 和(RB[j],RB[j+l])之间的重合距离并叠加获得总的重合距离。
[0013] 具体步骤如下:
[0014] 步骤 301、判断(RA[i],RA[i+l])和(RB[j],R B[j+l])是否共线:
[0015] 判断RB[j]是否在线段(RA[i],RA[i+l])上:判断R A[i]、RB[j]组成的向量与 RA[i+l]、RB[j]组成的向量是否平行,若平行则RB[j]是在线段(R A[i],RA[i+l])上。
[0016] 判断RB[j+l]是否在线段(RA[i],RA[i+l])上:判断R A[i]、RB[j+l]组成的向量与 RA[i+l]、RB[j+l]组成的向量是否平行,若平行则RB[j+l]是在线段(R A[i],RA[i+l])上。
[0017] 若 RB[j]和 RB[j+l]均在线段(RA[i],RA[i+l])上;则(R A[i],RA[i+l])和 (RB[j],RB[j+l])共线。
[0018] 若(RA[i],RA[i+l])和(RB[j],RB[j+l])共线,则进入步骤 302,否则 (RA[i],RA[i+l])和(RB[j],RB[j+l])之间的重合距离为 〇。
[0019] 步骤 302、找到共线线段(RA[i],RA[i+l])和(RB[j],R B[j+l]),以点 RA[i]、 RA[i+l]、RB[j]以及RB[j+l]的坐标值为比较基准,设R A[i]和心[1+1]之间较小的为P、较 大的为Q,设RB[j]和RB[j+l]之间较小的为R、较大的为S ;然后以P、R二者中较大的为U, 以Q、S二者中较小的为V。
[0020] 判断若U> = V则重合距离为0,否则重合距离为UV两点之间距离。
[0021] 进一步地,步骤302中以点RA[i]、RA[i+l]、R B[j]以及RB[j+l]的炜度值为比较基 准,若炜度值相同则以经度值为比较基准。
[0022] 进一步地,路径信息包括路径的起点、终点以及中途必经点;根据路径信息,驾驶 路线为连接起点、终点和中途必经点的路线。
[0023] 有益效果:
[0024] 本发明提供的路径相似度比较算法,能够在合理的时间内给出多种输入形式的路 径相似度,不仅提供了粗略比较算法来减少计算量,而且有多处参数可以按照实际需求进 行调整。
【附图说明】
[0025] 图1为计算路径相似度的方法流程图;
[0026] 图2为驾驶路线的外包矩形图。
【具体实施方式】
[0027] 下面结合附图并举实施例,对本发明进行详细描述。
[0028] 实施例1、本实施例中路径相似度比较方法,如图1所示,包括如下步骤:
[0029] 步骤1、获取相比较的二者的路径信息,建立驾驶路线A和B ;本实施例中,路径信 息包括路径的起点、终点以及中途必经点;根据路径信息,驾驶路线为连接起点、终点和中 途必经点的路线。
[0030] 可以接收多种形式的输入。若输入格式为出发地、目的地及沿途经过地点的文字 描述,则将其通过谷歌、高德、百度等WebGIS提供商提供的Geocoder服务,将出发地、目 的地、途经点转换为地理位置坐标信息。再使用WebGIS提供的路线服务(如高德地图的 Driving服务)获取连接出发地、途经点、目的地的推荐驾驶路径信息。
[0031] 步骤2、在得到待比较路线的路径必经点信息后,可以先对两条路径进行粗略比 较,具体方法为:建立A外接矩形A',如图2所示,同时类似建立B的外界矩形B',确定A' 和B'的左上角点间的距离L1和右下角点间的距离L 2,若M5P L 2均小于设定阈值,进入步 骤3 ;否则,输出相似度为0,本方法结束,这样能够减少计算量,节约计算时间。此处的设 定阈值在实施过程中可作为输入参数,取值越小,得到的精确度越高,两条路径越不容易相 似;取值越大,越容易判定两条路径为相似。
[0032] 步骤3、计算A和B之间重复的路径长度S,首其中A的总路程长度为S1A的总路 程长度为S2,在相似度C为
[0033] 特殊的,当两路径完全重合时,C取值为1 ;当两路径完全不重合时,C取值为0。此 处路径长度可以根据路径上各点经炜度坐标计算出,已有很多较为成熟的根据两点经炜度 坐标计算距离的方法。
[0034] 本实施例中,步骤3中计算A和B之间重复的路径长度S的方法具体为:得到两条 推荐驾驶线路后,将两条线路分别转换为折线图形式。在路径上每隔一定距离取一个点,此 处间隔距离可以作为输入参数,距离越短,相似度比较精度越高,因为取得的折线更接近于 推荐驾驶路线,将取得的点用线段依次连接,即可得到路径的折线图形式,分别保存两条路 径上取得的必经点的经炜度坐标,供下一步使用。
[0035] 在根据所建立的驾驶路线A和B,分别获取A和B的折线图A。和B。;从折线图A。 上获取每个转折点,共N个,保存至
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1