Surfer在绘制平面剖面图中的应用研究

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Surfer在绘制平面剖面图中的应用研究王身龙夏训银王洪生华北地质勘查局五一九大队,保定071051摘要文中介绍了使用surfer制作双色平面剖面图的方法技术,通过剖析平面图形的结构特点,找到了一条使用微机制作平面剖面图的便捷之路。关键词.;平面剖面图;图形分解;surfer;1.引言在规则网磁法工作中,ΔT平面剖面图(以下简称平剖图)是一种常用的工作成果,它在确定异常形态、追索异常走向、确定数据网格化效果的研究工作中起着不可或缺的作用。实际上平剖图就是一组剖面图的集合体,就是将工作区中的每一条测线的ΔT成果制作成剖面,然后投影到测线的实际坐标上。通常平剖图中ΔT的正值部分会被赋予暖色调(红色系),而负值部分则会被赋予冷色调(蓝色系),这样在图面中能起到突出异常的作用。但现阶段还没有一种专门的软件来制作平剖图,过去人们惯用grapher、autocad、surfer等制图软件来制作剖面,这些制图工具和制作方法要么一条一条的做效率太低,要么剖面区域一体正负不分,使用起来十分不便。其实我们常用的工具中,有一种是可以快速,简便地制作平剖图的。它就是surfer。2.surfer绘制剖平图的基本思路当人们面对发霉的食物时,通常感到的是沮丧;不过从另一方面来看这些长在食物上的霉菌却可以拯救成千上万人的生命(青霉素,亚历山大·弗莱明)。所以说换个角度看,世界大不同。过去人们总是认为图形是一个整体,这是一种思维定势,实际上任何一个平面都是由无数条线组成的,而每一条线又是由无数个点组成的,所以任何图形都是一个集合体,是集合就可以拆解。我们先来看看右边的两个图形:由图1-1我们清楚地看到一条剖面完全可图2-1单一曲线剖面图以拆解成正值区和负值区两个部分。从这个角度出发,用surfer制作平剖图的前提条件就有了。因为在surfer的绘图方式中有一种专门绘制线的成图方式叫做“基面图”,它的绘制方式是:制作一个“*.bln”文件,在其中规定好需要绘制线上节点的个数,以及这些点按着绘制先后顺序的坐标,如下所示:1760(折线线上节点点的个数)6172154670710(第一个节点的坐标X,Y)6171094670739(第二个节点的坐标X,Y)617139467083461715746709336171964671026…………………………………………62156346869386172154670710(最后节点的坐标X,Y)这样根据这个文件就可以在surfer中绘制出一条折线。如果第一个点与最后点的坐标相同,那么说明这条折线是封闭图形,可以在surfer中对其进行填充处理。所以当我们分别制作出剖面上的正值区域和负值区域再将它们扣合在一起,就制作出一个双色剖面平面图。流程如下:其中值得注意的是,这种成图方式折线上的节点的位置是用坐标来控制的,所以如果把折线节点坐标与测量点的实际坐标结合起来就可以得到我们需要的平剖图了。其实使用程序制作bln文件还是比较简单的,它实际上就是一个数据筛选的图2-2双色剖面图制作流程示意图过程,把正值、负值分别筛选到两个文件的过程。但要注意的是其中的一个细节就是正负值交替的部位。我们截取图2-1的一部分并且将其放大如图2-3所示以其为例图中1号点与10号点之间的连线就是实际测线,也代表着0幅值的位置,2、3、4、5、7、8、9号点代表相应点位的幅值。6号点则是正负幅值之间连线与0复制的交点,也就是我们要注意的地方这一位置需要通过几何计算然后插入到文件相应的位置中。因为一般剖面都是由多个正值区、负值区共同组成,因此我们在制作图2-3的正值区、负值区时一般会把不需要的数据当成0值投影到0幅值的位置。图中测线与垂直方向夹角角度为Φ,为如此图中正值的部分(图2-4)的bln文件结构如下110(折线线上节点点的个数)a1b1(剖面起点即115-204号点的坐标)a2b2(115-204号点幅值投影Z2的坐标)a3b3(115-206号点幅值投影Z3的坐标)a4b4(115-208号点幅值投影Z4的坐标)a5b5(115-210号点幅值投影Z5的坐标)a6b6(正负幅值连线与0幅值交点Z6坐标)a7b7(幅值为负投影到0幅值即115-212号点的坐标)a8b8(幅值为负投影到0幅值即115-214号点的坐标)a9b9(幅值为负投影到0幅值即115-216号点的坐标)a10b10(剖面终点即点115-216号点的坐标)a11b11(回到剖面起点形成闭合图形)以其中115-204号点为例:设其测量理论坐标为(X,Y)(注意测量坐标与数学坐标x、y相反,在实际绘图时我们要使用数学坐标),幅值大小为Z2,如图2-5所示,那么Z2幅值数学投影坐标(a2,b2)计算公式如下:)sin(22ZYa)cos(22ZXb公式1同理,其它正幅值测点的投影坐标的计算12345678910图2-3图2-4F1F2F3F4F5F6F7F8F9F10F11115-204115-206115-208115-210115-212115-214115-216Z1Z2Z3Z4Z5Z6Z7Z8Z9Z10Z11(Y,X)Z2(a2,b2)测线方向NΦ图2-5公式相同。接下来正负幅值连线与0幅值交点Z6坐标是由相邻正负副职之间的比例关系来确定的,设115-210号点测量理论坐标为(X5,Y5)、115-212号点测量理论坐标为(X7,Y7)。115-210号点的幅值为Z5;115-212号点的幅值为Z7,如图2-6所示,那么Z6的数学坐标(a6,b6)计算公式为:755)57(56ZZZYYYa755)57(56ZZZXXXb公式2负幅值的测点直接投影到0幅值线上,也就是他们的理论坐标。而负值区的中负幅值投影坐标计算公式与正值区一样,只不过这时它是把正幅值的测点直接投影到0幅值线上。分别作出“正剖面.bln”、“负剖面.bln”文件以后,就可以在surfer软件中制作剖面的正值区和负值区的基面图,然后分别填充颜色在扣合在一起,双色剖面图就制作完成了。曾经有人提出过类似的制作方法[3],不过他是将测线中的每一块异常都单独形成闭合区。个人以为这样做过于繁琐,在程序实现时不得不多加一条判断条件。实际上只要将不需要的幅值直接投影到测线上那么它附近的区域面积为0,在图面上根本不会反映出来,所以每个封闭区域只要以测线为单位即可。3.平剖图的制作我们平时所用的平剖图,其实就是多个单条剖面的集合体,因此把单条剖面的制作过程循环使用,就会得到整个工作区域内所有剖面的正值区和负值区,同样将他们在surfer软件中制作基面图,然后分别填充颜色在扣合在一起,就得到一幅双色平剖图,如图3-1所示。图2-5ΦN(Y5,X5)(Y7,X7)(a6,b6)Z5Z7关于平剖图bln文件制作程序我已经编写成功,但碍于篇幅,在此只能将关键过程源代码附上以供参考。首先建立剖面的源数据文件“YUAN”,一般来说是5列分别为:线号、点号、测量理论坐标X、测量理论坐标Y、幅值。数据要按点线号排好顺序。如下所示:852364682474.811610014.2737-29852384682571.403610040.1556-38.2852404682667.996610066.0375-38.7852424682764.588610091.9194-45.2852444682861.181610117.8013-44.3852464682957.774610143.6832-43.2901984680510.142610005.480414902004680606.735610031.36238.9902024680703.327610057.244311.8……………………………………………………………………………………1502084679440.191615930.444993.61502104679536.783615956.3268711502124679633.376615982.208753首先建立“正值区.bln”、“负值区.bln”文件以及一个临时文件“l1”,在“YUAN”读取每一行的5个数据,将他们写入“l1”中。OpenDir1.Path+/+l1.txtForOutputAs#3…………………'建立临时文件用来存储一条线DoWhileNotEOF(1)Input#1,a(2),b(2),c(2),d(2),e(2)图3-1双色剖面图制作流程示意图Ifa(2)a(1)Then……………………………………………'判断,如果线号改变停止写入l1.txtClose#3这时“l1.txt”中已经储存了一整条测线的数据。建立临时文件“l2”,然后在“l1”中读取数据写入“l2”并在正负幅值之间插入一个0值点。OpenDir1.Path+/+l1.txtForInputAs#4'开始向插入正负连线交点坐标OpenDir1.Path+/+l2.txtForOutputAs#5Input#4,f(1),g(1),h(1),j(1),k(1)f(2)=f(1)g(2)=g(1)h(2)=h(1)j(2)=j(1)k(2)=k(1)Write#5,f(1),g(1),h(1),j(1),k(1)DoWhileNotEOF(4)Input#4,f(1),g(1),h(1),j(1),k(1)Ifk(1)*k(2)0Theng(2)=g(1)+0.5h(2)=h(2)+(h(1)-h(2))*(Abs(k(2)))/(Abs(k(1))+Abs(k(2)))'…………公式2j(2)=j(2)+(j(1)-j(2))*(Abs(k(2)))/(Abs(k(1))+Abs(k(2)))'…………公式2Write#5,f(2),g(2),h(2),j(2),0EndIfWrite#5,f(1),g(1),h(1),j(1),k(1)f(2)=f(1)g(2)=g(1)h(2)=h(1)j(2)=j(1)k(2)=k(1)LoopClose#4Close#5这时临时储存在“l1”中剖面正负幅值连线与0值的交点坐标就已经被插入到相应位置并储存到“l2”中。接下来就是将“l2”中的数据写入“正值区.bln”、“负值区.bln”。先判断一下“l2”中的行数,作为剖面上的节点个数,因为图形需要闭合所以还要加上剖面的“起点、终点、起点”,实际节点个数是“l2”中的行数加3。然后根据幅值正负按照公式1将计算得到到的坐标写入到相应的文件中去。所有数据写入结束后,进行循环进入下一条测线的计算工作。最后同单条剖面一样,在surfer软件中制作基面图,然后分别填充颜色再扣合在一起,就得到了我们所需要的平剖图(图3-2)4.结论用surfer制作的这种平面剖面图由于使用理论坐标控制投影位置,因此可以很方便地扣合其他地质、物化探资料,加上正负值的投影幅值大小可人为为控制,因此在发现数据错漏或者图面不合适时可及时纠正,并且迅速地重新生成,效率极高。参考文献[1]李绍堂《SURFER软件图形数据的进一步处理和利用》物化探计算技术,1997。19[2]马培仙《利用Surfer绘图软件绘制平剖图及平剖图数字化》甘肃地质2006第l5卷第l期[3]田黔宁《利用Surfer实现自动绘制渐变色平剖图及其在MAPGIS中的应用》物探化探计算技术2009年第3I卷第2期[4]胡江建《运用surfer8.0软件绘制物探平面剖面图》新疆有色金属增刊1图3-2高精度磁测ΔT双色平面剖面图效果图6100006110006120006130006140006150006160004679500468000046805004681000468150046820004682500

1 / 7
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功