- 河流数值模拟与信息化应用
- 张细兵 崔占峰 张杰 王敏
- 3944字
- 2021-04-16 20:14:29
2.4 网格地形插值技术
当完成计算河道网格划分或断面划分后,需进行计算网格或断面地形的插值,在插值之前需将河道地形资料数字化,然后可采用散点插值或背景网格进行插值。一维断面的插值可仿照网格地形插值,首先将断面离散为节点,然后对各节点进行插值即可得到断面地形。
2.4.1 河道地形数据的自动录入
在进行计算网格地形插值之前,首先需对电子地图的高程数据进行提取。目前测量得到的河道电子地形图一般采用CAD格式存储,因此首先需将CAD图形转化为带有地形高程数据的散点。CAD图形中可转化为散点数据的对象有高程点、等高线、坎线、堤线等。将CAD图形存为DXF数据交换格式,然后编制相关程序模块,读取其中的数据信息,便可得到散点的文本数据。散点数据信息包括所在平面坐标位置及高程,点的序号任意。
一个完整的ASCII格式的DXF文件结构如下:
HEADER段。它包含图形的基本信息,由AutoCAD数据库版本号和一些系统变量组成,每个参数都包含一个变量名称及其关联的值。
CLASSES段。包含应用程序定义的类的信息,这些类的实例出现在数据库的BLOCKS、ENTITIES和OBJECTS段中,类定义在类的层次结构中是固定不变的。
TABLES段。包含以下符号表的定义:
APPID(应用程序标识表);
BLOCK_RECORD(块参照表);
DIMSTYLE(标注样式表);
LAYER(图层表);
LTYPE(线型表);
STYLE(文字样式表);
UCS(用户坐标系表);
VIEW(视图表);
VPORT(视口配置表)。
BLOCKS段。包含构成图形中每个块参照的块定义和图形图元。
ENTITIES段。包含图形中的图形对象(图元),其中包括块参照(插入图元)。
OBJECTS段。包含图形中的非图形对象,除图元、符号表记录以及符号表以外的所有对象都存储在此段。
THUMBNAILIMAGE段。包含图形的预览图像数据,此段为可选。
每个段都以一个后跟字符串SECTION的组码0开始,其后是组码2和表示该段名称的字符串(例如,HEADER)。每个段都由定义其元素的组码和值组成,每个段都以一个后跟字符串ENDSEC的组码0结束。
(1)以下是 DXF文件 HEADER 段的样例:
0【HEADER段的开始】
SECTION
2
HEADER
9【每出现一个标题变量便重复一次】
$<变量>
<组码>
<值>
0【HEADER 段的结尾】
ENDSEC
(2)以下是 DXF 文件 ENTITIES 段的样例:
0 ENTITIES【段的开始】
SECTION
2
ENTITIES
0【每个图元定义有一个条目,如LINE,CIRCLE<图元类型>】
5
<句柄>
330
<指向所有者的指针>
100
AcDbEntity
8
<图层>
100
AcDb<类名>
..<数据>
.
0 ENTITIES【段的结尾】
ENDSEC
需要什么信息就可以在相应的段中寻找,例如你需要得到DXF文件的版本信息就可在HEADER段中寻找。需要图形的信息就可到ENTITIES段中寻找。再强调一下实体段:实体段记录了除块段出现的实体以外的所有绘图实体内容,包括每个实体的名称、所在图层、线型、颜色代码等。由于定义一个实体所有组码在某一实体的任意组码在其值与默认值相同时可以省略不写,用户在读取DXF文件时应注意:定义一个实体的数据是以“0”组码开始,而以另一个“0”组码的出现表示结束;某一实体的定义数据顺序不固定。
2.4.2 基于散点的插值方法
得到电子地图的散点高程数据后,可直接用散点数据进行网格地形的插值运算,Surfer软件提供的插值方法有以下几种。
1.距离倒数乘方法
距离倒数乘方法是一个加权平均插值法,可以进行确切的或圆滑的方式插值。方次参数控制着权系数如何随着离开一个网格节点距离的增加而下降。对于一个较大的方次,较近的数据点被给定一个较高的权重份额,对于一个较小的方次,权重比较均匀地分配给各数据点。
计算一个网格节点时,给予一个特定数据点的权值与指定方次的从节点到观测点的该节点被赋予距离倒数成比例。当计算一个网格节点时,配给的权重是一个分数,所有权重的总和等于1。当一个观测点与一个网格节点重合时,该观测点被给予一个实际为 1 的权重,所有其他观测点被给予一个几乎为 0 的权重。换言之,该节点被赋给与观测点一致的值。这就是一个准确插值。
距离倒数乘方法的特征之一是要在网格区域内产生围绕观测点位置的“牛眼”。用距离倒数网格化时可以指定一个圆滑参数。大于零的圆滑参数保证:对于一个特定的结点,没有哪个观测点被赋予全部的权值,即使观测点与该节点重合也是如此。圆滑参数通过修匀已被插值的网格来降低“牛眼”影响。
2.克里金法
克里金法是一种在许多领域都很有用的地质统计网格化方法。克里金法试图这样表示隐含在你的数据中的趋势:例如,高点会是沿一个脊连接,而不是被“牛眼”形等值线所孤立。克里金法中包含了几个因子:变化图模型、漂移类型和矿块效应。
3.最小曲率法
最小曲率法广泛用于地球科学。用最小曲率法生成的插值面类似于一个通过各个数据值的,具有最小弯曲量的长条形薄弹性片。最小曲率法,试图在尽可能严格地尊重数据的同时,生成尽可能圆滑的曲面。
使用最小曲率法时要以最大残差参数和最大循环次数参数来控制最小曲率的收敛标准。
4.多元回归法
多元回归被用来确定你的数据的大规模的趋势和图案。你可以用几个选项来确定你需要的趋势面类型。多元回归实际上不是插值器,因为它并不试图预测未知的Z值。它实际上是一个趋势面分析作图程序。
使用多元回归法时要涉及到曲面定义和指定X、Y的最高方次设置,曲面定义是选择采用数据的多项式类型,这些类型分别是简单平面、双线性鞍、二次曲面、三次曲面和用户定义的多项式。参数设置是指定多项式方程中X和Y组元的最高方次。
5.径向基本函数法
径向基本函数法是多个数据插值方法的组合。根据适应你的数据和生成一个圆滑曲面的能力,其中的复二次函数被许多人认为是最好的方法。所有径向基本函数法都是准确的插值器,它们都要为尊重你的数据而努力。为了试图生成一个更圆滑的曲面,对所有这些方法你都可以引入一个圆滑系数。你可以指定的函数类似于克里金中的变化图。当对一个网格结点插值时,这些个函数给数据点规定了一套最佳权重。
6.谢别德法
谢别德法使用距离倒数加权的最小二乘方的方法。因此,它与距离倒数乘方插值器相似,但它利用了局部最小二乘方来消除或减少所生成等值线的“牛眼”外观。谢别德法可以是一个准确或圆滑插值器。
在用谢别德法作为网格化方法时要涉及到圆滑参数的设置。圆滑参数是使谢别德法能够像一个圆滑插值器那样工作。当你增加圆滑参数的值时,圆滑的效果就越好。
7.三角网线形插值法
三角网插值器是一种严密的插值器,它的工作路线与手工绘制等值线相近。这种方法是通过在数据点之间连线以建立起若干个三角形来工作的。原始数据点的连接方法为:所有三角形的边都不能与另外的三角形相交。其结果构成了一张覆盖网格范围的,由三角形拼接起来的网。
每一个三角形均定义了一个覆盖该三角形内网格节点的面。三角形的倾斜和标高由定义这个三角形的三个原始数据点确定。给定三角形内的全部节点都要受到该三角形表面的限制。
2.4.3 基于背景网格的插值方法
得到电子地图的散点高程数据后,可首先建立背景网格,然后进行计算网格的插值。
背景网格一般有两种,一种为规则方格形网(RSG),另一种为基于散点的不规则三角形网(TIN),其中规则方格形网高程数据可由不规则三角形网通过插值转换得到。不规则三角形网中以Delaunay三角形网格应用最广,它适用于各种数据分布密度,可直接利用原始地形数据、保持原有精度,并具有唯一性好和适应不规则形状区域等优点,因此被认为是最适合表面逼近、建立数字地面模型的方法。
1.背景网格的生成
得到所有散点数据后,采用Delaunay方法对散点进行网格化,如图2.17所示,网格的扩展由以下几步组成:
(1)在散点群边界上选择任意相邻的两点作为初始扩展边(如边AB),对其他所有节点进行扫描,寻找与已知两点夹角最大的节点作为该边的扩展点(C),从而形成第一个三角形单元(△ABC),并得到了两个新的扩展边(BC和AC)。
(2)对扩展边(BC和AC)按(1)的方法再进行扩展,从而又得到新的三角形(△BCD和△ACE)及新的扩展边(BD、CD、CE和AE),将新三角形与已有三角形相比较,如不与已有三角形重复,则添加到三角形网中。
(3)如此不停地扩展下去,直到再也找不到新的三角形为止。
按上述方法进行网格扩展,可生成背景网格图(见图2.17)。得到三角背景网格后,还可对不需要的三角形进行删除,三角形的删除通过两种方法进行判断,一是三角形的边长大于规定的最大边长,二是三角形中某个角小于规定的最小角度值。
图2.17 网格的扩展
2.网格地形的插值
建立背景网格后,计算网格节点的高程可通过背景网格的分片曲面插值来确定。背景网格可采用不规则三角形网格(TIN)或规格方格形网(RSG)。
(1)不规则三角形网格的插值(见图2.18)。在进行插值之前,首先需要找到计算网格节点位于背景网格中的哪个三角形内。可通过面积法或角度法进行判断。面积判断法的思想是:当计算网格节点与背景网格中某三角形三顶点构成的三个子三角形的面积和与该三角形面积相等时,即认为该点在该三角形内。角度判断法的思想是:当该节点与背景网格中某三角形三顶点构成的三个角的角度和为360°时,即认为该点在该三角形内。
找到了计算网格节点所在的背景网格单元,设p(x,y)为计算网格节点,而i、j、k为找到的三角形的三个顶点的节点编号,其计算网格节点地形高程可表示为
图2.18 通过三角形插值得到的网格地形
其中
s为三角形面积的2倍。
(2)规格方形网格的插值。对于规则方形网格可采用二次或三次趋势面进行插值求得被插值网格节点高程。
二次三次趋势面认为分块插值区内待定点的高程在轴x和y平行的方向上与坐标y和x成直线比例关系。设待定点的高程为zp,则按双线性多项式内插的函数式为
此时用最近的4个数据点来确定函数的待定参数。
三次趋势面的数学模型为
此时用最近的9个数据点来确定函数的待定参数。
趋势面分析的优点是:它是一种极易理解的技术,至少在计算方法上是易于理解的。另外,大多数数据特征可以用低次多项式来模拟。趋势面是平滑函数,很难正好通过原始数据点,除非数据点少而且曲面的次数高才能使曲面正好通过原始数据点。实际上趋势面分析最有成效的应用之一是揭示研究区内不同于总趋势的最大偏离部分。因此趋势面分析的主要用途是:使用某种局部内插方法对区域进行内插之前,从数据中去掉一些宏观地物特征,而不把它直接用于区域内插。