离散点插值方法、等值线的绘制及平滑技巧.doc

上传人:人*** 文档编号:548064976 上传时间:2023-11-20 格式:DOC 页数:6 大小:36KB
返回 下载 相关 举报
离散点插值方法、等值线的绘制及平滑技巧.doc_第1页
第1页 / 共6页
离散点插值方法、等值线的绘制及平滑技巧.doc_第2页
第2页 / 共6页
离散点插值方法、等值线的绘制及平滑技巧.doc_第3页
第3页 / 共6页
离散点插值方法、等值线的绘制及平滑技巧.doc_第4页
第4页 / 共6页
离散点插值方法、等值线的绘制及平滑技巧.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《离散点插值方法、等值线的绘制及平滑技巧.doc》由会员分享,可在线阅读,更多相关《离散点插值方法、等值线的绘制及平滑技巧.doc(6页珍藏版)》请在金锄头文库上搜索。

1、离散点插值方法、等值线的绘制及平滑技巧2008-06-10 22:45由于等值线图看起来非常直观、形象,因此在天气预报、气候预测分析等方面用得非常多,已成为预报员不可缺少的工具之一。如各等压面层的位势高度图、高空环流、温度及降水分布图等等。目前也有一些非常好的微机用绘图软件,如SUFER、GRADS 等。这些软件一般都只有DOS 版,在流行的WINDOWS平台上,虽然可以调用,但不能使用鼠标操作,故不如使用在WINDOWS 环境中开发的软件方便。因此,许多希望在自己开发的应用程序中能方便地显示及打印各类等值线图的人,都想知道绘制等值线图的原理方法。如何用格点资料绘制等值线图在文献1中已有介绍,

2、而离散点(如气象台站) 的资料必须通过插值才能绘制等值线图。插值的方法有几种,比如三角网插值,它是将相邻的三个点连成一个个三角形,然后用文献1介绍的追踪法或其它方法在三角形边上进行插值。此方法的优点是需要插的值少,插值算法简单,数据处理量少。缺点是三角网的生成随意性很大,任意四个点可生成二组不同的三角形,不同的三角网插值得出的等值线也不可能完全相同。若人为固定三角网,当有资料缺测时,就不得不重新调整三角网,因此程序的通用性不高。目前比较流行的是通用性好的网格化方法。1 离散点网格化理论上,离散点网格化可采用局部曲面拟合方法,用多元回归方法建立V ( X , Y) = a + bX + c Y

3、或二次方程V ( X , Y) = a + bX + c Y + dX2 + eY2 + f X Y 所谓局部,是指采用拟合点周围一定范围的部分离散点进行拟合。这种做法虽然在许多情况下效果不错,但通常总是有些地方与实际情况有较大出入。因此根据人工绘制等值线时的直接内插方式,采用以下几个步骤。111 定点(1) 根据离散点的分布范围确定整个网格的范围及网格距,网格距不宜过大或过细。(2) 确定每个离散点属于哪一个网格,也即每个网格包含哪些离散点。(3) 在欲插值的网格点周围一定范围内(约34 个网格距如图1) ,按其4 个象限各找一个合适的离散点,剔除距离插值点最远的一个点(或其对面象限的点,使

4、网格点处于另三点组成的三角形之内) 。若有2 个象限找不到离散点,则要判别是否有已插值的格点值可替代,若也没有已插值可替代,则该格点暂时不插值,并记下该格点位置,留最后补插值。图1 离散点网格化找合适点的原则: A bs ( Xi - X0) A + A bs ( Yi - Y0) B = 最小式中:X0 、Y0 为网格点坐标, A、B 为权重系数, (可根据其相邻象限有无离散点不断调整) 。112 插值当某离散点与网格点距离小于011 个网格距时,可近似作为该网格点值。一般情况下,先由3 个点插出与纬向线相交点的2 个值,最后这2 个值内插出网格点上的值。为了使内插值更准确,可以考虑所选的3

5、 个离散点各点与网格点的距离,内插时乘上权重系数,距离越近权重系数越大。当4 个离散点的值如图2 的情况时,有可能是高中心,正常插值肯定小于这4 个点的最大值,不成为高中心,因此要根据周围离散点的值作特殊处理。图2 高中心特殊处理113 补插将初次无法进行插值记录下来的格点,重新检查是否可插值。114 外围点插值采用此方法插值,得到的网格点值只能在外围离散点所包的范围内。为了使插值的网格点尽可能包围外围离散点,可以在外围采用外延的方法,将插值网格点扩大一圈。方法是:对于任一个无插值网格点,在其周围应有8 个(边线上5 个) 方向,任何一个方向,只要最近的两个格点有值,则可外推出该格点值, 将8

6、 方向可能推出的两个以上的值求算术平均作为该格点的插值。115 技巧为方便下一步连等值线,所有格点的值不要与等值线的值相等,可对插出的格点值增减一个非常小的值(如0101) 。若周围有一个格点的值比该值大,则减去,否则加上。2 绘制等值线网格点资料如何绘制等值线,文献1介绍了直接追踪法, 这里介绍另一种方法。(1) 先将每个已插值的网格点与其右边及下边两个网格点值进行比较,若满足条件Sgn ( Z( x , y) - Z0) + Sgn ( Z ( x + 1 , y) - Z0) = 0 则记录一竖线段两个坐标Sgn ( Z( x , y) - Z0) + Sgn ( Z ( x , y +

7、 1) - Z0) = 0 则记录一横线段两个坐标式中: Z ( 3 ) 格点值; Z0 等值线的值; Sgn ( ) 求正负号函数。即把所有格点值看成只有两值,一是大于Z0 ,一是小于Z0 (前面插值处理使任何一格点值不等于Z0) ,最后可得到若干条线段(图3) 。图3 两值化的等值线图(2) 线段连接。对于某一线段X , 根据其终点,顺序查找与之共点的起点或终点的线段Y ,确定他们相连关系,根据线段X 两边格点值插出等值线值的位置,作为等值线的一个点坐标并记录下来。再根据Y 的终点或起点继续查找.,当再也找不到时,即为该连线的一个端点,同样要插值确定并记录该线终点坐标。再回过头从线段X 的

8、起点继续找,直至找到另一个端点。当等值线起点终点属于同一个网格时,该等值线是闭合的。当某一线段起点终点均找不到与之相连的其它线段时,可以考虑不要该线段。当某一线段一头与另外3 个线段共点时(如图4) ,即图4 多线段共点当等值线的值为10 时,按顺序会记下4 个线段A、B、C、D ,4 个线段的都有一个共同的端点。这种情况下则应根据等值线值与4 个格点值,按相互间距离最近的两个相连,另外两个相连来处理(图中虚线) 。(3) 当组成一条折线的点少于4 时,可以不要该条折线。3 等值线的平滑前面连成的等值线,其实是一条条折线, 当网格距足够小时(可在粗网格上插细网格) , 这些折线看起来就比较平滑

9、。但这样处理有两个缺点,一是要做很细的网格插值,但无论如何细,曲线还是会随着图形的放大而逐渐变成了折线。二是要记录很细的格点值及等值线,可能就要开一个很大的数组,若要存放在磁盘上则会占用较大的磁盘容量。为节省存储空间,又要较精确地描绘曲线,唯一的办法是增加数据处理工作量,必须从折点数据中找到一系列的函数关系,使之完全通过这些折点。根据这些函数加密数据点画出的折线是看起来是连续而平滑的。图形越放大,需加密数据点越多。目前,采用的平滑方法有多项式拟合、样条函数、拉格郎日插值函数、斜轴抛物线平均加权法等方法进行逐段拟合。不管是哪种方法,直接使用都可能会出现不合理的情况(图5) ,解决办法是先对拟合点

10、或自变量作些初步处理或称预处理,最后进行坐标(旋转) 变换后,用拉格郎日插值函数绘制平滑曲线。图5 直接插值曲线311 预处理(1) 检查闭合线当一条曲线的第一点与最后一点同属一个网格时,则可以认为这条线是闭合的,在最后点之后加上第一点坐标作为最后点。(2) 合并紧邻点相连的两个点距离小于012 个网格距时, 可在中间插一个点,而将这两个点取消。(3) 将大折角减小当3 个相邻点之间的夹角小于一定角度时,通过逐步调整3 个点的Y 坐标,将夹角加大(角减小) 。可以通过多次的合并及减小折角,使得曲线逐步平滑。312 配函数绘线加密数据点的拉氏插值函数程序如下: For I = 1 To N :Z

11、( I) = 1 :Next I For I = 1 To N :For J = 1 To N If I J Then Z(J ) = Z(J ) (XX - X( I) ) / (X(J ) - X( I) ) Next J :Next I YX = 0 : For I = 1 To N : YX = YX + Z( I) Y( I) :Next I N 是样本点数, 对应数组X ( ) 、Y ( ) , XX 是插值X 坐标, Y X 是插出的Y 坐标。采用3 点样本插值的具体做法是: (1) 采用3 点在第一、二点之间进行插值。(2) 为了避免出现如图5 那样的不合理插值,可采用坐标转换

12、方式。即根据第一点与第二点连线和第二点与第三点连线的夹角来确定新坐标旋转角度(图6) ,使角等于角。(3) 在新的坐标系下进行第一、二点之间进行插值。插值步长可以根据网格距大小及图6 确定新坐标旋转角(下转第73 页) 数据文件调入后,返回Random 子菜单选择Output , 填入输出文件名, 扩展名应为1GRD ,然后选择Begin 即可将输入文件网格化,生成输出文件。Begin 生成的1GRD 文件,产生的数据分布在给定的经、纬度极大值、极小值之间的每一段。若直接由TOPO1EXE 调用,等值线将布满整张图。为了不出现等值线,必须使用Modify 进行空白化处理,空白化步骤如下: (1

13、) 编辑一空白化文件, 扩展名为生成1BLN。格式:第一行: (点数- 1) 0 第二行:第一点横坐标(经度) 第一点纵坐标(纬度) 第三行:第二点横坐标(经度) 第二点纵坐标(纬度) . 这些点相联成的闭合区域外将空白化。(2) 在主菜单依次选择Modify Blank ,出现对话框, 在Input grid file : 填入欲空白化的1GRD 文件,在Output grid file : 填入输出文件,扩展名1GRD , 在Blank file : 填入上一步生成的1BLN 文件, 在Begin creating grid with current param2 eters ? 填YES

14、 ,即空白化生成输出文件。312 运行TOPO1EXE 主菜单如下: Topo Input Level Scale Conline Title Border Xyline Grid Post Output Equip 用到的各选项功能如下: Input :填入输入文件名,它是GRID1EXE 的输出文件。Level :调整等值线的最大、最小值、间距。Scale :调节屏幕图形的大小(F2 键显示) 。Title :输入标题。Post :将单点及其数值标注在指定位置, 若在此填入地图文件名,可调入地图。Output :将显示的图形输出打印。4 全屏幕修改SURFER 软件包绘制的等值线精度高, 光滑不足,可进行全屏幕修改。F2 显示后再按任意键,图上出现一小十字架,按AL T - E ,屏幕底部出现下面的字样: X = 110 Y = 25 Z = 19173 ESC AL T - S OR NEW Z: 表示当前小十字架坐标为(110 ,25) ,数值为19173 ,填入新的Z 值,就可部分修改图形。修改后的图形可按AL T - S 存盘。5 等值线标值标准化上述方法绘制的等值线上标值有的没有, 有的多于两个,这是SURFER 的缺陷。笔者对程序进行了修正,可绘制出等值线标值标准的气候图。其基本思路是:采用汇编编译器找出此部分地址,将修改后的子程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号