一种基于衍生平行线段的大规模路网方向判定方法及系统转让专利
申请号 : CN202110276566.7
文献号 : CN113220806B
文献日 : 2022-03-18
发明人 : 刘永红 , 陈同 , 杨鹏史 , 赵永明
申请人 : 中山大学
摘要 :
权利要求 :
1.一种基于衍生平行线段的大规模路网方向判定方法,其特征在于,包括如下步骤:S1、获取矢量路网文件中的几何对象信息以及构成几何对象的要素信息,几何对象信息包括编号、类型,构成几何对象的要素信息包括点编号、点经纬度坐标;
S2、根据路网数据经纬度范围,将路网平面划分为不同的网格,将构成每一个几何对象的相邻两点所构成的线段称为索引线段,识别该索引线段所处的网格,将该索引线段的索引存储至该网格,形成的网格称为一级索引网格;
S3、从S2中确定的索引线段中任意获取一条线段,称为主线段;构建以主线段的中点为中心对称点的矩形区域,称为二级索引矩形;
S4、依次遍历一条路段的各个主线段,识别该主线段所在一级索引网格,进行下述循环:建立空集合,将主线段存入该集合;于该主线段所在的一级索引网格中,遍历网格中的其他索引线段,从中挑选一条线段作为待分析索引线段,首先判断该待分析索引线段是否位于该主线段的二级索引矩形中,再判断该集合中是否存在与该待分析索引线段平行的线段,若不存在,则重新挑选待分析索引线段继续搜索,若存在,则判断该待分析索引线段与主线段的相对位置,将带相对位置判定的该索引输出并加入该集合,继续搜索;循环终止后,各主线段生成的集合称为衍生平行线段集合Qi,衍生平行线段集合Qi表示第i条主线段对应的二级索引矩形内该主线段和与其平行的索引线段集,将与主线段平行的索引线段称为平行线段;衍生平行线段集合Qi结构为(主线段信息,平行线段1信息,平行线段2信息……),所有的衍生平行集合Qi构成大集合Q;
S5、从大集合Q中获取一条线段,遍历其他线段并挑选出一条,对这两条线段的角度和距离进行判断,识别这两条线段是否属于同一路段,若是,则给这两条线段添加同样的连通属性值,直至所有属于同一路段的线段连通属性值添加结束;
S6、从第一个衍生平行线段集合Q1开始,对后面的衍生平行线段集合Q2、Q3...Qi进行判断,如延伸方向相同则执行集合合并操作,如延伸方向不同则停止当前合并操作并开始新的合并操作,合并后的集合称为分段集合;
S7、根据分段集合内的主线段延伸方向、主线段与平行线段的相对位置结果统计次数,判断主线段的方向。
2.根据权利要求1所述的基于衍生平行线段的大规模路网方向判定方法,其特征在于,步骤S2中,在一级索引网格四周添加缓冲区域,构建一级索引缓冲区;步骤S4中,在主线段对应的一级索引网格和一级索引缓冲区内搜索平行线段,构建衍生平行线段集合。
3.根据权利要求1所述的基于衍生平行线段的大规模路网方向判定方法,其特征在于,步骤S3中,根据每一条主线段的斜率添加该主线段的延伸方向识别标志:一条主线段Lmn所在直线的方程为
y‑Kmnx‑Bmn=0
若主线段Lmn斜率为0,则添加该线段延伸方向识别标志为“vertical”;
若主线段Lmn斜率大于0,则添加该线段延伸方向识别标志为“positive”;
若主线段Lmn斜率小于0,则添加该线段延伸方向识别标志为“negative”;
在步骤S6中,根据主线段的延伸方向识别标志进行判断,若两个集合的主线段延伸方向识别标志则进行合并。
4.根据权利要求1所述的基于衍生平行线段的大规模路网方向判定方法,其特征在于,步骤S4中,进行判断该待分析索引线段与主线段的相对位置时,平行线段lto1两端点Pto1(xto1,yto1)、Pto2(xto2,yto2),主线段Lmn方程y‑Kmnx‑Bmn=0,计算yto1‑Kmnxto1‑Bmn,yto2‑Kmnxto2‑Bmn,若yto1‑Kmnxto1‑Bmn>0,且yto2‑Kmnxto2‑Bmn>0,判定该平行线段位于主线段的上方,相对位置判定标记为“above”;若yto1‑Kmnxto1‑Bmn<0,且yto2‑Kmnxto2‑Bmn<0,判定该平行线段位于主线段的下方,相对位置判定标记为“below”。
5.根据权利要求1所述的基于衍生平行线段的大规模路网方向判定方法,其特征在于,步骤S5中,将大集合Q内的任一线段作为待判断线段,从同一集合内其他线段中选取一条线段,计算:
待判断线段的第一个点与选取线段的第一个点的距离;
待判断线段的第一个点与选取线段的第二个点的距离;
待判断线段的第二个点与选取线段的第一个点的距离;
待判断线段的第二个点与选取线段的第二个点的距离;
若上述四个距离中最小值小于预设阈值dset,最小值为待判断线段的第一个点与选取线段的第一个点的距离:标记待判断线段的第一个点为“起点”,选取线段的第一个点为“起点”;
最小值为待判断线段的第一个点与选取线段的第二个点的距离:标记待判断线段的第一个点为“起点”,选取线段的第一个点为“终点”;
最小值为待判断线段的第二个点与选取线段的第一个点的距离:标记待判断线段的第一个点为“终点”,选取线段的第一个点为“起点”;
最小值为待判断线段的第二个点与选取线段的第二个点的距离:标记待判断线段的第一个点为“终点”,选取线段的第一个点为“终点”;
若待判断线段的第一个点为起点,以起点为计算起点,在待判断线段所在的几何对象上,顺序后推预设的计算点个数Npoint为计算终点,当相邻两点的距离大于设定阈值时,计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
若待判断线段的第一个点为终点,以终点为计算起点,在待判断线段所在的几何对象上,逆序前推预设的计算点个数Npoint为计算终点,当相邻两点的距离大于设定阈值时,计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
若选取线段的第一个点为起点,以起点为计算起点,在选取线段所在的几何对象上,顺序后推预设的计算点个数为计算终点,当相邻两点的距离大于设定阈值时,计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
若选取线段的第一个点为终点,以终点为计算起点,在选取线段所在的几何对象上,逆序前推预设的计算点个数为计算终点,当相邻两点的距离大于设定阈值时,计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
计算上述扩展后的待判断线段与扩展后的选取线段相邻两线段的夹角平均值之差并取绝对值:
若该绝对值小于设定阈值angle_aveset,则判定待判断线段与选取线段属于同一线段,将待判断线段与选取线段的连通编号均设置为待判断线段的几何类型编号;
若该绝对值大于设定阈值angle_aveset,则判定待判断线段与选取线段属于同一线段,将选取线段的连通编号设置为选取线段的几何类型编号。
6.根据权利要求1所述的基于衍生平行线段的大规模路网方向判定方法,其特征在于,步骤S6中,设定一个平行长度占比阈值,若平行线段在主线段上的投影距离占主线段长度的比例小于该平行长度占比阈值,则将该平行线段剔除出该分段集合。
7.根据权利要求1所述的基于衍生平行线段的大规模路网方向判定方法,其特征在于,若主线段的延伸方向为向上,统计分段集合内相对位置位于该主线段上方和下方的平行线段的数量,若位于该主线段上方的平行线段多于位于该主线段下方的平行线段,则该主线段的方向为“由东往西”,否则为“由北往南”;
若主线段的延伸方向为向下,统计分段集合内相对位置位于该主线段上方和下方的平行线段的数量,若位于该主线段上方的平行线段多于位于该主线段下方的平行线段,则该主线段方向为“由西往东”,否则为“由南往北”。
8.一种基于衍生平行线段的大规模路网方向判定系统,其特征在于,包括:数据读取模块,用于读取矢量路网文件中的几何对象信息以及构成几何对象的要素信息,几何对象信息包括编号、类型,构成几何对象的要素信息包括点编号、点经纬度坐标;
一级索引网格构造模块,用于根据路网数据经纬度范围,将路网平面划分为不同的网格,将构成每一个几何对象的相邻两点所构成的线段称为索引线段,识别该索引线段所处的网格,将该线段的索引存储至该网格,形成的网格称为构建一级索引网格;
二级索引矩形构造模块,用于从一级索引网格构造模块存储的索引线段中任意获取一条线段,称为主线段,构建以主线段的中点为中心对称点的矩形区域,称为二级索引矩形;
平行线段集合构造模块,用于建立大集合Q,其中大集合Q由衍生平行线段集合Qi构成,衍生平行线段集合Qi表示第i条主线段对应的二级索引矩形内该主线段和与其平行的索引线段集,将与主线段平行的索引线段称为平行线段;
平行线段连通模块,用于对每一个大集合Q内的任意两条线段的角度和距离的判断,判定这两条线段是否属于同一路段,若是,则给这两条线段添加同样的连通属性值,直至所有属于同一路段的线段连通属性值添加结束;
分段集合构造模块,用于从第一个衍生平行线段集合Q1开始,对后面的衍生平行线段集合Q2、Q3...Qi进行判断,如延伸方向相同则执行集合合并操作,如延伸方向不同则停止当前合并操作并开始新的合并操作,合并后的集合称为分段集合;
平行路段方向判断模块,用于根据分段集合内的主线段延伸方向、主线段与平行线段的相对位置结果统计次数,判断主线段的方向。
9.根据权利要求8所述的基于衍生平行线段的大规模路网方向判定系统,其特征在于,还包括一级索引缓冲区构造模块,一级索引缓冲区构造模块用于在一级索引网格四周添加添加缓冲区域,构建一级索引缓冲区;平行线段集合构造模块在一级索引网格和一级索引缓冲区中搜索主线段的平行线段,构建衍生平行线段集合。
10.根据权利要求8所述的基于衍生平行线段的大规模路网方向判定系统,其特征在于,还包括平行路段优化模块,用于剔除平行路段在主线段上的投影距离占主线段长度的比例较小的平行线段。
说明书 :
一种基于衍生平行线段的大规模路网方向判定方法及系统
技术领域
背景技术
者根据平行路段标定,而市级、省级行政区域等较大范围内矢量路网数据存在数据庞大、复
杂、偏差率高等问题,运用常规的人工观测或者根据平行路段识别,速度较慢,且错误、遗漏
问题较多,使得方向判定结果准确率降低。
到以被占据网格表征路网的基础路网地图;根据路网的方向信息和网格间连接关系,确定
基础路网地图中各被占据网格的可通行方向;根据各被占据网格的可通行方向确定相应被
占据网格的路网编码,从而实现路网地图。通过格网坐标系离散化处理路网,使得后续实现
的路网地图具备了可输入神经网络的基础;基于路网的方向信息和网格间连接关系确定各
被占据网格的可通行方向,进一步确定被占据网格的路网编码,从而实现了带有道路方向
信息的路网地图,能够被神经网络所提取到,提升训练效果。该专利采用格网坐标系进行处
理,根据路网的方向信息和网格间连接关系,为每个网格添加通行方向的路网编码,并未公
开如何确定路网的方向信息,仍然需要人工观测或平行路段标定等方法进行确定,效率低,
不够准确。
发明内容
的索引存储至该网格,形成的网格称为一级索引网格;
的其他索引线段,从中挑选一条线段作为待分析索引线段,首先判断该待分析索引线段是
否位于该主线段的二级索引矩形中,再判断该集合中是否存在与该待分析索引线段平行的
其他索引线段,若不存在,则重新挑选待分析索引线段继续搜索,若存在,则判断该待分析
索引线段与主线段的相对位置,将带相对位置判定的该索引输出并加入该集合,继续搜索;
循环终止后,各主线段生成的集合称为衍生平行线段集合Qi,衍生平行线段集合Qi表示第i
条主线段对应的二级索引矩形内该主线段和与其平行的索引线段集,将与主线段平行的索
引线段称为平行线段;衍生平行线段集合Qi结构为(主线段信息,平行线段1信息,平行线段
2信息……),所有的衍生平行集合Qi构成大集合Q;
连通属性值,直至所有属于同一路段的线段连通属性值添加结束;
始新的合并操作,合并后的集合称为分段集合;
平行线段集合。
Kmnxto1‑Bmn,yto2‑Kmnxto2‑Bmn,若 yto1‑Kmnxto1‑Bmn>0,且yto2‑Kmnxto2‑Bmn>0,判定该平行线段
位于主线段的上方,相对位置判定标记为“above”;若yto1‑Kmnxto1‑Bmn<0,且 yto2‑Kmnxto2‑Bmn
<0,判定该平行线段位于主线段的下方,相对位置判定标记为“below”。
计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值。
计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值。
算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
合。
方的平行线段,则该主线段的方向为“由东往西”,否则为“由北往南”;
则该主线段方向为“由西往东”,否则为“由南往北”。
标;
所处的网格,将该线段的索引存储至该网格,形成的网格称为构建一级索引网格;
形;
的索引线段集,将与主线段平行的索引线段称为平行线段;
至所有属于同一路段的线段连通属性值添加结束;
止当前合并操作并开始新的合并操作,合并后的集合称为分段集合;
一级索引网格和一级索引缓冲区中搜索主线段的平行线段,构建衍生平行线段集合。
构建二级索引矩形,对于每条索引线段,在一级索引网格中遍历查找位于二级索引矩形范
围内且满足衍生平行条件的其他索引线段,并判断其相对位置,从而构建了由索引线段以
及该线段所关联的平行线段组成的衍生平行线段集合,每条路段将生成多个衍生平行线段
集合,然后进行路段的连通关系检查,最终根据平行线段相对位置出现的次数以及索引线
段经纬度坐标确定路段方向,可提升大规模路网方向判定的效率和准确性。
附图说明
具体实施方式
应现实中的路段,将现实中的各路段识别为各几何对象。首先读取需判定平行路段方向的
矢量路网文件中的几何数据,获取几何对象数据及构成几何对象的点经纬度坐标数据,并
从中挑选出最小经度longmin,最小纬度latmin,最大经度longmax,最大纬度longmax。
的索引存储至该网格,形成的网格称为一级索引网格。本发明根据构成路段的点,将路段读
取为一个个索引线段进行处理。步骤S2用步骤S1获取的最大经度减去最小经度,除以指定
经度划分数Nlong,得到单个网格跨经度 longspan,用数据读取模块中获取的最大纬度减去最
小纬度,除以指定纬度划分数 Nlat,得到单个网格跨纬度latspan。
1)*latspan]。其中i∈[0,Nlong‑1],j∈[0,Nlat‑1]。
域之后的任意一个网格的经度范围为[longmin+(i‑Bnet)* longspan,longmin+(i+Bnet)*
longspan],纬度范围为[latmin+(j‑Bnet)* latspan,latmin+(j+Bnet)*latspan]。
中点位于哪一个网格,将该线段的索引存储至该网格,称索引线段。重复上述判断,直至所
有索引线段线判断完毕,将其分配至对应的网格。
作用除了继续减少搜索范围之外,更是在较小的范围内构建平行线段的集合,从而减少平
行线段的识别错误率。
的其他索引线段,从中挑选一条线段作为待分析索引线段,首先判断该待分析索引线段是
否位于该主线段的二级索引矩形中,再判断该集合中是否存在与该待分析索引线段平行的
其他索引线段,若不存在,则重新挑选待分析索引线段继续搜索,若存在,则判断该待分析
索引线段与主线段的相对位置,将带相对位置判定的该索引输出并加入该集合,继续搜索;
循环终止后,各主线段生成的集合称为衍生平行线段集合Qi,衍生平行线段集合Qi表示第i
条主线段对应的二级索引矩形内该主线段和与其平行的索引线段集,将与主线段平行的索
引线段称为平行线段;衍生平行线段集合Qi结构为(主线段信息,平行线段1信息,平行线段
2信息……),所有的衍生平行集合Qi构成大集合Q。本发明不仅仅挑选与主线段平行的索引
线段,而是挑选出该主线段对应集合内的所有线段平行的索引线段集,在后面的步骤中再
进行筛选。具体步骤请参见图3。
线段。但是,现有方法的阈值若设置过小,可能无法找到与主线段平行的线段或数量较少;
若阈值若设置过大,则会挑选到其他路段的线段,导致判断出错。如图4所示,道路1中包括
线段1、2、3、4和5;道路2中包括线段 6、7、8和9,以线段4为主线段,设置与主线段平行的索
引线段和该主线段之间的距离为d1来挑选平行线段,则只能识别到线段3和线段5,而线段
3、线段5 和主线段4位于同一道路,但分别位于主线段4的上方和下方,位于主线段4上方和
下方的平行线段数量相等,因此无法判断主线段4的方向;设置与主线段平行的索引线段和
该主线段之间的距离为d2,则只能识别到线段5,线段5属于道路2的线段,因此,用于判断道
路1的主线段4的方向同样会出错。本实施例的方法可避免上述情况,在挑选平行线段时,既
挑选到了与主线段平行的线段,也挑选到了与平行线段平行的线段,如图4所示,设置与主
线段平行的索引线段和该主线段之间的距离为d1,可挑选到与主线段4平行的线段3和5、与
线段3平行的线段2以及与线段2平行的线段1,大大提高衍生平行线段集合Qi中的线段数
量,可以极小距离的阈值衍生出所有与主线段平行的线段。
编号(起始为空值)的衍生平行线段集合Q1。
合Qi。
yto1)到构成该几何对象的第二个点Pto2(xto2,yto2)是否在步骤S3中所述矩形范围内,如果在
矩形范围内,则确定该两点构成线段为待分析线段lto1。
线方程:
同一参考线重复判断。
线段L11方程y‑Kmnx‑Bmn=0)
指定。
线段集合Q1。则衍生平行线段Q1为主线段与主线段的衍生平行线段的集合。重新挑选主线段
进行上述操作,直至所有主线段操作完毕。具体流程见图3.
连通属性值,直至所有属于同一路段的线段连通属性值添加结束。
计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值。
计算从计算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值。
算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
算起点到计算终点之间相邻两线段的夹角,计算这些夹角的平均值;
新的对象在后面继续匹配。
一条线段。继续对集合衍生平行线段Q2进行上述操作,直至所有几何操作完毕。不同的主线
段连通后就是路段。
始新的合并操作,合并后的集合称为分段集合。
取规则,与衍生平行线段集合Q1中主线段相连的主线段为Q2的主线段),若该主线段如步骤
S3中所述为“positive”,则将衍生平行线段集合Q1与Q2合并,继续对衍生平行线段集合Qi延
伸方向进行判断,如延伸方向相同则执行合并操作,如延伸方向不同则停止当前合并操作
并开始新的合并操作。
Q1与Q2合并,继续对集合Qi延伸方向进行判断,如延伸方向相同则执行合并操作,如延伸方
向不同则停止当前合并操作并开始新的合并操作。
线段在各自对应主线上的投影距离Lpro_si,计算Lpro_si/LSi,若其小于设定的阈值Rset,则将该
连通编号的平行线段剔除出衍生平行线段集合Qi,可剔除平行路段在主线段上的投影距离
占主线段长度的比例较小的平行线段,实现平行路段优化。
线段上方和下方的平行线段的数量,若位于该主线段上方的平行线段多于位于该主线段下
方的平行线段,则该主线段的方向为“由东往西”,否则为“由北往南”;若主线段的延伸方向
为向下,统计分段集合内相对位置位于该主线段上方和下方的平行线段的数量,若位于该
主线段上方的平行线段多于位于该主线段下方的平行线段,则该主线段方向为“由西往
东”,否则为“由南往北”。
起点经度坐标的差值,则该主线方向为“由东往西”,否则为“由北往南”;
起点经度坐标的差值,则该主线方向为“由西往东”,否则为“由南往北”
标;
所处的网格,将该线段的索引存储至该网格,形成的网格称为构建一级索引网格;
形;
的索引线段集,将与主线段平行的索引线段称为平行线段;本发明的平行线段集合构造模
块在一级索引网格和一级索引缓冲区中搜索主线段的平行线段,构建衍生平行线段集合;
至所有属于同一路段的线段连通属性值添加结束;
止当前合并操作并开始新的合并操作,合并后的集合称为分段集合;
成的索引线段存储至各网格,构建一级索引网格,根据每一条索引线段构建二级索引矩形,
对于每条索引线段,在一级索引网格中遍历查找位于二级索引矩形范围内且满足衍生平行
条件的其他索引线段,并判断其相对位置,从而构建了由索引线段以及该线段所关联的平
行线段组成的衍生平行集合,每条路段将生成多个衍生平行集合,然后进行路段的连通关
系检查,最终根据平行线段相对位置出现的次数以及索引线段经纬度坐标确定路段方向,
可提升大规模路网方向判定的效率和准确性。另外,本发明还提供了一种效率和准确性高
的基于衍生平行线段的大规模路网方向判定系统。
也应视为本发明的保护范围。