CN111897895A - 顾及弯曲特征的道路内部空间冲突解决的协同移位方法 - Google Patents
顾及弯曲特征的道路内部空间冲突解决的协同移位方法 Download PDFInfo
- Publication number
- CN111897895A CN111897895A CN201910371119.2A CN201910371119A CN111897895A CN 111897895 A CN111897895 A CN 111897895A CN 201910371119 A CN201910371119 A CN 201910371119A CN 111897895 A CN111897895 A CN 111897895A
- Authority
- CN
- China
- Prior art keywords
- road
- conflict
- skeleton
- line
- lines
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000005452 bending Methods 0.000 claims abstract description 67
- 238000006073 displacement reaction Methods 0.000 claims abstract description 39
- 241000270295 Serpentes Species 0.000 claims description 36
- 238000009499 grossing Methods 0.000 claims description 7
- 238000009966 trimming Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 10
- 238000000605 extraction Methods 0.000 abstract description 5
- 230000006399 behavior Effects 0.000 abstract description 2
- 238000011549 displacement method Methods 0.000 abstract 1
- 239000007787 solid Substances 0.000 description 19
- 239000003795 chemical substances by application Substances 0.000 description 9
- 230000011218 segmentation Effects 0.000 description 6
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
Images
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
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B29/00—Maps; Plans; Charts; Diagrams, e.g. route diagram
- G09B29/003—Maps
- G09B29/005—Map projections or methods associated specifically therewith
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Mathematical Physics (AREA)
- Business, Economics & Management (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Processing Or Creating Images (AREA)
- Traffic Control Systems (AREA)
Abstract
本发明设计了一种顾及弯曲特征的道路内部空间冲突解决的协同移位方法,针对道路内部空间冲突问题,首先进行骨架线提取、聚类和特征信息计算,再依次进行瓶颈冲突路段移位和弯曲冲突路段移位,在弯曲冲突路段移位中又把弯曲分类为独立弯曲和弯曲组,对它们采用不同方法进行处理,进行协同移位。在本发明中道路自身被看作一个冲突Agent,在道路冲突Agent内部进行冲突区的探测,根据冲突区的特征将道路划分为不同的路段,按照制图规则实施不同的综合行为。本发明顾及弯曲特征的道路内部空间冲突解决的协同移位方法具有高效性且精确性高,易于投入使用。
Description
技术领域
本发明属于地图制图综合技术领域,尤其涉及一种顾及弯曲特征的道路内部空间冲突解决的协同移位方法。
背景技术
由于道路形态的复杂性,在小比例尺地图上,不同的道路之间或一条道路内部的不同路段之间在符号化后都有可能产生空间冲突,因为符号化而产生的道路内部空间冲突的问题亟待解决。
目前国内外学者在使用Agent技术进行地图综合和开发移位算法解决空间冲突方面取得了丰富的成果,然而,空间冲突解决的自动化和智能化水平仍然有待提高。首先,目前已有算法只能解决有限的问题,而移位具有复杂性、产生冲突的原因不同,涉及到的地图要素类型和数目不同,适用的移位算法也不同;其次,目前适用移位来解决空间冲突往往是在特定的假设条件下进行的,地图上也要有足够的移位空间;最后,现有的Agent综合模型往往是通过在Agent内部应用不同的方案并比较不同方案的效果从中选择约束满意度最大的一个作为综合结果输出,这样的策略对于大规模的数据综合时往往会出现较大的局限性,不能保证综合效率。
发明内容
本发明所要解决的技术问题是,提供一种顾及弯曲特征的道路内部空间冲突解决的协同移位方法,解决了因符号化而产生的道路内部空间冲突的问题。
本发明解决其技术问题所采用的技术方案是:提供一种顾及弯曲特征的道路内部空间冲突解决的协同移位方法,该方法包括以下步骤,步骤1:冲突区骨架线的提取、聚类和特征信息计算;步骤2:判断是否存在瓶颈冲突路段,如果不存在,则转到步骤4,否则执行下一步;步骤3:进行瓶颈冲突路段的移位,返回步骤1;步骤4:判断是否存在弯曲冲突路段,如果不存在,则结束,否则执行下一步;步骤5:判断是否存在弯曲组,如果不存在,则进行独立弯曲移位,然后转到步骤15,否则转到步骤6;识别弯曲组的原理为:对于弯曲组中的两条相邻骨架线s1和s2而言,如果s1的LCorPT2或RCorPT2在s2的LCorPT2和RCorPT2之间,则这两个骨架线对应的弯曲组成一个子共线弯曲组。根据这个原理,可以获得弯曲组中的所有子共线弯曲组。对子共线弯曲组进行合并,合并条件是两个子共线弯曲组包含同一条骨架线。合并完成后即可得到弯曲组中的所有共线弯曲组。步骤6:判断综合空间是否足够,如果足够,则到步骤7,如果不够,则到步骤12;步骤7:进行独立弯曲位移;步骤8:骨架线重新提取、聚类和特征信息计算;步骤9:弯曲组共线;步骤10:进行协同移位;步骤11:独立弯曲共线,若无独立弯曲,则结束运算;步骤12:如果所需位移量小于阈值,则转步骤13,否则转步骤14;一个弯曲组需要的移位量为弯曲组的目标宽度减去当前宽度。弯曲组的目标宽度为其所包含的弯曲的必需间隔之和,而弯曲组的当前宽度为所包含的弯曲的加权平均宽度之和。步骤13:弯曲组移位,然后转到步骤7;移位实际上就是在弯曲组的末端对整段线进行拉伸。首先确定两个末端端点的目标移位位置,之后将其作为边界条件,对整个道路应用Snake模型移位。移位后,末端端点移动到目标位置,道路上其他各点也会在移位传播的作用下进行相应的调整,这样就能在保持道路的基本形状特征的前提下达到拉伸整个弯曲组的效果。步骤14:当所需移位量超过最大位移阈值,违反了位置精度约束,则进行弯曲组内弯曲的删除与协同移位,然后转到步骤6;步骤15:骨架线重新提取、聚类和特征信息计算,转到步骤11。
按上述技术方案,所述步骤1具体包括以下步骤,步骤1.1:生成目标比例尺下道路的符号边线,对道路中心线和符号边线构建约束性Delaunay(德洛内)三角网(CDT,约束性德洛内三角网),根据三角形的顶点类型和实边数目对三角形的类型进行划分;步骤1.2:提取冲突区域骨架线,分两步进行:首先对道路弯曲路段的空间冲突区提取骨架线,之后对瓶颈路段的空间冲突区提取骨架线;步骤1.3:对弯曲路段骨架线延伸和聚类;步骤1.4:基于骨架线对冲突区的相关特征信息进行计算和存储。
按上述技术方案,所述步骤3中,瓶颈冲突路段的移位具体内容为:步骤1.4中确定了道路上所有关联点后,整条道路可以被划分为冲突路段和非冲突路段,在非冲突路段上设置分割点,将整条道路划分为多个路段进行移位;按照道路上坐标点串中点的顺序进行关联点的检索,设一条非冲突路段两侧的关联点是(xi,yi)和(xj,yj),将分割点定义为这两个关联点的中间点,即第INT((i+j)/2)个顶点;对于一条有多个瓶颈冲突的道路,在确定原始道路上各冲突区的关联点后,按照上面的方法依次确定各个非冲突路段的分割点,整条道路被划分为6条路段,对这6条路段应用Snake移位模型(蛇形移位模型)后,所有的冲突均得到解决,后按顺序整合各个路段即可得到移位后的道路。
按上述技术方案,所述步骤9中,多个弯曲共线操作的主要步骤如下:
S1,对骨架线进行平滑操作,去除骨架线上的微小抖动;
S2,在骨架线的两端进行扩展,在扩展方向的给定距离上设置两个虚拟节点,虚拟节点和骨架线的起点和终点的连线为虚拟边,;
S3,对扩展后的线应用Snake模型进行移位,其中的一条线设置为基准线,即该线的位置不发生改变,基准线的选择需要根据空间上下文来确定,新加的虚拟点作为Snake模型的边界条件,在移位后位置不发生改变;
S4,应用Snake模型后,骨架线的大致位置得以确定,但骨架线之间的距离并不完全是一个符号宽度,需要通过插值微调对移位后的骨架线进行精确调整;
S5,去掉调整后的骨架线上的虚拟点,同时缩减骨架线的顶端,之后对每一条骨架线执操作,将生成的道路中线整合起来;
S6,对关联线应用Snake模型进行协同移位,保持共线区域周边的线状要素的空间分布特征。
按上述技术方案,所述步骤10中,基于Snake模型的协同移位操作分为两类:多条线移位,多条线的移位根据移位线的类型分为两种情况:一种情况是对道路的部分路段应用Snake模型进行移位;另一种情况是对一组骨架线应用Snake模型进行移位;单条线的移位,把给定外力赋予特定的顶点。
按上述技术方案,所述步骤11中,独立弯曲共线具体步骤如下:第一步,对骨架线进行平滑处理;第二步,对骨架线的顶部进行修剪,去除掉骨架线上的PO部分,PO的长度为道路符号宽度的一半;第三步,对修剪后的骨架线执行缓冲区操作,扩张的距离为符号宽度的一半,最后将缓冲区的边界替代原来的冲突路段。
本发明产生的有益效果是:在道路冲突Agent内部进行冲突区的探测,根据冲突区的特征将道路划分为不同的路段,按照制图规则实施不同的综合行为。本发明顾及弯曲特征的道路内部空间冲突解决的协同移位方法具有高效性且精确性高,易于投入使用。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1CDT中三角形的分类;
图2道路弯曲路段空间冲突区骨架线的提取示例图;
图3道路瓶颈路段空间冲突区骨架线的提取示例图;
图4一条弯曲冲突路段骨架线的延伸示例图;
图5骨架线在道路中心线上的关联点的确定;
图6某条骨架线对应冲突区的长度和加权平均宽度的计算示意图;
图7发生冲突的瓶颈路段的移位操作;
图8发生冲突的单个弯曲部分的移位操作;
图9发生冲突的多个弯曲部分的移位操作;
图10多个弯曲的共线和协同移位操作;
图11单个弯曲冲突路段的共线操作;
图12弯曲组的移位;
图13弯曲组的删除操作与协同移位;
图14是本发明实施例方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一:如图14,本实施例中提供的一种顾及弯曲特征的道路内部空间冲突解决的协同移位方法,包括以下步骤:
步骤1:骨架线提取、聚类和特征信息计算。
步骤1.1:生成目标比例尺下道路的符号边线,对道路中心线和符号边线构建约束性Delaunay三角网(CDT,约束性德洛内三角网),根据三角形的顶点类型和实边数目对三角形的类型进行划分。对于CDT中的一个三角形,如果它的三个顶点均为中线点,该三角形被定义为内部三角形;如果它的三个顶点均为边线点,该三角形被定义为外部三角形;否则,该三角形被定义为中间三角形。在此基础上,根据三角形中包含的实边的数目,可以将CDT中的三角形划分为8类,见图1,实线表示实边,粗实线表示道路中心线上的边,细实线表示符号边线上的边,虚线表示虚边,实心点表示中线点,空心点表示边线点。
将覆盖空间冲突区的三角形序列称为三角形路径,路径的第一个三角形为入口三角形,后一个三角形为出口三角形。对于弯曲路段的空间冲突区而言,入口三角形为Int-I类三角形,出口三角形为Mid-III类,分支三角形为Int-III类,通道三角形为Int-II类。对于瓶颈路段的空间冲突区而言,入口三角形和出口三角形均为Mid-III类三角形,通道三角形为Int-II类。
步骤1.2:提取冲突区域骨架线,分两步进行:首先对道路弯曲路段的空间冲突区提取骨架线,之后对瓶颈路段的空间冲突区提取骨架线。见图2对道路弯曲路段的空间冲突区提取骨架线。短虚线为提取的骨架线。对道路瓶颈路段的空间冲突区提取骨架线见图3。短虚线为提取的骨架线。
步骤1.3:对弯曲路段骨架线延伸和聚类见图4。粗短虚线为骨架线的前部,细短虚线为骨架线的后部。
步骤1.4:基于骨架线对冲突区的相关特征信息进行计算和存储。
步骤2:判断是否存在瓶颈冲突路段,如果不存在,则转到步骤4,否则转到步骤3。
步骤3:进行瓶颈冲突路段的移位,返回步骤1。瓶颈冲突路段的移位具体内容为:确定了道路上所有关联点后,整条道路可以被划分为冲突路段和非冲突路段,可以在非冲突路段上设置分割点,从而将整条道路划分为多个路段进行移位。按照道路上坐标点串中点的顺序进行关联点的检索,设一条非冲突路段两侧的关联点是(xi,yi)和(xj,yj),那么可以把分割点定义为这两个关联点的中间点,即第INT((i+j)/2)个顶点。如图7(a)所示,对于一条有多个瓶颈冲突的道路,在确定原始道路上各冲突区的关联点(小实心圆点)后,按照上面的方法依次确定各个非冲突路段的分割点(大实心圆点)。之后,整条道路被划分为6条路段,对这6条路段应用Snake移位模型后,所有的冲突均得到解决,后按顺序整合各个路段即可得到移位后的道路,如图7(b)。图7为发生冲突的瓶颈路段的移位操作(粗实线是原始道路,细实线是符号边线,虚线是瓶颈冲突区域的骨架线,小实心圆点是骨架线的始末点在原始道路上的关联点,大实心圆点是分割点)
步骤4:判断是否存在弯曲冲突路段,如果不存在,则结束。
步骤5:判断是否存在弯曲组,如果不存在,则进行独立弯曲移位,然后转到步骤15,否则转到步骤6。
步骤6:判断综合空间是否足够,如果足够,则到步骤7,如果不够,则到步骤12。
步骤7:进行独立弯曲位移。图8以一条只有一个弯曲的道路L上弯曲冲突路段的骨架线为S,O为骨架线的起点,同时也是该弯曲的顶点,P为骨架线上的一点,且OP的长度为道路符号宽度和小间隔之和的一半,分割点P1和P2为原道路中心线上处于OP垂直方向上的两点。点P1和P2将线L分割成了三段L1、L2和L3。分割完成后,对两侧的线(L1和L3)构建移位Agent(智能体)。在移位Agent中应用Snake模型时,两边的道路在分割点处的目标位置是确定的,分别为P1′和P2′,将其作为边界条件加入矩阵方程求解移位结果。P1′和P2′分别为PP1和PP2延长线上的点且距离P点的距离为符号宽度和小间隔之和的一半。之后,利用已知的三个点(P1′,P和P2′)对弯曲顶部进行圆弧拟合,与两侧的道路进行连接,终完成冲突的处理。
图9显示了当一条道路上有多个弯曲路段发生冲突时,移位操作路段的划分方法。
步骤8:骨架线重新提取、聚类和特征信息计算。
步骤9:弯曲组共线。如图-10所示,L2是需要进行共线操作的弯曲组,L1和L3分别是该弯曲组两侧的关联线,进行多个弯曲共线操作。
步骤10:协同移位。基于Snake模型的移位操作可以分为两类。
(1)多条线移位
多条线的移位根据移位线的类型分为两种情况,一种情况是对道路的某些路段应用Snake模型进行移位,另一种情况是对一组骨架线应用Snake模型进行移位。
(2)单条线的移位
单条线的移位不采用迭代策略,同时也不需要进行冲突探测和初始外力的计算,只需要把给定外力赋予特定的顶点即可,因此移位过程相对多条线而言更简单一些。
步骤11:独立弯曲共线,结束。如图-11,独立弯曲共线具体步骤如下:
(1)首先需要对骨架线进行平滑处理;
(2)对骨架线的顶部进行修剪,去除掉骨架线上的PO部分,PO的长度为道路符号宽度的一半;
(3)对修剪后的骨架线执行缓冲区操作,扩张的距离为符号宽度的一半,最后将缓冲区的边界替代原来的冲突路段。
步骤12:如果所需位移量小于阈值,则转步骤13,否则转步骤14。一个弯曲组需要的移位量为弯曲组的目标宽度减去当前宽度。弯曲组的目标宽度为其所包含的弯曲的必需间隔之和,而弯曲组的当前宽度为所包含的弯曲的加权平均宽度之和。
步骤13:弯曲组移位,然后转到步骤7。移位实际上就是在弯曲组的末端对整段线进行拉伸。首先确定两个末端端点的目标移位位置,之后将其作为边界条件,对整个道路应用Snake模型移位。移位后,末端端点移动到目标位置,道路上其他各点也会在移位传播的作用下进行相应的调整,这样就能在保持道路的基本形状特征的前提下达到拉伸整个弯曲组的效果。
步骤14:当所需移位量超过最大位移阈值,违反了位置精度约束,则进行弯曲组内弯曲的删除与协同移位,然后转到步骤6。如图13所示,弯曲组的删除操作与协同移位。细线为原始道路,粗实线为删除和协同移位后的道路。
步骤15:骨架线重新提取、聚类和特征信息计算,转到步骤11。
实施例二:
本发明实施例中顾及弯曲特征的道路内部空间冲突解决的协同移位方法,包括以下步骤:
步骤1:骨架线提取、聚类和特征信息计算。
步骤1.1:生成目标比例尺下道路的符号边线,对道路中心线和符号边线构建约束性Delaunay三角网(CDT),根据三角形的顶点类型和实边数目对三角形的类型进行划分(为方便表述,本发明中将约束边称为实边,非约束边称为虚边,将位于道路中心线上的顶点称为中线点,将位于符号边线上的顶点称为边线点)。对于CDT中的一个三角形,如果它的三个顶点均为中线点,该三角形被定义为内部三角形;如果它的三个顶点均为边线点,该三角形被定义为外部三角形;否则,该三角形被定义为中间三角形。在此基础上,根据三角形中包含的实边的数目,可以将CDT中的三角形划分为8类(见图1):
(1)Int-I类:有2条实边的内部三角形;
(2)Int-II类:只有1条实边的内部三角形;
(3)Int-III类:没有实边的内部三角形;
(4)Ext-I类:有2条实边的外部三角形;
(5)Ext-II类:有1条实边的外部三角形;
(6)Ext-III类:没有实边的外部三角形;
(7)Mid-II类:有1条实边的中间三角形;
(8)Mid-III类:没有实边的中间三角形;
将覆盖空间冲突区的三角形序列称为三角形路径,路径的第一个三角形为入口三角形,后一个三角形为出口三角形。对于弯曲路段的空间冲突区而言,入口三角形为Int-I类三角形,出口三角形为Mid-III类,分支三角形为Int-III类,通道三角形为Int-II类。对于瓶颈路段的空间冲突区而言,入口三角形和出口三角形均为Mid-III类三角形,通道三角形为Int-II类。
步骤1.2:提取冲突区域骨架线,分两步进行:首先对道路弯曲路段的空间冲突区提取骨架线,之后对瓶颈路段的空间冲突区提取骨架线。
对道路弯曲路段的空间冲突区提取骨架线(图2):,具体实现包括以下子步骤:
(1)设骨架线集合为S_Set(s),将CDT中所有的三角形标记为“未处理”,所有的虚边标记为“未遍历”。
(2)对CDT中的三角形进行检索,寻找一个“未处理”的Int-I类三角形t;
(3)若t不存在,则跳转到第(9)步;
(4)若t存在,新建骨架线s,将t作为起始三角形,获取t唯一的一条虚边e,将e相对的顶点v和e的中点依次加入s,将t标记为“已处理”,将e标记为“已遍历”;
(5)获取与t相邻并且以e为公共边的三角形t′;
(6)若t′为Int-II类,则找到t′除e之外的另外一条虚边e′,将e的中点和e′的中点依次加入s,将t′标记为“已处理”,将e′标记为“已遍历”,t←t′,e←e′,返回步骤(5);
(7)若t′为Int-III类,则将e的中点和t′的重心依次加入s,将s添加到S_Set,返回步骤(2);
(8)若t′为Mid-III类,则找到e在t′内对应的顶点,将e的中点和该顶点依次加入s,将s添加到S_Set,返回步骤(2);
(9)对CDT中的三角形进行检索,寻找一个只包含一条“未遍历”虚边的Int-III类三角形t;
(10)若t不存在,则结束道路弯曲路段空间冲突区的骨架线提取过程;
(11)若t存在,新建骨架线s,将t作为起始三角形,获取t唯一的一条“未遍历”虚边e,将t的重心和e的中点依次加入s,将t标记为“已处理”,将e标记为“已遍历”,返回步骤(5)。
对道路瓶颈路段的空间冲突区提取骨架线(图3),具体实现包括以下子步骤:
(1)对CDT中的三角形进行检索,寻找一个“未处理”的Mid-III类三角形t。
(2)若t不存在,则结束道路瓶颈路段空间冲突区的骨架线提取过程。
(3)若t存在,新建骨架线s,将t作为起始三角形,获取t唯一的一个边线点v以及v相对的虚边e,将点v和e的中点依次加入s,将t标记为“已处理”,将e标记为“已遍历”;
(4)获取与t相邻并且以e为公共边的三角形t′;
(5)若t′为Int-II类,则找到t′除e之外的另外一条虚边e′,将e的中点和e′的中点依次加入s,将t′标记为“已处理”,将e′标记为“已遍历”,t←t′,e←e′,返回步骤(4);
(6)若t′为Mid-III类,则找到e在t内对应的顶点,将e的中点和该顶点依次加入s,将s添加到S_Set,返回步骤(1)。
步骤1.3:对弯曲路段骨架线延伸和聚类。对于一条弯曲路段骨架线s,延伸的具体步骤为(图4中,粗短虚线为骨架线的前部,细短虚线为骨架线的后部):
(1)找到骨架线s的出口三角形,获取该三角形唯一的一个边线点v,在CDT中检索获得包含点v的一个Ext-I类三角形t;
(2)获得三角形t内点v的对边e,将v和e的中点依次加入s,将t标记为“已处理”,将e标记为“已遍历”;
(3)获取与t相邻并且以e为公共边的三角形t′;
(4)若t′为Ext-II类,则计算t′唯一一条实边上的高h。若h大于ε(本发明中根据经验将ε赋值为道路符号宽度和小间隔距离中较大的一个值),终止延伸过程;否则,找到t′除e之外的另外一条虚边e′,将e的中点和e′的中点依次加入s,将t′标记为“已处理”,将e′标记为“已遍历”,t←t′,e←e′,返回步骤(3);
(5)若t′为Ext-III类,终止延伸过程。
根据邻近距离对弯曲路段的冲突区骨架线进行聚类操作,即计算每两条骨架线之间最小距离,若该距离值小于预先设定的阈值δ(本发明中根据经验将δ设置为道路符号宽度和最小间隔距离一半之和),则这两条骨架线属于同一组。
步骤1.4:基于骨架线对冲突区的相关特征信息进行计算和存储。定义数据结构Skeleton存储骨架线弧段所包含的冲突区的相关特征信息:
其中,字段FPart和HPart分别表示该骨架线的前部和后部(本发明中为了方便描述,将骨架线延伸前的部分称为前部,将骨架线的延伸部分称为后部),对于瓶颈冲突区的骨架线而言,HPart为空;字段TList表示该骨架线穿过的三角形序列;字段LSke和RSke分别表示该骨架线左右两侧的骨架线;字段LCorPT1和RCorPT1分别表示该骨架线起点在道路中心线上的左右关联点,字段LCorPT2和RCorPT2分别表示该骨架线终点在道路中心线上的左右关联点;L和W分别表示骨架线的长度和对应的路段的加权平均宽度。FPart、HPart和TList已在骨架线的提取过程中存储,下面给出其他各个字段对应的特征信息的计算方法。
骨架线关联点的确定方法:如图5(a)所示,对于一条弯曲路段冲突区的骨架线而言,骨架线的方向为其坐标点串中点的顺序方向,LCorPT1和RCorPT1为同一个点,即骨架线的起点;在骨架线的终点处向左右两侧作垂线,LCorPT2和RCorPT2分别为左右侧垂线的垂足点。如图5(b)所示,一条瓶颈路段冲突区的骨架线的关联点可以以相似的方式确定。
LSke和RSke是针对处于弯曲组中的冲突区骨架线计算的,对于瓶颈冲突区的骨架线和单独的弯曲冲突区的骨架线而言,这两个字段为空。对于处于弯曲组中的某两个冲突区骨架线s1和s2而言,若s1的LCorPT2和s2的LCorPT2之间没有其他关联点,则s1和s2互为对方的LSke;若s1的RCorPT2和s2的RCorPT2之间没有其他关联点,则s1和s2互为对方的RSke。对弯曲组中的所有冲突区骨架线进行邻近骨架线识别和赋值后,如果一个骨架线s只有一个邻近骨架线,那么s被称为边缘骨架线,若s的字段值LSke为空,则其LCorPT2被称为弯曲组的边缘关联点;若s的字段值RSke为空,则其RCorPT2被称为弯曲组的边缘关联点。通常情况下,一个弯曲组会包含两个边缘关联点。对于一个独立弯曲而言,其LCorPT2或RCorPT2为其自身的边缘关联点。
图6显示了如何根据骨架线穿过的三角形来计算L和W:PiPi+1是骨架线上的一个片段,||Wi1Wi2||是该片段对应的平均宽度,不同的三角形对应不同的计算方式。粗短虚线为骨架线前部,细短虚线为骨架线后部,粗实线为骨架线上的某个片段的平均宽度。在此基础上,L的计算公式为:
W的计算公式为:
其中,width为道路符号的宽度。计算得到的L和W会作为一个属性值存储到相应骨架线的数据结构中。
步骤2:判断是否存在瓶颈冲突路段,如果不存在,则转到步骤4,否则执行下一步。
步骤3:进行瓶颈冲突路段的移位,返回步骤1。瓶颈冲突路段的移位具体内容为:步骤1.4中确定了道路上所有关联点后,整条道路可以被划分为冲突路段和非冲突路段,可以在非冲突路段上设置分割点,从而将整条道路划分为多个路段进行移位。按照道路上坐标点串中点的顺序进行关联点的检索,设一条非冲突路段两侧的关联点是(xi,yi)和(xj,yj),那么可以把分割点定义为这两个关联点的中间点,即第INT((i+j)/2)个顶点。如图7(a)所示,对于一条有多个瓶颈冲突的道路,在确定原始道路上各冲突区的关联点(小实心圆点)后,按照上面的方法依次确定各个非冲突路段的分割点(大实心圆点)。之后,整条道路被划分为6条路段,对这6条路段应用Snake移位模型后,所有的冲突均得到解决,后按顺序整合各个路段即可得到移位后的道路,如图7(b)。
步骤4:判断是否存在弯曲冲突路段,如果不存在,则结束,否则执行下一步。
步骤5:判断是否存在弯曲组,如果不存在,则进行独立弯曲移位,然后转到步骤15,否则转到步骤6。识别弯曲组的原理为:对于弯曲组中的两条相邻骨架线s1和s2而言,如果s1的LCorPT2或RCorPT2在s2的LCorPT2和RCorPT2之间,则这两个骨架线对应的弯曲组成一个子共线弯曲组。根据这个原理,可以获得弯曲组中的所有子共线弯曲组。对子共线弯曲组进行合并,合并条件是两个子共线弯曲组包含同一条骨架线。合并完成后即可得到弯曲组中的所有共线弯曲组。
步骤6:判断综合空间是否足够。如果足够,则到步骤7。如果不够,则到步骤12。
步骤7:进行独立弯曲位移。图8以一条只有一个弯曲的道路L为例说明弯曲冲突路段进行移位时的划分,道路L上弯曲冲突路段的骨架线为A,O为骨架线的起点,同时也是该弯曲的顶点,P为骨架线上的一点,且OP的长度为道路符号宽度和小间隔之和的一半,分割点P1和P2为原道路中心线上处于OP垂直方向上的两点。点P1和P2将线L分割成了三段L1、L2和L3。分割完成后,对两侧的线(L1和L3)构建移位Agent。在移位Agent中应用Snake模型时,两边的道路在分割点处的目标位置是确定的,分别为P1′和P2′,将其作为边界条件加入矩阵方程求解移位结果。P1′和P2′分别为PP1和PP2延长线上的点且距离P点的距离为符号宽度和小间隔之和的一半。之后,利用已知的三个点(P1′,P和P2′)对弯曲顶部进行圆弧拟合,与两侧的道路进行连接,终完成冲突的处理。
图9显示了当一条道路上有多个弯曲路段发生冲突时,移位操作路段的划分方法。道路L被划分为多个路段,其中L1、L3、L5和L7为移位操作路段,对其应用Snake算法。移位完成后,对L2、L4和L6进行圆弧拟合,后连接所有的路段。
步骤8:骨架线重新提取、聚类和特征信息计算。
步骤9:弯曲组共线。如图10所示,多个弯曲共线操作的主要步骤如下:
(1)对L2部分提取的所有骨架线进行平滑操作,去除骨架线上的微小抖动;
(2)在骨架线的两端进行扩展,在扩展方向的给定距离上设置两个虚拟节点,虚拟节点和骨架线的起点和终点的连线为虚拟边。
(3)对扩展后的线应用Snake模型进行移位。需要注意的是,其中的一条线会被设置为基准线,即该线的位置不发生改变。基准线的选择需要根据空间上下文来确定。新加的虚拟点作为Snake模型的边界条件,在移位后位置不发生改变。
(4)应用Snake模型后,骨架线的大致位置得以确定,但骨架线之间的距离并不完全是一个符号宽度,因此需要通过插值微调对移位后的骨架线进行精确调整。
(5)去掉调整后的骨架线上的虚拟点,同时缩减骨架线的顶端,之后对每一条骨架线执操作,将生成的道路中线整合起来。
(6)对关联线应用Snake模型进行协同移位,以便保持共线区域周边的线状要素的空间分布特征。步骤10中详细说明了如何进行协同移位。
步骤10:协同移位。基于Snake模型的协同移位操作可以分为两类。
(1)多条线移位
多条线的移位根据移位线的类型分为两种情况:一种情况是对道路的某些路段应用Snake模型进行移位;另一种情况是对一组骨架线应用Snake模型进行移位。
(2)单条线的移位
单条线的移位不采用迭代策略,同时也不需要进行冲突探测和初始外力的计算,只需要把给定外力赋予特定的顶点即可,因此移位过程相对多条线而言更简单一些。
步骤11:独立弯曲共线,若无独立弯曲,则结束运算。如图11,独立弯曲共线具体步骤如下:
(1)首先需要对骨架线进行平滑处理;
(2)对骨架线的顶部进行修剪,去除掉骨架线上的PO部分,PO的长度为道路符号宽度的一半;
(3)对修剪后的骨架线执行缓冲区操作,扩张的距离为符号宽度的一半,最后将缓冲区的边界替代原来的冲突路段。
步骤12:如果所需位移量小于阈值,则转步骤13,否则转步骤14。一个弯曲组需要的移位量为弯曲组的目标宽度减去当前宽度。弯曲组的目标宽度为其所包含的弯曲的必需间隔之和,而弯曲组的当前宽度为所包含的弯曲的加权平均宽度之和。
步骤13:弯曲组移位,然后转到步骤7。移位实际上就是在弯曲组的末端对整段线进行拉伸。首先确定两个末端端点的目标移位位置,之后将其作为边界条件,对整个道路应用Snake模型移位。移位后,末端端点移动到目标位置,道路上其他各点也会在移位传播的作用下进行相应的调整,这样就能在保持道路的基本形状特征的前提下达到拉伸整个弯曲组的效果。具体步骤为:
(1)确定两个端点的移位方向和移位量。移位方向为平行于弯曲组的方向。具体的计算方法如图12所示,细实线为原始道路,粗实线为移位后道路,虚线为拟合线。a、b、c、d、e和f分别为一个弯曲组中各个弯曲的顶点,从m1到m4分别为每两个顶点之间曲线的中点,用小二乘法对其进行线性拟合,得到的拟合线的方向就是弯曲组的方向。弯曲组的移位量等于它的目标宽度减去当前宽度。一个弯曲组的当前宽度为它所包含的所有弯曲的加权平均宽度之和,其目标宽度为弯曲的个数与符号宽度的乘积。
(2)将弯曲组在两个端点处(P1和P2)进行分配。理想情况下,两个端点各自向外移动所需移位量的一半。具体执行时,可根据上下文环境来确定各自移动多少距离,主要的原则就是避免移位后与其他线要素产生冲突。
步骤14:当所需移位量超过最大位移阈值,违反了位置精度约束,则进行弯曲组内弯曲的删除与协同移位,然后转到步骤6。如图13(a)所示:a和b分别为需要删除的两个弯曲的顶点,c是这两个待删除弯曲的相邻弯曲的顶点,p为弯曲组的其中一个边缘关联点,f为原线上b点到p点部分曲线的中点,e为原线上a点到c点部分曲线的中点,e点到f点之间的虚线为需要删除的部分。删除该段线后,对两侧的曲线应用Snake模型移位,f点的目标位置为e点。如图13(b)所示,弯曲已经从弯曲组中删除后,对该段弯曲组的关联线进行协同移位,之后与执行删除操作后的弯曲组相连接。细线为原始道路,粗实线为删除和协同移位后的道路。
步骤15:骨架线重新提取、聚类和特征信息计算,转到步骤11。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (6)
1.一种顾及弯曲特征的道路内部空间冲突解决的协同移位方法,其特征在于,该方法包括以下步骤,步骤1:冲突区骨架线的提取、聚类和特征信息计算;步骤2:判断是否存在瓶颈冲突路段,如果不存在,则转到步骤4,否则执行下一步;步骤3:进行瓶颈冲突路段的移位,返回步骤1;步骤4:判断是否存在弯曲冲突路段,如果不存在,则结束,否则执行下一步;步骤5:判断是否存在弯曲组,如果不存在,则进行独立弯曲移位,然后转到步骤15,否则转到步骤6;步骤6:判断综合空间是否足够,如果足够,则到步骤7,如果不够,则到步骤12;步骤7:进行独立弯曲位移;步骤8:骨架线重新提取、聚类和特征信息计算;步骤9:弯曲组共线;步骤10:进行协同移位;步骤11:独立弯曲共线,若无独立弯曲,则结束运算;步骤12:如果所需位移量小于阈值,则转步骤13,否则转步骤14;步骤13:弯曲组移位,然后转到步骤7;步骤14:当所需移位量超过最大位移阈值,违反了位置精度约束,则进行弯曲组内弯曲的删除与协同移位,然后转到步骤6;步骤15:骨架线重新提取、聚类和特征信息计算,转到步骤11。
2.根据权利要求1所述的顾及弯曲特征的道路内部空间冲突解决的协同移位方法,其特征在于,所述步骤1具体包括以下步骤,步骤1.1:生成目标比例尺下道路的符号边线,对道路中心线和符号边线构建约束性Delaunay三角网,根据三角形的顶点类型和实边数目对三角形的类型进行划分;步骤1.2:提取冲突区域骨架线,分两步进行:首先对道路弯曲路段的空间冲突区提取骨架线,之后对瓶颈路段的空间冲突区提取骨架线;步骤1.3:对弯曲路段骨架线延伸和聚类;步骤1.4:基于骨架线对冲突区的相关特征信息进行计算和存储。
3.根据权利要求2所述的顾及弯曲特征的道路内部空间冲突解决的协同移位方法,其特征在于,所述步骤3中,瓶颈冲突路段的移位具体内容为:步骤1.4中确定了道路上所有关联点后,整条道路可以被划分为冲突路段和非冲突路段,在非冲突路段上设置分割点,将整条道路划分为多个路段进行移位;按照道路上坐标点串中点的顺序进行关联点的检索,设一条非冲突路段两侧的关联点是(xi,yi)和(xj,yj),将分割点定义为这两个关联点的中间点,即第INT((i+j)/2)个顶点;对于一条有多个瓶颈冲突的道路,在确定原始道路上各冲突区的关联点后,按照上面的方法依次确定各个非冲突路段的分割点,整条道路被划分为6条路段,对这6条路段应用Snake移位模型后,所有的冲突均得到解决,后按顺序整合各个路段即可得到移位后的道路。
4.根据权利要求1或2或3所述的顾及弯曲特征的道路内部空间冲突解决的协同移位方法,其特征在于,所述步骤9中,多个弯曲共线操作的主要步骤如下:
S1,对骨架线进行平滑操作,去除骨架线上的微小抖动;
S2,在骨架线的两端进行扩展,在扩展方向的给定距离上设置两个虚拟节点,虚拟节点和骨架线的起点和终点的连线为虚拟边,;
S3,对扩展后的线应用Snake模型进行移位,其中的一条线设置为基准线,即该线的位置不发生改变,基准线的选择需要根据空间上下文来确定,新加的虚拟点作为Snake模型的边界条件,在移位后位置不发生改变;
S4,应用Snake模型后,骨架线的大致位置得以确定,但骨架线之间的距离并不完全是一个符号宽度,需要通过插值微调对移位后的骨架线进行精确调整;
S5,去掉调整后的骨架线上的虚拟点,同时缩减骨架线的顶端,之后对每一条骨架线执操作,将生成的道路中线整合起来;
S6,对关联线应用Snake模型进行协同移位,保持共线区域周边的线状要素的空间分布特征。
5.根据权利要求4所述的顾及弯曲特征的道路内部空间冲突解决的协同移位方法,其特征在于,所述步骤10中,基于Snake模型的协同移位操作分为两类:多条线移位,多条线的移位根据移位线的类型分为两种情况:一种情况是对道路的部分路段应用Snake模型进行移位;另一种情况是对一组骨架线应用Snake模型进行移位;单条线的移位,把给定外力赋予特定的顶点。
6.根据权利要求4所述的顾及弯曲特征的道路内部空间冲突解决的协同移位方法,其特征在于,所述步骤11中,独立弯曲共线具体步骤如下:第一步,对骨架线进行平滑处理;第二步,对骨架线的顶部进行修剪,去除掉骨架线上的PO部分,PO的长度为道路符号宽度的一半;第三步,对修剪后的骨架线执行缓冲区操作,扩张的距离为符号宽度的一半,最后将缓冲区的边界替代原来的冲突路段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371119.2A CN111897895B (zh) | 2019-05-06 | 2019-05-06 | 顾及弯曲特征的道路内部空间冲突解决的协同移位方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910371119.2A CN111897895B (zh) | 2019-05-06 | 2019-05-06 | 顾及弯曲特征的道路内部空间冲突解决的协同移位方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111897895A true CN111897895A (zh) | 2020-11-06 |
CN111897895B CN111897895B (zh) | 2024-01-30 |
Family
ID=73169432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910371119.2A Active CN111897895B (zh) | 2019-05-06 | 2019-05-06 | 顾及弯曲特征的道路内部空间冲突解决的协同移位方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111897895B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112598724A (zh) * | 2021-03-01 | 2021-04-02 | 武大吉奥信息技术有限公司 | 一种改进的基于tin的面状要素中心线提取方法 |
CN113327327A (zh) * | 2021-05-26 | 2021-08-31 | 中国人民解放军战略支援部队信息工程大学 | 一种面状水系骨架线自动提取方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092076A (en) * | 1998-03-24 | 2000-07-18 | Navigation Technologies Corporation | Method and system for map display in a navigation application |
CN103927771A (zh) * | 2014-04-18 | 2014-07-16 | 武汉大学 | 自适应设置Snakes模型形状参数的线状要素移位方法 |
CN106127682A (zh) * | 2016-06-15 | 2016-11-16 | 中国地质大学(武汉) | 一种顾及海岸线地理特征约束的可控分形插值方法及系统 |
CN107221002A (zh) * | 2017-04-12 | 2017-09-29 | 中国人民解放军信息工程大学 | 一种基于Morphing变换的线要素移位方法及装置 |
CN107292919A (zh) * | 2017-06-01 | 2017-10-24 | 中国地质大学(武汉) | 一种面向空间剖分的多尺度居民地匹配方法 |
-
2019
- 2019-05-06 CN CN201910371119.2A patent/CN111897895B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6092076A (en) * | 1998-03-24 | 2000-07-18 | Navigation Technologies Corporation | Method and system for map display in a navigation application |
CN103927771A (zh) * | 2014-04-18 | 2014-07-16 | 武汉大学 | 自适应设置Snakes模型形状参数的线状要素移位方法 |
CN106127682A (zh) * | 2016-06-15 | 2016-11-16 | 中国地质大学(武汉) | 一种顾及海岸线地理特征约束的可控分形插值方法及系统 |
CN107221002A (zh) * | 2017-04-12 | 2017-09-29 | 中国人民解放军信息工程大学 | 一种基于Morphing变换的线要素移位方法及装置 |
CN107292919A (zh) * | 2017-06-01 | 2017-10-24 | 中国地质大学(武汉) | 一种面向空间剖分的多尺度居民地匹配方法 |
Non-Patent Citations (1)
Title |
---|
梅晓丹;郭庆胜;孙雅庚;李萱;: "道路旁建筑群移位方法研究", 武汉大学学报(信息科学版), no. 09, pages 1218 - 1224 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112598724A (zh) * | 2021-03-01 | 2021-04-02 | 武大吉奥信息技术有限公司 | 一种改进的基于tin的面状要素中心线提取方法 |
CN113327327A (zh) * | 2021-05-26 | 2021-08-31 | 中国人民解放军战略支援部队信息工程大学 | 一种面状水系骨架线自动提取方法 |
CN113327327B (zh) * | 2021-05-26 | 2023-04-25 | 中国人民解放军战略支援部队信息工程大学 | 一种面状水系骨架线自动提取方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111897895B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112699623B (zh) | 基于非结构网格规则化重构技术的高精度热流计算方法 | |
CN103714577B (zh) | 一种适用于带纹理模型的三维模型简化方法 | |
CN111897895A (zh) | 顾及弯曲特征的道路内部空间冲突解决的协同移位方法 | |
CN110084355B (zh) | 大量相互作用粒子运动仿真系统的网格尺度寻优方法 | |
CN112905690A (zh) | 一种基于超图的金融时序数据挖掘方法及系统 | |
CN111858810A (zh) | 一种面向道路dem构建的建模高程点筛选方法 | |
CN114969234A (zh) | 一种面向全量城市路网的向量表征方法 | |
CN116595120B (zh) | 基于遗传算法的地图面要素注记自动配置方法 | |
CN103984794A (zh) | 一种针对软模块的固定边框的集成电路布图规划方法 | |
US6104404A (en) | Drawing candidate line segments extraction system and method and solid model synthesis system and method | |
CN106920269A (zh) | 图形处理方法和装置 | |
CN114842174B (zh) | 一种适用于三维设计钢筋图的抗干涉点筋自动标注方法 | |
CN115995024A (zh) | 基于类图神经网络的图像分类方法 | |
CN112991529B (zh) | 一种利用三角形进行地图网格化的划分算法 | |
CN113128009B (zh) | 一种考虑山区平原地貌差异的子流域单元划分方法 | |
CN109241628A (zh) | 基于图谱理论和聚类的三维cad模型分割方法 | |
CN104766367A (zh) | 一种计算三维模型处理中三维网格拓扑结构图构造方法 | |
CN111986223B (zh) | 一种基于能量函数的室外点云场景中树木提取方法 | |
CN111369052B (zh) | 简化路网ksp优化算法 | |
CN110728688B (zh) | 一种基于能量优化的三维网格模型分割方法及系统 | |
CN103927771B (zh) | 自适应设置Snakes模型形状参数的线状要素移位方法 | |
CN113552881A (zh) | 一种用于神经网络训练的多路径规划数据集生成方法 | |
Mayster et al. | Approximating a set of points by a step function | |
CN107358615A (zh) | 一种cad边缘区域检测方法及系统 | |
Janusch et al. | Topological image analysis and (normalised) representations for plant phenotyping |
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 |