Landmark 培训实战:OpenWorks 数据管理、SeisWorks 解释与 ZmapPlus 成图全流程

发布时间:2026/9/19 18:06:05
Landmark 培训实战:OpenWorks 数据管理、SeisWorks 解释与 ZmapPlus 成图全流程
简介这份资源是Landmark软件培训操作手册的详解版文档面向石油地质、地球物理领域的初学者与在职技术人员帮助其系统掌握Landmark软件在地震解释与测井资料处理中的完整操作流程。压缩包内仅含1个doc文件约7.88MB内容按数据加载、常规解释流程、合成记录制作三大模块编排目录层级清晰便于按需检索。手册围绕GeoDataLoading、SeisWorks、TDQ、ZmapPlus、Syntool等核心组件展开涵盖建立投影系统与OpenWorks数据库、加载钻井平面位置与地质分层、时深转换与速度模型构建、层位管理、地质绘图以及子波提取、应用Checkshot等具体环节并配有操作截图与格式文件定义说明。目前已有98人学习下载适合需要对照实操步骤、查漏补缺或作为培训参考的地质解释人员使用。1. 从一份“操作手册”说起Landmark 培训到底在训什么很多刚接触 Landmark 的工程师第一次拿到培训资料时都会愣一下明明叫“操作手册”翻开却像一套地震解释与地质建模的联合工作流。原因在于 Landmark 从来不是单一软件而是 OpenWorks 数据底座加上 SeisWorks、ZmapPlus、TDQ 等一整套模块的组合。培训真正要解决的不是“点哪个按钮”而是让解释人员理解数据在 OpenWorks 项目里怎么流转、在 SeisWorks 里怎么解释、在 ZmapPlus 里怎么成图、在 TDQ 里怎么质控。这份手册面向三类人刚入职的地震解释新手、从其他解释平台迁移过来的熟手、以及需要维护项目数据的 OpenWorks 管理员。新手关心的是“第一步建什么项目”熟手关心的是“快捷键和批量操作能不能复刻”管理员关心的是“坐标系、投影和权限怎么不出错”。把这三条线理顺手册才不是一堆截图而是一条能复现的工作流。2. OpenWorks 项目与数据加载培训里最容易翻车的第一关2.1 OpenWorks 项目结构为什么必须先讲清楚OpenWorks 是 Landmark 的解释数据仓库所有 SeisWorks 解释成果、ZmapPlus 网格、井数据都挂在同一个项目下。培训里如果跳过项目结构直接讲解释后面一定会出现“解释成果找不到”“井位对不上”的问题。一个标准项目通常包含 Coordinate Reference SystemCRS、Survey、Well、Interpretation 几个层级CRS 一旦建错后面所有空间数据都会偏移。常见做法是先确认工区用的投影和基准面再建项目最后加载数据。我一般会要求学员在加载前用一个小样本测一遍坐标确认无误再批量导入。这一步多花十分钟能省掉后面几天的返工。2.2 用命令行检查 OpenWorks 项目环境在动手加载前先确认 OpenWorks 环境变量和项目路径是否正确。下面这段是常见的检查脚本用于确认当前会话指向的项目和 CRS 配置。# 查看 OpenWorks 相关环境变量确认项目根目录与版本 env | grep -i openworks # 列出当前项目下的 survey 目录确认工区是否已建立 ls -l $OPENWORKS_PROJECT/survey # 检查 CRS 配置文件是否存在避免加载时投影缺失 cat $OPENWORKS_PROJECT/crs/project_crs.txt逻辑说明第一行过滤出 OpenWorks 相关变量确认会话没有指向旧项目第二行列出 survey 目录确认工区结构完整第三行读取 CRS 配置确认投影参数存在。参数上$OPENWORKS_PROJECT是项目根路径不同站点命名可能不同常见的是OW_PROJECT或OPENWORKS_HOME以实际环境为准。如果第三行报文件不存在说明项目建的时候没写入 CRS需要回到项目创建步骤补。2.3 地震与井数据加载的关键参数数据加载是培训里操作最密集的部分。地震数据一般走 SEG-Y 导入井数据走 well header 加 well log 两条线。下面这张表是加载时最常调的参数培训里建议逐项对照。参数作用常见取值出错后果CRS / 投影定义空间参考按工区实际井震错位Sample Interval采样率2ms / 4ms道集拉伸Datum / Replacement Velocity基准面校正按静校正成果深度域偏移Well UWI井唯一标识按井号规范井重复或丢失Log Curve Name曲线命名GR / DT / RHOB曲线对不上加载完成后务必在 SeisWorks 里叠一张井位图做目视检查。培训中我见过太多“参数填了但没验证”的案例最后在解释阶段才发现井震差了几百米。提示SEG-Y 的字节头EBCDIC 或 ASCII和道头格式在不同采集系统里差异很大导入前先用文本工具看一眼头段比事后猜要快。3. SeisWorks 地震解释从剖面到断层的标准动作3.1 SeisWorks 解释前的显示配置SeisWorks 是 Landmark 的地震解释主模块培训里大部分时间花在这里。开始解释前先配好显示色标、增益、道间距、垂直放大。这些设置直接影响解释质量尤其是弱反射区。常见做法是先用默认色标扫一遍再针对目标层调整增益避免把噪声当成同相轴。显示配置里有一个容易被忽略的点垂直放大Vertical Exaggeration。放大过大时断层看起来很明显但实际倾角会被扭曲。培训里建议在解释断层时把垂直放大调回 1:1成图时再按需要放大。3.2 用 TDQ 做解释质量控制的批量检查TDQ 是 Landmark 里做解释质控的模块培训中常被跳过但它是保证成果可靠的关键。TDQ 可以批量检查层位交叉、断层与层位矛盾、解释密度不足等问题。下面这段是常见的 TDQ 检查流程示意。# 伪代码示意调用 TDQ 检查层位与断层的拓扑一致性 import tdq_api project tdq_api.open_project(/data/ow_project) horizons project.list_horizons([H1, H2, H3]) faults project.list_faults([F1, F2]) # 检查层位之间是否交叉 crossings tdq_api.check_horizon_crossing(horizons) for c in crossings: print(f层位交叉: {c.horizon_a} vs {c.horizon_b} at {c.location}) # 检查断层与层位的接触关系是否合理 contacts tdq_api.check_fault_horizon_contact(faults, horizons) for ct in contacts: if ct.status ! OK: print(f异常接触: {ct.fault} - {ct.horizon} - {ct.status})逻辑说明先打开项目并列出待检查的层位和断层再分别做层位交叉检查和断层-层位接触检查。参数上list_horizons传入层位名列表check_horizon_crossing返回交叉位置check_fault_horizon_contact返回接触状态。实际使用时TDQ 的接口名以站点版本为准这里展示的是调用逻辑。检查结果里status ! OK的条目需要人工复核常见原因是解释时跳过了断层或层位追踪串层。3.3 断层解释的常见坑与修正断层解释是 SeisWorks 里最考验经验的部分。培训里新手最容易犯的错是“断层线画得太随意”导致后面成图时断层多边形无法闭合。常见做法是先在地震剖面上标出断层的主要断点再用断层多边形工具连接最后用 TDQ 检查断层与层位的接触关系。另一个坑是断层命名。不同解释人员用不同命名规则合并成果时会出现同一断层多个名字。培训里建议在项目初期就定好断层命名规范比如F_区域_序号并在 OpenWorks 里统一维护。注意断层解释完成后不要急着成图先在 SeisWorks 里做一次 3D 可视化检查很多在 2D 剖面上看不出的矛盾在 3D 视图里一眼就能发现。4. ZmapPlus 成图与网格化把解释成果变成可交付图件4.1 ZmapPlus 网格化的参数选择ZmapPlus 负责把 SeisWorks 的层位解释点插值成网格再生成等值线图。网格化的核心参数是网格间距和插值算法。网格间距太大会丢失细节太小会产生大量伪构造。常见做法是取解释点平均间距的 1/2 到 1/3 作为网格间距插值算法优先用收敛速度快的再用平滑做一次修饰。下面这张表是 ZmapPlus 网格化时最常调的参数。参数作用建议取值影响Grid Interval网格间距解释点间距的 1/2~1/3细节与噪声Interpolation插值算法按数据密度选收敛与平滑Smoothing平滑次数1~3 次伪构造抑制Extrapolation外推范围不超过数据边界 1~2 个网格边界失真Contour Interval等值线间隔按图件比例可读性网格化完成后一定要做一次残差检查看插值面与原始解释点的偏差是否在合理范围。偏差过大说明插值参数需要调整。4.2 用脚本批量导出 ZmapPlus 图件培训里经常需要把多个层位的图件批量导出手工操作效率低。下面这段是常见的批量导出思路。# 批量导出 ZmapPlus 网格为等值线图 for horizon in H1 H2 H3; do zmap -project /data/ow_project \ -horizon $horizon \ -grid_interval 25 \ -smooth 2 \ -export /output/${horizon}_contour.cgm echo 导出完成: $horizon done逻辑说明循环遍历层位列表对每个层位调用 ZmapPlus 的导出命令。参数上-grid_interval控制网格间距-smooth控制平滑次数-export指定输出路径和格式。实际命令名和参数以站点版本为准这里展示的是批量化的组织方式。导出后建议抽查一两张图确认等值线没有异常闭合或断裂。4.3 图件交付前的检查清单图件交付前培训里要求逐项检查坐标系是否标注、等值线间隔是否合理、井位是否叠加、断层多边形是否闭合、图例是否完整。这几项里最容易漏的是坐标系标注很多图件看起来没问题但缺少投影信息后续无法和其他数据对齐。提示ZmapPlus 导出的图件格式在不同版本里支持情况不同交付前先确认接收方需要的格式避免导出后无法打开。5. 培训落地把手册变成可复用的检查流程5.1 用检查表把培训内容固化下来培训结束后学员回到岗位最容易忘的是操作顺序。常见做法是把整个流程做成一张检查表按 OpenWorks 建项目、数据加载、SeisWorks 解释、TDQ 质控、ZmapPlus 成图五个阶段列出关键检查项。每个检查项写清楚“做什么、看什么、错了怎么办”比单纯记步骤更有效。检查表里我一般会加一列“常见错误”比如“CRS 未确认就加载”“断层命名不统一”“网格间距凭感觉设”。这一列是培训里最有价值的部分因为它是从实际返工里总结出来的。5.2 用 TDQ 做交付前的最终验证交付前用 TDQ 跑一遍完整检查是培训里反复强调的动作。TDQ 能查出的问题包括层位交叉、断层矛盾、解释密度不足、网格与解释点偏差过大。下面这段是最终验证的调用示意。# 交付前最终验证层位、断层、网格三项联合检查 import tdq_api project tdq_api.open_project(/data/ow_project) report tdq_api.final_check( horizons[H1, H2, H3], faults[F1, F2], grids[H1_grid, H2_grid], density_threshold0.6, # 解释密度下限 residual_threshold5.0 # 网格残差上限米 ) for item in report.items: if item.level in (ERROR, WARN): print(f[{item.level}] {item.message} - {item.suggestion})逻辑说明调用final_check一次性传入层位、断层和网格返回检查报告。参数上density_threshold控制解释密度下限低于该值会报警residual_threshold控制网格与解释点的残差上限超过则说明插值需要调整。报告里ERROR级别必须处理WARN级别需要人工判断。实际接口以站点版本为准这里展示的是验证逻辑。5.3 培训后如何持续复现这套流程手册的价值不在于读一遍而在于能反复复现。我一般建议学员在培训后一个月内独立走一遍完整流程从建项目到出图中间不查手册只在卡住时回看。走完之后把卡住的点补进检查表这样检查表会越来越贴合实际工区。另一个技巧是把常用操作做成脚本或模板比如数据加载的参数模板、ZmapPlus 的导出脚本、TDQ 的检查配置。下次遇到同类工区直接改参数就能用比重新配一遍快得多。培训的终点不是记住按钮而是形成一套自己能维护的流程。本文还有配套的精品资源点击获取