CN115272594A - 一种基于geotools的等值面生成方法 - Google Patents
一种基于geotools的等值面生成方法 Download PDFInfo
- Publication number
- CN115272594A CN115272594A CN202210797623.0A CN202210797623A CN115272594A CN 115272594 A CN115272594 A CN 115272594A CN 202210797623 A CN202210797623 A CN 202210797623A CN 115272594 A CN115272594 A CN 115272594A
- Authority
- CN
- China
- Prior art keywords
- isosurface
- grid
- point
- result
- data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于geotools的等值面生成方法,包括:(1)获取从前端传入的固定入参格式;(2)根据裁剪范围构建正方形网格,并为每个网格分配索引;(3)采用反距离加权方法,传入已知点数据,计算出未知格网的属性值;(4)根据计算出的格网数据以及已知分级数据,通过网格索引,获取连线的两个顶点信息,通过在点信息和编号,保存连线的最终点信息,生成等值线;(5)计算等值线平滑度,并根据等值线生成等值面;(6)将等值面结果以json格式返回前端,包括组成等值面的点经纬度坐标以及等值面的属性值;(7)将等值面结果以可视化效果表达。本发明既能解决雨量控制点多、面积大区域的等值面生成问题,还兼顾了平衡系统效率与计算精确度。
Description
技术领域
本发明涉及一种基于geotools的等值面生成方法。
背景技术
目前,使用geotools实现IDW等值面绘制结果需要兼顾精度和效率,支持等值面实时生成,并结合不同插值方法、借助气象工具重新生成等值面,以及需深入研究等值面实现算法,比较耗时。同时,目前生成等值面方法过程中网格构建普遍基于三角形网格的算法,此算法适用于雨量控制点少,面积较小的区域,对雨量控制点较多、面积较大的区域并不适用。因此,有必要设计一种既能同时平衡系统效率与计算精确度,又能适用于雨量控制点多、面积大区域的等值面生成的方案。
发明内容
针对上述现有技术的不足,本发明提供了一种基于geotools的等值面生成方法。
为实现上述目的,本发明采用的技术方案如下:
一种基于geotools的等值面生成方法,包括以下步骤:
(1)获取从前端传入的固定入参格式,参数包括控制点经纬度以及数值、研究区域边界数据、是否裁剪、插值格网数量大小、数据间隔;
(2)根据裁剪范围构建正方形网格,并为每个网格分配索引;
(3)采用反距离加权方法,传入已知点数据,计算出未知格网的属性值;
(4)根据计算出的格网数据以及已知分级数据,通过网格索引,获取连线的两个顶点信息,通过在点信息和编号,保存连线的最终点信息,生成等值线;
(5)计算等值线平滑度,并根据等值线生成等值面;
(6)判断是否需要根据研究区范围进行裁剪,是,则筛选出研究区外的坐标点,并返回步骤(5)重新生成等值面;否,则执行步骤(7);
(7)将等值面结果以同样的格式返回前端,包括组成等值面的点经纬度坐标以及等值面的属性值;
(8)将等值面结果以可视化效果表达。
具体地,所述步骤(2)包括以下步骤:
(21)利用二次误差函数生成顶点坐标,并计算极点值,所述二次误差函数表达式如下:
式中,pi为交点的位置,ni为交点的法向,x为偏移量;
(22)生成网格面片,其包括以下流程:
a)创建1个4*4的零矩阵用于存放QR矩阵分解的结果;
b)对于体素单元的每条相交边,计算交点的位置pi和对应的法向ni;
c)将向量[ni.x,ni.y,ni.z,dot(pi,ni)]添加到4*4的零矩阵底部;
d)通过QR矩阵分解得到3*3的上三角矩阵A'和向量b';
e)求解线性方程组A'TA'x=(A'Tb'-A'Tb'c),其中c是体素单元中所有交点的质心位置;
f)将计算得到的偏移量x加上质心位置c即为体素单元中的顶点坐标;
g)如果计算得到的顶点坐标位于体素单元之外,则顶点坐标用质心位置c来代替;
h)对于每一条相交的体素边,将其周围4个体素单元内的顶点连接生成1个四边形面片。
具体地,所述步骤(3)中,反距离加权的表达式如下:
式中,Z(s0)为s0处预测值;N为预测计算过程中要使用的预测点周围的样点数量;λi为预测计算过程中使用的各样点权重,该值随着预测点与样点之间的距离的增加而减少;Z(si)为si处获得的测量值。
进一步地,所述样点权重的确定公式如下:
式中,di0是s0与各已知样点si之间的距离。
与现有技术相比,本发明具有以下有益效果:
现有的等值面算法针对控制点密度较大的研究区域来说,计算效率不佳,主要原因是传统方法很难平衡系统效率与计算准确度的关系,而本发明将三角形网格改进为正方形网格,并以此为基础,结合反距离加权方法,生成等值线,最终通过计算等值线平滑度,并根据等值线即可生成等值面。本发明方案简单、高效,既能解决雨量控制点多、面积大区域的等值面生成问题,同时还兼顾了平衡系统效率与计算精确度,很好地适用于雨量控制点较多、面积较大的区域。
附图说明
图1为本发明-实施例的流程示意图。
图2为本发明-实施例中的正方形网格示意图。
图3为根据图2中的正方形网格所列出的16种可能结果的示意图。
图4为三角形格网的8种可能结果的示意图。
具体实施方式
下面结合附图说明和实施例对本发明作进一步说明,本发明的实施包含但不限于以下实施例。
实施例
本实施例提供了一种基于geotools的等值面生成方法,适用于雨量控制点较多、面积较大区域的等值面生成。如图1所示,本实施例的主要流程包括:
第一步:获取从前端传入的固定入参格式(json格式),参数包括控制点经纬度以及数值、研究区域边界数据、是否裁剪、插值格网数量大小、数据间隔。
第二步:根据裁剪范围构建正方形网格,并为每个网格分配索引,具体流程如下:
(1)利用二次误差函数生成顶点坐标,并计算极点值,所述二次误差函数表达式如下:
式中,pi为交点的位置,ni为交点的法向,x为偏移量;
误差函数可以写成矩阵形式:
其中矩阵A的行向量为交点的法向ni,向量b的每个元素为ni·pi。
极值点可以通过求解正则方程得到:
但是这种方式会存在数值不稳定,本实施例采用了另一种解法,即:基于QR矩阵分解计算正交矩阵Q,使得Q与[A b]相乘为如下上三角矩阵形式:
其中A'为3*3的上三角矩阵,b'为长度为3的向量,r为标量。
那么误差函数可以变化为:
(Ax-b)T(Ax-b)=(Ax-b)TQTQ(Ax-b)
=(QAx-Qb)T(QAx-Qb)
=(A′x-b′)T(A′x-b′)+r2
然后再根据上式计算极值点;
(2)生成网格面片,其包括以下流程:
a)创建1个4*4的零矩阵用于存放QR矩阵分解的结果;
b)对于体素单元的每条相交边,计算交点的位置pi和对应的法向ni;
c)将向量[ni.x,ni.y,ni.z,dot(pi,ni)]添加到4*4的零矩阵底部;
d)通过QR矩阵分解得到3*3的上三角矩阵A'和向量b';
e)求解线性方程组A'TA'x=(A'Tb'-A'Tb'c),其中c是体素单元中所有交点的质心位置;
f)将计算得到的偏移量x加上质心位置c即为体素单元中的顶点坐标;
g)如果计算得到的顶点坐标位于体素单元之外,则顶点坐标用质心位置c来代替;
h)对于每一条相交的体素边,将其周围4个体素单元内的顶点连接生成1个四边形面片。
正方形网格与三角形网格在本实施例方案中的对比:
如图2所示,正方形网格上每个顶点代表一个属性值,在本实施例中为降雨量。格网顶点属性值为使用IDW插值方法根据样本点属性计算而来。令格网顶点的值大于等值线阈值时为1,小于阈值时为0,这样即可把结果保存在一个四位二进制内。
将所有可能结果都列出来,既可得到如图3所示的16种可能结果。而传统三角形格网的所有可能结果如图4所示。
可以看出,三角形网格的可能结果只有8种,且一个图形内无两条线的情况。
综上,可以看出,正方形格网对于三角形格网来说,等值线与格网的交点更多,对于研究区范围较大的数据来说,减少了格网密度,增加了计算效率。
第三步:采用反距离加权方法,传入已知点数据,计算出未知格网的属性值。
本实施例中,反距离加权的表达式如下:
式中,Z(s0)为s0处预测值;N为预测计算过程中要使用的预测点周围的样点数量;λi为预测计算过程中使用的各样点权重,该值随着预测点与样点之间的距离的增加而减少;Z(si)为si处获得的测量值。
样点权重的确定公式如下:
式中,di0是s0与各已知样点si之间的距离。
样点在预测点值的计算过程中所占权重的大小受p的影响;也就是说随着采样点与预测值之间距离的增加,标准样点对预测点影响的权重按指数规律减少。在预测过程中,各样点值对预测点值作用的权重大小是成比例的,这些权重值的总和为1。
第四步:根据计算出的格网数据以及已知分级数据,通过网格索引,获取连线的两个顶点信息,通过在点信息和编号,保存连线的最终点信息,生成等值线;
第五步:计算等值线平滑度,并根据等值线生成等值面。所采用的平滑函数如下:
Prop=0 当prop≦1
Prop=(Leve1(i-1)+Leve1(i))/2 当Leve1(i-1)≤prop≤Leve1(i)
Prop=Leve1(max)*1.5 当prop≥Leve1(max)
其中prop为属性值,本实施例中指降雨量。Level为降雨量级别阈值;i为第i个级别。
第六步:判断是否需要根据研究区范围进行裁剪,是,则筛选出研究区外的坐标点,并重新生成等值面;否,则将等值面结果以json格式返回前端,包括组成等值面的点经纬度坐标以及等值面的属性值。
第七步:采用可视化手段,将等值面结果以可视化效果表达。
示例:
根据研究区大小,经过大量实验,本实施例中,自定义了一张研究区面积与划分格网数量的对照表(计算时间小于30s为合格),自动划分格网密度,达到系统效率与准确度直接最大的平衡。研究区面积与格网数量平衡的表格如下:
研究区面积/万平方公里 | 格网数量/个 | 计算时间/秒 |
1-10 | 1000*1000 | 26 |
10-30 | 500*500 | 28 |
30-50 | 300*300 | 28 |
>50 | 100*100 | 23 |
根据区间阈值大小进行已知点极限值的取舍,进行已知点属性的平滑,若已知点属性值位于阈值区间边缘,则代入平滑函数,平滑已知点属性,使其落在阈值中间,减少了入参的误差,增加了最终生成等值面的准确度。
上述实施例仅为本发明的优选实施方式,不应当用于限制本发明的保护范围,凡在本发明的主体设计思想和精神上作出的毫无实质意义的改动或润色,其所解决的技术问题仍然与本发明一致的,均应当包含在本发明的保护范围之内。
Claims (4)
1.一种基于geotools的等值面生成方法,其特征在于,包括以下步骤:
(1)获取从前端传入的固定入参格式,参数包括控制点经纬度以及数值、研究区域边界数据、是否裁剪、插值格网数量大小、数据间隔;
(2)根据裁剪范围构建正方形网格,并为每个网格分配索引;
(3)采用反距离加权方法,传入已知点数据,计算出未知格网的属性值;
(4)根据计算出的格网数据以及已知分级数据,通过网格索引,获取连线的两个顶点信息,通过在点信息和编号,保存连线的最终点信息,生成等值线;
(5)计算等值线平滑度,并根据等值线生成等值面;
(6)判断是否需要根据研究区范围进行裁剪,是,则筛选出研究区外的坐标点,并返回步骤(5)重新生成等值面;否,则执行步骤(7);
(7)将等值面结果以同样的格式返回前端,包括组成等值面的点经纬度坐标以及等值面的属性值;
(8)将等子面结果以可视化效果表达。
2.根据权利要求1所述的一种基于geotools的等值面生成方法,其特征在于,所述步骤(2)包括以下步骤:
(21)利用二次误差函数生成顶点坐标,并计算极点值,所述二次误差函数表达式如下:
式中,pi为交点的位置,ni为交点的法向,x为偏移量;
(22)生成网格面片,其包括以下流程:
a)创建1个4*4的零矩阵用于存放QR矩阵分解的结果;
b)对于体素单元的每条相交边,计算交点的位置pi和对应的法向ni;
c)将向量[ni.x,ni.y,ni.z,dot(pi,ni)]添加到4*4的零矩阵底部;
d)通过QR矩阵分解得到3*3的上三角矩阵A'和向量b';
e)求解线性方程组A'TA'x=(A'Tb'-A'Tb'c),其中c是体素单元中所有交点的质心位置;
f)将计算得到的偏移量x加上质心位置c即为体素单元中的顶点坐标;
g)如果计算得到的顶点坐标位于体素单元之外,则顶点坐标用质心位置c来代替;
h)对于每一条相交的体素边,将其周围4个体素单元内的顶点连接生成1个四边形面片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210797623.0A CN115272594A (zh) | 2022-07-06 | 2022-07-06 | 一种基于geotools的等值面生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210797623.0A CN115272594A (zh) | 2022-07-06 | 2022-07-06 | 一种基于geotools的等值面生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115272594A true CN115272594A (zh) | 2022-11-01 |
Family
ID=83763278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210797623.0A Pending CN115272594A (zh) | 2022-07-06 | 2022-07-06 | 一种基于geotools的等值面生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115272594A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795939A (zh) * | 2023-06-19 | 2023-09-22 | 重庆市规划和自然资源信息中心 | 一种基于geotools工具实现地理数据修复的方法 |
-
2022
- 2022-07-06 CN CN202210797623.0A patent/CN115272594A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116795939A (zh) * | 2023-06-19 | 2023-09-22 | 重庆市规划和自然资源信息中心 | 一种基于geotools工具实现地理数据修复的方法 |
CN116795939B (zh) * | 2023-06-19 | 2024-04-05 | 重庆市规划和自然资源信息中心 | 一种基于geotools工具实现地理数据修复的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10439594B2 (en) | Actually-measured marine environment data assimilation method based on sequence recursive filtering three-dimensional variation | |
Praveen et al. | Low cost PSO using metamodels and inexact pre-evaluation: Application to aerodynamic shape design | |
CN109190233B (zh) | 一种结构拓扑优化方法 | |
CN106250933A (zh) | 基于fpga的数据聚类的方法、系统及fpga处理器 | |
CN114332413A (zh) | 一种基于滑动克里金插值的地质体建模方法及装置 | |
CN109031224A (zh) | 一种雷达系统可靠性模糊分配方法 | |
CN115272594A (zh) | 一种基于geotools的等值面生成方法 | |
CN107886573B (zh) | 一种复杂地质条件下边坡三维有限元网格生成方法 | |
CN110188395B (zh) | 一种基于线面体的维度增加式计算流体网格生成方法 | |
CN105653881A (zh) | 基于多密度层次的流场可视化方法 | |
CN111079326A (zh) | 二维各向异性网格单元度量张量场光滑化方法 | |
CN110610539A (zh) | 地层曲面构建方法和装置、设备及储存介质 | |
CN105931297A (zh) | 三维地质表面模型中的数据处理方法 | |
CN111880236A (zh) | 一种构建多层等效源模型计算化极与数据类型转换的方法 | |
CN112346139A (zh) | 一种重力数据多层等效源延拓与数据转换方法 | |
CN112053436A (zh) | 基于曲面拟合的地形生成方法 | |
WO2022015310A1 (en) | Estimation of global thermal conditions via cosimulation of machine learning outputs and observed data | |
CN108731616B (zh) | 一种基于云模型的螺旋锥齿轮齿面测量点自适应分布方法 | |
CN113496097B (zh) | 一种基于sph的飞机油箱燃油晃动仿真分析方法 | |
CN116187068A (zh) | 一种适用于任意弯曲河道的地形断面插值方法 | |
CN114781207A (zh) | 基于不确定性和半监督学习的热源布局温度场预测方法 | |
CN111898819B (zh) | 空间网格划分方法及装置 | |
Guilbert et al. | Isobathymetric line simplification with conflict removal based on a B-spline snake model | |
CN114818416A (zh) | 基于非拟合网格的大地电磁模拟方法、装置以及存储介质 | |
Du et al. | A Fully Automated Adaptive Sampling Strategy for Reduced-Order Modeling of Flow Fields |
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 |