CN104183123A - 基于判断线段是否相交的叫车订单播送*** - Google Patents

基于判断线段是否相交的叫车订单播送*** Download PDF

Info

Publication number
CN104183123A
CN104183123A CN201410421805.3A CN201410421805A CN104183123A CN 104183123 A CN104183123 A CN 104183123A CN 201410421805 A CN201410421805 A CN 201410421805A CN 104183123 A CN104183123 A CN 104183123A
Authority
CN
China
Prior art keywords
order
rightarrow
line segment
taxi
chauffeur
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
Application number
CN201410421805.3A
Other languages
English (en)
Other versions
CN104183123B (zh
Inventor
张凌宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201410421805.3A priority Critical patent/CN104183123B/zh
Publication of CN104183123A publication Critical patent/CN104183123A/zh
Priority to US15/501,824 priority patent/US20170228683A1/en
Priority to KR1020177003867A priority patent/KR20180006871A/ko
Priority to SG10201901024TA priority patent/SG10201901024TA/en
Priority to PCT/CN2015/086075 priority patent/WO2016019857A1/zh
Priority to EP15829451.2A priority patent/EP3179420A4/en
Priority to MYPI2017000173A priority patent/MY188692A/en
Priority to SG11201700895YA priority patent/SG11201700895YA/en
Priority to KR1020187037289A priority patent/KR20190000400A/ko
Application granted granted Critical
Publication of CN104183123B publication Critical patent/CN104183123B/zh
Priority to PH12017500192A priority patent/PH12017500192B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Traffic Control Systems (AREA)

Abstract

本发明涉及出租车订单分配方法的技术领域,具体公开了一种基于判断线段是否相交的叫车订单播送***,其包括:判断模块,订单播送模块;所述判断模块,用于判断各在线出租车针对某一叫车订单是否需要跨越障碍物;所述订单播送模块,用于向不需要跨越障碍物的出租车播送所述叫车订单信息。本发明的技术方案基于线段是否相交的判断,能检测出订单周围的司机是否有需要跨越障碍物的情形,因此在算法的性能和复杂度上有非常好优势,相比与传统的基于路面距离的计算,无需考虑实时路况,大大降低了服务器的计算性能;同时也避免了向需要跨越障碍物的司机推送订单,也提高了订单推送的效率和准确度。

Description

基于判断线段是否相交的叫车订单播送***
技术领域
本发明涉及出租车智能设备技术领域,尤其涉及出租车订单分配方法的技术领域。
背景技术
随着打车软件的普及,人们的打车习惯已经被深刻的改变。现有的打车软件使用时,乘客通过打车软件发出叫车订单需求,服务器接收到叫车订单需求后,自动匹配该订单起点位置周围的多个司机,将该订单推送给相关司机。
然而由于目前实时路况的复杂性,在获取一订单周围的司机方面,现有的打车软件只能以直线距离为准。这样就暴露出一个问题,对南方的某些城市如武汉、上海、杭州等,存在跨江播送的情况。以武汉为例,武汉市中心被长江切为两半,而现有的打车软件在计算司机与订单的距离时只能计算出直线距离,在这种情况下,某一订单A起点位置和某一司机甲当前位置分布在长江的两岸,直线距离只有0.5km,而司机甲从其当前位置实际接到订单A的乘客则需要先行驶较远距离,过桥,再返回一段路程,实际行程可能达到5km,因此司机甲实际上不属于订单A起点位置周围的司机,不应当将订单A推送给司机甲。
发明内容
本发明要解决的技术问题是:在叫车订单分配或推送过程中,如何克服只通过直线距离获取一订单周围的司机的方法的缺陷,避免向需要跨江、跨河以及跨越立交桥等障碍物的司机推送订单。
为了解决上述技术问题,本发明所采用的技术方案是:
一种基于判断线段是否相交的叫车订单播送***,其包括:判断模块,订单播送模块;
所述判断模块,用于判断各在线出租车针对某一叫车订单是否需要跨越障碍物;
所述订单播送模块,用于向不需要跨越障碍物的出租车播送所述叫车订单信息。
优选的,所述判断模块包括如下步骤:
步骤1,采集障碍物上至少两个点,形成一个以上障碍物线段,取其中一个障碍物线段为P1P2;
步骤2,取叫车订单集合中任一叫车订单Q,设Q的起点位置为P3,设有一个以上的出租车符合出租车当前位置在叫车订单Q起点位置周围的条件,形成出租车信息集合;
步骤3,取出租车信息集合中任一个出租车C,设C的当前位置为P4,形成司机订单线段P3P4;
步骤4,判断P1P2和P3P4是否相交,如果是,则出租车C针对叫车订单Q需要跨越障碍物,转步骤6;如果否,转下一步骤;
步骤5,各障碍物线段是否已经遍历完,如果否,返回步骤4,取下一个障碍物线段判断是否与司机订单线段P3P4相交;如果是,则出租车C针对叫车订单Q不需要跨越障碍物,转步骤6;
步骤6,出租车信息集合是否已经遍历完,如果否,返回步骤3,取出租车信息集合中下一个出租车;如果是,转下一步骤;
步骤7,叫车订单集合是否已经遍历完,如果否,返回步骤2,取叫车订单集合中下一叫车订单;如果是,结束。
进一步优选的,所述判断P1P2和P3P4是否相交的步骤是:
设定条件1为: p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 ; 或者 p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 ;
设定条件2为: p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 ; 或者 p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 ;
如果条件1和条件2同时满足,则P1P2和P3P4相交。
进一步优选的,如果条件1满足,条件2不满足,但时,如果叫车订单Q的起点位置P3在P1P2线段上,P1P2和P3P4是相交的;如果叫车订单Q的起点位置P3在P1P2线段的延长线上,P1P2和P3P4是不相交的。
进一步优选的,所述障碍物为江、河或立交桥。
本发明的上述技术方案基于线段是否相交的判断,能检测出订单周围的司机是否有需要跨越障碍物的情形,达到如下技术效果:
1、在算法的性能和复杂度上有非常好优势,相比与传统的基于路面距离的计算,无需考虑实时路况,大大降低了服务器的计算性能;
2、避免向需要跨越障碍物的司机推送订单,也提高了订单推送的效率和准确度。
附图说明
图1本发明判断模块流程图。
图2基于向量的叉积方式判断两线段是否相交原理图。
图3基于向量的叉积方式判断两线段是否相交的一种特殊情况图。
图4基于向量的叉积方式判断两线段是否相交的另一种特殊情况图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
本发明的工作原理是:基于判断线段是否相交,把江、河、立交桥等需要跨越的障碍物认为是若干个线段连接而成的折线;将司机-订单连线认为是一段线段,一次判断司机-订单线段与障碍物折线中的所有线段是否相交,如果发生相交,则认为存在跨越障碍物的情形;否则不存在跨越障碍物的情形。
本发明,基于判断线段是否相交的叫车订单播送***,包括:判断模块,订单播送模块;
所述判断模块,用于判断各在线出租车针对某一叫车订单是否需要跨越障碍物;
所述订单播送模块,用于向不需要跨越障碍物的出租车播送所述叫车订单信息。
如图1所示,本发明判断模块流程图。所述判断模块包括如下步骤:
步骤1,采集障碍物上至少两个点,形成一个以上障碍物线段,取其中一个障碍物线段为P1P2;
步骤2,取叫车订单集合中任一叫车订单Q,设Q的起点位置为P3,设有一个以上的出租车符合出租车当前位置在叫车订单Q起点位置周围的条件,形成出租车信息集合;
步骤3,取出租车信息集合中任一个出租车C,设C的当前位置为P4,形成司机订单线段P3P4;
步骤4,判断P1P2和P3P4是否相交,如果是,则出租车C针对叫车订单Q需要跨越障碍物,转步骤6;如果否,转下一步骤;
步骤5,各障碍物线段是否已经遍历完,如果否,返回步骤4,取下一个障碍物线段判断是否与司机订单线段P3P4相交;如果是,则出租车C针对叫车订单Q不需要跨越障碍物,转步骤6;
步骤6,出租车信息集合是否已经遍历完,如果否,返回步骤3,取出租车信息集合中下一个出租车;如果是,转下一步骤;
步骤7,叫车订单集合是否已经遍历完,如果否,返回步骤2,取叫车订单集合中下一叫车订单;如果是,结束。
可以采用基于向量的叉积(cross product)方式判断两线段是否相交,也可以采用其他方法判断两线段是否相交。
采用向量的叉积(cross product)方式判断两线段对应向量是否相交的原理是:如图2所示,设有线段P1P2,P3P4。的叉积为正时,说明的顺时针方向上;为负时,说明的逆时针方向上;叉积为0说明两向量共线(同向或反向)。因此,当同时满足以下两个条件时则相交:
(1)的两侧(即 p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 ; 或者 p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 ; );
(2)的两侧(即 p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 ; 或者 p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 )。
图3和图4是特殊情况,满足条件(1),不满足条件(2),因为重合,即的叉积为0。当叉积为0时要分情况讨论,当P3在线段P1P2上时两线段相交;当P3在线段P1P2的延长线上时两线段不相交。
根据上述基于向量的叉积方式判断两线段是否相交的方法,所述判断P1P2和P3P4是否相交的步骤是:
设定条件1为: p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 ; 或者 p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 ;
设定条件2为: p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 ; 或者 p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 ;
如果条件1和条件2同时满足,则P1P2和P3P4相交。
进一步的,如果条件1满足,条件2不满足,但时,如果叫车订单Q的起点位置P3在P1P2线段上,此时P1P2和P3P4是相交的;如果叫车订单Q的起点位置P3在P1P2线段的延长线上,此时P1P2和P3P4是不相交的。
具体实施例一:
以武汉为例,长江在武汉市内近似为一条直线,我们采用人工打点的方式,取长江在武汉的两端点(114.377997,30.666914)和(114.157229,30.380211)
某司机在湖北省武汉市江岸区中山大道1125号,经纬度(114.31108,,30.604891),某乘客在和平达到与秦园路交叉口发出订单,经纬度(114.338137,30.59485),单看司机与乘客的直线距离在2km以内,而因为司机乘客联系横跨了长江,导致司机需要绕桥接乘客,实际距离近8km。
将上面长江两点(114.377997,30.666914)和(114.157229,30.380211)作为P1P2线段,司机(114.31108,,3.604891)与订单(114.338137,30.59485)连线作为OD线段,根据上述基于向量的叉积方式判断两线段是否相交的方法可准确识别出P1P2线段与OD线段相交,因而判断该订单对该司机为跨江播送,进而将该订单对该司机隔离,即不向该司机播送该订单。
具体实施例二:
上海的黄浦江相对复杂,在上海的走势不是一条直线,那么我们通过采集若干个关键点,将黄浦江在上海内的河段描述为一个折线,依次为P1P2、P2P3、P3P4、P5P6、P7P8,判断是否夸奖播送只需判断司乘连线OD是否与上面的任一条线段相交即可。
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

Claims (5)

1.一种基于判断线段是否相交的叫车订单播送***,其特征在于,其包括:判断模块,订单播送模块;
所述判断模块,用于判断各在线出租车针对某一叫车订单是否需要跨越障碍物;
所述订单播送模块,用于向不需要跨越障碍物的出租车播送所述叫车订单信息。
2.如权利要求1所述的叫车订单播送***,其特征在于,所述判断模块包括如下步骤:
步骤1,采集障碍物上至少两个点,形成一个以上障碍物线段,取其中一个障碍物线段为P1P2;
步骤2,取叫车订单集合中任一叫车订单Q,设Q的起点位置为P3,设有一个以上的出租车符合出租车当前位置在叫车订单Q起点位置周围的条件,形成出租车信息集合;
步骤3,取出租车信息集合中任一个出租车C,设C的当前位置为P4,形成司机订单线段P3P4;
步骤4,判断P1P2和P3P4是否相交,如果是,则出租车C针对叫车订单Q需要跨越障碍物,转步骤6;如果否,转下一步骤;
步骤5,各障碍物线段是否已经遍历完,如果否,返回步骤4,取下一个障碍物线段判断是否与司机订单线段P3P4相交;如果是,则出租车C针对叫车订单Q不需要跨越障碍物,转步骤6;
步骤6,出租车信息集合是否已经遍历完,如果否,返回步骤3,取出租车信息集合中下一个出租车;如果是,转下一步骤;
步骤7,叫车订单集合是否已经遍历完,如果否,返回步骤2,取叫车订单集合中下一叫车订单;如果是,结束。
3.如权利要求2所述的叫车订单播送***,其特征在于,所述判断P1P2和P3P4是否相交的步骤是:
设定条件1为: p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 ; 或者 p 3 p 1 &RightArrow; &times; p 3 p 4 &RightArrow; > 0 , p 3 p 2 &RightArrow; &times; p 3 p 4 &RightArrow; < 0 ;
设定条件2为: p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 ; 或者 p 1 p 3 &RightArrow; &times; p 1 p 2 &RightArrow; > 0 , p 1 p 4 &RightArrow; &times; p 1 p 2 &RightArrow; < 0 ;
如果条件1和条件2同时满足,则P1P2和P3P4相交。
4.如权利要求3所述的叫车订单播送***,其特征在于,
如果条件1满足,条件2不满足,但时,如果叫车订单Q的起点位置P3在P1P2线段上,P1P2和P3P4是相交的;如果叫车订单Q的起点位置P3在P1P2线段的延长线上,P1P2和P3P4是不相交的。
5.如权利要求1、2、3或4所述的叫车订单播送***,其特征在于,所述障碍物为江、河或立交桥。
CN201410421805.3A 2014-08-04 2014-08-25 基于判断线段是否相交的叫车订单播送*** Active CN104183123B (zh)

Priority Applications (10)

Application Number Priority Date Filing Date Title
CN201410421805.3A CN104183123B (zh) 2014-08-25 2014-08-25 基于判断线段是否相交的叫车订单播送***
KR1020177003867A KR20180006871A (ko) 2014-08-04 2015-08-04 주문들을 분배하기 위한 방법들 및 시스템들
US15/501,824 US20170228683A1 (en) 2014-08-04 2015-08-04 Methods and systems for distributing orders
SG10201901024TA SG10201901024TA (en) 2014-08-04 2015-08-04 Methods and systems for distributing orders
PCT/CN2015/086075 WO2016019857A1 (zh) 2014-08-04 2015-08-04 服务派发***及方法
EP15829451.2A EP3179420A4 (en) 2014-08-04 2015-08-04 Service distribution system and method
MYPI2017000173A MY188692A (en) 2014-08-04 2015-08-04 Methods and systems for distributing orders
SG11201700895YA SG11201700895YA (en) 2014-08-04 2015-08-04 Methods and systems for distributing orders
KR1020187037289A KR20190000400A (ko) 2014-08-04 2015-08-04 서비스 분배 시스템 및 방법
PH12017500192A PH12017500192B1 (en) 2014-08-04 2017-02-01 Methods and systems for distributing orders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410421805.3A CN104183123B (zh) 2014-08-25 2014-08-25 基于判断线段是否相交的叫车订单播送***

Publications (2)

Publication Number Publication Date
CN104183123A true CN104183123A (zh) 2014-12-03
CN104183123B CN104183123B (zh) 2016-05-18

Family

ID=51964126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410421805.3A Active CN104183123B (zh) 2014-08-04 2014-08-25 基于判断线段是否相交的叫车订单播送***

Country Status (1)

Country Link
CN (1) CN104183123B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438226A (zh) * 2016-05-25 2017-12-05 滴滴(中国)科技有限公司 订单发布处理方法及服务器
CN111854768A (zh) * 2020-03-05 2020-10-30 北京嘀嘀无限科技发展有限公司 地图路线的确定方法和***、终端和计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1588476A (zh) * 2004-08-07 2005-03-02 中华电信股份有限公司 出租车营运安全与派遣监控***
JP2006018383A (ja) * 2004-06-30 2006-01-19 Omron Corp 情報提供システム及び方法
CN103198652A (zh) * 2013-04-11 2013-07-10 周文峰 一种基于移动互联网的出租车运营业务管理***及方法
CN103531025A (zh) * 2013-11-08 2014-01-22 宁波市康惠网络科技有限公司 一种利用线路分段方法来匹配信息的拼车***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006018383A (ja) * 2004-06-30 2006-01-19 Omron Corp 情報提供システム及び方法
CN1588476A (zh) * 2004-08-07 2005-03-02 中华电信股份有限公司 出租车营运安全与派遣监控***
CN103198652A (zh) * 2013-04-11 2013-07-10 周文峰 一种基于移动互联网的出租车运营业务管理***及方法
CN103531025A (zh) * 2013-11-08 2014-01-22 宁波市康惠网络科技有限公司 一种利用线路分段方法来匹配信息的拼车***

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438226A (zh) * 2016-05-25 2017-12-05 滴滴(中国)科技有限公司 订单发布处理方法及服务器
CN107438226B (zh) * 2016-05-25 2021-03-16 北京嘀嘀无限科技发展有限公司 订单发布处理方法及服务器
US11069247B2 (en) 2016-05-25 2021-07-20 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for distributing a service request for an on-demand service
CN111854768A (zh) * 2020-03-05 2020-10-30 北京嘀嘀无限科技发展有限公司 地图路线的确定方法和***、终端和计算机可读存储介质

Also Published As

Publication number Publication date
CN104183123B (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN104819724B (zh) 一种基于gis的无人地面车辆自主行驶辅助***
Sang et al. A novel method for restoring the trajectory of the inland waterway ship by using AIS data
CN103745611B (zh) 一种交通路径规划方法、装置及***
CN105096643B (zh) 基于多线路前车运行数据的实时公交到站时间预测方法
CN103996293B (zh) 基于车友协同的实时路况采集查询***及采集查询方法
CN104464314B (zh) 一种公交车专用道交叉口的公交优先通行方法
CN104851286B (zh) 一种利用公交车辆gps数据动态评估道路交通状态的方法
CN109000678B (zh) 基于高精度地图的驾驶辅助装置及方法
CN104732789A (zh) 一种基于公交车gps数据生成道路路网地图的方法
CN103514758A (zh) 一种基于车车通信的高效道路交通防碰撞预警方法
CN107180538B (zh) 一种车载轨迹运行方向的识别方法
CN107909187B (zh) 一种快速匹配电子地图中公交站点与路段的方法
CN104112361A (zh) 路网交通中常发瓶颈和偶发瓶颈的识别方法
CN103218915B (zh) 一种基于浮动车数据的经验路径生成方法
CN103208180B (zh) 基于多智能体交互技术的智能交通调度***及方法
CN105608895B (zh) 一种基于局部异常因子的城市交通拥堵路段检测方法
CN110363984A (zh) 交通流量预测方法和设备
CN102855756A (zh) 一种智能出租车应召方法、服务器和***
CN104680829B (zh) 基于多用户协同的公交车辆到站时间预测***及方法
CN106097717A (zh) 基于两类浮动车数据融合的信号交叉口平均通行时间估计方法
CN110335461A (zh) 一种公交班次实际执行信息的获取方法及装置
CN106205125A (zh) 一种救护车抵达时间实时预测***及方法
Sotelo et al. Introduction to the special issue on emergent cooperative technologies in intelligent transportation systems
CN104575085A (zh) 一种基于浮动车的公交车到站动态诱导方法及装置
CN108280991A (zh) 车载短距离通信网的车辆交通事故预测方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant