基于容差值的线段空间关系检测算法及设备制造技术

技术编号:30095718 阅读:21 留言:0更新日期:2021-09-18 08:59
本发明专利技术公开了基于容差值的线段空间关系检测算法及设备,所述算法先判断两条线段分别对应的外接矩形在容差范围内是否相交,然后再判断共线相交的情况,再判断单点相交的情况,最后进行跨立实验,判断是否相交。该流程根据实际的应用经验减少了判断次数,优先采用比较运算,保存可复用的计算值,具有较高的计算性能。本发明专利技术在线段空间关系判断算法中传入容差参数,用于改进数据处理几何引擎算法,也可直接用于各种地理信息软件的地理学分析算法;本发明专利技术实现了地理信息数据生产管理技术路线中从线段空间关系判断节点到地理单元空间关系判断节点,最后到生产应用节点等贯通地理信息软件技术链上下游的各个技术环节。软件技术链上下游的各个技术环节。软件技术链上下游的各个技术环节。

【技术实现步骤摘要】
基于容差值的线段空间关系检测算法及设备


[0001]本专利技术属于测绘地理信息
,涉及地理信息数据几何引擎中多个重要算法,应用于地理信息矢量数据简单几何对象的有效性判断算法、空间拓扑关系判断算法、空间叠加处理算法等,具体地指一种基于容差值的线段空间关系检测算法及设备。
技术背景
[0002]地理信息数据模型是用离散的空间数据表达连续的地理实体,包括矢量数据模型、栅格数据模型、网格数据模型以及矢栅一体化的混合数据模型。其中,矢量数据模型包含了点、线、面等几何对象,依据矢量数据模型生成的矢量地理信息数据是我国重要的地理信息数字产品之一,即数字线划图(DLG)。用于矢量数据处理的几何引擎是算法库集合,其中的线段空间关系判断是最底层的算法,应用于数据处理几何引擎中的多个算法,在地理信息软件中有着重要作用。两条线段的空间关系有:不相交(NO_INTERSECTION)、点相交 (POINT_INTERSECTION)、共线相交(COLLINEAR_INTERSECTION)。其中点相交又区分两条线段交叉相交(hasProper=True)或两条线段本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于容差值的线段空间关系检测算法,其特征在于,所述方法包括如下步骤:1)输入线段P的端点P1,P2、线段Q的端点Q1,Q2、容差值tolerance,tolerance>0;2)根据容差值tolerance判断线段P、Q的外接矩形按容差放大后是否相交,是则转至步骤3),否则输出线段P、Q不相交,流程结束;3)分别计算两条线段P、Q的四个端点P1、P2、Q1、Q2到对应的另一条线段的最小距离值;4)当四个所述最小距离值中,存在两个或两个以上的最小距离值小于容差值tolerance,判断两条线段P、Q为共线关系,转步骤5);存在一个最小距离值小于容差值tolerance,转步骤6);不存在小于容差值tolerance的最小距离值,转步骤7);5)输出线段P、Q共线相交,流程结束;6)输出线段P、Q单点相交,流程结束;7)判断线段P、Q的外接矩形是否相交,是则转步骤8),否则输出线段P、Q不相交,流程结束;8)判断端点P1、P2是否在端点线段Q的同侧,是则输出线段P、Q不相交,流程结束;否则输出线段P、Q相交,并计算交点;判断端点Q1、Q2是否在端点P1、P2线段P的同侧,是则输出线段P、Q不相交,流程结束;否则输出线段P、Q相交,并计算交点。2.根据权利要求1所述的基于容差值的线段空间关系检测算法,其特征在于:所述步骤2)中判断线段P、Q的外接矩形按容差放大后是否相交的方法为:21)求四个端点P1(x1,y1),P2(x2,y2),Q1(x1

,y1

),Q2(x2

,y2

)的最大、最小横坐标,设为minPx,maxPx,minQx,maxQx;22)如果满足条件(minPx>maxQx+tolerance)或者(maxPx<minQx

tolerance),是则输出不相交,否则转步骤23);23)求四个端点P1(x1,y1),P2(x2,y2),Q1(x1

,y1

),Q2(x2

,y2

)的最大、最小纵坐标,设为minPy,maxPy,minQy,maxQy;24)如果满足条件(minPy>maxQy+tolerance)或者(maxPy<minQy

tolerance),是则输出不相交,否则输出相交。3.根据权利要求1所述的基于容差值的线段空间关系检测算法,其特征在于:所述步骤3)中计算最小距离值采用几何学方法,判断端点P1(x,y)到线段Q的最小距离值distance的方法为:31)判断线段Q的端点Q1、Q2是否重合,否则转步骤23),是则计算distance:32)设r为其中r代表的含义为:当r=0时,P1和Q1重合;当r=1时,P1和Q2重合;当r<0时,P1在线段Q的反向延长线方向;当r>1时,P1在线段Q的正向延长线方向;当0<r<1时,P1在Q1Q2之间;33)根据r值大小计算最小距离值distance:当r≤0时,当r≥1时,
当0<r<1时,4.根据权利要求1所述的基于容差值的线段空间关系检测算法,其特征在于:所述步骤8)中判断端点P1、P2是否在线段Q的同侧的方法为:81)对端点P1(x,y)和直线段Q,线段Q的起点Q1(x1,y1),Q的终点(x2,y2)有端点P1与Q构成的向量A(x1

x,y1

y),向量B(x2

x, y2

y),和向量C,建立叉乘公式:C=A
×
BC=(x1

x)*(y2

【专利技术属性】
技术研发人员:张贝文俊凯郭杰
申请(专利权)人:北京地星伟业科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1