CN111159319B - 一种基于大数据的寻路方法和系统 - Google Patents
一种基于大数据的寻路方法和系统 Download PDFInfo
- Publication number
- CN111159319B CN111159319B CN201911184411.XA CN201911184411A CN111159319B CN 111159319 B CN111159319 B CN 111159319B CN 201911184411 A CN201911184411 A CN 201911184411A CN 111159319 B CN111159319 B CN 111159319B
- Authority
- CN
- China
- Prior art keywords
- road section
- road
- data
- searching
- query
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Remote Sensing (AREA)
- Navigation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种基于大数据的寻路方法和系统,包括:预处理路线数据建立搜索库;通过空间四叉树在搜索库中确定对应所述起始点的起始路段和对应所述终止点的终止路段;将起始路段作为查询路段,放入第一路段集合;从路段表中搜索所述查询路段的路段数据,得到所述查询路段的驶出路段,生成下一路段集合,放入驶出路段数据;判断下一路段集合中是否有终止路段,若没有则执行上一步,若有则选择最短的一组作为寻路结果。通过建立搜索库,使用空间四叉树在搜索库中确定起始路段和终止路段,从路段表中搜索路段的路段数据,并判断是否有终止路段,能够简单的在大数据环境下运行,相较于传统的寻路方法,本申请的方法更简单,速度更快,更高效。
Description
技术领域
本申请涉及路径搜索领域,尤其涉及一种基于大数据的寻路方法和系统。
背景技术
在寻路领域中常用的经典的最短路径算法,如迪杰斯特拉、A*等算法,在起点终点数量非常庞大时,性能略有不足。且路线拓扑图的生成过程,在大数据环境下也相对复杂一些。
综上所述,需要提供一种在大数据环境下简单,高效的寻路方法和系统。
发明内容
为解决以上问题,本申请提出了一种基于大数据的寻路方法和系统。
一方面,本申请提出一种基于大数据的寻路方法,包括:
S1,预处理路线数据,建立搜索库;
S2,根据起始点的位置和终止点的位置,通过空间四叉树在搜索库中确定对应所述起始点的起始路段和对应所述终止点的终止路段;
S3,将所述起始路段作为查询路段,将所述起始路段放入第一路段集合;
S4,从路段表中搜索所述查询路段的路段数据,得到所述查询路段的驶出路段,生成下一路段集合,放入驶出路段数据;
S5,判断下一路段集合中是否有终止路段,若没有,则将下一路段集合中的驶出路段作为查询路段,执行S4,若有,则根据搜索到的路段ID,选择最短的一组作为寻路结果。
优选地,所述S1,包括:
预处理路线数据,得到多个路段数据和多个节点数据;
根据所有的路段数据生成路段表,根据所有的节点数据生成节点表;
根据每个路段数据中的节点的经纬度生成一个对应此路段数据的路段ID的外接矩形,放入空间四叉树,得到搜索库。
优选地,所述S2,包括:
根据起始点的位置,通过空间四叉树,在搜索库中搜索对应起始点的路段ID;
根据路段ID,在路段表中查找路段ID的路段数据,确定路段ID与起始点的距离;
将与起始点距离最近的路段ID作为起始路段;
根据终止点的位置,在搜索库中搜索对应终止点的路段ID;
根据路段ID,在路段表中查找路段ID的路段数据,确定路段ID与终止点的距离;
将与终止点距离最近的路段ID作为终止路段。
优选地,在S2之前,还包括:设置搜索深度。
优选地,在S2之前,还包括:
若起始路段和终止路段相同,则根据搜索到的路段ID,生成寻路结果。
优选地,在所述将下一路段集合中的驶出路段作为查询路段之前,还包括:
判断路段集合数量是否等于搜索深度,若是,则停止搜索,无寻路结果。
优选地,所述从路段表中搜索所述查询路段的路段数据,得到所述查询路段的驶出路段,包括:
从路段表中搜索查询路段的路段数据,得到查询路段的起点的节点ID和终点的节点ID;
在节点表中根据起点的节点ID和终点的节点ID,查找所述查询路段的驶出路段,得到所述查询路段的驶出路段。
优选地,所述路段数据包括:路段ID、起点的节点ID、终点的节点ID、路线长度和路向。
优选地,所述节点数据包括:节点ID、经度、纬度和驶出路段ID。
第二方面,本申请提出一种基于大数据的寻路系统,包括:
搜索库建立模块,用于预处理路线数据,建立搜索库;
搜索模块,用于根据起始点的位置和终止点的位置,通过空间四叉树在搜索库中确定对应所述起始点的起始路段和对应所述终止点的终止路段;将所述起始路段作为查询路段,将所述起始路段放入第一路段集合;从路段表中搜索所述查询路段的路段数据,得到所述查询路段的驶出路段,生成下一路段集合,放入驶出路段数据;判断下一路段集合中是否有终止路段,若没有,则将下一路段集合中的驶出路段作为查询路段,继续搜索,若有,则根据搜索到的路段ID,选择最短的一组作为寻路结果。
本申请的优点在于:通过建立搜索库,使用空间四叉树在搜索库中确定对应起始点的起始路段和对应所述终止点的终止路段,从路段表中搜索路段的路段数据,并判断是否有终止路段,能够简单的在大数据环境下运行,相较于传统的寻路方法,本申请的方法更简单,速度更快,更高效。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选事实方案的目的,而并不认为是对本申请的限制。而且在整个附图中,用同样的参考符号表示相同的部件。在附图中:
图1是本申请提供的一种基于大数据的寻路方法的步骤示意图;
图2是本申请提供的一种基于大数据的寻路方法的流程示意图;
图3是本申请提供的一种基于大数据的寻路方法的空间四叉树搜索示意图;
图4是本申请提供的一种基于大数据的寻路方法的寻路示意图;
图5是本申请提供的一种基于大数据的寻路系统的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
根据本申请的实施方式,提出一种基于大数据的寻路方法,如图1所示,包括:
S1,预处理路线数据,建立搜索库;
S2,根据起始点的位置和终止点的位置,通过空间四叉树在搜索库中确定对应起始点的起始路段和对应终止点的终止路段;
S3,将起始路段作为查询路段,将起始路段放入第一路段集合;
S4,从路段表中搜索查询路段的路段数据,得到查询路段的驶出路段,生成下一路段集合,放入驶出路段数据;
S5,判断下一路段集合中是否有终止路段,若没有,则将下一路段集合中的驶出路段作为查询路段,执行S4,若有,则根据搜索到的路段ID,选择最短的一组作为寻路结果。
如图2所示,S1,包括:
预处理路线数据,得到多个路段数据和多个节点数据;
根据所有的路段数据生成路段表,根据所有的节点数据生成节点表;
根据每个路段数据中的节点的经纬度生成一个对应此路段数据的路段ID的外接矩形,放入空间四叉树,得到搜索库。
S2,包括:
根据起始点的位置,通过空间四叉树,在搜索库中搜索对应起始点的路段ID;
根据路段ID,在路段表中查找路段ID的路段数据,确定路段ID与起始点的距离;
将与起始点距离最近的路段ID作为起始路段;
根据终止点的位置,在搜索库中搜索对应终止点的路段ID;
根据路段ID,在路段表中查找路段ID的路段数据,确定路段ID与终止点的距离;
将与终止点距离最近的路段ID作为终止路段。
在S2之前,还包括:设置搜索深度。
在S2之前,还包括:
若起始路段和终止路段相同,则根据搜索到的路段ID,生成寻路结果。
在将下一路段集合中的驶出路段作为查询路段之前,还包括:
判断路段集合数量是否等于搜索深度,若是,则停止搜索,无寻路结果。
述从路段表中搜索查询路段的路段数据,得到查询路段的驶出路段,包括:
从路段表中搜索查询路段的路段数据,得到查询路段的起点的节点ID和终点的节点ID;
在节点表中根据起点的节点ID和终点的节点ID,查找查询路段的驶出路段,得到查询路段的驶出路段。
路段数据包括:路段ID、起点的节点ID、终点的节点ID、路线长度和路向。
节点数据包括:节点ID、经度、纬度和驶出路段ID。
预处理路线数据,得到多个路段数据和多个节点数据,包括:将路线数据拆分成路段数据和节点两种数据,并以文本方式存储。
搜索库建立好后,可以直接用于之后的搜索,不需要再次建立搜索库。
路向包括:双向路段和单向路段;其中,单向路段包括其具体通行方向。
在S2之后,还包括生成第一路段集合。
在S3之前,还包括:生成访问路段列表。此列表中保存所有放入过路段集合的路段,包括放入第一路段集合的起始路段以及放入各下一路段集合中的驶出路段,防止在下一个集合里从新搜索已经搜过的路段。
生成下一路段集合,放入驶出路段数据,包括:
生成下一路段集合,放入访问路段列表中没有的驶出路段,并记录相邻路段的前后关系,同时,将访问路段列表中没有保存过的驶出路段放入访问路段列表。
驶出路段表示一条路(路段)的两个端点上所连接(通向)的真正可以行驶的路(路段)。由于有的路是某一方向的单行,有的路是双向,所以使用驶出路段表示搜索到的路段为真正可以行驶的路段,而不是与行驶方向相反向的路。
路段表和节点表,均能够根据ID,查找到这个路段或者节点的对应数据。搜索库中只有路段ID和其对应的经纬度区域,用于查找起始点和终止点对应的路段,各路段还有节点的数据,都在路段表和节点表中查找。
若从起始路段到终止路段有多条路线,则根据各路段集合中的路段、路段表和节点表,确定从起始路段到终止路段的最短路线作为输出。
空间四叉树为一种开源工具包,可用于查询某个经纬度位置点附近的路段。
下面,对本申请实施例进行进一步说明。
如图3所示,为根据路段A数据中的节点的经纬度,生成一个对应路段A的外接矩形。其中,A可以表示路段ID。以点1为起始点的位置,点3为终止点的位置,在搜索库中确定对应起始点的起始路段为路段A,对应终止点的终止路段为路段B。
若以点2作为起始点,则在搜索库中,能够搜索到路段A和路段B,由于点2与路段A之间的距离更近,则使用路段A作为起始路段。
如图4所示,假设X为起始点的位置,Y为终止点的位置,根据起始点和终止点的位置,搜索初始路段和终止路段(取最近的),在图3中,起始路段是b,终止路段是k,则将b放入第一路段集合,同时,将b放入访问路段列表。由于b和k不是同一条路段,所以搜索b的驶出路段。假设a、b都是双向路,c是从东向西的单向路,则b的驶出路段只有a,将a放入下一路段集合(第二路段集合),并记录相邻路段的前后关系。同时,还需将a放入访问路段列表。
由于a与k也不是同一个路段,所以继续找a的驶出路段,假设e为从西向东的单向路,d和f都是双向路,则a的驶出路段其实有d、f和b,但是由于b之前已经放入过访问路段列表了,所以a的驶出路段中,能够放入下一路段集合(第三路段集合)的,只有d和f,并记录相邻路段的前后关系。同时,还需将d和f放入访问路段列表。
d和f也跟k不是同一个路段,所以继续搜索d和f的驶出路段,假设路段d的北端节点无连接路段,则d的驶出路段为a和f,但是a和f都保存在访问路段列表中了,所以不再将a和f放入第四路段集合。
假设f为由北向南的单向路,g和h均为由东向西的单向路,则f的驶出路段为g,将g放入第四路段集合,并记录相邻路段的前后关系,同时,将g放入访问路段列表。
假设搜索深度是4,则在判断完第四路段集合中各路段是否为终止路段后停止搜索,搜索不成功;假设搜索深度是5,则如果在第五集合里出现k,则搜索成功,输出b-a-f-g-k。
若从b到k有多条路线,则根据各路段集合中的路段、路段表和节点表,确定从b到k的最短路线作为输出。
第二方面,根据本申请的实施方式,还提出一种基于大数据的寻路系统,如图5所示,包括:
搜索库建立模块101,用于预处理路线数据,建立搜索库;
搜索模块102,用于根据起始点的位置和终止点的位置,通过空间四叉树在搜索库中确定对应起始点的起始路段和对应终止点的终止路段;将起始路段作为查询路段,将起始路段放入第一路段集合;从路段表中搜索查询路段的路段数据,得到查询路段的驶出路段,生成下一路段集合,放入驶出路段数据;判断下一路段集合中是否有终止路段,若没有,则将下一路段集合中的驶出路段作为查询路段,继续搜索,若有,则根据搜索到的路段ID,选择最短的一组作为寻路结果。
本申请的方法中,通过建立搜索库,使用空间四叉树在搜索库中确定对应起始点的起始路段和对应所述终止点的终止路段,从路段表中搜索路段的路段数据,并判断是否有终止路段,能够简单的在大数据环境下运行,相较于传统的寻路方法,本申请的方法更简单,速度更快,更高效。该方法在mapreduce的大数据环境下,可以很方便的进行数据的存储和加载,然后高效的进行连续两点的最短行进路线的查询,在两个点的距离不是很远的场景下,具有很好的效果。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (7)
1.一种基于大数据的寻路方法,其特征在于,包括:
S1,预处理路线数据,建立搜索库,包括:预处理路线数据,得到多个路段数据和多个节点数据;根据所有的路段数据生成路段表,根据所有的节点数据生成节点表;根据每个路段数据中的节点的经纬度生成一个对应此路段数据的路段ID的外接矩形,放入空间四叉树,得到搜索库;
S2,根据起始点的位置和终止点的位置,通过空间四叉树在搜索库中确定对应所述起始点的起始路段和对应所述终止点的终止路段,包括:根据起始点的位置,通过空间四叉树,在搜索库中搜索对应起始点的路段ID;根据路段ID,在路段表中查找路段ID的路段数据,确定路段ID与起始点的距离;将与起始点距离最近的路段ID作为起始路段;根据终止点的位置,在搜索库中搜索对应终止点的路段ID;根据路段ID,在路段表中查找路段ID的路段数据,确定路段ID与终止点的距离;将与终止点距离最近的路段ID作为终止路段;
S3,将所述起始路段作为查询路段,将所述起始路段放入第一路段集合;
S4,从路段表中搜索所述查询路段的路段数据,得到所述查询路段的驶出路段,包括:从路段表中搜索查询路段的路段数据,得到查询路段的起点的节点ID和终点的节点ID;在节点表中根据起点的节点ID和终点的节点ID,查找所述查询路段的驶出路段,得到所述查询路段的驶出路段;
生成下一路段集合,放入驶出路段数据;
S5,判断下一路段集合中是否有终止路段,若没有,则将下一路段集合中的驶出路段作为查询路段,执行S4,若有,则根据搜索到的路段ID,选择最短的一组作为寻路结果。
2.如权利要求1所述的方法,其特征在于,在S2之前,还包括:设置搜索深度。
3.如权利要求1所述的方法,其特征在于,在S2之前,还包括:
若起始路段和终止路段相同,则根据搜索到的路段ID,生成寻路结果。
4.如权利要求1所述的方法,其特征在于,在所述将下一路段集合中的驶出路段作为查询路段之前,还包括:
判断路段集合数量是否等于搜索深度,若是,则停止搜索,无寻路结果。
5.如权利要求1所述的方法,其特征在于,所述路段数据包括:路段ID、起点的节点ID、终点的节点ID、路线长度和路向。
6.如权利要求1所述的方法,其特征在于,所述节点数据包括:节点ID、经度、纬度和驶出路段ID。
7.一种使用权利要求1-6任一项所述寻路方法的基于大数据的寻路系统,其特征在于,包括:
搜索库建立模块,用于预处理路线数据,建立搜索库;
搜索模块,用于根据起始点的位置和终止点的位置,通过空间四叉树在搜索库中确定对应所述起始点的起始路段和对应所述终止点的终止路段;将所述起始路段作为查询路段,将所述起始路段放入第一路段集合;从路段表中搜索所述查询路段的路段数据,得到所述查询路段的驶出路段,生成下一路段集合,放入驶出路段数据;判断下一路段集合中是否有终止路段,若没有,则将下一路段集合中的驶出路段作为查询路段,继续搜索,若有,则根据搜索到的路段ID,选择最短的一组作为寻路结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184411.XA CN111159319B (zh) | 2019-11-27 | 2019-11-27 | 一种基于大数据的寻路方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911184411.XA CN111159319B (zh) | 2019-11-27 | 2019-11-27 | 一种基于大数据的寻路方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111159319A CN111159319A (zh) | 2020-05-15 |
CN111159319B true CN111159319B (zh) | 2023-07-25 |
Family
ID=70556180
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911184411.XA Active CN111159319B (zh) | 2019-11-27 | 2019-11-27 | 一种基于大数据的寻路方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111159319B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113607183A (zh) * | 2021-08-05 | 2021-11-05 | 北京中交兴路信息科技有限公司 | 一种车辆的运输路线规划方法、装置、存储介质及终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6879980B1 (en) * | 2001-06-29 | 2005-04-12 | Oracle International Corporation | Nearest neighbor query processing in a linear quadtree spatial index |
CN107389079A (zh) * | 2017-07-04 | 2017-11-24 | 广州海格星航信息科技有限公司 | 高精度路径规划方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109584553B (zh) * | 2018-11-29 | 2020-09-22 | 浙江海康智联科技有限公司 | 一种基于时空信息的路段关联度缺失补全方法 |
CN109668572B (zh) * | 2018-12-28 | 2022-05-17 | 芜湖哈特机器人产业技术研究院有限公司 | 一种基于floyd算法的激光叉车路径搜索方法 |
-
2019
- 2019-11-27 CN CN201911184411.XA patent/CN111159319B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6879980B1 (en) * | 2001-06-29 | 2005-04-12 | Oracle International Corporation | Nearest neighbor query processing in a linear quadtree spatial index |
CN107389079A (zh) * | 2017-07-04 | 2017-11-24 | 广州海格星航信息科技有限公司 | 高精度路径规划方法和系统 |
Non-Patent Citations (1)
Title |
---|
A Computational Technique for Free Space Localization in 3-D Multiresolution Probabilistic Environment Models;P. Payeur;《IEEE Transactions on Instrumentation and Measurement》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111159319A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8681635B2 (en) | Computer-implemented systems and methods for planning a route | |
JP5448367B2 (ja) | ルート決定方法およびデバイス | |
Ziliaskopoulos et al. | A note on least time path computation considering delays and prohibitions for intersection movements | |
NO20005009D0 (no) | Navigasjonssystem som benytter posisjonsnett for karttilpasning | |
JP2002133351A (ja) | 最小コスト経路探索装置及びそれに用いる最小コスト経路探索方法 | |
KR970049962A (ko) | 경로선출방법 및 장치 | |
CY1109459T1 (el) | Μεθοδος οργανωσης, αναζητησης και πλοηγησης σε μια βαση δεδομενων | |
JP2011007713A (ja) | 多点対間最短経路探索方法およびシステム | |
KR100901013B1 (ko) | 경로 탐색 시스템 및 그 방법 | |
Nutanong et al. | Continuous detour queries in spatial networks | |
CN111159319B (zh) | 一种基于大数据的寻路方法和系统 | |
Efentakis et al. | GRASP. Extending graph separators for the single-source shortest-path problem | |
KR101450525B1 (ko) | 도로 네트워크에서 움직이는 영역 질의의 안전 출구 위치를 계산하는 방법 | |
US9166906B2 (en) | Routing method in asymmetric networks | |
KR100956617B1 (ko) | 주행 경로의 매칭코드 저장 및 공유 방법 | |
CN111272187A (zh) | 基于改进的a*算法的最优行驶路径规划方法及系统 | |
JP2020016600A (ja) | 経路探索システムおよび経路探索プログラム | |
KR20060081165A (ko) | 위성 디엠비의 실시간 교통정보를 이용한 네비게이션 방법 | |
KR100983482B1 (ko) | 도로 정보를 이용한 정류장 검색 방법 및 시스템 | |
Gunawan et al. | Development of an application for tourism route recommendations with the Dijkstra algorithm | |
KR102125472B1 (ko) | 공차시간 감소를 위한 추천경로 안내 시스템 및 그 방법 | |
Jia et al. | An improved JPS algorithm in symmetric graph | |
JP3673998B2 (ja) | カーナビゲーションシステム | |
CN113361788B (zh) | 一种城市环境下面向多类型服务需求的路径规划方法 | |
JPH10123947A (ja) | エリア管理システムにおける飛び地判別方法と装置 |
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 |