CN116541635B - 公交线网长度的计算方法、装置及存储介质 - Google Patents
公交线网长度的计算方法、装置及存储介质 Download PDFInfo
- Publication number
- CN116541635B CN116541635B CN202310622015.0A CN202310622015A CN116541635B CN 116541635 B CN116541635 B CN 116541635B CN 202310622015 A CN202310622015 A CN 202310622015A CN 116541635 B CN116541635 B CN 116541635B
- Authority
- CN
- China
- Prior art keywords
- road
- candidate
- segment
- section
- network
- 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.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Algebra (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明公开了一种公交线网长度的计算方法、装置及存储介质,其中,该方法包括:获取公交线网的所有线形数据,构建候选路段集合C_ROAD;建立线网路段集合N_ROAD,初始化为空;从该候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road;将该候选路段c_road与每个n_road进行比对,如果该候选路段c_road与每个n_road满足预设的去重规则,则将该候选路段c_road放入该线网路段集合N_ROAD中;累加该线网路段集合N_ROAD中的所有路段,该所有路段之和为公交线网长度。本发明实现了精确计算公交线网的长度。
Description
技术领域
本发明涉及智能公交系统技术领域,尤其是涉及一种公交线网长度的计算方法、装置及存储介质。
背景技术
公交线路网:一个城市全部的公交线路组成的网称为公交线路网。
线网长度:公交线路网经过的道路的中心线的长度,为该公交线路网的长度,简称线网长度。
线路线形数据:用有序经纬度序列表示线路走向的数据称之为线路线形数据。
路网数据:描述城市交通道路网的矢量数据,由多个路段连接而成,每个路段有一个开始节点和结束节点;节点的主要属性为节点标识和经纬度位置;路段的主要属性为行驶方向、有序经纬度序列表示的路段线形、道路宽度、道路等级等。
公交线网长度是城市公共交通的重要指标之一。其定义为公交线路经过的道路中心线的长度。目前计算公交线网长度的方法有两类:
第一类:如图1所示,把公交线路的线形数据(例如通过车辆GPS定位数据加工获得)映射到路网数据上,然后计算公交线路覆盖的路网路段的长度。第一类方法的缺点是:
(1)需要路网数据,路网数据的获取并不容易;
(2)获取的路网数据和线形数据通常不完全配套,把线形数据映射到路网本身也是复杂的事情。
第二类:通过数学的方法对线形数据去重,进而计算去重后的线形总长度。现有的采用第二种方法的思路是计算两个“路段”的相似性:即考察两个路段的端点的欧式距离的远近程度。如下图2所示,如果(A1,B1)及(A2,B2)之间的距离都足够近,则认为路段A1-A2和B1-B2重合,其中一个路段会被去重掉。该方法的问题是现实数据并不完美,例如:如下图3的情况,其中图(a)中,(A1,B1)的距离远,(A2,B2)的距离近,实际上(B1,B2)应该被去重;图(b)中(A1,B1)及(A2,B2)的距离都远,但(B1,B2)应该被去重;图(c)中(A1,B1)及(A2,B2)的距离都远,但显然需要做去重处理。
因此,针对图3或者类似于图3的情况,需要开发一种新的处理方法去处理,以便能准确地获得公交线网的线网长度。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的是提供一种公交线网长度的计算方法、装置及存储介质,能够准确且方便地计算公交线网的长度。
本发明所采用的技术方案是:
第一方面,本发明提供一种公交线网长度的计算方法,其中,包括:获取公交线网的所有线形数据,构建候选路段集合C_ROAD;建立线网路段集合N_ROAD,初始化为空;从该候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road;将该候选路段c_road与每个n_road进行比对,如果该候选路段c_road与每个n_road满足预设的去重规则,则将该候选路段c_road放入该线网路段集合N_ROAD中;累加该线网路段集合N_ROAD中的所有路段,该所有路段之和为公交线网长度。
其中,将该候选路段c_road与每个n_road进行比对,如果该候选路段c_road与每个n_road满足预设的去重规则,则将该候选路段c_road放入该线网路段集合N_ROAD中,包括:计算该候选路段c_road与该n_road之间是何种方向关系,该方向关系包括三种:同向、反向以及交叉,如果该候选路段c_road与该n_road为交叉关系,则将该候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步;计算该候选路段c_road与该n_road之间是否具有连接关系,如果该候选路段c_road与该n_road之间具有连接关系,则将候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步;计算该候选路段c_road与该n_road之间的重叠关系,如果该候选路段c_road与该n_road之间完全重合,则将该候选路段c_road舍弃;如果该候选路段c_road与该n_road之间没有重叠,则将该候选路段c_road放入该线网路段集合N_ROAD中;如果该候选路段c_road与该n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中;将剩余路段集合R_ROAD中的每个候选路段r_road,按照c_road放入N_ROAD的规则,放入到该线网路段集合N_ROAD中,不同点是:不再保留处理r_road之后的“二次”剩余路段,而是把二次剩余路段直接加入到线网路段集合N_ROAD中。
其中,该计算该候选路段c_road与该n_road之间是何种方向关系,包括:将候选路段c_road的两个端点记作A1、A2,将n_road的两个端点记作B1、B2,计算向量A1->A2与向量B1->B2之间的夹角θ;如果该夹角θ位于[-Δ,Δ]°之间,Δ表示一个小的角度阈值,则表明该c_road与该n_road之间为同向关系;如果该夹角θ位于区间[-180,-180+Δ)°或(180-Δ,180]°之内,则表明该c_road与该n_road之间为反向关系;如果该夹角θ位于区间(0+Δ,180-Δ)°或者(-180+Δ,-Δ)°之内,则表明该c_road与该n_road之间为交叉关系。
其中,该计算该候选路段c_road与该n_road之间是否具有连接关系,包括:如果该候选路段c_road与该n_road为同向关系,并且满足如下第一关系:端点A2与端点B1之间的距离A2-B1近且端点A1与端点B2之间的距离A1-B2距离远,或者端点A1与端点B2之间的距离A1-B2距离近且端点A2与端点B1之间的距离A2-B1距离远,则判断该c_road与该n_road之间具有连接关系;如果该候选路段c_road与该n_road为反向关系,并且满足如下第二关系:端点A2与端点B2之间的距离A2-B2近且端点A1与端点B1之间的距离A1-B1远,或者端点A1与端点B1之间的距离A1-B1近且端点A2与端点B2之间的距离A2-B2远,则判断该c_road与该n_road之间具有连接关系。
其中,该计算该候选路段c_road与该n_road之间的重叠关系,如果该候选路段c_road与该n_road之间完全重合,则将该候选路段c_road舍弃;如果该候选路段c_road与该n_road之间没有重叠,则将该候选路段c_road放入该线网路段集合N_ROAD中;如果该候选路段c_road与该n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中,包括:候选路段和线网路段完全重合判断步骤:如果该候选路段c_road与该n_road为同向关系,并且满足如下第三关系:端点A1与端点B1之间的距离A1-B1近且端点A2与端点B2之间的距离A2-B2近;或者如果该候选路段c_road与该n_road为反向关系,并且满足如下第四关系:端点A1与端点B2之间的距离A1-B2近且端点A2与端点B1之间的距离A2-B1近,则判断该c_road与该n_road之间重叠,舍弃该候选路段c_road;候选路段被线网路段包含判断步骤:如果端点A1到线段B1-B2之间的距离d1、并且端点A2到线段B1-B2之间的距离d2均小于指定的阈值,则判断该c_road与该n_road之间重叠,舍弃该候选路段c_road;候选路段部分被包含判断步骤:如果端点B1到线段A1-A2之间的距离d1(B1到候选路段c_road的垂足设定为A3)、并且端点A2到线段B1-B2之间的距离d2均小于指定的阈值,则判断该c_road与该n_road之间部分重叠,把截断重叠部分后的路段A1->A3放入剩余路段集合R_ROAD中;或者如果端点B2到线段A1-A2之间的距离d1(B2到候选路段c_road的垂足设定为A3)、并且端点A1到线段B1-B2之间的距离d2均小于指定的阈值,则判断该c_road与该n_road之间部分重叠,把截断重叠部分后的路段A2->A3放入剩余路段集合R_ROAD中;候选路段包含线网路段判断步骤:如果端点B1到线段A1-A2之间的距离d1(B1到候选路段c_road的垂足设定为A3)、并且端点B2到线段A1-A2之间的距离d2(B2到候选路段c_road的垂足设定为A4))均小于指定的阈值,则判断该候选路段c_road包含该线网路段n_road,把A1->A3和A4->A2放入剩余路段集合R_ROAD中;候选路段与线网路段之间没有重叠判断步骤:如果候选路段和线网路段间没有垂足或只有一个垂足,则判断候选路段与线网路段之间没有重叠,把该候选路段c_road放入该线网路段集合N_ROAD中。
其中,从该候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road,包括:对整个城市的公交线网构建一套栅格;先计算该候选路段c_road经历了哪些栅格,再计算该线网路段集合N_ROAD中的每个线网路段经历了哪些栅格;从该N_ROAD中挑出与该候选路段c_road经历的栅格相同的线网路段,作为比对路段n_road。
第二方面,本发明提供一种公交线网长度的计算装置,其中,包括:初始化模块,用于获取公交线网的所有线形数据,构建候选路段集合C_ROAD;建立线网路段集合N_ROAD,初始化为空;挑选模块,用于从该候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road;去重模块,用于将该候选路段c_road与每个n_road进行比对,如果该候选路段c_road与每个n_road满足预设的去重规则,则将该候选路段c_road放入该线网路段集合N_ROAD中;计算模块,用于累加该线网路段集合N_ROAD中的所有路段,该所有路段之和为公交线网长度。
其中,该去重模块包括:方向关系计算单元,用于计算该候选路段c_road与该n_road之间是何种方向关系,该方向关系包括三种:同向、反向以及交叉,如果该候选路段c_road与该n_road为交叉关系,则将该候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步;连接关系计算单元,用于计算该候选路段c_road与该n_road之间是否具有连接关系,如果该候选路段c_road与该n_road之间具有连接关系,则将候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步;重叠关系计算单元,用于计算该候选路段c_road与该n_road之间的重叠关系,如果该候选路段c_road与该n_road之间完全重合,则将该候选路段c_road舍弃;如果该候选路段c_road与该n_road之间没有重叠,则将该候选路段c_road放入该线网路段集合N_ROAD中;如果该候选路段c_road与该n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中;剩余路段处理单元,用于将剩余路段集合R_ROAD中的每个候选路段r_road,按照c_road放入N_ROAD的规则,放入到该线网路段集合N_ROAD中,不同点是:不再保留处理r_road之后的“二次”剩余路段,而是把二次剩余路段直接加入到线网路段集合N_ROAD中。
其中,该挑选模块包括:栅格构建单元,用于对整个城市的公交线网构建一套栅格;路段计算单元,用于先计算该候选路段c_road经历了哪些栅格,再计算该线网路段集合N_ROAD中的每个线网路段经历了哪些栅格;路段挑选单元,用于从该N_ROAD中挑出与该候选路段c_road经历的栅格相同的线网路段,作为比对路段n_road。
第三方面,本发明提供一种计算机可读存储介质,其中,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行如上述的方法。
本发明的有益效果是:
本发明通过采用对公交线网候选路段和比对路段进行对比,看候选路段与比对路段的重叠关系,如果没有重叠,则将候选路段放入线网路段集合中;如果部分重叠,则将候选路段的截取路段放入剩余路段集合中,以进行下一次比对;如果完全重合,则舍弃该候选路段。克服现有技术中存在计算公交线网长度不精确的技术问题,实现了精确计算公交线网的长度。
此外,本发明在计算候选路段与比对路段是否重合时,采用了计算候选路段与比对路段的方向关系、连接关系以及重叠关系,以精确计算候选路段与比对路段是否有重叠。
再次,本发明还通过采用把线形数据按经纬度点序列拆开,形成候选线网路段。这种方法获取的数据来源可靠。
另外,本发明在计算过程中引入栅格,建立路段和栅格的对应关系,大幅减少候选路段和线网路段集合中路段的比对次数,提高计算性能。
附图说明
图1是现有技术公交线网长度的计算方法的一实施例的结构示意图;
图2是现有技术公交线网长度的计算方法的另一实施例的结构示意图;
图3是现有技术公交线网长度的计算方法的又一实施例的结构示意图;
图4是本发明公交线网长度的计算方法的一实施例的流程示意图;
图5是图4的步骤S13的一实施例的流程示意图;
图6是图5的步骤S131的一实施例的结构示意图;
图7是图5的步骤S132的一实施例的结构示意图;
图8是图5的步骤S133的一实施例的结构示意图;
图9是本发明公交线网长度的计算装置的一实施例的结构示意图;
图10是图9的挑选模块12的一实施例的结构示意图;
图11是图9的计算模块13的一实施例的结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
请参阅图4,图4是本发明公交线网长度的计算方法的一实施例的流程示意图。如图4所示,该方法包括如下步骤:
S11:获取公交线网的所有线形数据,构建候选路段集合C_ROAD;建立线网路段集合N_ROAD,初始化为空;
其中,线形数据是有序的经纬度点序列。遍历每条线路的线形数据,把相邻两点形成一个候选路段,记为c_road(A1, A2)。注意,A1是有序经纬度点中的前一个点,A2是后一个点。所有的c_road形成候选路段集合C_ROAD。
S12:从该候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road;
其中,对整个城市的公交线网构建一套栅格,先计算该候选路段c_road经历了哪些栅格,再计算该线网路段集合N_ROAD中的每个线网路段经历了哪些栅格,从该N_ROAD中挑出与该候选路段c_road经历的栅格相同的线网路段,作为比对路段n_road。可以理解地,比对路段n_road的数量可以是零个、一个或者多个。
S13:将该候选路段c_road与每个n_road进行比对,如果该候选路段c_road与每个n_road满足预设的去重规则,则将该候选路段c_road放入该线网路段集合N_ROAD中;
请参阅图5,图5是图4的步骤S13的一实施例的流程示意图。如图5所示,该步骤S13包括如下子步骤:
S131:计算该候选路段c_road与该n_road之间是何种方向关系,该方向关系包括三种:同向、反向以及交叉,如果该候选路段c_road与该n_road为交叉关系,则将该候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步;
其中,将候选路段c_road的两个端点记作A1、A2,将n_road的两个端点记作B1、B2,计算向量A1->A2与向量B1->B2之间的夹角θ。
如图6中(a)所示,如果该夹角θ位于[-Δ,Δ]°之间,Δ表示一个小的角度阈值,则表明该c_road与该n_road之间为同向关系。
如图6中(b)所示,如果该夹角θ位于区间[-180,-180+Δ)°或(180-Δ,180]°之内,则表明该c_road与该n_road之间为反向关系。
如图6中(c)所示,如果该夹角θ位于区间(0+Δ,180-Δ)°或者(-180+Δ,-Δ)°之内,则表明该c_road与该n_road之间为交叉关系。
可以理解地,只有同向或反向的两个路段才可能有重叠,需要做去重处理,走下一步;否则把c_road放入N_ROAD。
S132:计算该候选路段c_road与该n_road之间是否具有连接关系,如果该候选路段c_road与该n_road之间具有连接关系,则将候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步;
判断该候选路段c_road与该n_road之间是否具有连接关系的方法如下:
如图(7a)所示,如果该候选路段c_road与该n_road为同向关系,并且满足如下第一关系:端点A2与端点B1之间的距离A2-B1近且端点A1与端点B2之间的距离A1-B2距离远,或者端点A1与端点B2之间的距离A1-B2距离近且端点A2与端点B1之间的距离A2-B1距离远,则判断该c_road与该n_road之间具有连接关系。
如图(7b)所示,如果该候选路段c_road与该n_road为反向关系,并且满足如下第二关系:端点A2与端点B2之间的距离A2-B2近且端点A1与端点B1之间的距离A1-B1远,或者端点A1与端点B1之间的距离A1-B1近且端点A2与端点B2之间的距离A2-B2远,则判断该c_road与该n_road之间具有连接关系。
S133:计算该候选路段c_road与该n_road之间的重叠关系,如果该候选路段c_road与该n_road之间完全重合,则将该候选路段c_road舍弃;如果该候选路段c_road与该n_road之间没有重叠,则将该候选路段c_road放入该线网路段集合N_ROAD中;如果该候选路段c_road与该n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中;
步骤S133包括如下五种情况,具体为:
如图8(a)所示,候选路段和线网路段完全重合判断步骤:如果该候选路段c_road与该n_road为同向关系,并且满足如下第三关系:端点A1与端点B1之间的距离A1-B1近且端点A2与端点B2之间的距离A2-B2近;或者如果该候选路段c_road与该n_road为反向关系,并且满足如下第四关系:端点A1与端点B2之间的距离A1-B2近且端点A2与端点B1之间的距离A2-B1近,则判断该c_road与该n_road之间重叠,舍弃该候选路段c_road;
如图8(b)所示,候选路段被线网路段包含判断步骤:如果端点A1到线段B1-B2之间的距离d1、并且端点A2到线段B1-B2之间的距离d2均小于指定的阈值,则判断该c_road与该n_road之间重叠,舍弃该候选路段c_road;
如图8(c)所示,候选路段部分被包含判断步骤:如果端点B1到线段A1-A2之间的距离d1(B1到候选路段c_road的垂足设定为A3)、并且端点A2到线段B1-B2之间的距离d2均小于指定的阈值,则判断该c_road与该n_road之间部分重叠,把截断重叠部分后的路段A1->A3放入剩余路段集合R_ROAD中;或者如果端点B2到线段A1-A2之间的距离d1(B2到候选路段c_road的垂足设定为A3)、并且端点A1到线段B1-B2之间的距离d2均小于指定的阈值,则判断该c_road与该n_road之间部分重叠,把截断重叠部分后的路段A2->A3放入剩余路段集合R_ROAD中;
如图8(d)所示,候选路段包含线网路段判断步骤:如果端点B1到线段A1-A2之间的距离d1(B1到候选路段c_road的垂足设定为A3)、并且端点B2到线段A1-A2之间的距离d2(B2到候选路段c_road的垂足设定为A4))均小于指定的阈值,则判断该候选路段c_road包含该线网路段n_road,把A1->A3和A4->A2放入剩余路段集合R_ROAD中;
如图8(e)所示,候选路段与线网路段之间没有重叠判断步骤:如果候选路段和线网路段间没有垂足或只有一个垂足,则判断候选路段与线网路段之间没有重叠,把该候选路段c_road放入该线网路段集合N_ROAD中。
S134:将剩余路段集合R_ROAD中的每个候选路段r_road,按照c_road放入N_ROAD的规则,放入到该线网路段集合N_ROAD中,不同点是:不再保留处理r_road之后的“二次”剩余路段,而是把“二次”剩余路段直接加入到线网路段集合N_ROAD中。
其中,采用步骤S131~S133的方法对R_ROAD中的每个候选路段r_road,按照c_road放入N_ROAD的规则,放入到该线网路段集合N_ROAD中。
S14:累加该线网路段集合N_ROAD中的所有路段,该所有路段之和为公交线网长度。
可以理解地,通过步骤S13已将线网路段集合N_ROAD中的所有路段进行去重,因此,线网路段集合N_ROAD中的所有路段均为有效计算路段,因此可将N_ROAD中的所有路段之和作为公交线网长度。
这里要说明的是,在以上投影计算和长度计算可假定已经把经纬度(地理坐标系)转换到了平面直角坐标系的横纵坐标值。实际计算过程中也可以直接把经纬度的值当作平面直角坐标系的横纵坐标,计算精度稍有损失但可以接受。
实施例二
请参阅图9,图9是本发明公交线网长度的计算装置的一实施例的结构示意图。如图9所示,该计算装置包括初始化模块11、挑选模块12、去重模块13以及计算模块14。
初始化模块11,用于获取公交线网的所有线形数据,构建候选路段集合C_ROAD;建立线网路段集合N_ROAD,初始化为空。
挑选模块12,用于从该候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road。如图10所示,该挑选模块包括:栅格构建单元121、路段计算单元122以及路段挑选单元123。栅格构建单元121,用于对整个城市的公交线网构建一套栅格。路段计算单元122,用于先计算该候选路段c_road经历了哪些栅格,再计算该线网路段集合N_ROAD中的每个线网路段经历了哪些栅格。路段挑选单元123,用于从该N_ROAD中挑出与该候选路段c_road经历的栅格相同的线网路段,作为比对路段n_road。
去重模块13,用于将该候选路段c_road与每个n_road进行比对,如果该候选路段c_road与每个n_road满足预设的去重规则,则将该候选路段c_road放入该线网路段集合N_ROAD中。如图11所示,该去重模块13包括:方向关系计算单元131、连接关系计算单元132、重叠关系计算单元133、以及剩余路段处理单元134。其中,方向关系计算单元131用于计算该候选路段c_road与该n_road之间是何种方向关系,该方向关系包括三种:同向、反向以及交叉,如果该候选路段c_road与该n_road为交叉关系,则将该候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步。连接关系计算单元132,用于计算该候选路段c_road与该n_road之间是否具有连接关系,如果该候选路段c_road与该n_road之间具有连接关系,则将候选路段c_road放入该线网路段集合N_ROAD中,否则,进入下一步。重叠关系计算单元133,用于计算该候选路段c_road与该n_road之间的重叠关系,如果该候选路段c_road与该n_road之间完全重合,则将该候选路段c_road舍弃;如果该候选路段c_road与该n_road之间没有重叠,则将该候选路段c_road放入该线网路段集合N_ROAD中;如果该候选路段c_road与该n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中。剩余路段处理单元134,用于将剩余路段集合R_ROAD中的每个候选路段r_road,按照c_road放入N_ROAD的规则,放入到该线网路段集合N_ROAD中,不同点是:不再保留处理r_road之后的“二次”剩余路段,而是把二次剩余路段直接加入到线网路段集合N_ROAD中。
计算模块14,用于累加该线网路段集合N_ROAD中的所有路段,该所有路段之和为公交线网长度。
具体地,各模块的工作方法在实施例一中已详细阐述,在此不再赘述。
实施例三
本发明还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如实施例一所述的方法。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (8)
1.一种公交线网长度的计算方法,其特征在于,包括:
获取公交线网的所有线形数据,构建候选路段集合C_ROAD;建立线网路段集合N_ROAD,初始化为空;
从所述候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road;
将所述候选路段c_road与每个n_road进行比对,如果所述候选路段c_road与每个n_road满足预设的去重规则,则将所述候选路段c_road放入所述线网路段集合N_ROAD中,所述预设的去重规则具体包括:计算所述候选路段c_road与所述n_road之间是何种方向关系,所述方向关系包括三种:同向、反向以及交叉,如果所述候选路段c_road与所述n_road为交叉关系,则将所述候选路段c_road放入所述线网路段集合N_ROAD中,否则,进入下一步;计算所述候选路段c_road与所述n_road之间是否具有连接关系,如果所述候选路段c_road与所述n_road之间具有连接关系,则将候选路段c_road放入所述线网路段集合N_ROAD中,否则,进入下一步;计算所述候选路段c_road与所述n_road之间的重叠关系,如果所述候选路段c_road与所述n_road之间完全重合,则将所述候选路段c_road舍弃;如果所述候选路段c_road与所述n_road之间没有重叠,则将所述候选路段c_road放入所述线网路段集合N_ROAD中;如果所述候选路段c_road与所述n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中;将剩余路段集合R_ROAD中的每个候选路段r_road,按照c_road放入N_ROAD的规则,放入到所述线网路段集合N_ROAD中,不同点是:不再保留处理r_road之后的“二次”剩余路段,而是把“二次”剩余路段直接加入到线网路段集合N_ROAD中;
累加所述线网路段集合N_ROAD中的所有路段,所述所有路段之和为公交线网长度。
2.根据权利要求1所述的计算方法,其特征在于,所述计算所述候选路段c_road与所述n_road之间是何种方向关系,包括:
将候选路段c_road的两个端点记作A1、A2,将n_road的两个端点记作B1、B2,计算向量A1->A2与向量B1->B2之间的夹角θ;
如果所述夹角θ位于[-Δ,Δ]°之间,Δ表示一个小的角度阈值,则表明所述c_road与所述n_road之间为同向关系;
如果所述夹角θ位于区间[-180,-180+Δ)°或(180-Δ,180]°之内,则表明所述c_road与所述n_road之间为反向关系;
如果所述夹角θ位于区间(0+Δ,180-Δ)°或者(-180+Δ,-Δ)°之内,则表明所述c_road与所述n_road之间为交叉关系。
3.根据权利要求2所述的计算方法,其特征在于,所述计算所述候选路段c_road与所述n_road之间是否具有连接关系,包括:
如果所述候选路段c_road与所述n_road为同向关系,并且满足如下第一关系:端点A2与端点B1之间的距离A2-B1近且端点A1与端点B2之间的距离A1-B2距离远,或者端点A1与端点B2之间的距离A1-B2距离近且端点A2与端点B1之间的距离A2-B1距离远,则判断所述c_road与所述n_road之间具有连接关系;
如果所述候选路段c_road与所述n_road为反向关系,并且满足如下第二关系:端点A2与端点B2之间的距离A2-B2近且端点A1与端点B1之间的距离A1-B1远,或者端点A1与端点B1之间的距离A1-B1近且端点A2与端点B2之间的距离A2-B2远,则判断所述c_road与所述n_road之间具有连接关系。
4.根据权利要求3所述的计算方法,其特征在于,所述计算所述候选路段c_road与所述n_road之间的重叠关系,如果所述候选路段c_road与所述n_road之间完全重合,则将所述候选路段c_road舍弃;如果所述候选路段c_road与所述n_road之间没有重叠,则将所述候选路段c_road放入所述线网路段集合N_ROAD中;如果所述候选路段c_road与所述n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中,包括:
候选路段和线网路段完全重合判断步骤:如果所述候选路段c_road与所述n_road为同向关系,并且满足如下第三关系:端点A1与端点B1之间的距离A1-B1近且端点A2与端点B2之间的距离A2-B2近;或者如果所述候选路段c_road与所述n_road为反向关系,并且满足如下第四关系:端点A1与端点B2之间的距离A1-B2近且端点A2与端点B1之间的距离A2-B1近,则判断所述c_road与所述n_road之间完全重合,舍弃所述候选路段c_road;
候选路段被线网路段包含判断步骤:如果端点A1到线段B1-B2之间的距离d1、并且端点A2到线段B1-B2之间的距离d2均小于指定的阈值,则判断所述c_road与所述n_road之间重叠,舍弃所述候选路段c_road;
候选路段部分被包含判断步骤:如果端点B1到线段A1-A2之间的距离d1、并且端点A2到线段B1-B2之间的距离d2均小于指定的阈值,B1到候选路段c_road的垂足设定为A3,则判断所述c_road与所述n_road之间部分重叠,把截断重叠部分后的路段A1->A3放入剩余路段集合R_ROAD中;或者如果端点B2到线段A1-A2之间的距离d1、并且端点A1到线段B1-B2之间的距离d2均小于指定的阈值,B2到候选路段c_road的垂足设定为A3,则判断所述c_road与所述n_road之间部分重叠,把截断重叠部分后的路段A2->A3放入剩余路段集合R_ROAD中;
候选路段包含线网路段判断步骤:如果端点B1到线段A1-A2之间的距离d1、并且端点B2到线段A1-A2之间的距离d2均小于指定的阈值,B1到候选路段c_road的垂足设定为A3、B2到候选路段c_road的垂足设定为A4,则判断所述候选路段c_road包含所述线网路段n_road,把A1->A3和A4->A2放入剩余路段集合R_ROAD中;
候选路段与线网路段之间没有重叠判断步骤:如果候选路段和线网路段间没有垂足或只有一个垂足,则判断候选路段与线网路段之间没有重叠,把所述候选路段c_road放入所述线网路段集合N_ROAD中。
5.根据权利要求1至4任意一项所述的计算方法,其特征在于,所述从所述候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road,包括:
对整个城市的公交线网构建一套栅格;
先计算所述候选路段c_road经历了哪些栅格,再计算所述线网路段集合N_ROAD中的每个线网路段经历了哪些栅格;
从所述N_ROAD中挑出与所述候选路段c_road经历的栅格相同的线网路段,作为比对路段n_road。
6.一种公交线网长度的计算装置,其特征在于,包括:
初始化模块,用于获取公交线网的所有线形数据,构建候选路段集合C_ROAD;建立线网路段集合N_ROAD,初始化为空;
挑选模块,用于从所述候选路段集合C_ROAD中逐一取出一个候选路段c_road,从线网路段集合N_ROAD中挑选出需要比对的多个路段n_road;
去重模块,用于将所述候选路段c_road与每个n_road进行比对,如果所述候选路段c_road与每个n_road满足预设的去重规则,则将所述候选路段c_road放入所述线网路段集合N_ROAD中,所述去重模块包括:方向关系计算单元,用于计算所述候选路段c_road与所述n_road之间是何种方向关系,所述方向关系包括三种:同向、反向以及交叉,如果所述候选路段c_road与所述n_road为交叉关系,则将所述候选路段c_road放入所述线网路段集合N_ROAD中,否则,进入下一步;连接关系计算单元,用于计算所述候选路段c_road与所述n_road之间是否具有连接关系,如果所述候选路段c_road与所述n_road之间具有连接关系,则将候选路段c_road放入所述线网路段集合N_ROAD中,否则,进入下一步;
重叠关系计算单元,用于计算所述候选路段c_road与所述n_road之间的重叠关系,如果所述候选路段c_road与所述n_road之间完全重合,则将所述候选路段c_road舍弃;如果所述候选路段c_road与所述n_road之间没有重叠,则将所述候选路段c_road放入所述线网路段集合N_ROAD中;如果所述候选路段c_road与所述n_road之间部分重叠,则将候选路段c_road去掉重叠部分的路段放入剩余路段集合R_ROAD中;剩余路段处理单元,用于将剩余路段集合R_ROAD中的每个候选路段r_road,按照c_road放入N_ROAD的规则,放入到所述线网路段集合N_ROAD中,不同点是:不再保留处理r_road之后的“二次”剩余路段,而是把“二次”剩余路段直接加入到线网路段集合N_ROAD中;
计算模块,用于累加所述线网路段集合N_ROAD中的所有路段,所述所有路段之和为公交线网长度。
7.根据权利要求6所述的计算装置,其特征在于,所述挑选模块包括:
栅格构建单元,用于对整个城市的公交线网构建一套栅格;
路段计算单元,用于先计算所述候选路段c_road经历了哪些栅格,再计算所述线网路段集合N_ROAD中的每个线网路段经历了哪些栅格;
路段挑选单元,用于从所述N_ROAD中挑出与所述候选路段c_road经历的栅格相同的线网路段,作为比对路段n_road。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310622015.0A CN116541635B (zh) | 2023-05-30 | 2023-05-30 | 公交线网长度的计算方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310622015.0A CN116541635B (zh) | 2023-05-30 | 2023-05-30 | 公交线网长度的计算方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116541635A CN116541635A (zh) | 2023-08-04 |
CN116541635B true CN116541635B (zh) | 2023-11-21 |
Family
ID=87450677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310622015.0A Active CN116541635B (zh) | 2023-05-30 | 2023-05-30 | 公交线网长度的计算方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541635B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978859A (zh) * | 2015-06-28 | 2015-10-14 | 常州普适信息科技有限公司 | 一种计算城市任意区域公交线网密度的方法 |
CN110442660A (zh) * | 2019-07-04 | 2019-11-12 | 安徽富煌科技股份有限公司 | 一种用于智能公交系统的公交线网长度计算方法 |
CN113609241A (zh) * | 2021-08-13 | 2021-11-05 | 武汉市交通发展战略研究院 | 一种道路网络与公交线网匹配方法与系统 |
CN113850996A (zh) * | 2021-09-17 | 2021-12-28 | 广州市城市规划勘测设计研究院 | 路段公交线路重复系数数据计算方法、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210103858A1 (en) * | 2018-04-18 | 2021-04-08 | Rubikloud Technologies Ind. | Method and system for model auto-selection using an ensemble of machine learning models |
-
2023
- 2023-05-30 CN CN202310622015.0A patent/CN116541635B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104978859A (zh) * | 2015-06-28 | 2015-10-14 | 常州普适信息科技有限公司 | 一种计算城市任意区域公交线网密度的方法 |
CN110442660A (zh) * | 2019-07-04 | 2019-11-12 | 安徽富煌科技股份有限公司 | 一种用于智能公交系统的公交线网长度计算方法 |
CN113609241A (zh) * | 2021-08-13 | 2021-11-05 | 武汉市交通发展战略研究院 | 一种道路网络与公交线网匹配方法与系统 |
CN113850996A (zh) * | 2021-09-17 | 2021-12-28 | 广州市城市规划勘测设计研究院 | 路段公交线路重复系数数据计算方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
中小城市常规公交线网优化方法研究;杨兴地;;交通信息与安全(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116541635A (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182624B2 (en) | Method, system and memory for constructing transverse topological relationship of lanes in high-definition map | |
CN109186617B (zh) | 一种基于视觉众包数据自动生成车道级拓扑关系的方法、系统及存储器 | |
US10001378B2 (en) | Incremental map generation, refinement and extension with GPS traces | |
He et al. | RoadRunner: improving the precision of road network inference from GPS trajectories | |
WO2023274229A1 (zh) | 车辆轨迹纠偏方法、装置及电子设备 | |
CN101826274B (zh) | 基于浮动车数据的矢量交通数字地图校正方法 | |
CN110796066B (zh) | 一种车道线组构建方法及装置 | |
CN109523781B (zh) | 一种基于卫星定位的路口预测方法 | |
CN112747755B (zh) | 道路线确定方法、装置、可读存储介质及地图更新系统 | |
CN111753030A (zh) | 构建公交路网与道路网的联合拓扑的方法、装置及上位机 | |
CN112115220B (zh) | 地图数据检查方法及计算机可读存储介质 | |
CN109064877B (zh) | 基于高精度地图的突变中心线平滑方法、装置及存储介质 | |
CN113239089A (zh) | 路径识别方法、装置、电子设备、存储介质及程序产品 | |
TW202146852A (zh) | 路線偏差量化和基於其之交通工具路線學習 | |
CN113096389B (zh) | 一种基于多源数据的全国高速公路网络拓扑构建方法 | |
CN116541635B (zh) | 公交线网长度的计算方法、装置及存储介质 | |
CN114332822A (zh) | 确定车道组类型的方法、装置及电子设备 | |
CN111551185B (zh) | 行车道添加的方法 | |
CN114234991A (zh) | 导航路径规划方法、装置、计算机设备和存储介质 | |
CN111696059B (zh) | 一种车道线光滑连接处理方法和装置 | |
JP2004325083A (ja) | 経路決定装置、経路決定方法および経路決定プログラム | |
CN113448973A (zh) | 地图数据更新方法、服务器、车机及存储介质 | |
CN108955704B (zh) | 一种道路识别方法及装置以及导航路线规划方法及装置 | |
CN113918676B (zh) | 上下行道路合并方法、装置、电子设备及存储介质 | |
CN114705180A (zh) | 高精地图的数据修正方法、装置、设备及存储介质 |
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 | ||
PE01 | Entry into force of the registration of the contract for pledge of patent right |
Denomination of invention: Calculation method, device, and storage medium for the length of public transportation network Granted publication date: 20231121 Pledgee: Shenzhen small and medium sized small loan Co.,Ltd. Pledgor: SHENZHEN CITY DATA TECHNOLOGY Co.,Ltd. Registration number: Y2024980015668 |