CN107545074B - 一种实现删除有向路网图中部分非连通节点的方法 - Google Patents
一种实现删除有向路网图中部分非连通节点的方法 Download PDFInfo
- Publication number
- CN107545074B CN107545074B CN201710941243.9A CN201710941243A CN107545074B CN 107545074 B CN107545074 B CN 107545074B CN 201710941243 A CN201710941243 A CN 201710941243A CN 107545074 B CN107545074 B CN 107545074B
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- road network
- target
- deleting
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种实现删除有向路网图中部分非连通节点的方法,该方法以构建有向道路网络的连接目标表文件为基础,通过节点之间的连接关系不断的扩大连通节点范围,实现对所有交通节点的分类,采用保留节点数量最多类的原则,删除其他交通节点,实现删除所有非连通节点的目的。
Description
技术领域
本发明涉及一种实现删除有向路网图中部分非连通节点的方法,属于城市道路网络预处理技术领域。
背景技术
科学技术的不断发展和完善,尤其是信息采集和录入等技术的长足进步,使得加快智能交通系统、构建智慧交通虚拟平台成为了可能。实践中,为了更快地实现大范围内的城市路网构建,一些基于开源道路网信息开发的路网解析程序不断地被开发出来,并且已经用于城市交通建设。与传统的手工搭建路网相比,解析程序极大地缩短了城市路网的搭建时间,并且有效地降低了人工成本。
在现有的基于开源道路网信息解析而成城市道路路网中,往往存在一些与主要道路网不连通的交通节点,即非连通节点。这些非连通节点的存在不但对交通分配毫无意义,而且会占用大量的计算内存空间和计算时间,此外,非连通节点的存在会降低道路网的可读性。然而,到目前为止,尚未发现存在一种高效、可行的方法解决上述问题。
发明内容
本发明为提升基于开源道路网信息解析而成的道路网的有效性,降低无用的非连通节点对道路网分析的影响,本发明提出了一种实现删除有向路网图中部分非连通节点的方法,该方法以构建有向道路网络的连接目标表文件为基础,通过节点之间的连接关系不断的扩大连通节点范围,实现对所有交通节点的分类;采用保留节点数量最多类的原则,删除其他交通节点,实现删除所有非连通节点的目的。
为解决上述技术问题,本发明提供了一种实现删除有向路网图中部分非连通节点的方法,包括以下步骤:
(A)、根据待处理路网节点之间的有向连接关系,构建一种表征路网节点有向连接关系的路网节点连接目录表,所述路网节点连接目录表包括发出节点编号信息、连接节点数信息和接收节点编号信息;
(B)、新建用于存储不同节点的集合,并根据路网节点连接目录表随机生成一个目标节点,所述集合包括用于存储已标记节点的集合A、用于存储新增节点的集合B和用于存储新增有效节点的集合C;
(C)、采用遍历的方式,在步骤(A)所述的路网节点连接目录表中搜索新的节点,并更新相应集合,具体包括:
(C1)在路网节点连接目录表中的发出节点编号元素中逐行查找目标节点,若查到目标节点,则将其所有接收节点编号元素放入集合B中,并转至步骤(C2),否则,直接转至步骤(C2);
(C2)在路网节点连接目录表的所有接收节点编号范围内逐行查找目标节点,若查找到目标节点,则将其发出节点编号元素放入集合B中,并转至步骤(D),否则,直接转至步骤(D);
(D)、新增有效集合节点执行情况检验及目标节点变更;步骤(D)中所述的新增有效集合节点执行情况检验在于判断新增有效集合C内的所有节点是否均已经作为目标节点,如果均已作为目标节点,则执行步骤(E),如果新增有效集合C内仍有节点未作为目标节点,则更新目标节点,并转至步骤(C);
(E)、新增集合节点检验及节点集合更新,步骤(E)中所述的新增集合检验主要用于检查在将集合C中所有节点按编号从小到大顺序依次作为目标节点执行后新增节点集合B是否为空集;
(E1)如果集合B为非空集合,则转至步骤(E2),否则,结束程序;
(E2)更新集合C、集合B、集合A和目标节点,并转至步骤(C);
其中,步骤(E2)所述的各个集合的更新方法如下:
(a)更新新增有效集合C,C=B-A∩B;
(b)用将集合B中所有元素并入集合A中,形成新的集合A;
(c)完成步骤(a)和步骤(b)后,将集合B更新为空集。
进一步的,路网节点连接目录表中接受节点编号信息从左至右,采用增序排列。
进一步的,步骤(D)中更新目标节点采用以下方法:将集合C中未作为目标节点的,按从小到大的顺序排列,取编号最小的节点作为新的目标节点。
进一步的,步骤(E)后还包括判断是否路网中所有节点均被标记,如果仍有节点未被标记,重新依次执行步骤(A)、(B)、(C)、(D)和(E),直至路网中所有节点均被标记为止。
进一步的,每依次执行完一次步骤(A)、(B)、(C)、(D)和(E)后便可产生一个已标记节点集合A,将含有节点数最多的已标记节点集合A保留,删除其他已标记节点集合A,实现删除非连通节点的目的。
进一步的,若已标记节点个数超过所有节点个数的一半,可直接将剩余节点删除。
有益效果:本发明与现有技术相比,本发明实现对基于开源道路信息解析而成的道路的非连通节点的甄别和删除功能,可以有效地提高路网的准确性和可读性;同时,也避免无用交通节点对存储内存的占用,提高交通分析的运算速度。
附图说明
图1为本发明的基本流程示意图;
图2为实例分析中采用的路网示意图。
具体实施方式
下面结合实施例进一步阐述该发明方法。
参见图1所示的一种实现删除有向路网图中部分非连通节点方法的基本流程图,具体包括以下:
根据待处理路网节点之间的有向连接关系,根据图2中所示的路网,构建该路网的路网节点连接目录表文件,路网节点连接目录表中每一行代表一个发出节点及其接收节点数量和接收节点编号,每行的第一列表征发出节点编号,每行的第二列表示接收从所述发出节点流出车辆的节点数量,即接收节点数量,每行的从第三列至该行的最后一列表示接收节点的编号,从左至右,采用增序排列;如表2所示:
表2实施例路网节点连接目录表
新建3个集合,用于存储不同节点,并根据路网节点连接目录表随机生成一个目标节点,具体如下:新建用于存储已标记节点的集合A、用于存储新增节点的集合B和用于存储新增有效节点的集合C,并令它们均为空集,即采用均等机会的方法从发出节点{1 2 3 4 5 7 8}中选出一节点作为目标节点,不妨设其为3,将目标节点放入集合A、C中,即A=C={3}。
在路网节点连接目录表的第一列元素中逐行查找目标节点3,此时,在第四行第一列中查到了目标节点3,因此,将该行的自第三列到最后一列的所有元素放入集合B中,即B={2 4 5},在路网节点连接目录表文件的自第三列到最后一列范围内逐行查找目标节点3,此时,在第二行第三列和第三行第三列中均发现目标节点3,将所对应的节点1和2放入集合B中,集合更新为B={1 2 4 5},检验发现集合C={3}中的所有元已经执行完毕,检验集合B是否为空集,此时,B={1 2 4 5}为非空集合,更新集合C=B-A∩B={1 2 4 5},更新集合A={3}∪{1 2 4 5}={1 2 3 4 5},更新集合从将集合C中最小编号节点,即1,作为新的目标节点。
在连接目录表文件的第一列元素中逐行查找目标节点1,此时,在第二行第一列中查到目标节点1,因此,将该行的自第三列到最后一列的所有元素放入集合B中,即B={3},在连接目录表文件的自第三列到最后一列范围内逐行查找目标节点1,未发现目标节点1,检验发现集合C={1 2 4 5}中的仍有{2 4 5}三个节点未作为目标节点,将节点2更新为新的目标节点。
在连接目录表文件的第一列元素中逐行查找目标节点2,此时,在第三行第一列查到了目标节点2,因此,将该行的自第三列到最后一列的所有元素放入集合B中,即B={3},在连接目录表文件的自第三列到最后一列范围内逐行查找目标节点2,此时,在第四行第三列发现目标节点2,将该行的第一列元3放入集合B中,即B={3},检验发现集合C={1 2 45}中的仍有{4 5}两个节点未作为目标节点,将节点4更新为新的目标节点。
在连接目录表文件的第一列元素中逐行查找目标节点4,此时,在第五行第一列中查到目标节点4,因此,将该行的自第三列到最后一列的所有元素放入集合B中,即B={35},在连接目录表文件的自第三列到最后一列范围内逐行查找目标节点4,此时,在第四行第四列和第六行第三列处发现目标节点4,将对应行的第一列元3和5放入集合B中,即B={35},检验发现集合C={1 2 4 5}中的仍有{5}一个节点未作为目标节点,将节点5更新为新的目标节点。
在连接目录表文件的第一列元素中逐行查找目标节点5,此时,在第六行第一列中查到了目标节点5,因此,将该行的自第三列到最后一列的所有元素放入集合B中,即B={34 5 6},在连接目录表文件的自第三列到最后一列范围内逐行查找目标节点5,此时,在第五行第三列发现目标节点5,将对应行的第一列元4放入集合B中,即B={3 4 5 6},检验发现新增有效集合C={1 2 4 5}中的所有节点均已作为目标节点,检验集合B是否为空集,此时,B={3 4 5 6}为非空集合,更新集合C=B-A∩B={6},更新集合A=A∪B={1 2 3 4 5}∪{3 4 5 6}={1 2 3 4 5 6},更新集合从将集合C中最小编号节点,即6,作为新的目标节点。
在连接目录表文件的第一列元素中逐行查找目标节点6,未发现目标节点6,在连接目录表文件的自第三列到最后一列范围内逐行查找目标节点6,此时,在第六行第四列发现目标节点6,将该行的第一列元5放入集合B中,即B={5},检验发现集合C={6}中的所有节点均已作为目标节点,检验集合B是否为空集,此时,B={5}为非空集合,更新集合集合A=A∪B={1 2 3 4 5}∪{3 4 5 6}={1 2 3 4 5 6},更新集合集合C为空集,结束。
至此,已有的8个节点{1 2 3 4 5 6 7 8}中的六个{1 2 3 4 5 6}已经被标记出来,对于剩下的2个节点{7 8}可以采用上述同样方法标记出来;此外,如果已标记节点个数超过所有节点个数的一半,可以直接将剩余节点删除,实现删除非连通节点的目的。
Claims (5)
1.一种实现删除有向路网图中部分非连通节点的方法,其特征在于:包括以下步骤:
步骤1:对基于开源道路网信息解析而成城市道路路网进行删除非连通交通节点的预处理;
步骤2:基于预处理后的城市道路路网,进行交通分配;
所述删除非连通交通节点的预处理包括以下步骤:
(A)、基于开源道路网信息解析而成城市道路路网,根据待处理路网节点之间的有向连接关系,构建一种表征路网节点有向连接关系的路网节点连接目录表,所述路网节点连接目录表包括发出节点编号信息、连接节点数信息和接收节点编号信息;
(B)、新建用于存储不同节点的集合,并根据路网节点连接目录表随机生成一个目标节点,所述集合包括用于存储已标记节点的集合A、用于存储新增节点的集合B和用于存储新增有效节点的集合C;
(C)、采用遍历的方式,在步骤(A)所述的路网节点连接目录表中搜索新的节点,并更新相应集合,具体包括:
(C1)在路网节点连接目录表中的发出节点编号元素中逐行查找目标节点,若查到目标节点,则将其所有接收节点编号元素放入集合B中,并转至步骤(C2),否则,直接转至步骤(C2);
(C2)在路网节点连接目录表的所有接收节点编号范围内逐行查找目标节点,若查找到目标节点,则将其发出节点编号元素放入集合B中,并转至步骤(D),否则,直接转至步骤(D);
(D)、新增有效集合节点执行情况检验及目标节点变更;步骤(D)中所述的新增有效集合节点执行情况检验在于判断新增有效集合C内的所有节点是否均已经作为目标节点,如果均已作为目标节点,则执行步骤(E),如果新增有效集合C内仍有节点未作为目标节点,则更新目标节点,并转至步骤(C);
(E)、新增集合节点检验及节点集合更新,步骤(E)中所述的新增集合检验主要用于检查在将集合C中所有节点按编号从小到大顺序依次作为目标节点执行后新增节点集合B是否为空集;
(E1)如果集合B为非空集合,则转至步骤(E2),否则,结束程序;
(E2)更新集合C、集合B、集合A和目标节点,并转至步骤(C);
在步骤(E2)中,所述的更新集合C、集合B、集合A和目标节点,具体包括:
(a)更新新增有效集合C,C=B-A∩B;
(b)用将集合B中所有元素并入集合A中,形成新的集合A;
(c)完成步骤(a)和步骤(b)后,将集合B更新为空集;
每依次执行完一次步骤(A)、(B)、(C)、(D)和(E)后便可产生一个已标记节点集合A,将含有节点数最多的已标记节点集合A保留,删除其他已标记节点集合A,实现删除非连通节点的目的。
2.根据权利要求1所述的一种实现删除有向路网图中部分非连通节点的方法,其特征在于:所述路网节点连接目录表中接受节点编号信息从左至右,采用增序排列。
3.根据权利要求1所述的一种实现删除有向路网图中部分非连通节点的方法,其特征在于:所述步骤(D)中更新目标节点采用以下方法:将集合C中未作为目标节点的,按从小到大的顺序排列,取编号最小的节点作为新的目标节点。
4.根据权利要求1所述的一种实现删除有向路网图中部分非连通节点的方法,其特征在于:所述步骤(E)后还包括判断是否路网中所有节点均被标记,如果仍有节点未被标记,重新依次执行步骤(A)、(B)、(C)、(D)和(E),直至路网中所有节点均被标记为止。
5.根据权利要求1所述的一种实现删除有向路网图中部分非连通节点的方法,其特征在于:若已标记节点个数超过所有节点个数的一半,可直接将剩余节点删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710941243.9A CN107545074B (zh) | 2017-10-11 | 2017-10-11 | 一种实现删除有向路网图中部分非连通节点的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710941243.9A CN107545074B (zh) | 2017-10-11 | 2017-10-11 | 一种实现删除有向路网图中部分非连通节点的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107545074A CN107545074A (zh) | 2018-01-05 |
CN107545074B true CN107545074B (zh) | 2021-01-05 |
Family
ID=60967874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710941243.9A Active CN107545074B (zh) | 2017-10-11 | 2017-10-11 | 一种实现删除有向路网图中部分非连通节点的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107545074B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111649753B (zh) * | 2020-06-02 | 2022-07-12 | 百度在线网络技术(北京)有限公司 | 路网数据处理方法、装置、电子设备及计算机存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101750089A (zh) * | 2008-12-11 | 2010-06-23 | 北京四维图新科技股份有限公司 | 基于海量电子地图的路网连通性的检测方法及装置 |
CN103399902A (zh) * | 2013-07-23 | 2013-11-20 | 东北大学 | 一种并行环境下的有向图可达性链表生成及查询方法 |
CN107193942A (zh) * | 2017-05-19 | 2017-09-22 | 西安邮电大学 | 一种有向图中所有连通子图的快速生成方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7672919B2 (en) * | 2006-08-02 | 2010-03-02 | Unisys Corporation | Determination of graph connectivity metrics using bit-vectors |
-
2017
- 2017-10-11 CN CN201710941243.9A patent/CN107545074B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101750089A (zh) * | 2008-12-11 | 2010-06-23 | 北京四维图新科技股份有限公司 | 基于海量电子地图的路网连通性的检测方法及装置 |
CN103399902A (zh) * | 2013-07-23 | 2013-11-20 | 东北大学 | 一种并行环境下的有向图可达性链表生成及查询方法 |
CN107193942A (zh) * | 2017-05-19 | 2017-09-22 | 西安邮电大学 | 一种有向图中所有连通子图的快速生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107545074A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550225B (zh) | 索引构建方法、查询方法及装置 | |
CN104679949A (zh) | 基于XML路网数据的Paramics路网构建方法 | |
CN108197187B (zh) | 查询语句的优化方法、装置、存储介质和计算机设备 | |
CN104731922A (zh) | 基于分布式数据库HBase的结构化数据的快速检索系统及方法 | |
CN105183796A (zh) | 一种基于聚类的分布式链路预测方法 | |
Kan et al. | Topology modeling and analysis of a power grid network using a graph database | |
CN107121146A (zh) | 基于路链深度的最优路径规划方法 | |
CN111324577A (zh) | 一种Yml文件读写的方法及装置 | |
CN105468869A (zh) | 一种pds模型的拓扑关系解析方法 | |
CN107545074B (zh) | 一种实现删除有向路网图中部分非连通节点的方法 | |
CN114372097B (zh) | 一种数据集列序列化的高效连接比对实现方法及装置 | |
CN102819581B (zh) | 一种地理信息系统拓扑集中的多边形链生成方法 | |
CN108052743B (zh) | 一种阶梯接近中心度确定方法及系统 | |
CN110245271B (zh) | 基于属性图的大规模关联数据划分方法及系统 | |
CN110083598B (zh) | 一种面向Spark的遥感数据索引方法、系统及电子设备 | |
CN117422439A (zh) | 轨道线路划分方法、装置、设备及存储介质 | |
CN105843809A (zh) | 数据处理方法和装置 | |
CN107657474A (zh) | 一种商圈边界的确定方法及服务端 | |
CN116481509A (zh) | 地图更新方法、装置、设备及计算机可读存储介质 | |
CN107564289B (zh) | 一种合并交通节点的道路网预处理方法 | |
CN113821550B (zh) | 路网拓扑图的划分方法、装置、设备及计算机程序产品 | |
Xie et al. | An improved Dijkstra algorithm in GIS application | |
CN110825846B (zh) | 数据处理方法及装置 | |
JP2004302754A (ja) | データベース検索経路判定方法 | |
CN110472125A (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 |