基于MapGIS开发地质矿产钻孔柱状图探讨.doc

上传人:99****p 文档编号:1725726 上传时间:2019-03-13 格式:DOC 页数:10 大小:32KB
下载 相关 举报
基于MapGIS开发地质矿产钻孔柱状图探讨.doc_第1页
第1页 / 共10页
基于MapGIS开发地质矿产钻孔柱状图探讨.doc_第2页
第2页 / 共10页
基于MapGIS开发地质矿产钻孔柱状图探讨.doc_第3页
第3页 / 共10页
基于MapGIS开发地质矿产钻孔柱状图探讨.doc_第4页
第4页 / 共10页
基于MapGIS开发地质矿产钻孔柱状图探讨.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、基于 MapGIS 开发地质矿产钻孔柱状图探讨摘要: 本文叙述了 MapGIS软件的先进成图理论;介绍了 VC+开发语言的开发原理与代码机制;浅述了 MapGIS二次开发类库的操作原理;讨论了基于 MapGIS开发地质矿产钻孔柱状图的开发流程总图;深入探讨了钻孔柱状图各模块实现的原理与代码;最后,文章给出了地质矿产钻孔柱状图生成的基础步骤流程并分析了图形形成原理;希望能给广大同行带来一定的理论与实践意义。 关键词:MapGIS 类库,钻孔柱状图,地质矿产,二次开发 中图分类号:F407.1 文献标识码:A 文章编号: 钻孔柱状图是工程地质中广泛使用的基础性图件,但是通常采用传统的手工绘制,效率

2、低而且不易修改,不能满足实际工作的需要。近年来,随着计算机技术的应用与基于 GIS(地理信息系统)利用数学地质方法进行矿产预测的应用,需要一种 GIS支持的矿区钻孔柱状图绘制系统,其不仅要能绘制钻孔柱状图,而且还能对矿区钻孔数据进行对比和数据管理,为基于 GIS应用数学地质方法对矿区进行矿产预测提供数据准备1-2。 本文基于国产地理信息系统软件平台 MAPGIS,开发了针对地矿行业的钻孔柱状图自动生成系统,实现了图与数据的统一。 1 MapGIS 概述 1.1 MapGIS 软件 图形数据库管理子系统是地理信息系统的重要组成部分。MAPGIS 的图形数据库管理系统可同时管理数千幅地理底图,其主

3、要功能如下: 图库操作功能-提供了建立图库、修改及删除图库等一系列操作;以及图幅入库的参数设置,包括幅面的大小、经纬跨度和比例尺等等;对编辑好的图库,系统还提供了图库输出功能,将其转化为地理信息系统或管网属性系统等的底图,备其他系统使用。为严格确保数据的完整性,在建库过程中作值域检查、依赖关系检查、重复记录检查,系统对用户数据自动备份,用户数据一旦遭意外而被破坏,可启用备份数据。 引入“库类”的概念,建立了一种数据组织与管理的新方法,使得地图数据的存储与检索非常灵活。库类的操作提供了增加类、删除类、更换类、修改类名、浏览类。 图幅操作功能-提供了记录输入、显示、修改、删除等功能,每个记录(也称

4、一个图幅)包括标识符、控制点及其所代表的图元的图形文件,用户根据需要可随时调用、存取、显示、查询任一图幅。 信息查询功能-系统提供了经纬查询、日期查询、标识查询和条件查询功能,用户根据需要可随时选择任何一种方式进行操作。图幅检索提供了空间条件检索、库类检索、图形属性检索以及综合条件检索;用户利用这些功能可将所需要的图形及属性数据从图库中提取出来。 图幅剪取功能-提供了输入剪取框、读入剪取框和临时构造剪取框三种方式,每种方式都可以任意设置剪取框,系统自动剪取框内的各幅图件,并生成新的图件。 图幅配准功能-提供了图幅变换功能,可随时对装入的图幅进行平移变换、比例变换、旋转变换和控制点变换,以满足用

5、户的需求。 1.2 VC+开发语言 Visual C+作为一种程序设计语言,它同时也是一个集成开发工具,提供了软件代码自动生成和可视化的资源编辑功能。在使用 Visual C+开发应用程序的过程中,系统为我们生成了大量的各种类型的文件。 扩展名为 dsw的文件类型,这种类型的文件在 VC中是级别最高的,称为 Workspace文件。在 VC中,应用程序是以 Project的形式存在的,Project文件以.dsp 扩展名,在 Workspace文件中可以包含多个Project,由 Workspace文件对它们进行统一的协调和管理。与 dsw类型的 Workspace文件相配合的一个重要的文件类

6、型是以 opt为扩展名的文件,这个文件中包含的是在 Workspace文件中要用到的本地计算机的有关配置信息,所以这个文件不能在不同的计算机上共享,当我们打开一个 Workspace文件时,如果系统找不到需要的 opt类型文件,就会自动地创建一个与之配合的包含本地计算机信息的 opt文件。 1.3 MapGIS 开发类库 MapGIS 软件提供了完备的二次开发函数库及类库,具有强大的二次开发功能。它具有开放性、多层次、全功能、高效率的特点,并支持VC+、VB、Delphi 等集成开发环境。用户可在 MapGIS平台上,开发面向各自领域的应用程序。目前,MapGIS 二次开发库主要提供 API函

7、数、ActiveX控件、MFC 类库等三种方式3。 MapGIS 二次开发函数采用匈牙利命名法,即动宾结构命名法,并且所有函数都以下横线开始,以便和 Windows函数以及其他语言函数明显区别开来,如_GetLin 表示取线实体。MapGIS 动态函数库提供了从最基本数据单元的读取,保存,更新和维护到 MapGIS地图库的建立和漫游,以及空间分析,图象处理等一系列功能,MapGIS 应用程序可以根据需要在任何层次上进行开发。除了 API函数外,MapGIS 还为基于MFC(Microsft Foundation Class)的开发者提供多个可重用基类,将应用程序所需的常见基本功能作了封装,使用

8、便利,改动灵活。 2 总体结构图 基于 MapGIS开发钻孔柱状图总体结构图如下所示: 图 1 基于 MapGIS开发钻孔柱状图总体结构图 3 模块开发 3.1 矿区操作 矿区操作可分为:新建矿区、追加矿区、删除矿区、清理系统库与系统数据导入等几大部分。程序要实现的具体功能如下: (1)新建矿区 对于一个新的矿区,首先必须新建矿区。点击“矿区操作新建矿区”。其中矿区名称、矿区代码及基本分析数为必填项。上述信息输入完后,关闭“新建矿区”窗口,点击“浏览矿区”时,在列表中就可以看到了。(2)追加矿区 追加矿区可以根据系统目前矿区代码编号情况,重新赋予备份矿区新的矿区代码。 (3)删除矿区 打开删除

9、矿区界面,单击下一矿区到所选择矿区。点击删除按钮,即删除当前所选页面的矿区的全部数据(不会有删除提示) 。 (4)清理系统库 置空数据库,数据库内的所有记录将全被删除。 (5)系统数据导入 打开矿区操作菜单,点击数据导入,进入系统数据导入子界面。其中矿区原代码为系统下矿区目录名,矿区新代码为本系统下的矿区代码。矿区操作部分代码如下: BOOL CMyPrjEditDoc:OnNewDocument() if (!CDocument:OnNewDocument() return FALSE; m_Prj = _PRJCreateProject(); if(m_Prj) SetPathName(m

10、_Prj-FileName,FALSE); else return FALSE; return TRUE; void CMyPrjEditDoc:OnCloseDocument() CDocument:OnCloseDocument(); 3.2 钻孔地质编录 柱状图功能包括数据采集(钻孔地质编录)和柱状图绘制两部分,数据采集是利用 EXCEL数据作为存储体。数据库数据录入必需在本程序里面打开,不然可能造成不可预料的错误。 钻孔地质编录部分代码如下: CString ExcelFilePathName; _Application objApp; Workbooks objBooks; _Wor

11、kbook objBook; Worksheets objSheets; _Worksheet objSheet; Range objRange,usedRange; LPDISPATCH lpDisp; COleVariant VOptional(long)DISP_E_PARAMNOTFOUND, VT_ERROR); VARIANT ret; CString cstr=“; if(!objApp.CreateDispatch(“Excel.Application“) AfxMessageBox(“无法启动 Excel服务器!“); return; GetDlgItem(IDC_eName

12、)-GetWindowText(ExcelFilePathName); objBooks.AttachDispatch(objApp.GetWorkbooks(); 3.3 花纹库建立 花纹库是需要数据库表中的图案号和 MapGis图案库中的图案号对应的4。 花纹库部分代码如下: if(cstr2.Compare(str8)=0) index000=row;index001=2; sa.GetElement(index00, str3=(CString)val00.bstrVal; break; usedRange.ReleaseDispatch(); objRange.ReleaseDisp

13、atch(); objSheet.ReleaseDispatch(); objSheets.ReleaseDispatch(); objBook.ReleaseDispatch(); objBooks.ReleaseDispatch(); 3.4 数据库逻辑检查 数据库逻辑检查主要是检查实体之间的空间对应与拓扑关系,实现的部分代码如下: if(prj=NULL) return; D_RECT mapRect; double pagewid,pagehei,transx,transy; _PRJGetRange(prj, _PRJAutoSetPrnParamByScale(mapRect,XX

14、,YY,0,0, prj-Prj_Head.TranX = transx; prj-Prj_Head.TranY = transy; prj-Prj_Head.ScaleX =XX; prj-Prj_Head.ScaleY =YY; 4 钻孔柱状图生成 钻孔柱状图自动生成步骤如下: (1)新建矿区。这个完成后会在“数据采集”菜单下的“矿区信息”查看。 (2)钻孔地质数据录入。 (3)填写剖面信息:需要填写剖面基本信息和剖面桩号信息。 (4)填写测井数据。 (5)编辑花纹库。 (6)数据逻辑检查。数据完成后需要数据逻辑检查。 (7)参数设置。 (8)钻孔柱状图自动生成。 5 小 结 本文利用了

15、MapGIS软件二次开发类库结合 VC+快速实现了图形与属性的互查等 GIS功能,使得生成的图形更好地符合了编辑报告的需求,同时也为其它地 质矿产图件的自动生成做好了准备工作。 实践证明,程序运行稳定,生成图形美观协调。由于 MapGIS在地质及相关行业得到了广泛的应用,所以该系统在地质勘探、金属矿产勘查与地质找矿等领域具有广阔的应用前景。 参考文献 1 张生伟钻孔信息管理和柱状图成图方法的改进研究D武汉:中国地质大学,2009 2 魏莲,卞州罡,卢建杰,等基于 MAPGIS的柱状图系统设计与实现J地球科学一中国地质大学学报。2006,31(5):743746 3 中地软件丛书编委会MapGIS 二次开发培训教程(c+版)M武汉:中地公司,2001 4 杨荣新露天采矿学(下册)第一版M,徐州:中国矿业学院出版社,1986.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。