CN113256757B - 基于反距离加权插值的等值线快速生成方法、设备及介质 - Google Patents
基于反距离加权插值的等值线快速生成方法、设备及介质 Download PDFInfo
- Publication number
- CN113256757B CN113256757B CN202110533660.6A CN202110533660A CN113256757B CN 113256757 B CN113256757 B CN 113256757B CN 202110533660 A CN202110533660 A CN 202110533660A CN 113256757 B CN113256757 B CN 113256757B
- Authority
- CN
- China
- Prior art keywords
- point
- points
- current
- intersection
- observation
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种基于反距离加权插值的等值线快速生成方法、设备及介质,构建不规则数据观测点的规则网格,采用反距离加权插值法计算规则网格中每个交叉点的观测值,大大提高了计算效率,同时提高了每个交叉点观测值的计算准确性;在计算每个交叉点的观测值时,考虑距离插值点太远的点对其影响较小,可忽略不计,因此不参与计算,大大提高了计算效率;采用改进的贝塞尔曲线绘制算法进行等值线的平滑,提高了等值线的平滑度;该方法采用JAVA语言来编写,避免了在前端进行插值计算和裁剪时消耗浏览器性能而影响效率的问题,进一步提高了生成效率;该方法可以适用于多种场合,不受限于第三方接口的调用,提高了通用性。
Description
技术领域
本发明属于水利工程技术领域,尤其涉及一种基于反距离加权插值的等值线、等值面快速生成方法、设备及介质。
背景技术
在水环境治理工程、水文监测、大气治理等过程中,通常需要描述降雨量、气温、气压、空气污染等数据的变化及发展态势,绘制各类数据的等值线、等值面是最直观、最简单的表达方式。
等值线、等值面是GIS制图中常见的功能。等值线、等值面生成的关键是离散点的插值以及等值线平滑处理,一般有两种生成思想:一种是先进行离散点的插值生成等值面栅格图,然后将等值面提取成等值线;另一种是进行离散点的插值后,再根据算法进行插值点连接生成一条尽量闭合且平滑的曲线。根据地理学第一定律:地物之间的相关性与距离有关,一般而言,距离越近,地物间相关性越大;距离越远,地物间相异性越大。这说明插入的离散点越多,生成的等值线、等值面精度越高,但是计算量也会随着离散点的数量增加而增加,从而影响计算效率。
等值线、等值面的生成有两种实现方式:一种是后台算法计算结果,前端展示;另一种是前端直接计算结果并展示。由于生成的等值线、等值面所涉及的数据量、计算区域所涉及的范围均比较大时,前端进行插值计算和裁剪都会大量消耗浏览器的性能,且采用第二种实现方式影响计算效率,导致等值线、等值面生成效率低。
截止目前,各GIS平台及类库均已实现各类插值、等值线提取算法,如ArcGIS平台可以直接调用ArcEngine接口,结合ArcServer发布服务生成等值线、等值面;SuperMap平台也可以直接调用其组件接口,结合iServer发布服务生成等值线、等值面;且各种前端API(应用程序编程接口)都具有插值和等值线提取接口。但以上平台均属于第三方接口的调用,且存在导致计算效率低,生成的等值线和等值面边界的平滑度低,开源性差,算法通用性差等问题。
发明内容
本发明的目的在于提供一种基于反距离加权插值的等值线快速生成方法、设备及介质,以克服现有平台或方法计算效率低、生成的等值线边界平滑度低、算法通用性差的问题。
第一方面,本发明提供一种基于反距离加权插值的等值线快速生成方法,包括以下步骤:
步骤1:获取各数据观测点的空间位置和观测值;
步骤2:根据所有数据观测点的空间位置构建规则网格,提取所述规则网格中的交叉点,得到交叉点集合P;
步骤3:根据各数据观测点的观测值,采用反距离加权插值法计算所述交叉点集合P中每个交叉点的观测值;
步骤4:在所述规则网格单元格的边界上确定一数值点,根据每个所述交叉点的观测值确定在所述数值点所在单元格的相邻单元格边界上且与所述数值点相等的点的空间位置;
步骤5:以所述步骤4中的点为数值点,重复步骤4,得到多个数值点,将所有数值点进行连线得到等值线;
步骤6:对所述步骤5中的等值线进行平滑,得到最终的等值线。
进一步地,所述步骤1中,数据观测点为降雨量观测点、气温观测点、气压观测点和空气污染观测点。
进一步地,所述步骤2中,数据观测点的空间位置采用经纬度表示,所述规则网格的单元格精度为0.01度。
进一步地,所述步骤3中,采用反距离加权插值法计算交叉点集合P中每个交叉点的观测值的具体实现过程为:
步骤3.1计算交叉点集合P中某个交叉点pi与所有数据观测点之间的距离di;
当所述数据观测点的数量大于数量阈值N0时,则距离交叉点pi最近的N0个数据观测点参与步骤3.3中交叉点pi观测值的计算;
当所述数据观测点的数量小于等于数量阈值N0时,则所有数据观测点参与步骤3.3中交叉点pi观测值的计算;
步骤3.2判断所述距离di是否小于等于距离阈值d0,如果是,则将所述距离di对应的数据观测点的观测值赋给pi,并转入步骤3.4,否则转入步骤3.3;
步骤3.3计算所述交叉点pi的观测值,具体计算公式为:
其中,wi为交叉点pi的观测值,zj为第j个数据观测点的观测值,dij为交叉点pi与第j个数据观测点之间的距离,S为参与计算的数据观测点的数量,S≤N0;
步骤3.4遍历交叉点集合P,计算每个交叉点的观测值,直到所有交叉点的观测值计算完成。
进一步地,所述步骤6中,采用改进的贝塞尔曲线绘制算法对所述等值线进行平滑,平滑的具体实现过程为:
步骤6.1获取所述等值线上第一段折线的起点、终点以及第一段折线对应的下一点的空间位置;
步骤6.2根据当前折线的起点、终点和下一点的空间位置计算该当前折线的补充点的空间位置,具体计算公式为:
dx=xi+1-xi-1dy=yi+1-yi-1
xm=xi+1+dx(-α(1-r))
ym=yi+1+yx(-α(1-r))
其中,xi-1、yi-1为当前折线的起点的空间位置,xi、yi为当前折线的终点的空间位置,xi+1、yi+1为当前折线的下一点的空间位置,当前折线的下一点是指当前折线终点的非起点的相邻点;xm、ym为当前折线的补充点的空间位置,α为平滑系数;r、dx、dy均为中间变量;
步骤6.3将所述当前折线的起点、补充点以及终点的空间位置以一维数组的形式存入数组M中;
步骤6.4获取所述等值线上下一段折线的起点、终点以及该下一段折线对应的下一点的空间位置,重复步骤6.2~6.3,直到完成所述等值线上所有折线的补充点的空间位置的计算和存入;
步骤6.5获取所述数组M中第一个一维数组;
步骤6.6获取当前一维数组中第一个点及该第一个点的下一个点的空间位置;
步骤6.7根据当前点及当前点的下一个点的空间位置计算控制点的空间位置,并将所述控制点的空间位置存入集合C中,具体计算公式为:
xc=xk+β(xk+1-xk)
yc=yk+β(yk+1-yk)
β=(1/step)*(q-1)
其中,xk、yk为当前一维数组中当前点的空间位置,xk+1、yk+1为当前一维数组中当前点(xk,yk)的下一个点的空间位置,xc、yc为控制点的空间位置,β为计算系数;step为总循环次数,q为当前循环次数;
步骤6.8获取当前一维数组中第二个点及该第二个点的下一个点的空间位置,重复步骤6.7,得到包括两个控制点的空间位置的集合C;
步骤6.9根据所述集合C中两个控制点的空间位置采用步骤6.7的计算公式计算最终控制点的空间位置,并将所述最终控制点的空间位置存入集合D中;
步骤6.10重复步骤6.6~6.9,直到完成step次循环;
步骤6.11获取所述数组M中下一个一维数组,重复步骤6.6~6.10,直到完成所述数组M中所有一维数组对应的最终控制点的空间位置的计算;
步骤6.12将所述集合D中的所有最终控制点依次连接形成平滑后的等值线,即得到最终的等值线。
进一步地,所述等值线快速生成方法还包括生成等值面的步骤,具体实现过程为:
根据所述最终的等值线对规则网格进行裁剪,得到等值面;
对所述等值面进行轮廓、填充颜色的渲染。
第二方面,本发明还提供一种设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的基于反距离加权插值的等值线快速生成方法。
第三方面,本发明还提供一种介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的基于反距离加权插值的等值线快速生成方法。
有益效果
与现有技术相比,本发明的优点在于:
对不规则的数据观测点进行反距离加权插值得到规则网格每个交叉点的观测值,且在计算每个交叉点的观测值时,对数据观测点进行筛选,考虑距离插值点太远的点对其影响较小,可忽略不计,因此不参与计算,大大提高了计算效率以及每个交叉点观测值计算的准确性;
采用改进的贝塞尔曲线绘制算法进行等值线的平滑,可以精确绘制出平滑的曲线,同时兼顾了曲线和闭环弯曲的方向问题,且其计算方法简单,大大提高了等值线平滑的效率、准确性以及等值线的平滑度;
本发明所述等值线快速生成方法可以采用JAVA来编写,直接在后台生成等值线、等值面,避免了数据量大时在前端进行插值计算和裁剪时消耗浏览器性能而影响效率的问题,进一步提高了生成效率;该方法可以适用于多种场合,不受限于第三方接口的调用,提高了通用性。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一个实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中一种基于反距离加权插值的等值线快速生成方法的流程图;
图2是本发明实施例中不规则的数据观测点的分布图;
图3是本发明实施例中由图2的不规则的数据观测点构建的规则网格图;
图4是本发明实施例中规则网格中由交叉点构成集合P;
图5是本发明实施例中采用等值线追踪法确定数值点的示意图;
图6是本发明实施例中某段折线的起点、终点以及下一点示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,各GIS平台及类库实现各类插值、等值线提取算法,且各种前端GIS API都具有插值和等值线提取接口。但以上均属于第三方接口的调用,且在数据量大、计算范围广时存在计算效率低,生成的等值线和等值面边界的平滑度低,开源性差,算法通用性差等问题。
基于上述技术问题,本发明提供一种基于反距离加权插值的等值线快速生成方法、设备及介质,对不规则的数据观测点构建规则网格,并进行反距离加权插值得到所有网格交叉点的观测值,且在计算每个交叉点的观测值时,考虑距离插值点太远的点不参与计算,大大提高了计算效率,同时提高了每个交叉点观测值的精度和准确性;采用改进的贝塞尔曲线绘制算法进行等值线的平滑,考虑了平滑时弧线弯曲的方向问题,提高了等值线的平滑度、平滑效率以及准确性;该方法采用JAVA语言进行编写,直接在后台生成等值线、等值面,避免了在前端进行插值计算和裁剪时消耗浏览器性能而影响效率的问题,进一步提高了生成效率;该方法可以适用于多种场合,不受限于第三方接口的调用,提高了通用性。
下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
如图1所示,本实施例所提供的一种基于反距离加权插值的等值线快速生成方法,包括以下步骤:
1、获取各数据观测点的空间位置和观测值。
本实施例中,数据观测点为降雨量观测点、气温观测点、气压观测点和空气污染观测点等等。在进行降雨量、气温、气压、空气污染等观测时需要在不同的位置设置观测设备,每个观测设备对应一个观测点,这些观测点通常是零散的、不规则的。观测设备设置好之后,观测点的空间位置即确定,采用经纬度来表示观测点的空间位置,即x表示观测点的经度,y表示观测点的纬度。
如图2所示的不规则的降雨量观测点,每个观测点均有其经纬度和观测值,降雨量观测点的观测值即为降雨量。
2、根据所有数据观测点的空间位置构建规则网格,提取该规则网格中的交叉点,得到交叉点集合P。
规则网格通常是正方形、矩形等,以图2所示的不规则的降雨量观测点为例,构建的规则网格如图3所示。网格精度即每一个单元格的大小,网格精度可以根据观测点所覆盖的范围大小来设定,网格精度越高生成的等值线、等值面边界越平滑,同时后续进行插值所需要的时间也就越长。为了提高计算处理效率,本实施例中,规则网格的单元格精度为0.01度,即每个单元格的长、宽相等,且为0.01度。
提取规则网格中所有交叉点,由交叉点构成集合P,如图4所示,每个圆圈表示一个交叉点。
3、根据各数据观测点的观测值,采用反距离加权插值法计算该交叉点集合P中每个交叉点的观测值。
反距离加权插值法(Inverse Distance Weighted),主要依赖于反距离的幂参数,幂参数可基于距输出点的距离来控制已知点对内插值的影响。幂参数是一个正实数,默认值为2(一般0.5到3之间的值可获得最合理的结果)。通过定义更高的幂参数,进一步强调最近点。因此,邻近数据将受到更大影响,表面会变得更加详细(更不平滑)。随着幂数的增大,内插值将逐渐接近最近采样点的值。指定较小的幂值将对距离较远的周围点产生更大的影响,从而导致平面更加平滑。
本实施例中,幂参数为2。采用反距离加权插值法计算交叉点集合P中每个交叉点的观测值的具体实现过程为:
步骤3.1计算交叉点集合P中某个交叉点pi与所有数据观测点之间的距离di;
当数据观测点的数量大于数量阈值N0时,则距离交叉点pi最近的N0个数据观测点参与步骤3.3中交叉点pi观测值的计算;当数据观测点的数量小于等于数量阈值N0时,则所有数据观测点参与步骤3.3中交叉点pi观测值的计算。
考虑到数据观测点的分布比较稀疏、数据观测点的数据量特别大时,可能会影响插值的计算效率等问题,同时考虑到应用的某些特殊场景(如雨量站进行降雨预报)时,数据观测点分布的特殊性,因此,在计算交叉点的观测值时,选取一定数量N0的离交叉点最近的数据观测点参与计算,若数据观测点的数量少于N0时,则所有数据观测点都参与计算,比如整个湖南省可能有5000多站点,若在计算交叉点的观测值时,5000个站点都参与计算将严重影响计算效率。
本实施例中,以降雨量观测点为例,N0为12。可以根据具体应用场景选择合适的N0,以在降低计算量的同时保证计算结果的准确性。
步骤3.2判断距离di是否小于等于距离阈值d0,如果是,则将距离di对应的数据观测点的观测值赋给pi,并转入步骤3.4,否则转入步骤3.3。
为了提高计算效率,同样设置距离阈值d0。本实施例中,d0为0.0001。
步骤3.3计算交叉点pi的观测值,具体计算公式为:
其中,wi为交叉点pi的观测值,zj为第j个数据观测点的观测值,dij为交叉点pi与第j个数据观测点之间的距离,S为参与计算的数据观测点的数量,S≤N0。例如,当数据观测点的数量为5000,N0为12时,参与计算的数据观测点的数量S为12;当数据观测点的数量为10,N0为12时,参与计算的数据观测点的数量S为10。
步骤3.4遍历交叉点集合P,根据式(1)计算每个交叉点的观测值,直到所有交叉点的观测值计算完成。
4、在规则网格单元格的边界上确定一数值点,根据每个交叉点的观测值确定在该数值点所在单元格的相邻单元格边界上且与该数值点相等的点的空间位置。
数值点是根据观测值来确定的,以降雨量为例,如果要生成降雨量为50mm的等值线,则在规则网格的任意一个单元格的边界上确定一个观测值为50的点p0(即数值点),如图5所示,图5中所标记的数值均是交叉点的观测值。再以该数值点p0为中心,采用等值线追踪法在该数值点p0所在单元格的相邻单元格边界上查找与数值点p0的观测值相等的点p1、p2,并确定这些点p1、p2的空间位置。
5、以步骤4中的点为数值点,重复步骤4,得到多个数值点,将所有数值点进行连线得到等值线。
以点p1为数值点,在该数值点p1所在单元格的相邻单元格边界上查找与数值点p1的观测值相等的点,并确定这些点的空间位置。以点p2为数值点,在该数值点p2所在单元格的相邻单元格边界上查找与数值点p2的观测值相等的点,并确定这些点的空间位置。
依次类推,直到找不到对应的数值点或者得到的数值点可以组成一个闭环为止。将所有数值点依次连接起来则形成等值线。等值线一定是连续的,因此在相邻单元格边界上一定可以找到后续点,并且后续点是成对出现的。
6、对步骤5中的等值线进行平滑,得到最终的等值线。
由于等值线追踪法得到的等值线都是折线,不够平滑,考虑到平滑时弧度方向性问题以及闭环计算时控制点的方向问题,采用改进的贝塞尔曲线绘制算法对所述等值线进行平滑,平滑的具体实现过程为:
步骤6.1获取等值线上第一段折线的起点、终点以及第一段折线对应的下一点的空间位置。
如图6所示,某段折线的起点、终点以及该段折线对应的下一点分别为p1、p2、p3。折线的下一点p3是指该折线终点p2的相邻点,但该相邻点并非是起点p1。
步骤6.2根据当前折线的起点、终点和下一点的空间位置计算该当前折线的补充点的空间位置,具体计算公式为:
dx=xi+1-xi-1dy=yi+1-yi-1 (3)
其中,xi-1、yi-1为当前折线的起点的空间位置,xi、yi为当前折线的终点的空间位置,xi+1、yi+1为当前折线的下一点的空间位置,当前折线的下一点是指当前折线终点的非起点的相邻点;xm、ym为当前折线的补充点的空间位置,α为平滑系数;r、dx、dy均为中间变量。本实施例中,α为0.5。
为了得到平滑的等值线,需要在等值线上增加多个补充点,如果等值线是闭环,则沿着闭环采用式(2)~(4)给每段折线增加补充点;如果等值线是开环,则沿着折线采用式(2)~(4)给每段折线增加补充点。
步骤6.3将当前折线的起点、补充点以及终点的空间位置以一维数组的形式存入数组M中。
步骤6.4获取等值线上下一段折线的起点、终点以及该下一段折线对应的下一点的空间位置,重复步骤6.2~6.3,直到完成等值线上所有折线的补充点的空间位置的计算和存入。
(x11,y11)、(x12,y12)和(x13,y13)分别为第一段折线的起点、补充点和终点的空间位置,(x21,y21)、(x22,y22)和(x23,y23)分别为第二段折线的起点、补充点和终点的空间位置,依次类推,(xR1,yR1)、(xR2,yR2)和(xR3,yR3)分别为第R段折线的起点、补充点和终点的空间位置,R为等值线上折线的总段数,数组M中一维数组的数量也是R。
步骤6.5获取数组M中第一个一维数组,即得到M1=[(x11,y11) (x12,y12) (x13,y13)],循环step次,计算该一维数组下由起点、终点和下一点所构成的折线绘制贝塞尔曲线所需的所有控制点。
步骤6.6获取当前一维数组中第一个点及该第一个点的下一个点的空间位置,即得到第一个点的空间位置(x11,y11)和第二个点的空间位置(x12,y12)。
步骤6.7根据当前点及当前点的下一个点的空间位置计算控制点的空间位置,并将控制点的空间位置存入集合C中,具体计算公式为:
β=(1/step)*(q-1) (6)
其中,xk、yk为当前一维数组中当前点的空间位置,xk+1、yk+1为当前一维数组中当前点(xk,yk)的下一个点的空间位置,xc、yc为控制点的空间位置,β为计算系数;step为总循环次数,q为当前循环次数。即xk、yk分别对应x11、y11,xk+1、yk+1分别对应x12、y12。本实施例中,step为50。
步骤6.8获取当前一维数组中第二个点及该第二个点的下一个点的空间位置,重复步骤6.7,得到包括两个控制点的空间位置的集合C。
第二个点及该第二个点的下一个点的空间位置分别为(x12,y12)、(x13,y13),同理,根据式(5)计算控制点的空间位置,因此,一个一维数组可以得到两个控制点的空间位置。
步骤6.9根据集合C中两个控制点的空间位置采用步骤6.7的计算公式计算最终控制点的空间位置,并将所述最终控制点的空间位置存入集合D中。
根据两个控制点的空间位置,采用式(5)和(6)计算最终控制点的空间位置。
步骤6.10重复步骤6.6~6.9,直到完成step次循环。
步骤6.11获取数组M中下一个一维数组,重复步骤6.6~6.10,直到完成所述数组M中所有一维数组对应的最终控制点的空间位置的计算。
每个一维数组对应step个最终控制点,则得到R×step个最终控制点,即集合D中包含有R×step个最终控制点的空间位置。
步骤6.12将集合D中的所有最终控制点依次连接形成平滑后的等值线,即得到最终的等值线。
将R×step个最终控制点依次连接起来得到平滑的等值线。
采用改进的贝塞尔曲线绘制算法对等值线进行平滑,可以精确绘制出平滑的曲线,同时兼顾了曲线和闭环弯曲的方向问题,且其计算方法简单,大大提高了等值线平滑的效率和准确性。
7、根据最终的等值线生成等值面。
根据最终的等值线对规则网格进行裁剪,得到等值面;对等值面进行轮廓、填充颜色的渲染。
以上所揭露的仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或变型,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种基于反距离加权插值的等值线快速生成方法,其特征在于,包括以下步骤:
步骤1:获取各数据观测点的空间位置和观测值;其中所述数据观测点为降雨量观测点、气温观测点、气压观测点和空气污染观测点;
步骤2:根据所有数据观测点的空间位置构建规则网格,提取所述规则网格中的交叉点,得到交叉点集合P;
步骤3:根据各数据观测点的观测值,采用反距离加权插值法计算所述交叉点集合P中每个交叉点的观测值;
步骤4:在所述规则网格单元格的边界上确定一数值点,根据每个所述交叉点的观测值确定在所述数值点所在单元格的相邻单元格边界上且与所述数值点相等的点的空间位置;
步骤5:以所述步骤4中根据每个所述交叉点的观测值确定的在所述数值点所在单元格的相邻单元格边界上且与所述数值点相等的点作为新的数值点,重复步骤4,得到多个数值点,将所有数值点进行连线得到等值线;
步骤6:采用改进的贝塞尔曲线绘制算法对所述步骤5中的等值线进行平滑,得到最终的等值线,平滑的具体实现过程为:
步骤6.1获取所述等值线上第一段折线的起点、终点以及第一段折线对应的下一点的空间位置;
步骤6.2根据当前折线的起点、终点和下一点的空间位置计算该当前折线的补充点的空间位置,具体计算公式为:
dx=xi+1-xi-1 dy=yi+1-yi-1
xm=xi+1+dx(-α(1-r))
ym=yi+1+yx(-α(1-r))
其中,xi-1、yi-1为当前折线的起点的空间位置,xi、yi为当前折线的终点的空间位置,xi+1、yi+1为当前折线的下一点的空间位置,当前折线的下一点是指当前折线终点的非起点的相邻点;xm、ym为当前折线的补充点的空间位置,α为平滑系数;r、dx、dy均为中间变量;
步骤6.3将所述当前折线的起点、补充点以及终点的空间位置以一维数组的形式存入数组M中;
步骤6.4获取所述等值线上下一段折线的起点、终点以及该下一段折线对应的下一点的空间位置,重复步骤6.2~6.3,直到完成所述等值线上所有折线的补充点的空间位置的计算和存入;
步骤6.5获取所述数组M中第一个一维数组;
步骤6.6获取当前一维数组中第一个点及该第一个点的下一个点的空间位置;
步骤6.7根据当前点及当前点的下一个点的空间位置计算控制点的空间位置,并将所述控制点的空间位置存入集合C中,具体计算公式为:
xc=xk+β(xk+1-xk)
yc=yk+β(yk+1-yk)
β=(1/step)*(q-1)
其中,xk、yk为当前一维数组中当前点的空间位置,xk+1、yk+1为当前一维数组中当前点(xk,yk)的下一个点的空间位置,xc、yc为控制点的空间位置,β为计算系数;step为总循环次数,q为当前循环次数;
步骤6.8获取当前一维数组中第二个点及该第二个点的下一个点的空间位置,重复步骤6.7,得到包括两个控制点的空间位置的集合C;
步骤6.9根据所述集合C中两个控制点的空间位置采用步骤6.7的计算公式计算最终控制点的空间位置,并将所述最终控制点的空间位置存入集合D中;
步骤6.10重复步骤6.6~6.9,直到完成step次循环;
步骤6.11获取所述数组M中下一个一维数组,重复步骤6.6~6.10,直到完成所述数组M中所有一维数组对应的最终控制点的空间位置的计算;
步骤6.12将所述集合D中的所有最终控制点依次连接形成平滑后的等值线,即得到最终的等值线。
2.如权利要求1所述的基于反距离加权插值的等值线快速生成方法,其特征在于,所述步骤2中,数据观测点的空间位置采用经纬度表示,所述规则网格的单元格精度为0.01度。
3.如权利要求1所述的基于反距离加权插值的等值线快速生成方法,其特征在于,所述步骤3中,采用反距离加权插值法计算交叉点集合P中每个交叉点的观测值的具体实现过程为:
步骤3.1计算交叉点集合P中某个交叉点pi与所有数据观测点之间的距离di;
当所述数据观测点的数量大于数量阈值N0时,则距离交叉点pi最近的N0个数据观测点参与步骤3.3中交叉点pi观测值的计算;
当所述数据观测点的数量小于等于数量阈值N0时,则所有数据观测点参与步骤3.3中交叉点pi观测值的计算;
步骤3.2判断所述距离di是否小于等于距离阈值d0,如果是,则将所述距离di对应的数据观测点的观测值赋给pi,并转入步骤3.4,否则转入步骤3.3;
步骤3.3计算所述交叉点pi的观测值,具体计算公式为:
其中,wi为交叉点pi的观测值,zj为第j个数据观测点的观测值,dij为交叉点pi与第j个数据观测点之间的距离,S为参与计算的数据观测点的数量,S≤N0;
步骤3.4遍历交叉点集合P,计算每个交叉点的观测值,直到所有交叉点的观测值计算完成。
4.如权利要求1所述的基于反距离加权插值的等值线快速生成方法,其特征在于,所述等值线快速生成方法还包括生成等值面的步骤,具体实现过程为:
根据所述最终的等值线对规则网格进行裁剪,得到等值面;
对所述等值面进行轮廓、填充颜色的渲染。
5.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1~4中任一项所述的基于反距离加权插值的等值线快速生成方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~4中任一项所述的基于反距离加权插值的等值线快速生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110533660.6A CN113256757B (zh) | 2021-05-17 | 2021-05-17 | 基于反距离加权插值的等值线快速生成方法、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110533660.6A CN113256757B (zh) | 2021-05-17 | 2021-05-17 | 基于反距离加权插值的等值线快速生成方法、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113256757A CN113256757A (zh) | 2021-08-13 |
CN113256757B true CN113256757B (zh) | 2022-04-22 |
Family
ID=77182283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110533660.6A Active CN113256757B (zh) | 2021-05-17 | 2021-05-17 | 基于反距离加权插值的等值线快速生成方法、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113256757B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764943B (zh) * | 2008-11-04 | 2013-08-14 | 新奥特(北京)视频技术有限公司 | 根据交点分割字幕对象矢量轮廓中二次贝塞尔曲线的方法 |
CN108364331A (zh) * | 2018-02-13 | 2018-08-03 | 北京佳格天地科技有限公司 | 一种等值线生成方法、系统和存储介质 |
CN108647261B (zh) * | 2018-04-27 | 2022-06-14 | 中国人民解放军91977部队 | 基于气象数据离散点网格化处理的全球等值线绘制方法 |
CN112767549B (zh) * | 2020-12-29 | 2023-09-01 | 湖北中南鹏力海洋探测系统工程有限公司 | 一种高频地波雷达海态数据的等高面生成方法 |
-
2021
- 2021-05-17 CN CN202110533660.6A patent/CN113256757B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113256757A (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB2547816B (en) | Actually-measured marine environment data assimilation method based on sequence recursive filtering three-dimensional variation | |
CN107529644B (zh) | 一种电力系统静态电压稳定域边界线性近似方法 | |
CN107526875A (zh) | 一种航空叶片型面加工误差可视化方法 | |
CN109583377B (zh) | 一种管路模型重建的控制方法、装置及上位机 | |
CN111884207B (zh) | 基于电气距离的电网拓扑结构可视化方法、系统及介质 | |
CN114792359B (zh) | 渲染网络训练和虚拟对象渲染方法、装置、设备及介质 | |
CN105118091A (zh) | 一种构建多精度非均匀地质网格曲面模型的方法和系统 | |
CN105976421A (zh) | 一种渲染程序的在线优化方法 | |
CN114756974B (zh) | 一种考虑物面法向信息的壁面距离计算方法 | |
CN112231874A (zh) | 地下管线模型的建立方法、装置、计算机设备和存储介质 | |
CN112613126A (zh) | 一种应用于飞行器外形的壁面距离计算方法及装置 | |
JP2004038630A (ja) | 混合格子型解適合格子法を用いた数値解析装置 | |
CN108447125B (zh) | 一种基于多波束测深数据的Delaunay三角网快速生成方法 | |
CN113256757B (zh) | 基于反距离加权插值的等值线快速生成方法、设备及介质 | |
CN113486429B (zh) | 一种基于插值算法的空间汇交结构自动化建造方法 | |
CN111402366B (zh) | 一种文字渲染方法、装置、电子设备及存储介质 | |
CN105869210A (zh) | 三维地质表面模型中的插值数据处理方法 | |
CN106658538B (zh) | 一种基于泰森多边形的手机基站信号覆盖范围模拟方法 | |
CN114818309A (zh) | 一种基于离散点表示的二维标量场插值方法、装置及计算机设备 | |
CN111259495B (zh) | 一种水轮机模型综合特性曲线的新型数值拓扑方法 | |
CN113552881A (zh) | 一种用于神经网络训练的多路径规划数据集生成方法 | |
CN111382834B (zh) | 一种置信度比较方法及装置 | |
CN109102558B (zh) | 一种基于非结构三角网的水流流线快速生成方法 | |
Khasminskii et al. | Uniform asymptotic expansions for pricing European options | |
CN109242937B (zh) | 将Mike流场结果文件转换成shapefile矢量文件的方法和装置 |
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 |