路线推荐方法及系统的制作方法

文档序号:8395970阅读:359来源:国知局
路线推荐方法及系统的制作方法
【技术领域】
[0001]本发明涉及一种路线推荐方法和路线推荐系统,特别涉及一种无需人工配置就可自动匹配出用户所需路线的路线推荐方法和路线推荐系统。
【背景技术】
[0002]目前,用户在终端设备例如电脑、手机上查询两个地点之间的航班时,查询出的航班信息并不是完整的,这是因为显示出的航班信息是预先通过人工配置完善的,用户想知道某一地点到另一地点的航班信息时,仅能查看到预先配置好的航线,无法了解到除了显示出的航班信息是否还有其他的航班信息可到达该另一地点。例如,通过人工预先配置北京到香港的航线,配置的航线仅有北京-南京-香港和北京-上海-香港这两条,用户想知道从北京到香港的所有航班情况,则电脑仅能搜索出预先配置好的上述两条航线,并逐个计算在此航线上是否有航班组合推荐给用户。
[0003]上述方法依赖于人工配置,即搜索引擎只能计算配置过的中转地点,如果某中转点在系统中并未预先配置,即没有以此点为中转点的航线例如北京-广州-香港中的广州,则搜索引擎就无法向用户推荐北京至香港经由广州中转的行程建议。

【发明内容】

[0004]本发明要解决的技术问题是为了克服现有技术中通过人工预先配置航线信息的方式导致的人工成本高、推荐的信息不完整的缺陷,提供一种路线推荐方法及系统。
[0005]本发明是通过下述技术方案来解决上述技术问题的:
[0006]本发明提供一种路线推荐方法,其特点在于,其存储有包含多个不同地点间的最大允许里程的第一数据库和包含多个从一地点至另一地点的班次信息与两地点的经玮度坐标的第二数据库,其包括以下步骤:
[0007]S1、接收一出发点和一终点的输入;
[0008]S2、从该第一数据库中获取该出发点与该终点间的最大允许里程,从该第二数据库中获取所有以该出发点为起始点的班次信息作为第一班次信息和所有直达该终点的班次信息作为第二班次信息,并筛选出该第一班次信息中以I地点为终点、且该第二班次信息中以I地点为起始点的I地点作为待选中转点,从该第二数据库中获取I地点的经玮度坐标;
[0009]针对获取的每一 I地点实施的操作:
[0010]S3、分别计算该出发点与该I地点间以及该I地点与该终点间在地球球面上的最短距尚Ldi和L IA;
[0011]S4、判断LDI+LIA>该最大允许里程,若是则忽略该I地点,若否则进入步骤S 5;
[0012]S5、判断该I地点的玮度与该出发点的玮度是否相同,若否则计算该I地点与该I地点在该出发点玮线上的投影点间的距离Lli,若是则将Lli设置为零;
[0013]S6、根据该出发点、该I地点和该投影点组成的直角三角形,计算该出发点与该I地点的向量DI和该出发点与该终点的向量DA的夹角a ;
[0014]S7、判断a是否小于等于一设定阈值(例如/4),若是则显示该出发点、该I地点和该终点组成的路线的班次信息。
[0015]其中,最大允许里程是适用某一票价所允许旅行的最大距离,单位是英里。旅行的方向不同,公布的票价和所适用的最大允许里程也不同。
[0016]本发明将地球近似认为是一个正球体,将用户输入的行程(出发点和终点)视为一个二维向量,称为基准向量,且以旅行的方向(出发点至终点的方向)作为此基准向量的方向。然后,从数据库中筛选出可作为出发点和终点间的中转地点的所有中转点,并针对每一中转点均判断中转行程总里程是否超出最大允许里程,计算出发点至中转点的向量DI与此基准向量DA之间的夹角是否超出一定的数值范围,在中转行程总里程和夹角满足设定条件时将该中转点推荐给用户。
[0017]较佳地,在步骤&中,若I地点的经度大于该出发点的经度且小于该终点的经度,则a = arcsin(Ln/LDI);若I地点的经度小于该出发点的经度且大于该终点的经度,则a =Π /2-arcsin(Ln/LDI);若I地点的经度等于该出发点的经度或该终点的经度,则a = Π /4。
[0018]较佳地,在步骤&中,根据地理位置坐标分别查询出该出发点和该终点的经玮度坐标,并基于查询出的经玮度坐标计算该出发点与该终点在球面上的最短距离,则该最大允许里程为该出发点与该终点在球面上的最短距离的1-2倍。
[0019]在本方案中,该出发点与该终点间的标准里程可近似认为是该出发点与该终点在球面上的最短距离,而该最大允许里程可认为是该标准里程的1-2倍,由此可推出该最大允许里程为该出发点与该终点在球面上的最短距离的1-2倍。
[0020]较佳地,利用一公式计算一地点P与另一地点Q在球面上的最短距离,该公式为L=R*arccos (cos wP*cos wQ*cos (jQ-jP)+sin wP*sin wQ),其中 R为地球半径,P 点的经玮度坐标为(jP,wP),Q点的经玮度坐标为(jQ,wQ),西经为负,东经为正,南玮为负,北玮为
IHo
[0021]本发明还提供一种路线推荐系统,其特点在于,其存储有包含多个不同地点间的最大允许里程的第一数据库和包含多个从一地点至另一地点的班次信息与两地点的经玮度坐标的第二数据库,还包括一输入单元、一获取单元、一第一计算单元、一第一判断单元、一第二判断单元、一第二计算单元、一设置单元、一第三计算单元以及一第三判断单元;
[0022]该输入单元用于接收一出发点和一终点的输入;
[0023]该获取单元用于从该第一数据库中获取该出发点与该终点间的最大允许里程,从该第二数据库中获取所有以该出发点为起始点的班次信息作为第一班次信息和所有直达该终点的班次信息作为第二班次信息,并筛选出该第一班次信息中以I地点为终点、且该第二班次信息中以I地点为起始点的I地点,从该第二数据库中获取I地点的经玮度坐标;
[0024]针对获取的每一 I地点实施的操作:
[0025]该第一计算单元用于分别计算该出发点与该I地点间以及该I地点与该终点间在地球球面上的最短距离Ldi和L IA;
[0026]该第一判断单元用于判断LDI+LIA>该最大允许里程,若是则忽略该I地点,若否则调用该第二判断单元;
[0027]该第二判断单元用于判断该I地点的玮度与该出发点的玮度是否相同,若否则调用该第二计算单元计算该I地点与该I地点在该出发点玮线上的投影点间的距离Lli,若是则调用该设置单元将Lli设置为零;
[0028]该第三计算单元用于根据该出发点、该I地点和该投影点计算该出发点与该I地点的向量DI和该出发点与该终点的向量DA的夹角a ;
[0029]该第三判断单元用于判断a是否小于等于一设定阈值,若是则调用该显示单元显示该出发点、该I地点和该终点组成的路线的班次信息。
[0030]较佳地,当I地点的经度大于该出发点的经度且小于该终点的经度时,则a =arcsin(Ln/LDI);当I地点的经度小于该出发点的经度且大于该终点的经度时,则a =Π /2-arcsin(Ln/LDI);当I地点的经度等于该出发点的经度或该终点的经度时,则a =Π /4。
[0031]较佳地,该路线推荐系统还包括一查询计算单元,该查询计算单元用于根据地理位置坐标分别查询出该出发点和该终点的经玮度坐标,并基于查询出的经玮度坐标计算该出发点与该终点在球面上的最短距离,则该最大允许里程为该出发点与该终点在球面上的最短距尚的1-2倍。
[0032]较佳地,该路线推荐系统还包括一距离计算单元,该距离计算单元用于利用公式L=R*arccos (cos wP*cos wQ*cos (jQ-jP)+sin wP*sin wQ)计算一地点 P 与另一地点 Q 在球面上的最短距离,其中R为地球半径,P点的经玮度坐标为(jP,wP),Q点的经玮度坐标为(jQ,wQ) 0
[0033]在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
[0034]本发明的积极进步效果在于:
[0035]本发明利用两个地点即出发点和终点的地理位置坐标能够从数据库中筛选出可作为出发点和终点间的中转地点的所有中转点,并针对每一中转点在该中转点的中转行程总里程和夹角满足设定条件时将该中转点推荐给用户,所以本发明能够自动筛选出所有的中转点,并进一步筛选出哪些中转点可推荐给用户,整个筛选过程无需人工操作,也无需人工预先配置好路线,能够有效地降低人工成本,并为用户提供更加丰富的行程路线。
【附图说明】
[0036]图1为本发明较佳实施例的路线推荐方法的流程图。
[0037]图2为本发明较佳实施例的路线推荐系统的结构框图。
【具体实施方式】
[0038]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0039]本实施例提供一种利用地理位置坐标实现的路线推荐方法,其存储有一第一数据库和一第二数据库,该第一数据库包含多个不同地点间的标准里程和最大允许里程,该第二数据库包含多个从一地点至另一地点的班次信息和两地点的经玮度坐标。
[0040]如图1所示,该路线推荐方法包括以下步骤:
[0041]步骤101、接收一出发点(记为D点)和一终点(记为A点)的输入。
[0042]步骤102、从该第一数据库中获取D点与A点间的标准里程TPM和最大允许里程MPM,若在该第一数据库中没有获取到时,则根据地理位置坐标分别查询出该D点和该A点的经玮度坐标,并基于查询出的经玮度坐标计算该D点与该A点在球面上的最短距离,该D点与该A点间的标准里程TPM可近似认为是该D点与该A点在球面上的最短距离,而该最大允许里程MPM可认为是该标准里程TPM的1.5倍,由此可推出该最大允许里程MPM为该D点与该A点在球面上的最短距离的1.5倍。
[0043]其中,利用一公式可计算出该D点与该A点在球面上的最短距离,公式为L =R*arccos (cos wD*cos wA*cos (jA_jD)+sin wD*sin wA),L 为最短距离,R 为地球半径,D 点的经玮度坐标为(jD,wD),A点的经玮度坐标为(jA,wA),西经为负,东经为正,南玮为负,北玮为正。
[0044]步骤103、从该第二数据库中获取所有以该D点为起始点的班次信息作为第一班次信息和所有直达该A点的班次信息作为第二班次信息,并筛选出该第一班次信息中以D点为起点和I地点为终点、且该第二班次信息中以I地点为起始点和A点为终点的I地点作为待选中转点,此外从该第二数据库中获取I地点的经玮度坐标。
[0045]通过上述步骤101-103,已经获取到可作为D点与A点的中转点的所有中转点I地点,针对获取的每一I地点实施的操作具体如下
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1