SeismicPro地震剖面显示程序

SeismicPro是我用C#写的一款地震剖面显示软件,可从标准SEGY地震数据体中抽取纵测线和横测线的二维剖面,并以波形、变面积和变密度等多种方式进行专业化显示,可进行一键式显示方式切换,并可进行定制开发叠加井轨迹与测井曲线等。

我感觉最人性化的一个功能是:只需要指定一个地震数据体SEGY文件(里面含有多条测线,自动判断道头字位置),就可以任意抽线显示了。

主要功能列表:

1)根据SEGY快速生成三维工区信息,可预览三维工区的概貌

2)快速选取纵测线或横测线

3)在工区内以指定间隔快速前滚、后滚剖面

4)可实现从纵剖面切横剖面或从横剖面切纵剖面。

5)定制剖面的滚动间隔,剖面上显示的道号、极性等标签文本。

6)显示跟随鼠标的十字线

7)可显示剖面上任一两点之间的空间距离。

8)剖面的缩放功能,拉框放大剖面内任意区域中的内容,

9)一键使剖面恢复到正常比例的显示状态。

10)剖面漫游功能,可任意平移地震剖面。

11)逆道序显示,可实现剖面按CDP正序或反序显示。

12)在波形、变面积、变密度等显示方式之间一键切换。

13)可设置变面积显示时的波峰、波谷、波形的颜色,变密度显示时的颜色棒,增益等参数

14)显示比例设置等

15)显示井名、井轨迹与测井曲线

16)显示井轨迹上任意一点的深度、井斜角和方位角信息

17)实测曲线数据更新时,曲线动态更新

注:程序需要GeoToolkit.NET 2.3(INT公司的产品)才可运行。

1 主界面

2 工区操作

在窗口上面可以进行工区的一些操作。

2.1 打开工区

最左侧的按钮是打开工区,本程序可以自动判断一个标准三维工区的地震数据体SEGY文件中道头字,得到测线个数和CDP个数,但工区必须是矩形形状,也可以是斜的。选择一个SEGY文件后,窗口左侧显示工区的三个定义点的详细信息等,并在右侧显示工区的概貌。

2.2 选择纵测线

双击Inline标签,则打开工区的最小纵测线,在本例中即打开171号纵剖面。

这四个按钮可以前滚、后滚相应的纵剖面。

在文本框中输入纵测线号,按回车键,则直接打开指定的纵剖面。

悬停在文本框上,则会提示纵测线号的范围。

2.3 选择横测线

双击Crossline标签,则打开工区的最小横测线。

这四个按钮可以前滚、后滚相应的横剖面。

在文本框中输入横测线号,按回车键,则直接打开指定的横剖面。

悬停在文本框上,则会提示横测线号的范围。

2.4 纵横切换

点击

按钮,则在剖面区域出现一根垂直的线,在显示纵剖面的时候,点击左键则切换到相应的横剖面;在显示横剖面时,点击左键则切换到相应的纵剖面,如下图可切换到第61道(第201条横测线)。

点击右键可取消选线的操作。

3 剖面显示功能

剖面的显示参数是保存在配置文件中的,下一次剖面打开时,会自动恢复上一次的剖面显示设置。

3.1 打开SEGY

点击左侧工具栏上的

按钮,可打开一个SEGY文件,注意此时并不会判断该SEGY是不是对应于工区的地震数据体,而只是显示该SEGY,窗口上面的工区操作按钮都不可用。此时只可进行可以缩放、显示方式的切换及查看SEGY详细信息等操作。在窗体的标题栏上会显示该SEGY的文件路径。

3.2 保存为CGM

点击

按钮后,可以将当前显示的剖面输出为石油行业标准的CGM图像文件,可以用CGM OFFICE之类的浏览软件打开此CGM文件。

3.3 选择对象/拉框放大

拉框放大操作

与漫游拖动操作

是两个互斥的操作。在拉框操作时可出现橡皮筋式的效果,放大一块指定的区域。

3.4 漫游拖动

点击漫游图标

后,会出现一个手状图标,用鼠标左键可拖动剖面。

3.5 重置显示设置

点击

按钮可设置为标准剖面的显示比例,即每厘米8道,每100毫秒1厘米。

3.6 缩放

点击

按钮将放大2倍显示。

点击

按钮将缩小2倍显示。

3.7 道反序显示

点击

按钮,可左右颠倒剖面,可以看出道号反序。再按一次此按钮,即可恢复正常道序显示。

3.8 变面积/变密度显示

分别用于波形变面积显示,

用于变密度显示,在高级设置中实际可获得更多的显示效果。

3.9 换颜色棒

程序中已经内置了16种常用的颜色棒,单击一次

按钮,将切换到下一种颜色棒。

3.10 十字光标

因为剖面中显示的内容较多,有时找不到光标的位置,打开十字光标功能,可以清楚地定位光标的位置。点击

按钮可跟随鼠标位置显示十字线,再按一次此按钮,可取消十字光标。

3.11 SEGY的详细信息

点击

按钮可以显示SEGY文件的文件头和道头详细信息,关于道头字的详细说明请参考SEGY标准规范。

3.12 状态栏

剖面底部是状态栏,可显示鼠标当前位置的道号、纵测线号、CDP号、X坐标、Y坐标和时间值(相对于时间剖面而言)。

3.13 高级显示设置

在剖面窗口中点击右键可弹出右键菜单,进行剖面的高级显示设置。

4 显示井数据

4.1 井基础数据管理

所有的井名、坐标和深度基础数据在一个统一的文件中进行管理,放在Wells目录的welllist.txt文件中,文件格式如下:

井名 X坐标 Y坐标 深度

测试井1 634600 4116550 3456

测试井2 634382.3 4115638.4 4830

测试井3 634482.3 4115000 2800

测试井4 634000 4114000 1800

测试井5 634700 4116200 2345

程序内进行容错判断,可以略过空行和错误的行。

井数据用子文件夹来管理,每口井对应一个文件夹,文件夹的名称要严格与井名保持一致。

4.2 井斜轨迹数据

井斜轨迹的文件名称例如“测试井1.deviation.txt”这样,文件格式是三列,分别表示测点深度(斜深)、井斜角(0-90)和方位角(0-360),深度的单位是米,角度的单位是度。

4.3 测井曲线数据

测井曲线文件名称类似“测试井1.AC.txt”,在两个小数点中间的字符串就是曲线名称,本例中是AC。预测曲线的文件名用“测试井1.AC0.txt”,即曲线名多了一个字母“0”。

文件格式用2列格式,第一列是深度,第二列是曲线数值。

4.4 测井曲线的显示及设置

井根据到剖面的距离来决定是否在剖面上显示,在实距范围内的井用实线,在虚距范围内的井用虚线。

点击上面工具栏上的

按钮,可设置投影距离、左右曲线及显示属性等。

4.5 井信息提示

在井轨迹上点击左键,可以得到当前点的深度、井斜角和方位角等信息。

4.6 测井曲线数据的自动更新

当用户修改了“测试井1.AC.txt”这些实测的测井曲线数据,并且剖面上显示了该井,则该井曲线的图形会自动刷新,如果系统外部不停地更新该文件,则会看到曲线动态变化的效果。

5 其它工具

5.1 测量距离

点击

按钮,可以测量剖面上几点间的距离。左键定义一个测距点,右键结束测量操作。

5.2 文本数据转换为SEGY并显示

点击工具栏上的

按钮,可以把一个M行N列的文本文件转换为SEGY格式文件并显示,每一行对应着SEGY的一道,每一列对应一个采样点。

5.3 查看系统帮助

点击工具栏右侧的

按钮,可以查看本帮助文档。

--- END ---

原文发布于微信公众号 - 申龙斌的程序人生(slbGTD)

原文发表时间:2016-11-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOSDevLog

scetch入门 第2部分:文本,对齐和SVG在第3部分中了解如何导出文件

这是本教程第1部分的延续。在本部分中,我们将介绍文本工具,对齐以及在Sketch中使用导入的矢量图形。

933
来自专栏编程微刊

ztree实现根节点单击事件,显示节点信息

这段时间在维护公司的项目,去年做的项目里面有ztree树的例子,想起之前还没有开始写博客,一些知识点也无从找起,要新加一个右击节点事件,折腾了半天,其中也包含了...

1463
来自专栏章鱼的慢慢技术路

使用Photoshop画一个圆锥体

1935
来自专栏生信宝典

ETE构建、绘制进化树

ETE能做什么 A Python framework for construction, analysis and visualization of trees...

4375
来自专栏marsggbo

LaTeX IEEE模板

网上有很多LaTeX软件,在线编辑器推荐Overleaf。但是我个人还是更喜欢离线写东西,所以尝试过各种编辑器,例如VSCode等等,这些编辑器都需要自己搭环境...

822
来自专栏PPV课数据科学社区

【工具】EXCEL十大搞笑操作排行榜

大名鼎鼎EXCEL江湖上谁人不知,谁人不晓呀,纵使你没见过EXCEL,也见过数据在跑吧?可惜的是,经常用EXCEL表哥表妹,甚至操作六七年 的江湖老手,或多或少...

3326
来自专栏林德熙的博客

win10 uwp win2d 使用 Path 绘制界面

在 win2d ,可以使用 DrawGeometry 的方式画出几何。而路径 Path 就是一种 Geometry 。传入的 CanvasGeometry 参数...

351
来自专栏图形学与OpenGL

实验2 关系可视化

启动RStudio后,菜单栏点击Tools>Install Packages…中输入ggplot2,安装;

872
来自专栏简书专栏

基于turtle的Python作画

pendown()的作用是落笔,只有落笔才能作画。 当不作画却想移动画笔的时候要提笔,用函数penup() forward是画笔向前移动,函数当中参数为移动...

851
来自专栏深度学习之tensorflow实战篇

Python基本常用包整理(data analysis and machine learning),附查询包版本语句

python 数据分析模块(Numpy、Scipy、Scikit和Pandas等) python进行机器学习(tensorflow) 一、基础包 ①Numpy...

4325

扫码关注云+社区