简介:这份文档面向地质勘探、矿产资源评价及环境监测领域的建模初学者与技术人员,系统梳理SURPAC软件建模的核心知识点,帮助读者建立从数据组织到解译操作的完整认知框架。压缩包内仅含1个docx文件,约17KB,以目录化笔记形式呈现,便于快速查阅与对照学习。内容围绕建模基础概念展开,涵盖勘探线与中段编号规则、项目数据在微机中的存储组织、原始数据整理,以及剖面解译与中段解译两大主线;其中文件组织、命名方法与线串号分配均有细化说明,并按勘探线、地层、矿体、小矿体、剖面坐标线、钻孔剖面、打印剖面图等类型逐一区分文件用途。已有493人学习,适合作为SURPAC建模入门阶段的要点速查与流程梳理材料。
1. 拿到这份 SURPAC 建模文档,先搞清楚它能省掉哪些返工
地质建模这活儿,最怕的不是软件不会点,而是数据一进来就乱:勘探线编号一会儿 6 线一会儿 06 线,中段标高带负号还带小数,剖面解译出来的线串跟钻孔对不上,最后块模型切出来跟原始剖面差半米。这份 SURPAC 建模文档说明,核心价值不在教你认按钮,而在把「数据怎么组织、文件怎么命名、线串号怎么分配」这套底层规矩先钉死。它面向的是要拿钻孔数据建三维地质模型的一线地质人员、建模工程师,以及被剖面解译折磨过一轮、想找一套可复现流程的从业者。文档从概念定义一路写到剖面解译、中段解译和品级处理,目录里那些「错误!未定义书签」恰恰说明它是从实际项目文档里扒出来的,不是教科书。
2. 建模前的数据底座:五张表与 ID 编码规则
SURPAC 建地质数据库,第一步不是开软件画线,而是把原始数据按固定结构录进 Excel。文档明确把本区信息拆成五个数据表:井口表、测斜表、样品分析结果表、岩性表,加上勘探线_ID 的编号约定。这一步做歪了,后面剖面解译全是血泪。
2.1 井口表与勘探线_ID 的四位补齐法
勘探线编号是地勘单位命名的原始线号,可能是阿拉伯数字、罗马数字甚至字符。但 SURPAC 处理文件名时认的是整数 ID,所以文档给了一个很实在的转换办法:在原有勘探线号前用 0、1 或 2 到 9 补齐成 4 位或 5 位整数。比如 6 线补成 40006,这个 40006 就是后续所有文件名里的勘探线_ID。
原始勘探线号 补齐规则示例 勘探线_ID 6 前补 4 位 40006 12 前补 4 位 40012 0 前补 4 位 40000逻辑说明:补齐位数一旦定下就不能中途改,因为文件名、D1 属性字段、线串号全都挂在这个 ID 上。参数上建议统一用 4 位,前缀选一个本项目没占用的数字段(文档示例用 4),避免和相邻矿区数据合并时撞号。井口表里每行记录一个钻孔的开孔信息,勘探线_ID 这一列就是钻孔归属线的唯一钥匙。
2.2 测斜表、样品表、岩性表的字段口径
测斜表的测斜深度单位是米,倾角和方位角单位是度,这三个单位写错是新手翻车高发区——把弧度当度录进去,钻孔轨迹能偏出几十米。样品分析结果表按样品段记录品位,岩性表按岩性段记录分层,两张表都靠钻孔号和深度区间跟井口表、测斜表关联。
| 数据表 | 关键字段 | 单位/格式 | 常见错误 |
|---|---|---|---|
| 井口表 | 钻孔号、勘探线_ID、开孔坐标 | 坐标用米 | ID 未补齐 |
| 测斜表 | 测斜深度、倾角、方位角 | 米、度、度 | 角度录成弧度 |
| 样品分析结果表 | 起止深度、品位 | 米、品位单位统一 | 深度区间重叠 |
| 岩性表 | 起止深度、岩性名称 | 米、文本 | 岩性名与线串 D1 不一致 |
提示:五张表在 Excel 里录完后,先做一遍深度区间连续性检查,样品段和岩性段首尾要能接上,中间留空会在建库时被当成缺失段处理。
3. 剖面解译的文件组织:命名方法与线串号分配
剖面解译是整份文档里最厚的一块,也是实际建模时最耗时的环节。文档把剖面相关文件按内容分成勘探线、地层、矿体、小矿体、剖面坐标线、钻孔剖面、地质剖面、旋转为东西向、旋转为水平、剖面块模型等类型,每类文件都有自己的命名和线串号规矩。
3.1 文件命名:内容 + 勘探线_ID.str
命名规则很直接:文件内容 + 勘探线_ID.str。比如「地层 40006.str」就是 6 勘探线上的地层线文件。解译初始阶段,先对每个剖面上的各种岩性和矿体单独解译,命名用「地层编号或矿体号 + 勘探线_ID.str」,地层文件和矿体文件还要在 D1 属性里记录地层名称或矿体号。
地层 40006.str → 6 线地层线文件,D1 记地层名 矿体 40006.str → 6 线矿体线文件,D1 记矿体号 勘探线 40000.str → 全区勘探线文件,ID 取 1 剖面坐标线 40006.str → 6 线剖面坐标网 钻孔剖面 40006.str → 6 线提取的钻孔剖面逻辑说明:文件名里的 ID 必须和井口表的勘探线_ID 完全一致,差一位就对不上钻孔。D1 属性是 SURPAC 线串文件里第一个属性字段,地层名和矿体号写在这里,后续合并地质剖面、切块模型时靠它做筛选。参数上,地层编号建议用固定位数(如两位),矿体号用「矿体代号 + 品级」组合,避免小矿体和大矿体混号。
3.2 线串号分配:按文件类型分套路
线串号分配是文档里最容易被跳过、又最容易埋雷的部分。不同类型文件套路不同:
- 勘探线文件:线号通常取 1 或任一线号,也可以每条勘探线取单独线号。文档建议每条线用线段记录两个端点,且以南、南西、西、北西侧端点为起点,以北、北东、东、东南侧端点为终点,D1 记勘探线_ID,D2 记勘探线号。
- 地层文件:每个剖面形成 1 个地层线文件,地层信息和线串文件里的线号关联,一个地层对应一个线号段。
- 矿体文件:剖面上的矿体界线单独成文件,线号按矿体号分段,小矿体单独占号段,不能和大矿体共用。
- 剖面坐标线:正交剖面能自动生成坐标线,斜交剖面因为国内表示方法有特殊性,要按剖面空间位置手工制作坐标线供解译和绘图参考。
- 钻孔剖面:执行「提取用于打印的剖面图」功能得到,提取时以勘探线第一个端点为起点、第二个端点为终点。
- 用于打印的平面图:记录剖面图下方小平面里的钻孔轨迹线,文件 ID 号固定为 0。
注意:线串号一旦分配进文件,后续合并、旋转、切块模型都依赖它做索引,中途改号等于把已解译的线全部作废,这是最贵的返工。
3.3 地质剖面合并与两次旋转
单剖面解译完,要把地层、矿体、剖面坐标线等类型文件合并成一个地质剖面文件,记录该剖面除钻孔剖面外的所有地质信息。出图前还要做两次旋转:先用「线文件 2D 转换」把剖面旋转到东西方向(把勘探线段移到东坐标轴、左端点移到坐标原点),再把文件的 Y 坐标和 Z 坐标互换,剖面就从铅直面变换到水平面,和钻孔剖面扣合,为打印出图做好准备。
步骤 1:合并 地层 40006.str + 矿体 40006.str + 剖面坐标线 40006.str → 地质剖面 40006.str 步骤 2:旋转东西向 线文件 2D 转换,勘探线段移至东坐标轴,左端点移至原点 步骤 3:旋转水平 交换 Y、Z 坐标,剖面由铅直转水平 步骤 4:扣合 与钻孔剖面 40006.str 叠加,检查轨迹与地质界线是否吻合逻辑说明:两次旋转的顺序不能反,先转东西向再换 Y/Z,否则坐标轴对应关系会错。参数上,旋转后要抽查至少两个已知钻孔的见矿深度,和原始样品表比对,偏差超过一个样品段长度就说明旋转基准点选错了。
4. 中段解译与品级处理:把剖面成果落到标高上
剖面解译是垂面上的事,中段解译是把同一套逻辑搬到水平面上,按中段标高切。文档里中段解译部分虽然书签报错,但结构清楚:文件组织、命名方法、线串号分配三件套,加上地层、矿体、小矿体、钻孔中段几类文件。
4.1 中段_ID 的取号:负标高与小数标高怎么处理
中段编号通常按各中段标高命名,中段_ID 可以直接用标高做 ID。遇负标高,把负的标高值直接作为 ID;标高是小数时,去掉小数点变成整数作为 ID。比如 -50 米中段 ID 取 -50,1250.5 米中段取 12505。
中段标高 中段_ID 取法 文件名示例 1250 直接取 1250 地层 1250.str -50 取 -50 矿体 -50.str 1250.5 去小数点取 12505 矿体 12505.str逻辑说明:去小数点变整数是为了让文件名保持纯整数、便于排序和批量处理,但要注意 1250.5 和 1250.05 去点后都是 12505 和 125005,位数不同不会撞,同一位数的小数要保证小数位数统一。负号在文件名里是合法字符,但部分脚本处理时会把负号当参数分隔符,批量重命名前先小范围试。
4.2 中段线串号与钻孔中段文件
中段文件的地层、矿体线串号分配逻辑和剖面一致,按地层名、矿体号分段。钻孔中段文件是从钻孔数据按中段标高切出来的轨迹和品位段,命名同样挂中段_ID。解译时先把该中段所有钻孔中段文件调出来做底图,再勾地层和矿体界线,这样勾出来的线和钻孔见矿位置天然对齐。
提示:中段解译前先确认剖面解译的矿体线已经闭合,未闭合的线在中段切出来会是断头线,合并时直接报错。
4.3 矿体品级处理:解译阶段就要分好
文档第 6 章专门讲「解译时的矿体品级的处理」,这是很多建模项目后期才发现的问题:解译时把不同品级矿体勾成一条线,等到估品级时没法拆。常见做法是解译阶段就按品级边界把矿体线拆成多条,D1 属性里写「矿体号 + 品级代号」,线串号按品级分段预留。
| 品级 | 线串号段建议 | D1 属性写法 |
|---|---|---|
| 工业矿 | 100–199 | 矿体1-工业 |
| 低品位矿 | 200–299 | 矿体1-低品位 |
| 表外矿 | 300–399 | 矿体1-表外 |
逻辑说明:线串号段预留要留足余量,一个矿体三个品级至少各留 100 个号,小矿体多的时候按矿体号再切子段。品级代号用固定字符,别用中文全角括号,部分版本对文件名和属性里的特殊字符处理不一致。
5. 避坑排查:五个把模型做废的常见操作
5.1 勘探线_ID 中途改前缀
现象:前期用 40006,后期觉得 4 不吉利改成 50006,结果老剖面文件的钻孔全对不上。原因:文件名、井口表、D1 属性三处 ID 必须一致,改一处等于断链。解决:项目启动时定死前缀和位数,写进项目数据组织说明,中途只增不改。
5.2 测斜角度单位混用
现象:钻孔轨迹在剖面上飘出地表。原因:测斜表里部分行录的是弧度,部分行是度。解决:录完表后加一列校验,倾角绝对值大于 1.6 的按度处理,小于 1.6 的抽查原始记录,统一换算后再建库。
5.3 斜交剖面坐标线直接套正交模板
现象:斜交剖面出图时坐标网和地质界线错位。原因:正交剖面坐标线能自动生成,斜交剖面国内表示方法特殊,必须按剖面空间位置手工制作。解决:每条斜交剖面单独做坐标线文件,命名挂对应勘探线_ID,解译前先叠钻孔剖面验证。
5.4 旋转顺序颠倒
现象:地质剖面旋转后和钻孔剖面扣不上,偏差随距离增大。原因:先换了 Y/Z 再转东西向,基准点错位。解决:严格按「先 2D 转东西向、再换 Y/Z」顺序,旋转后抽两个钻孔比对见矿深度。
5.5 线串号跨类型复用
现象:合并地质剖面时地层线被当成矿体线。原因:地层和矿体线串号段重叠。解决:建一张线串号分配表,按文件类型划死号段,解译前把表贴在工作目录里。
6. 用宏文件把重复操作录下来:一个省返工的收尾技巧
SURPAC 能把软件操作过程记录成宏文件,扩展名 .TCL,回放就能重复整套操作。剖面解译里最枯燥的是每条勘探线都要走一遍「合并 → 旋转东西向 → 换 Y/Z → 扣合钻孔剖面」,线一多就是纯体力活。我一般把单条线的这套流程录成宏,回放时只改变量。
# 单条勘探线剖面出图流程(示意,变量按实际工程改) set line_id 40006 set work_dir "D:/project/section" # 合并地层、矿体、坐标线为地质剖面 merge_file "$work_dir/地层_$line_id.str" "$work_dir/矿体_$line_id.str" "$work_dir/剖面坐标线_$line_id.str" "$work_dir/地质剖面_$line_id.str" # 旋转到东西向:勘探线段移至东坐标轴,左端点移至原点 rotate_2d "$work_dir/地质剖面_$line_id.str" "EAST" # 交换 Y、Z 坐标,剖面转水平 swap_yz "$work_dir/地质剖面_$line_id.str" # 叠加钻孔剖面做扣合检查 overlay "$work_dir/地质剖面_$line_id.str" "$work_dir/钻孔剖面_$line_id.str"逻辑说明:宏里把 line_id 提成变量,换线只改一行。参数上,work_dir 用绝对路径且不含中文和空格,部分版本对路径字符处理不稳。回放前先备份原始线文件,宏执行是覆盖式的,没有后悔药。录宏时注意把弹窗确认步骤也录进去,否则批量回放会卡在对话框上。
验证方法很简单:挑一条已经手工做过的线,用宏重跑一遍,把两次输出的地质剖面文件做线串数和端点坐标比对,一致才算宏可用。从那以后我每次批量出剖面图前,都强制先拿一条线跑宏验证,再全量回放。希望帮到你。
本文还有配套的精品资源,点击获取