基于VFP的多金属地质储量管理系统研究*
2011-04-01陈丙强
陈丙强
(长沙矿山研究院, 湖南长沙 410012)
基于VFP的多金属地质储量管理系统研究*
陈丙强
(长沙矿山研究院, 湖南长沙 410012)
针对柿竹园多金属矿年度地质储量计算和年度储量计划编制工作,以 Visual Fox-Pro为平台,利用其数据编制各类储量计算表,同时结合 Excel进行报表编制、打印,开发出简单可行的应用程序,初步实现了地质储量管理的电算化。
多金属矿;地质储量管理;VFP;计算机应用
储量管理是矿山最基础也是最重要的地质工作,直接影响着资源评价、生产计划的编制和部署、生产中的贫化损失等一系列工作的进行。同时储量计算、计划是一年一度的经常性地质管理工作,具有很强的连续性和相承性,认真编制好年终储量计算和年中储量计划则格外重要。然而传统的管理模式常常因资料繁杂、管理混乱,导致查询困难,甚至服务滞后,已难于满足企业对技术的要求,因此,及时引进计算机管理,充分发挥电脑对数据管理的特有优势,对提高矿山地质技术水平将起到不可估量的作用。本文以 Visual FoxPro 6.0和 Excel 2003为平台进行设计开发,并应用于柿竹园有色金属有限责任公司多金属储量计算工作中。
1 设计方案
按照储量管理的有关规定及技术规范,结合多金属矿山实际,制定统一规范的设计方案是设计的基础,对后面的计算、资料的统一规范管理影响很大。本文采用块段计算法,对特高品位按平均值处理,计算范围和类别为矿体位置、储量级别、矿块编号、矿房或矿柱、矿带分类、矿石或夹石,计算内容为矿体、矿块、矿房或各矿柱 (北、南、西、东、底柱 )的块段体积,及夹石体积、副产体积、矿石体积、矿石储量 (夹石含量)、钨钼铋地质品位和金属量。储量成果表 (打印表)有品位表、矿块表、开采损失表、掘进副产表、勘探增减表、重算增减表、储量平衡表等。为保证各表间数据的互通,方便数据查询、更新,应设置成规范统一的字段,各表中字段的类型、长度、数值型字段的小数位尽量一致,字段内容统一规格,特别是关键词应确保一致。本文使用表达式“ALLTR I M(矿体位置)+ALLTR I M(储量级别)+ALLTR I M(矿块编号)+ALLTR I M(矿房矿柱)+ALLTR I M(矿带代号)+ALLTR I M(矿石夹石)”或其中的一部分作为完整的关键词。此后,可对照已有的储量计算成果表,预制相应的 Visual FoxPro 6.0数据库项目,在其中新建或添加相应的储量计算表,并逐步建立所需的命令程序。同样地,可在 Excel 2003中预先设置好相应的成果打印表备用,完善并最后定型后可直接套用,一劳永逸。
2 储量计算表的编制
2.1 品位表的编制
在Visual FoxPro 6.0数据库的品位项目文件中建立品位表,主要的品位表有柱状孔品位表、矿块地探工程品位表、生探工程品位表、矿房矿柱品位计算表。输入程序、查询程序、检查程序与品位表相对应。通过查询以上基础品位表可建立本年度所需的最新储量计算品位表,作为下面各表金属量计算的根据。其中应特别注意关键词表达式的正确性,各矿房、矿柱品位数据的唯一性 (建立候选索引文件)和完整性,以确保后面各表中的矿房、矿柱皆能在此查询到唯一正确的品位数据。
2.2 矿块表的编制
本年的矿块表以上年底的矿块表为基础,初表可通过拷贝原表获取。因此在编制本年度的矿块表之前,首先应检查上年底矿块表的正确性,主要通过查询检查各类别的分类汇总结果,检查无误后才能继续进行后面的工作。
对勘探升级矿块采用直接添加法,即先在数据库表中打上删去标记,然后对原有矿块细分成矿房、矿柱,进行品位更新后再分别计算其相应的体积参数、矿石储量、金属量,最后添加并物理删除原有矿块,并在备注中加以说明。品位更新过程中应特别注意关键词表达式的正确性,及两表记录的对应关系 (不能为“多多关系”,应为“一一对应”或“一对多”或“多对一”)。数值精度应通过 ROUND()函数保证。
对无勘探升级矿块常采用减去法,即按其与开采损失表、掘进副产表的对应关系,并按前述关联查询的要求,用对应项相减即可获得。更新中应注意分矿石与夹石分别进行。
2.3 掘进副产表和开采损失表的编制
此两表数据来源于本年度计划的月报表统计,因此数据库表可通过 Excel表转入,即先在 Excel表格中汇总年度报表统计,并对关键字段进行必要的名称校正,字段内容进行必要的完善、规范,然后对数值型字段进行必要的设置,才可“另存为”数据库表。在 Visual FoxPro中,还应增加“矿石夹石”字段,按主关键词分类汇总,并按前述关联查询的要求对其进行品位更新和数据计算,即可形成所需的掘进副产表和开采损失表。
2.4 储量增减表的编制
因勘探增减、重算增减只需计算整个矿块的量,不考虑矿房矿柱和矿带代号,故只需按“ALLTR I M(矿体位置)+ALLTR I M(矿块编号)”制作 1个含年初保有、开采损失、掘进副产、年终保有的联接表,在查询程序中再增加储量增减、钨钼铋金属量增减字段便可。
具体步骤如下:先利用设计好的分类汇总查询命令,分别对年初保有、开采损失、掘进副产、年终保有表中的储量、钨钼铋金属量按“ALLTR I M(矿体位置)+ALLTR I M(矿块编号)”进行分类汇总,然后进行联接查询,并设计程序对字段进行必要的增、删、改工作,以获得矿块的储量增减表;对储量增减表按增减性质进行分解,便可获得所需的勘探增减表、重算增减表 (因多表联接较复杂,可采用双表逐步联接实现多表间数据查询)。
2.5 平衡表的编制
与储量增减表的制作类似,只是需增加勘探增减、重算增减内容的字段,损失量单独设项,开采量中需加上掘进副产部分。分类汇总关键词表达式变成“ALLTR I M(矿体位置 )+ALLTR I M(储量级别)”,另需增加储量、金属量的平衡检查字段。
2.6 打印表的制作
对照设计好的表格打印形式,在 VFP数据库中,查询对应字段并设置好排列顺序,必要时可以对字段进行增、删、改,使其尽量符合表格打印要求。最后导出到电子表格中,稍作格式调整和表格编辑即可。
3 程序设计实例
CLOSE ALL
SELECT 1
USE f:年初矿块.dbf&&打开年初矿块表 (已改动升级矿块的三量级别)
COPY TO f:矿块 X.dbf
USE f:矿块 X.dbf
DELE FOR I NL IST(矿块编号 ,′K5-0/1′,′P4/5-0′,′P4/5-1′)
PACK &&消除矿块中的多余记录
APPE FROM f:勘探重算增加矿块.dbf&&添加新记录
DO f:矿块汇总.qpr &&运行已编制好的汇总程序
**已制作基础的新矿块 (消除了部分勘变前的矿块,增加了勘变矿块)
CLOSE ALL
SELE 2
USE f:矿块 Y.dbf
COPY TO f:矿块 X.dbf
CLOSE ALL
SELECT 1
USE f:矿块 X.dbf
SELE 2
USE f:勘探重算减少矿块.dbf
COPY TO f:矿块 Y.dbf
USE f:矿块 Y.dbf
DO f:矿块_矿块.qpr &&运行已编制好的关联程序
**消除了勘变前的矿块
CLOSE ALL
SELECT 1
USE f:矿块 Z.dbf
COPY TO f:矿块 X.dbf
USE f:矿块 X.dbf
DO f:矿块汇总.qpr
CLOSE ALL
SELECT 1
USE f:矿块 Y.dbf
COPY TO f:矿块 X.dbf
USE f:矿块 X.dbf
SELECT 3
USE f:采损.dbf
COPY TO f:采损 x.dbf
USE f:采损 x.dbf
DO f:矿块_采损.qpr &&运行已编制好的关联程序
**减去了开采和损失
CLOSE ALL
SELECT 1
USE f:矿块 Z.dbf
COPY TO f:矿块 X.dbf
USE f:矿块 X.dbf
SELE 4
USE f:掘副.dbf
COPY TO f:掘副 x.dbf
USE f:掘副 x.dbf
DO f:矿块_掘副.qpr &&运行已编制好的关联程序
**减去了掘进副产
4 结 论
地质储量管理工作是一项最基本的比较繁琐的日常地质工作,利用 Visual FoxPro数据库的强大功能进行管理,再结合 Excel进行报表编制和打印,使工作快捷、方便。
程序设计中,有不少细节问题不容忽视。首先,应做到文件存放目录清晰明了,字段名称长度类型和小数位尽量统一规范,清晰可读;设计程序前应对原始表做好备份,以防不测;程序运行前应多作调试,尽量从简到繁,确保程序简单高效。另外,熟练掌握更多的命令和函数可达到事半功倍的效果。
[1]罗周全,刘晓明,吴亚斌,等.地质统计学在多金属矿床储量计算中的应用研究[J].地质与勘探,2007,43(3):83-87.
[2]焦 建,孙文洁,崔正筠.Excel在煤矿地质工作中的应用[J].山东煤炭科技,2009,(6):79-80.
[3]吴鸿敏,杨 佳,张宝一.固体矿产储量估算系统的研究与实现[J].地理信息世界,2007,5(1):73-78.
[4]梁 艳,郝多虎,潘 懋,等.矿产储量估算系统的开发研究[J].黑龙江科技信息,2010,(7):34-35.
“十一五”国家科技支撑计划项目 (2006BAB02B05-1).
2010-10-20)
陈丙强 (1968-),男,工程师,主要从事矿山地质工作,Email:chenbq163@163.com。