论文部分内容阅读
【摘 要】本文介绍了surfer8.0在河床冲淤分析过程的应用,并结合工程实际,介绍了数据准备,等深线图生成、填充、白化,冲淤图形生成,回淤量分析等内容。
【关键词】河床冲淤分析;surfer
工程实践过程中经常需要分析某段时间内河床的冲淤变化情况,较为传统的办法一般是逐一比较某一坐标上水深点的数据变化情况,这种方法的弊端主要体现在:1、寻找同一坐标的水深数据,耗时耗力,且精度无法保证,2、不直观。3、不能对冲淤的量有个准确的计量。针对这些不足,我们在实践操作中引进surfer8.0进行河床冲淤变化分析。
surfer8.0是一款画三维图(等高线,image map, 3d surface)的软件,可以轻松制作基面图、数据点位图、分类数据图、等值线图、线框图、地形地貌图、趋势图、矢量图以及三维表面图等。其使用简单,利用其自带说明基本可以掌握基本应用。下面介绍一下标准的surfer的具体应用过程。
1.数据准备
使用surfer8.0进行冲淤分析首先需要将水深数据转化为XYZ格式的数据文件,日常所使用的数据基本来自测量图纸,目前基本为数字化的DWG文件。数据的提取可以使用autocad软件自带的数据提取(dataextraction)命令(2004版AUTOCAD只有属性提取,只针对块属性),该命令可以有选择性cad图元的数据一次性提取并保存为xls文件或csv文件。这里我们只需要提取与水深相关的属性如x坐标列、y坐标列、z坐标、值等。在进行数据提取前,最好用快速选择命令(qselect)将水深数据选择性地复制到新DWG文件中,以免无关图元对最终的处理结果产生干扰。根据实践经验,一般水深数据类型可分为块属性型、文字型、Z坐标型、海图型。块属性用数据提取命令提取其X、Y、及相应的整数、小数值,文字型则提取X、Y、文字值,、Z坐标型则提取X、Y、Z型,再用excel处理成XYZ格式。海图型(指整数、小数、正负号分离的数据类型)处理较为麻烦,根据每个数据点的整数、小数、正负号的X、Y坐标差相等的特点,分别小数、正负号的插入点移动到整数位的插入点位置,使三者的坐标相同,再用数据提取命令提取后用VBA编程将负号、小数、整数整合。
2.数据处理
形成将数据文件后,还需将其转换成Surfer认识的grd文件格式,才能绘制等高线图。具体步骤如下:使用“网格│白化”,在弹出的对话框中选择数据文件,分别选择选择好坐标X、Y和Z值的所在列后,再在“网格化方法"中选择一种插值方法(如果你需要比原始数据的网格X和Y更密的Z数据,或是你的网格是非均匀的),则在Grid的过程中,Surfer会自动进行插值计算,生成更密网格的数据。如果你只是想绘制原始数据的图,不想插值,则最好选择距离平方反比法(inverse distance to a power)或Kriging方法。因为这两种方法在插值点与取样点重合时,插值点的值就是样本点的值,而其它方法不能保证如此。除平方反比法或克里格方法外,surfer8.0还提供了最小曲率方法、改进谢别德方法、自然邻点方法、多项式回归方法、径向基函数方法、带线性插值的三角剖分方法、移动平均方法、数据度量方法、局部多项式方法等方法。由于进行冲淤计算时需要在同尺寸,同网格密度的情况下进行,所以应使每个不同年份的grd文件的几何分布一致,即同样的最大、最小X、Y坐标范围和网格间距和数量。操作时可先将这些数据粘贴于记事本文件中。
3.生成等深线图
选择“地图│等值线图”命令, 在“打开网格”对话框中选择刚才生成的grd文件则会生成一个等值线图。
4.等高线图的填充(fill)和设置
双击等高线图,就会出现“地图|等深线属性”对话框,该对话框共有“常规”、“等级”、“查看”、“比例”、“限制”、“背景”等选项卡。在“常规”卡内,选中填充等深线(在前面的方框中点一下鼠标),就可以画着色的等高线图了,如果再选中下面的“颜色比例”的话,则可以在等高线图旁边给出色彩棒。在“等级”选项卡中单击“填充”,在弹出的对话框中选择“前景色”,再选择载入,找到程序安装目录下的Samples目录下的Rainbow2.CLR,确定应用后可以看到等深线已经填充上色彩。在“等级”选项卡中还可以对等深线的线型、颜色、标注与否、标注大小等做详细设置。
5.对特定区域白化
在Surfer中不同数据处理方法处理的结果均不相同,平方反比法或克里格方法会利用现有的数据将最大、最小X、Y坐标内的所有的点赋值,而自然邻点方法则只将数据附近的点赋值,不会对其他区域的点赋值。因此对于平方反比法或克里格方法生成的等深线图,需要将河岸、潜洲等区域的水深数据清除,这时就用到Surfer的白化(网格│白化)功能。白化文件(尾缀为. bln)是以ASCII文件格式存储的用来描述白化边界及白化信息的文件,其基本格式为:
length, flag
x1, y1
x2, y2
···
xn, yn
x1, y1
格式中的length代表X、Y坐标对的整数;flag取值为0或1,1白化指定区域内部,0则白化外部;X、Y坐标代表组成白化边界的坐标值,白化边界应为封闭的多边形,因此應重复x1、y1。白化文件可使用“数字化”生成,事先将原DWG格式的岸线图存为DXF文件后用“地图│基面图”生成基面图,双击基面图,在基面图属性对话框的“比例”、“限制”将X、Y的比例、最小、最大值设成与等深线图一致,这样底图和等深线图重合。基面图处理完毕后,点击右键选取数字化命令,用鼠标沿着岸线边界顺时针方向点击,每点击一次,该点的X、Y坐标便会被读取到一个临时bln文件中,当点击与首点会合后,将该临时文件另存(注意:在弯曲段要多点击几次)。生成的BLN文件flag默认为1,可根据白化区域与边界的内外关系需要修改该值。“网格│白化”命令,分别选择bln文件、grd文件,以及白化后的新grd文件。利用“网格│等深线”工具重新生成白化后的等深线图。
6.冲淤图形生成
分别生成不同年份的水深grd文件并白化后,在确定基面相同的前提下,使用“网格│数学”命令,将不同年份的grd文件作相减操作,将生成的grd文件命名为A-B.grd,再生成等深线图,根据步骤4优化该图,习惯上使用Rainbow.CLR进行填充,绿色代表平衡,红色代表淤积,绿色代表冲刷,则该图即可反映B时期到A时期分析河段的水深变化情况。
7.输出等深图
将勾选特定年份的水深图和基面图,将其他图隐藏,再利用“文件│输出”命令输出水深图。具体设置可根据自身需要进行优化。
8.冲淤量的计算
Surfer可以对grd文件进行体积和面积计算,将A-B.grd设为上表面,Z=0为下表面,由于在A-B.grd文件反映的是河道冲淤变化,其Z>0为淤积,Z<0为冲刷,因此上表面在下表面之上的那部分实体的净体积即“cut volumes(正体积)”为泥沙的淤积量,上表面在下表面之下的那部分实体的净体积即“fill volumes (负体积)”为泥沙冲刷量,“net volumes”为两者之差,为该河段这一时期的净淤积量。■
【参考文献】
[1]Surfer8.0自带说明书.
[2]陆志波,陆雍森.Surfer 8.0在环境评价和规划中的应用[J].同济大学学报:自然科学版,2005(2):191-195.
[3]雷雨,尹福国,周银军.Surfer在河道演变分析中的应用.人民黄河.2010.1,32(1).
[4]Surfer8.0初学者手册. Addison.
【关键词】河床冲淤分析;surfer
工程实践过程中经常需要分析某段时间内河床的冲淤变化情况,较为传统的办法一般是逐一比较某一坐标上水深点的数据变化情况,这种方法的弊端主要体现在:1、寻找同一坐标的水深数据,耗时耗力,且精度无法保证,2、不直观。3、不能对冲淤的量有个准确的计量。针对这些不足,我们在实践操作中引进surfer8.0进行河床冲淤变化分析。
surfer8.0是一款画三维图(等高线,image map, 3d surface)的软件,可以轻松制作基面图、数据点位图、分类数据图、等值线图、线框图、地形地貌图、趋势图、矢量图以及三维表面图等。其使用简单,利用其自带说明基本可以掌握基本应用。下面介绍一下标准的surfer的具体应用过程。
1.数据准备
使用surfer8.0进行冲淤分析首先需要将水深数据转化为XYZ格式的数据文件,日常所使用的数据基本来自测量图纸,目前基本为数字化的DWG文件。数据的提取可以使用autocad软件自带的数据提取(dataextraction)命令(2004版AUTOCAD只有属性提取,只针对块属性),该命令可以有选择性cad图元的数据一次性提取并保存为xls文件或csv文件。这里我们只需要提取与水深相关的属性如x坐标列、y坐标列、z坐标、值等。在进行数据提取前,最好用快速选择命令(qselect)将水深数据选择性地复制到新DWG文件中,以免无关图元对最终的处理结果产生干扰。根据实践经验,一般水深数据类型可分为块属性型、文字型、Z坐标型、海图型。块属性用数据提取命令提取其X、Y、及相应的整数、小数值,文字型则提取X、Y、文字值,、Z坐标型则提取X、Y、Z型,再用excel处理成XYZ格式。海图型(指整数、小数、正负号分离的数据类型)处理较为麻烦,根据每个数据点的整数、小数、正负号的X、Y坐标差相等的特点,分别小数、正负号的插入点移动到整数位的插入点位置,使三者的坐标相同,再用数据提取命令提取后用VBA编程将负号、小数、整数整合。
2.数据处理
形成将数据文件后,还需将其转换成Surfer认识的grd文件格式,才能绘制等高线图。具体步骤如下:使用“网格│白化”,在弹出的对话框中选择数据文件,分别选择选择好坐标X、Y和Z值的所在列后,再在“网格化方法"中选择一种插值方法(如果你需要比原始数据的网格X和Y更密的Z数据,或是你的网格是非均匀的),则在Grid的过程中,Surfer会自动进行插值计算,生成更密网格的数据。如果你只是想绘制原始数据的图,不想插值,则最好选择距离平方反比法(inverse distance to a power)或Kriging方法。因为这两种方法在插值点与取样点重合时,插值点的值就是样本点的值,而其它方法不能保证如此。除平方反比法或克里格方法外,surfer8.0还提供了最小曲率方法、改进谢别德方法、自然邻点方法、多项式回归方法、径向基函数方法、带线性插值的三角剖分方法、移动平均方法、数据度量方法、局部多项式方法等方法。由于进行冲淤计算时需要在同尺寸,同网格密度的情况下进行,所以应使每个不同年份的grd文件的几何分布一致,即同样的最大、最小X、Y坐标范围和网格间距和数量。操作时可先将这些数据粘贴于记事本文件中。
3.生成等深线图
选择“地图│等值线图”命令, 在“打开网格”对话框中选择刚才生成的grd文件则会生成一个等值线图。
4.等高线图的填充(fill)和设置
双击等高线图,就会出现“地图|等深线属性”对话框,该对话框共有“常规”、“等级”、“查看”、“比例”、“限制”、“背景”等选项卡。在“常规”卡内,选中填充等深线(在前面的方框中点一下鼠标),就可以画着色的等高线图了,如果再选中下面的“颜色比例”的话,则可以在等高线图旁边给出色彩棒。在“等级”选项卡中单击“填充”,在弹出的对话框中选择“前景色”,再选择载入,找到程序安装目录下的Samples目录下的Rainbow2.CLR,确定应用后可以看到等深线已经填充上色彩。在“等级”选项卡中还可以对等深线的线型、颜色、标注与否、标注大小等做详细设置。
5.对特定区域白化
在Surfer中不同数据处理方法处理的结果均不相同,平方反比法或克里格方法会利用现有的数据将最大、最小X、Y坐标内的所有的点赋值,而自然邻点方法则只将数据附近的点赋值,不会对其他区域的点赋值。因此对于平方反比法或克里格方法生成的等深线图,需要将河岸、潜洲等区域的水深数据清除,这时就用到Surfer的白化(网格│白化)功能。白化文件(尾缀为. bln)是以ASCII文件格式存储的用来描述白化边界及白化信息的文件,其基本格式为:
length, flag
x1, y1
x2, y2
···
xn, yn
x1, y1
格式中的length代表X、Y坐标对的整数;flag取值为0或1,1白化指定区域内部,0则白化外部;X、Y坐标代表组成白化边界的坐标值,白化边界应为封闭的多边形,因此應重复x1、y1。白化文件可使用“数字化”生成,事先将原DWG格式的岸线图存为DXF文件后用“地图│基面图”生成基面图,双击基面图,在基面图属性对话框的“比例”、“限制”将X、Y的比例、最小、最大值设成与等深线图一致,这样底图和等深线图重合。基面图处理完毕后,点击右键选取数字化命令,用鼠标沿着岸线边界顺时针方向点击,每点击一次,该点的X、Y坐标便会被读取到一个临时bln文件中,当点击与首点会合后,将该临时文件另存(注意:在弯曲段要多点击几次)。生成的BLN文件flag默认为1,可根据白化区域与边界的内外关系需要修改该值。“网格│白化”命令,分别选择bln文件、grd文件,以及白化后的新grd文件。利用“网格│等深线”工具重新生成白化后的等深线图。
6.冲淤图形生成
分别生成不同年份的水深grd文件并白化后,在确定基面相同的前提下,使用“网格│数学”命令,将不同年份的grd文件作相减操作,将生成的grd文件命名为A-B.grd,再生成等深线图,根据步骤4优化该图,习惯上使用Rainbow.CLR进行填充,绿色代表平衡,红色代表淤积,绿色代表冲刷,则该图即可反映B时期到A时期分析河段的水深变化情况。
7.输出等深图
将勾选特定年份的水深图和基面图,将其他图隐藏,再利用“文件│输出”命令输出水深图。具体设置可根据自身需要进行优化。
8.冲淤量的计算
Surfer可以对grd文件进行体积和面积计算,将A-B.grd设为上表面,Z=0为下表面,由于在A-B.grd文件反映的是河道冲淤变化,其Z>0为淤积,Z<0为冲刷,因此上表面在下表面之上的那部分实体的净体积即“cut volumes(正体积)”为泥沙的淤积量,上表面在下表面之下的那部分实体的净体积即“fill volumes (负体积)”为泥沙冲刷量,“net volumes”为两者之差,为该河段这一时期的净淤积量。■
【参考文献】
[1]Surfer8.0自带说明书.
[2]陆志波,陆雍森.Surfer 8.0在环境评价和规划中的应用[J].同济大学学报:自然科学版,2005(2):191-195.
[3]雷雨,尹福国,周银军.Surfer在河道演变分析中的应用.人民黄河.2010.1,32(1).
[4]Surfer8.0初学者手册. Addison.