【技术实现步骤摘要】
自适应多段插值等分平行线构建方法及其装置
[0001]本申请涉及平行线构建
,特别是一种自适应多段插值等分平行线构建方法及其装置。
技术介绍
[0002]在测绘地理信息领域的空间分析中,求取等分线是一种常见的方法,可用于对线状地物(如道路、河流、等高线等)进行空间分割和插值处理。然而,传统的等分线构建方法往往只适用于简单的空间形态,无法应对复杂的地形和河道等场景。
[0003]常见的等分线构建方法是基于矢量和插值算法的方法,如自动等距线插值法,其主要思想是根据线段长度和设定的步长计算出等分点的位置,然后将这些点连接起来形成等分线。在等距线插值中,等分点的数量越多,插值精度越高,但计算量也越大,因此需要根据实际情况进行取舍。同时,在计算等分点的位置时,也需要考虑线段长度的变化,确保插值精度和计算效率的平衡。
[0004]其具体实现流程如下:
[0005](1)读入需要等分的线段,将其转化为点集;
[0006](2)计算线段长度L和步长d,计算等分点的数量n=L/d;
[0007]( ...
【技术保护点】
【技术特征摘要】
1.一种自适应多段插值等分平行线构建方法,其特征在于,包括以下步骤:步骤S1:输入polyline1、polyline2、预设两条线之间需要等分的数量n;步骤S2:获取polyline1和polyline2的所有节点集合,分别命名为points1[]和points2[],构造一个Ischecked[]数组来记录points2中已处理过的点Ischecked数组的下标与points2相同,当Ischecked[i]为true时,表示已记录points2[i]点;步骤S3:遍历points1[]中的每个点,并从Ischecked[]的不为true的索引开始,在polyline2上寻找与之距离最近的、尚未处理过的点,将它们连接起来,形成一系列的连线,记作pl[],此步骤确保polyline1和polyline2的每个节点都有与其最近的节点相连,从而保证每个节点都参与插值计算;步骤S4:每获得一条节点连线,记作pl[i],就对其进行n等分,并获取每个等分点的坐标,这些坐标分别以n个点的集合来进行存储,记作PointCollection[];步骤S5:将n个PointCollection[]中的坐标点按顺序连接,得到新构造的n条多线段结果。2.根据权利要求1所述的自适应多段插值等分平行线构建方法,其特征在于,步骤S2包括以下步骤:步骤S21:采用IpointCollection接口获取节点集合Ischecked[]数组;步骤S22:当Ischecked[i]=true时,表示已记录points2[i]点,其中i为points2[]节点集合中任一点;Ischecked[]数组的下标与points2[]相同。3.根据权利要求1所述的自适应多段插值等分平行线构建方法,其特征在于,步骤S3中对points1[]当前点到polyline2上的最短距离包括以下步骤:步骤S31:获取未参与计算的当前点到polyline2上的最短距离以及该点在最近线段上的垂点坐标,记作p2
’
;步骤S32:计算p2
’
在polyline2上的距离,即从polyline2的起点开始计算p
’
的路线长度,根据所得距离判断points2[]里的离p2
’
最近的节点points2[j];步骤S33:根据Ischecked[]数组中存储的值从0到j,逐一判断是否有未处理的节点,若points2[k]=false,则以points2[k]为起算点获取poyline1上的最近的节点p1;步骤S34:连接points2[k]和poyline1上的最近点p1,得到节点连线pl。4.根据权利要求1所述的自适应多段插值等分平行线构建方法,其特征在于,步骤S31包括以下步骤:步骤S311:通过向量法计算当前点到每一条线段的距离:步骤S312:遍历所得多段线上的每一条线段,计算每条线段到点的距离,选取距离最短的一条线段作为最近线段;步骤S313:计算未参与计算的点到最近线段的垂直距离以及该点在最近线段上的垂点坐标。5.根据权利要求1所述的自适应多段插值等分平行线构建方法,其特征在于,步骤S31包括以下步骤:假设该当前点的坐标为(x0,y0),线段的起始点坐标为(x1,y1),终止点坐标为(x2,y2),多线段所在直线方程为:(y2
‑
y1)x+(x1
‑
x2)y+(x2y1
‑
x1y2)=0
上式方程写成一般式:Ax+By+C=0其中,A=y2
‑
y1;B=x1
‑
x2;C=x2y1
‑
x1y2;得到点到各条直线的距...
【专利技术属性】
技术研发人员:李磊,李曦凌,代晶君,吴弦骏,王哲,李德光,毛云华,余云川,
申请(专利权)人:中国电建集团昆明勘测设计研究院有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。