基于MAPGIS轴向分带序列软件的二次开发.pdf
第30卷 第3期 物探化探计算技术 2008年5月 基金项目国家高技术研究发展计划863项目资助2006AA06Z204 收稿日期 2007 - 08 - 17 改回日期 2007 - 12 - 03 文章编号 10011749 2008 03025005 基于MAPGIS轴向分带序列 软件的二次开发 陈剑平,聂淑贞 中国地质大学 工程技术学院,北京 100083 摘 要建立矿床地球化学异常模式,确定盲矿预测标志的一个重要研究内容,是计算矿床的原 生晕轴向分带序列。目前,计算分带序列主要是通过手工,或借助其它数据处理软件半自动实现 的。针对这一点,这里在VC 6. 0的开发环境下,结合MAPGIS强大的二次开发功能,就实现了 格里戈良分带序列的计算,并且阐述了二次开发的一般方法和步骤。通过应用表明,该程序算法 合理,操作简单,速度快,大大提高了工作效率。 关键词轴向分带序列;格里戈良; MAPGIS;二次开发; VC 6. 0 中图分类号TP 31 文献标识码 A 0 前言 建立矿床地球化学异常模式,确定盲矿预测标 志的一个重要研究内容是研究计算典型矿床的原 生晕轴向当矿体较陡倾时称为垂直分带序 列 [7, 10, 13 ] ,不仅可以大致确定矿床的地球化学垂直 分带规律,特别是确定前缘晕和尾晕的特征指示元 素,而且还可直接用于盲矿预测和矿体剥蚀程度的 判别,为在定位预测研究中选择矿床,具有垂直变 化规律的参数如元素比值、 累加、 累乘比等提供 依据。 作者在国产MAPGIS地理信息系统平台下,以 VC 6. 0 [4]为开发工具 ,实现了C. B.格里戈良的 轴向分带序列的计算方法 [7~10, 13 ]。 1 MAPGIS二次开发 1. 1 开发平台介绍 MAPGIS是中国地质大学武汉开发的一个 工具型GIS,具有强大的二次开发功能,该软件于 1995年10月通过鉴定,其二次开发接口为一组定 义在空间模型之上的函数集,借助于这组接口函 数,用户可在BORLAND C ,V ISUAL C ,V ISU2 AL BASIC等编程环境下,建造面向特定领域的应 用型GIS [1~3, 5、6 ]。 目前,MAPGIS二次开发库主要是以API函数 的方式提供,这些函数的实现被封装在十二个动态 链接库DLL中,因此,是独立于开发工具的。用 户在所使用的高级语言中,如何调用W indows的 API函数,也可依此调用MAPGIS的二次开发函 数。 MAPGlS有以下三种二次开发方式。 1API函数开发。MAGIS的 API函数开发 方式与W indows的API开发方式一样。 2 MFC类库开发。MFC类库是基于 MFC 库的开发方式。用面向对象的思想把一些API功 能进行封装,形成多个派生于MFC中Cview类的 可重用基类,用户利用基于MFC的MAPGIS类库, 可构建面向对象软件工程的MAPGIS应用系统。 类库开发是针对C 的。 3组件控件开发。它是基于COM 组件 对象模型标准的一种程序组建,能够嵌入程序中 运行完成一定功能,在软件开发中实现了功能重 用。在开发中,只需简单调用功能接口就可以了。 在本程序开发过程中,采用混合编程的方法, 即以MFC类库开发为主, API函数开发为辅的方 式。 1. 2 MAPGIS的VC 开发步骤 程序中继承了CGisEditView类 [1, 3, 5 ] ,它封装 了MAPGIS编辑处理的基本数据对象和方法。包 括几乎所有的点、 线、 区的编辑、 属性操作,以及最 基本的文件操作功能等。 下面以CGisEditView类为例,介绍如何构造一 个简单的MAPGIS图形编辑器的方法和基本步骤。 1建一个Visual C 的项目。打开Visual C 工作环境 ,选择File菜单New命令,在弹出的 对话框中选择Projects页的MFC AppW izard 项,并在Project name编辑框中敲入工程名例如 engineer ,然后单击OK,这样便进入了AppW izard 向导的第一步。在这一步里,用户要选择工程 类型,可以选择单文档或多文档工程,初学者最好 选单文档类型。单击Next进入向导的第二步、 第 三步、 直到完成Finish之后OK ,这几步用户可以 采用默认设置。 到此为止,一个VC的项目已建好,然后用户 的工作就是在这个项目中,实现MAPGIS平台中的 功能及自己想要的其它功能。 2将工程中的视图类改为继承CGisEditView 类。具体操作是打开工程中的视图类的二个文件 3View. h、 3 View. cpp ,用Visual C 查找替换功 能Edit菜单下的Replace命令或热键Ctrl H , 分别将这二个文件中的CView字符串全部替换为 CGisEdit View。替换完毕,在工程中视图类的定义 前面加入 include“cgisedit . h”,这样就完成了 CGisEdit View类的继承。 3调用CGisEditView类中的OnDraw pDC 函数,以完成绘图工作的预先处理。具体操作方 法在视图类的OnDraw CDC 3 pDC函数中,加语 句CGisEdit View OnDraw pDC。添加过程见下 面示例 void CEngineerView OnDraw CDC 3 pDC { CEngineerDoc 3 pDoc GetDocument ; ASSERT_VAL I D pDoc ; / / T ODO add draw code for native data here CGisEditView OnDraw pDC ; } 4对Visual C 的工作环境进行必要的设 置,这些设置很重要。 第1项字节设置。选择Project菜单下的 Settings命令,在C/C 页面上 , Category一栏选择 Code Generation,并将Struct Member Alignment设 定为1 Byte。 第2项输出目录设置。把生成的可执行文 件,输出到MAPGIS动态连接库所在的目录下。选 择Project菜单下的Settings命令,在General页面 上Output files一栏中,填写mapgis应用程序目录, 例如 c \mapgis67 \program。 第3项包含库设置。设置头文件及库文件 的路径。选择Tools菜单下的Options命令,在Di2 rectory页面上,在Show directories for一栏选择in2 clude files,在Directories下面填写MAPGIS二次开 发库头文件目录。例如, c \mapgis67 \ include;然 后,在此页面上的Show directories for一栏再选择 library files,在Directories下面填写MAPGIS二次 开发库目录,例如, c \mapgis67 \lib。 本程序在此基础上,调用MAPGIS的API属性 操作函数,读取点文件中的属性数据来实现格里戈 良分带序列算法。 2 格里戈良计算分带序列的数学 原理 分带序列计算的方法很多,但常用的还是C. B.格里戈良的方法。其基本原理 [9]是以元素异常 的线金属量值为基础,首先将所有元素的最大值处 于同一数量级内,即标准化;然后把同一标高上的 所有元素的线金属量值标准化后加起来,并用 它来除各元素的值,就得到分带指数。每一元素的 分带指数最大值所在的标高,即为该元素在分带序 列中的位置。由此可大致的确定轴向分带序列,具 体步骤如下。 1线金属量。计算不同标高各元素的线金 属量 PLCL 其中 C为异常元素的平均含量; L为异常宽度。 2标准化。找出各元素不同标高的最大线 金属量值,并将低于其元素最大线金属量的各元素 最大值乘一定的系数 10 n , 使各元素的最大线金 属量值量级相同其余非最大值的元素线金属量 值也应作相应处理。 3分带指数。计算元素的分带指数 ①将同 1523期陈剑平等基于MAPGIS轴向分带序列软件的二次开发 一标高上各元素的线金属量求和 ∑PLj PL1 PL2⋯ PLn 其中 1、2、⋯、n为相应的Au、Ag、⋯ 等元素的 线金属量;j为各不同标高;②计算分带指数Di PLi ∑PLj; ③找出每个元素分带指数Di的最 大值Dmax,其所在的标高即为该元素在分带序列中 的位置。 由于同一标高上可能存在多个元素的分带指 数最大值,因此,它们在分带序列中更确切的位置 应由变异性指数 G 及变异性指数的梯度差 △G来确定 变异性指数G ∑ n i 1 Dmax Di 其中 Dmax为某元素的分带指数最大值;Di为某 元素在i中段的分带指数值不含 所在的中段 ; N为中段数不含Dmax所在的中段。 变异性指数梯度差为 △G G上- G下或G下- G上 其中 G上为Dmax所在中段以上的变异性指数值; G下为Dmax所在中段以下的变异性指数值。 当二个以上的元素分带指数最大值同时位于 剖面的最上中段或最下中段时,用变异性指数来进 一步确定它们的相对位置。其中,在最上中段, G 值大的元素排在前面按自上而下顺序,下同 , 反 映往上积聚, G值小的元素排在后面;在最下中段, G值大的元素排在最后,反映往下积聚, G值小的 元素排在前面。 当二个以上的元素分带指数最大值同时出现 在中部中段时,可用变异性指数梯度差的比较,来 确定它们在分带序列中的位置。△G大的元素排 在后面,反映向下部积聚,△G小的元素排在前面。 通过以上步骤,可以求出各研究剖面的元素分 带序列。 3 计算机实现 该程序分为工程、 属性操作和数据处理三个模 块。 1工程菜单包括打开工程,保存工程,另存 工程和关闭工程四个,对文件读取的相关功能。 2属性操作包括查看属性结构,查看属性, 查看单个属性,编辑单个属性等,对点文件中的属 性操作相关辅助功能。 3数据处理主要包含分带序列功能。 3. 1 数据格式说明 该软件主要支持MAPGIS点文件格式. WT。 用于数据处理的点文件是通过MAPGIS编辑而来, 其内部的数据格式为 I D变量1变量2⋯ 变量n 12.53.35.5 22.63.552.0 N3.06.012.0 其中 I D号N代表不同的标高,也就是每个标高 代表一个点,根据一般的需要取值为3或4,即该 软件能满足计算3段或4段的分带序列。变量1 变量2⋯变量n代表元素名称,变量下面的值为 线金属量。 3. 2 计算步骤 下面以参考文献[10 ]中的化探数据为例,测 试程序的可行性。 1打开程序见下页图 1 。 2数据的输入。点击“ 工程 ” 菜单下的“ 打开 工程 ” 命令,选择要输入的数据出现如下数据输入 界面,见下页图2。 3查看线金属量数据。点击“ 属性操作 ” 菜 单下的“ 查看属性 ” 命令,出现查看线金属量数据 界面,见下页图3。该功能可实现属性数据与视图 的联动,增强了数据的可视化效果。 4分带序列计算。点击“ 数据处理 ” 菜单下 的“ 分带序列 ” 命令,出现计算分带序列对话框,计 算结果见下页图4。在计算时,首先计算“ 线金属 量标准化 ”;其次根据标准化值计算“ 元素分带指 数 ”;最后根据分带指数,及由分带指数算出来的 变异性指数和变异性指数梯度差计算出分带序列, 最后结果列在“ 查看分带序列 ” 下的列表框当中。 该结果和论文中的结果完全一致。此外,该程 序还测试了其它 [11]数据 ,其结果都与原结论保持 一致。 252物探化探计算技术30卷 图1 程序主界面 Fig . 1 Main interface of software 图2 数据输入界面 Fig . 2 Interface of data - 图3 查看属性界面 Fig . 3 Interface of attribute - view 3523期陈剑平等基于MAPGIS轴向分带序列软件的二次开发 图4 分带序列计算对话框 Fig . 4 Dialog box of zonality sequence 4 结论 1该程序在VC 6. 0的环境下,结合MAP2 GIS二次开发函数,实现了格里戈良轴向分带序 列。 2通过应用表明,该程序算法合理,操作简 单,大大提高了工作效率。 3以往计算分带序列都是用手工计算的,通 过该程序只要输入符合要求的线金属量数据,就可 以自动、 快速地计算出分带序列。 参考文献 [1] 陈俊,宫励.实用地理信息系统[M ].北京科学出版 社, 2000. [2] 郭际元,曾文. MAPGIS地理信息系统的二次开发 [J ].测绘信息与工程, 2000, 251 161 [3] 孙鑫,余安萍. VC 深入详解 [M ].北京电子工业 出版社, 2006. [4] 周顺平,李雪平. MAPGIS二次开发库的设计与实现 简介[J ].地球科学-中国地质大学学报, 1998, 23 4 3371 [5] 朴寿成,杨永强,连云长.原生晕分带序列研究方法 综述[J ].世界地质. 1996, 151 441 [6] 阮天健,朱有光.地球化学找矿[M ].北京地质出 版社, 1985. [7] 张艳宜.格里戈良分带指数法在小龙钨矿区深部地 球化学找矿预测中的应用[J ].矿产与地质, 1996, 10 55 3461 [8] 丘德同.确定矿床原生晕指示元素分带序列的新方 法[J ].地质与勘探, 1989, 8 511 [9] 张连昌,曾庆栋,邹为雷,等.胶东邓格庄金矿深部地 球化学及预测[J ].地质与勘查, 2001, 37 1 27. [10] 张伟平.王沟铅锌矿体中微量元素的分布特征及其 垂直分带序列和延深[J ].甘肃冶金, 2006, 28 2 271 [11] 李惠,张文华,刘宝林,等.中国主要类型金矿床的 原生晕轴向分带序列研究及其应用准则[J ].地质 与勘探, 1999, 351 321 作者简介陈剑平1983 - ,男,硕士,主要从事基 于GIS的数学地质在矿产资源评价中的应用。 452物探化探计算技术30卷 by using quantitative analysis of landscape e2 cology to explore node landscape pattern change inter2 nal rules . And sustainability of developmentproposals are ted for Jiuzhaigou ecotourism by the status of the landscape broken. Key words RS; GIS;landscape;landscape of bro2 ken; ecology SECONDARYDEVELOPM ENTOFAXI AL ZONAL ITY SEQUENCE BASE ONMAPGIS CHEN Jian2ping, N IE Shu2zhen School of Engineer2 ing and Technology, China University of Geosciences, Beijing 100083, China.COM PUTING TECHN IQUES FOR GEOPHYSICAL AND GEOCHEM ICAL EXPLO2 RATION, 2008, 30 3 250 Calculating the pri mary halo axial zonality se2 quence of the deposit is one of important research contents to establish GeochemicalAnomaly Patternsof the deposits and determine the prediction marks of blind ore. At present, the main of calculating zonality sequence ismanual or semiautomatic through other data processing soft ware. Focus to this problem, the paper presents the realization the Grigoryan’s zonality sequence and shows the common s of GIS application development combined with the strong secondary development function ofMAPGISwith V IS2 UAL C 6. 0. The application shows that the software can greatly improve working efficiency and is of rea2 sonable algorithm, simple and quick operation. Keywords axial zonalitysequence;Grigoryan; MAPGIS; secondary development; VC 6. 0 RESEARCH ON THE PRINC IPLE OF PROBA2 BI L ITY GRAPH ANDITS VISUAL APPL I CA2 TI ON WANGLin, WANG Xun2lian, CHEN Jian2pingChi2 na University of Geosciences, Beijing 100083, Chi2 na.COM PUTING TECHN IQUES FOR GEOPHYSI2 CAL AND GEOCHEM ICALEXPLORATION,2008, 30 3 255 Probability Graph is a data processing that displays the grade data linear feature in two2di2 mensional space.Base on the analysis of si mplex grade assemblage and admixture grade assemblage’s linear feature, the quantitative statistical analysis re2 sult can be figured out to provide the evidence for es2 tablishing geology hypothesis to grade data set .Gra2 ded data represent straight line to mean that the de2 posit has one metallogenic period and represent one obvious inflection point to mean that the deposit has t wo metallogenic periods .There is no Probability Graph Software with fine visualization effect, flexible parameter adjust ment and screening graph contrast in different parametersetting conditions at present . Based upon the study of the principle of probability graph and its application tothe grade data,the screening software of probability graph is developed with VisualBasic programming technology .This soft2 ware makes the study on metallization period and ma2 terial sources in exploration more convenient to pro2 vide the valuable ination. Key words probability graph;grade data;screen2 ing; soft ware THE RESEARCH AND APPL I CATI ON IN SEIS2 M I C I MAGE COM PRESSING BASED ON IN2 TEGER DCT ZHUANG Yi2ming 1 , DONG Shou2hua 2 , L IDong2hui 1 1. Jilin Coalfield Geological and Geophysical Pros2 pecting Company,Changchun 130033, China ; 2. School of Resources and Geoscience, CUM T, Xuzhou 221008, ChinaCOM PUTING TECHN IQUES FOR GEOPHYSICALANDGEOCHEM ICALEXPLORA2 TION, 2008, 30 3 261 In this paper, the authors have researched and realized a kind of scheme about image lossless coding based on integer DCT and its main ideas are as the following firstly, design reversible integerDCT based on integer FFT; and then dealtwith the DCT data by SPIHT; finally, encoded the data byArithmetic Cod2 ing .In this paper, the authors deduct and prove its theory based on the worksof other researchers and the basic knowledge of digital image processing . Then the itsmathematicalmodel is established and suitable al2 gorithms are achieved. The calculation shows that this lossless coding system based on integer DCT is of higher compression perance. Key wordsDCT;integer transfor m;lossless image coding 6ABSTRACTS Vol . 30 No. 3