论文部分内容阅读
摘要: 本文叙述了基于MapGIS开发地质找矿信息系统的必要性;分析了MapGIS K10的先进理念及相应的开发方式;阐述了系统设计的基本原则;剖析了系统的各模块的结构设计;文章给出了部分模块的典型代码;旨在能给广大同行带来一定的借鉴意义。
关键词:地质找矿, MapGIS,系统开发
中图分类号: F407 文献标识码: A
从1950年代“地质工作有无工程性质”的大辩论,到1980年代“地质工作是强体力与强脑力劳动相结合的工作”的论断,再到今日“地质工作异同于建筑工程”的争执,整整半个多世纪对地质工作规律认识的演进。
一方面,随着人类科学技术的飞速发展,地质工作技术装备和工作手段在不断更新换代的同时,新的技术手段不断被发明创造。地质科学水平也进入了由“定性描述”向“定量分析”发展的快车道。反映到地质工作实务上,直接的野外观察和通过人脑思辨解决工作中实际问题的数量和频率越来越小。
另一方面,随着经济社会发展阶段的不断提升,对矿产资源需求程度呈刚性上升趋势,矿产勘查开发的强度与日俱增,相对基础地质工作所占比例越来越大。这两个方面的发展趋势给人们留下的表面现象是,在地质工作领域内,机器逐渐代替手工,电脑日益淘汰人脑,甚至产生“钻探进尺决定一切”的思潮。
GIS作为一门新兴的技术的出现,为地质找矿信息的有效利用和管理,提供了一个强有力的工具和手段[1]。GIS可以把各种地质找矿信息以矢量数据的形式管理和保存,结合数据库的存储形式,使得各种地质矿产信息以图形及属性信息联系到一起,从而大大提高了地质找矿的工作效率。本文由浅入深的论述了基于MapGIS开发地质找矿信息系统,在现阶段具有一定的理论与实际意义。
1 MapGIS K10
长久以来,GIS软件和应用项目的开发始终受到三方面制约:第一,开发方式长期完全依赖程序员的手工作业,开发效率低;第二,项目需求变化频繁,所有的变更都反映在代码上,传统的软件生产模式导致哪怕是微小的需求变动都将牵一发而动全身;第三,用户对GIS开发商依赖程度高,容易被开发商“绑架”,对服务的持续优化和变更不利[2]。
新一代MapGIS K10云GIS 软件不像以往的 GIS 软件一样以固态的形式提供给用户一个个软件产品或服务,而是以自主定制的形式通过互联网形式提供给用户,由用户自己根据所需聚合、重构成各种 GIS 工具,最终迁移形成自己所需的行业应用。这些工具可以完全按照用户的意愿任意插拔和组合,构建出丰富的应用功能,真正实现智能定制属于自己的应用软件和解决方案,从而实现系统更具智能化的随需而应。
MapGIS K10全新的TCV软件结构和“纵生”开发模式,功能与数据相分离特性,可以使数据与数据、功能与数据可以彼此分离和聚合,重构成新的应用。这种全新的开发模式使客户无需花费大量资金、人力等投入就能设计出自己的软件,据测算,使用MapGIS K10进行同等项目开发的整体开发成本至少可以有效降低50%,如果是长期项目则可能降低85%,项目周期则可以缩短10%-50%的时间,产品缺陷密度降低约20%,日常技术维护成本也可以降低约20%。
2系统设计原则与功能
2.1设计原则
基于MapGIS开发地质找矿信息系统必须遵循以下原则:
(1)先进性
在产品设计上,整个系统软硬件设备的设计符合高新技术的潮流,媒体数字化、压缩、解压、传输等关键设备均處于国际领先的技术水平。在满足现期功能的前提下,系统设计具有前瞻性,在今后较长时间内保持一定的技术先进性。
(2)安全性
系统支持对关键设备、关键数据、关键程序模块采取备份、冗余措施,有较强的容错和系统恢复能力,确保系统长期正常运行。
(3)经济性
在满足系统功能及性能要求的前提下,尽量降低系统建设成本,采用经济实用的技术和设备,利用现有设备和资源,综合考虑系统的建设、升级和维护费用。系统符合向上兼容性、向下兼容性、配套兼容和前后版本转换等功能。
(4)实用性
系统提供清晰、简洁、友好的中文人机交互界面,操作简便、灵活、易学易用,便于管理和维护。
(5)可扩展性
系统具备良好的输入输出接口,可为各种增值业务提供接口,例如GIS电子地图、手机监控、智能识别等系统。
(6)开放性
系统设计遵循开放性原则,能够支持多种硬件设备和网络系统,软硬件支持二次开发。各系统采用标准数据接口,具有与其他信息系统进行数据交换和数据共享的能力。
2.2 系统功能
基于MapGIS开发地质找矿信息系统主要功能定制为:数据转换功能,包括导入矿产图形和影像;图形编辑功能,包括矿产图形的拓扑编辑、属性编辑;数据汇总功能,包括各种矿产模型的汇总;影像处理功能,包括模型和矿产信息的匹配、遥感影像套入DEM;统计分析功能,包括GIS图形与属性数据的统计分析[3]。
3 系统结构设计
基于MapGIS开发地质找矿信息系统结构设计如图1所示。
图1 基于MapGIS开发地质找矿信息系统结构设计图
4典型代码
(1)图形编辑功能
图形编辑功能典型代码如下:
CString strpath;
GetDlgItem(IDC_EDFILENAME)->GetWindowText(strfilename);
GetDlgItem(IDC_EDADD)->GetWindowText(strpath);
m_filelist.ResetContent();
if(strpath.Left(1)=="")
{ AfxMessageBox("你没有选择文件!");
return; }
FindFile(strpath);
(2)数据汇总功能
数据汇总功能典型代码如下:
int i;
char tmp[200];
for(i = 0; i < m_filelist.GetCount(); i++)
{ m_filelist.GetText(i,tmp);
changeqtzj0(tmp); }
bstop=FALSE;
(3) 影像处理功能
影像处理功能典型代码如下:
BROWSEINFO bi;
char buffer[MAX_PATH];
ZeroMemory(buffer,MAX_PATH);
bi.hwndOwner=GetSafeHwnd();
bi.pidlRoot=NULL;
bi.pszDisplayName=buffer;
bi.lpszTitle="选择一个文件夹";
bi.ulFlags=BIF_EDITBOX;
bi.lpfn=NULL;
bi.lParam=0;
bi.iImage=0;
LPITEMIDLIST pList=NULL;
if((pList=SHBrowseForFolder(&bi))!=NULL)
{ char path[MAX_PATH];
ZeroMemory(path,MAX_PATH);
SHGetPathFromIDList(pList,path);
GetDlgItem(IDC_EDADD)->SetWindowText(path); }
(4) 统计分析功能
统计分析功能典型代码如下:
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{ CString strAboutMenu;
if (!strAboutMenu.IsEmpty())
{ pSysMenu->AppendMenu(MF_SEPARATOR); } }
bstop=FALSE;
return TRUE;
5 结束语
本文主要是基于软件开发研究的思路,由浅入深地分析了基于MapGIS开发地质找矿信息系统的整体设计过程。实践证明,基于MapGIS开发地质找矿信息系统能较大的促进了矿产资源建设信息进程,随着系统的不断完善,系统在地质找矿中的作用将越来越明显。
参考文献
[1] 姜福林.地理信息系统(GIS)及其在地质矿产勘查中的应用[J].青海地质科技情报,1997(2):26—29.
[2] 中地软件丛书编委会. MAPGIS 组件开发手册 [M].武汉中地信息工程有限公司,2002.
[3] 杨自安等.化探与遥感信息在青海两兰地区找矿预测中的应用[J].地质与勘探,2003,39(6):42—45.
关键词:地质找矿, MapGIS,系统开发
中图分类号: F407 文献标识码: A
从1950年代“地质工作有无工程性质”的大辩论,到1980年代“地质工作是强体力与强脑力劳动相结合的工作”的论断,再到今日“地质工作异同于建筑工程”的争执,整整半个多世纪对地质工作规律认识的演进。
一方面,随着人类科学技术的飞速发展,地质工作技术装备和工作手段在不断更新换代的同时,新的技术手段不断被发明创造。地质科学水平也进入了由“定性描述”向“定量分析”发展的快车道。反映到地质工作实务上,直接的野外观察和通过人脑思辨解决工作中实际问题的数量和频率越来越小。
另一方面,随着经济社会发展阶段的不断提升,对矿产资源需求程度呈刚性上升趋势,矿产勘查开发的强度与日俱增,相对基础地质工作所占比例越来越大。这两个方面的发展趋势给人们留下的表面现象是,在地质工作领域内,机器逐渐代替手工,电脑日益淘汰人脑,甚至产生“钻探进尺决定一切”的思潮。
GIS作为一门新兴的技术的出现,为地质找矿信息的有效利用和管理,提供了一个强有力的工具和手段[1]。GIS可以把各种地质找矿信息以矢量数据的形式管理和保存,结合数据库的存储形式,使得各种地质矿产信息以图形及属性信息联系到一起,从而大大提高了地质找矿的工作效率。本文由浅入深的论述了基于MapGIS开发地质找矿信息系统,在现阶段具有一定的理论与实际意义。
1 MapGIS K10
长久以来,GIS软件和应用项目的开发始终受到三方面制约:第一,开发方式长期完全依赖程序员的手工作业,开发效率低;第二,项目需求变化频繁,所有的变更都反映在代码上,传统的软件生产模式导致哪怕是微小的需求变动都将牵一发而动全身;第三,用户对GIS开发商依赖程度高,容易被开发商“绑架”,对服务的持续优化和变更不利[2]。
新一代MapGIS K10云GIS 软件不像以往的 GIS 软件一样以固态的形式提供给用户一个个软件产品或服务,而是以自主定制的形式通过互联网形式提供给用户,由用户自己根据所需聚合、重构成各种 GIS 工具,最终迁移形成自己所需的行业应用。这些工具可以完全按照用户的意愿任意插拔和组合,构建出丰富的应用功能,真正实现智能定制属于自己的应用软件和解决方案,从而实现系统更具智能化的随需而应。
MapGIS K10全新的TCV软件结构和“纵生”开发模式,功能与数据相分离特性,可以使数据与数据、功能与数据可以彼此分离和聚合,重构成新的应用。这种全新的开发模式使客户无需花费大量资金、人力等投入就能设计出自己的软件,据测算,使用MapGIS K10进行同等项目开发的整体开发成本至少可以有效降低50%,如果是长期项目则可能降低85%,项目周期则可以缩短10%-50%的时间,产品缺陷密度降低约20%,日常技术维护成本也可以降低约20%。
2系统设计原则与功能
2.1设计原则
基于MapGIS开发地质找矿信息系统必须遵循以下原则:
(1)先进性
在产品设计上,整个系统软硬件设备的设计符合高新技术的潮流,媒体数字化、压缩、解压、传输等关键设备均處于国际领先的技术水平。在满足现期功能的前提下,系统设计具有前瞻性,在今后较长时间内保持一定的技术先进性。
(2)安全性
系统支持对关键设备、关键数据、关键程序模块采取备份、冗余措施,有较强的容错和系统恢复能力,确保系统长期正常运行。
(3)经济性
在满足系统功能及性能要求的前提下,尽量降低系统建设成本,采用经济实用的技术和设备,利用现有设备和资源,综合考虑系统的建设、升级和维护费用。系统符合向上兼容性、向下兼容性、配套兼容和前后版本转换等功能。
(4)实用性
系统提供清晰、简洁、友好的中文人机交互界面,操作简便、灵活、易学易用,便于管理和维护。
(5)可扩展性
系统具备良好的输入输出接口,可为各种增值业务提供接口,例如GIS电子地图、手机监控、智能识别等系统。
(6)开放性
系统设计遵循开放性原则,能够支持多种硬件设备和网络系统,软硬件支持二次开发。各系统采用标准数据接口,具有与其他信息系统进行数据交换和数据共享的能力。
2.2 系统功能
基于MapGIS开发地质找矿信息系统主要功能定制为:数据转换功能,包括导入矿产图形和影像;图形编辑功能,包括矿产图形的拓扑编辑、属性编辑;数据汇总功能,包括各种矿产模型的汇总;影像处理功能,包括模型和矿产信息的匹配、遥感影像套入DEM;统计分析功能,包括GIS图形与属性数据的统计分析[3]。
3 系统结构设计
基于MapGIS开发地质找矿信息系统结构设计如图1所示。
图1 基于MapGIS开发地质找矿信息系统结构设计图
4典型代码
(1)图形编辑功能
图形编辑功能典型代码如下:
CString strpath;
GetDlgItem(IDC_EDFILENAME)->GetWindowText(strfilename);
GetDlgItem(IDC_EDADD)->GetWindowText(strpath);
m_filelist.ResetContent();
if(strpath.Left(1)=="")
{ AfxMessageBox("你没有选择文件!");
return; }
FindFile(strpath);
(2)数据汇总功能
数据汇总功能典型代码如下:
int i;
char tmp[200];
for(i = 0; i < m_filelist.GetCount(); i++)
{ m_filelist.GetText(i,tmp);
changeqtzj0(tmp); }
bstop=FALSE;
(3) 影像处理功能
影像处理功能典型代码如下:
BROWSEINFO bi;
char buffer[MAX_PATH];
ZeroMemory(buffer,MAX_PATH);
bi.hwndOwner=GetSafeHwnd();
bi.pidlRoot=NULL;
bi.pszDisplayName=buffer;
bi.lpszTitle="选择一个文件夹";
bi.ulFlags=BIF_EDITBOX;
bi.lpfn=NULL;
bi.lParam=0;
bi.iImage=0;
LPITEMIDLIST pList=NULL;
if((pList=SHBrowseForFolder(&bi))!=NULL)
{ char path[MAX_PATH];
ZeroMemory(path,MAX_PATH);
SHGetPathFromIDList(pList,path);
GetDlgItem(IDC_EDADD)->SetWindowText(path); }
(4) 统计分析功能
统计分析功能典型代码如下:
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{ CString strAboutMenu;
if (!strAboutMenu.IsEmpty())
{ pSysMenu->AppendMenu(MF_SEPARATOR); } }
bstop=FALSE;
return TRUE;
5 结束语
本文主要是基于软件开发研究的思路,由浅入深地分析了基于MapGIS开发地质找矿信息系统的整体设计过程。实践证明,基于MapGIS开发地质找矿信息系统能较大的促进了矿产资源建设信息进程,随着系统的不断完善,系统在地质找矿中的作用将越来越明显。
参考文献
[1] 姜福林.地理信息系统(GIS)及其在地质矿产勘查中的应用[J].青海地质科技情报,1997(2):26—29.
[2] 中地软件丛书编委会. MAPGIS 组件开发手册 [M].武汉中地信息工程有限公司,2002.
[3] 杨自安等.化探与遥感信息在青海两兰地区找矿预测中的应用[J].地质与勘探,2003,39(6):42—45.