韩 楚,张思冲
(哈尔滨师范大学,黑龙江 哈尔滨 150025)
GISLITE就是针对于小型的GIS普及、GIS应用的推广。本文主要围绕GIS各项功能实现展开研究,主要有矿区地质勘探图形显示,地图标注的独特显示,聚合地质图的显示,热点地质图的显示等等,包括很多实例代码及其各项功能的图形界面,本次研究主要完成GIS的基本功能。
目前国内MAPGIS、SUPERMAP为国产软件的巅峰[6]。其理念为别人有的我一定要有这样就能保持至少不落后,很多时候这样的平台在矿区地质勘探工程上都是拾取别人市场所剩下的项目。并且占据内存,组件臃肿。不能简单快捷地完成某一GIS方面的应用。但GISLITE具有超高的自由性,虽对编程人员的要求相对来说比较高,但是可以完成的功能比较多,可以根据编程人员的需求从而编写所需要的特定的程序。
它有着高水准的图像处理能力,GIS计算快捷等特点。可以加载一些比较大的网站所发布的地图,GISLITE的桌面版为开源开发而出,所以GISLITE的桌面版位免费提供给客户,客户主要把精力用到软件的开发上。GISLITE还提供了一些封装好的空间,依托于桌面版可以很好的完成GIS的工作。与国内地理信息系统软件相比提供全面的解决方案,涵盖各行业的WebGIS应用需求,与国外地理信息系统软件相比明显的价格优势,只有国外产品的十分之一。并且GISLITE可二次开发的优越性带来了方便性,开发现率高,自由度高等特点。
通过数据的流程让用户可以直观的了解到程序的运行性能及其基本功能。为详细设计过程中的代码编写和详细设计做准备。
可行性研究。对软件研究进行总体设计之前,先要了解研究开发前要做的前期准备[9]。可行性研究的主要任务是通过大量的调查,确定GISLITE所要完成的任务,以及建成后所产生的效益,分析建立GISLITE的必要性和可能性。本次课题研究的为总体需求分析,如图1所示:
图1 需求分析说明图
需求分析之后进行总体设计,先要对系统总体进行设计,下图为系统总体结构图:
图2 总体结构说明图
数据的获取包括数据的采集与输入,即将系统外部的原始数据传输到系统内部,并将它们从外部格式转换为系统能够识别和处理的内部格式存储于系统的地理数据库中[13]。GISLITE所需的原始数据分为空间数据和属性数据两类,空间数据是指图形实体数据,常采用的输入方法和键盘输入,属性数据是指空间实体的特征数据,一般采用键盘输入[16]。
GIS的数据分为栅格数据和矢量数据两大类。GIS系统都采用了分层技术,即根据地图的某些特征,把它分为若干层。整张地图正是所有层的叠加结果。这样用户操作时就只涉及到一些特定的层,而不是整幅地图,因而系统能对用户的要求做出迅速反应[14]。GIS的数据管理包括图形库管理和属性库管理。根据图形数据的几何特点,可将其分为点数据、线数据、面数据和混合性数据4种类型,根据数据间的拓扑关系分类整合。
数据处理包括两方面工作:一是对输入的数据进行质量检查与纠纷,包括图形数据和属性数据的编辑、图形数据和属性数据之间对应关系的校验、空间数据的误差校正等;二是对输入的图形数据进行整饰处理,使其满足地理信息系统的各种应用要求[15.18.19]。空间分析是指根据确定的应用分析模型,通过对空间图形数据的拓扑运算及空间、非空间属性数据的联合运算等各种操作运算来分析一定区域的各种现象,以获得更有效地数或某一特定问题的解决方案[11.17]。
GISLITE在图像的显示上做了很大的优化,包括图形反锯齿、更加符合国人的习惯的标注。
详细设计主要是指对象设计,即确定类的完整定义,并确定操作的算法[1.2.4]。先对结构进行设计,确定功能模块,数字化方案,输入、输出,用户界面等一系列问题,最后确定系统的实现和维护问题[7.14]。在编码实现过程当中,几个核心代码:
(1)读取指定的图层,通过axMXObject的layers的GETLayerByName方法依据图层的名称获取图层。
MXVectLayer myMXvectLayer =(MXVectLayer)axMXObject1.layers.GetLayerByName;
首先将读取的图层在矿区地质图展示控件中进行全图显示,通过MXVectLayer的SearchAllGeature方法搜索所有要素将在显示版面上显示出来。
MXDataset myMXDataset = myMXvectLayer.SearchAllFeature();
由于读取的属性值为指针类型,所以当要读取下一个数据时要拨动指针。
IMXFeature pMXFeature = myMXDataset.GetNext();
将所需的数据读取出来,把值传递给string类型。
string st = pMXFeature.GetType().ToString();
string b = myMXDataset.GetFieldString("name");
通过类MXStyle更改符号样式,请参见MXStyle类的介绍。
MXStyle myMXStyle = new MXStyle();
修改点的样式,目前来说点的样式就只有三种通过数值1、2、3来进行修改。
myMXStyle.PointStyle = 2;
将修改好的点的样式传递给要显示的地图样式,这样就能显示所设置的符号样式。
axMXObject1.layers.GetLayerByName.SymbolStyle= myMXStyle;
因为在读取过程中地图可能没有在可视范围内,所以要进行全图显示地图。
axMXObject1.ShowFullMap();
下图为读取图层的展示图。
图3 读取制定的图层
(2)缓冲区分析
//设置缓冲区范围
double a = 50.0;
//设置缓冲区的颜色显示RGB值
MXColor myColor = new MXColor();
myColor.r = 255;
myColor.G = 0;
myColor.b = 0;
//要对新生成的缓冲区进行高亮显示,所以要修改缓冲区的符号样式
MXStyle myMXStyle = new MXStyle();
myMXStyle.FillStyle = 6;
//将颜色值付给背景色
myMXStyle.BackgroundColor = myColor;
//将样式付给要显示的类型
pMXFeature.SymbolStyle = myMXStyle;
nt b = axMXObject1.CreateVectLayer("123").LayerType;
//上文中新生成的缓冲区要新建一个图层来进行存放,所以要将123添加到树中
treeView1.TopNode.Nodes.Add("123");
//刷新地图,因为缓冲区为新生成的面,在地图文档中不显示,所以要手动的刷新
axMXObject1.Refresh();
其他代码篇幅有限不做过多详细介绍。
最后以图形的方式展示了矿山地质勘察信息系统的功能图示。
(1)系统展示图,下图为本系统添加谷歌地图的系统展示图:
图4 统展示图
下图为独特的地图标注展示图:
图5 地质注展示意图
2)功能展示图
下图为点的聚合功能演示图:
图6 合图展示图
下图为点聚合和热点地图功能的对比图,又下图可以看出聚合点的范围基本和成高亮显示的点所处在同一区域:
图7 合图和热图对比图
GISLITE作为一个具有存储、显示、分析数据的系统软件,GISLITE有着它独特的优势,计算速度快、图形显示美观、开发简便、可移植性好、矿区勘探地质数据资料好找、方法成熟等特点。通过本次设计可以证明GISLITE可以很好的完成中小型GIS功能的设计和实现,可以有效的节约矿企资金,在实施组件式开发的过程中有着开发简便功能完善等特点。随着GIS的不断发展,代码的开放性不断提高。在未来的软件市场开源将很好的提高公司的竞争力,GISLITE就是一个开源的类库,GISLITE没有ARCGIS,MAPINFO等等世界知名GIS平台那样功能强大,但是只专注于某一领域,将涉及的领域提高到最好。其功能特点有效的提高了在地质勘探及矿企竞争力,将会为GIS在具体地质勘探应用中的普及起到积极的作用。
[1]宋龙宝.探究GIS信息系统在矿山地质勘查中的运用[J].世界有色金属,2017(17):34-35.
[2]成韬荣,刘霖,张玉天,等.信息系统安全技术在勘察设计企业中的应用研究[J].建筑工程技术与设计,2017(20).
[3]孙振明,毛善君,祁和刚,等.回采工作面三维地质空间分析方法的应用研究[J].煤炭科学技术,2016,44(5):177-182.
[4]武强,徐华,杜沅泽,等.矿山突(透)水灾害应急疏散模拟系统与工程应用[J].煤炭学报,2017,42(10):2491-2497.
[5]杨宏图,刘军省,鞠林雪,等.数字地质调查系统制作地球化学元素等值线图及异常图[J].地质学刊,2017,41(1):85-90.
[6]袁素凤,李鑫,杨亚慧.基于GIS的青海高寒区矿山地质环境影响程度模糊评价[J].地质灾害与环境保护,2016,27(1):91-97.
[7]邓义军.基于GIS的水文地质空间信息系统研究与应用分析[J].黑龙江水利科技,2017,45(8):162-163.
[8]Wang T,Li Q,Cheng X.Research of Qixian Geologic Hazard Forecast and Early Warning System Based on WebGIS[J].Meteorological﹠Environmental Sciences,2017.
[9]周建伟,毛郁,崔英山,等.加权信息量模型在矿山地质环境影响评价中的应用——以四川省为例[J].中国地质灾害与防治学报,2016,27(1):117-122.
[10]张波,刘来新,陈金祥,等.某大型露天矿岩质高陡边坡稳定性分析与评价[J].中国矿业,2017,26(s1):162-167.
[11]杜显彪,甘延景,郑海涛.鲁西铜石地区金矿床地质特征及找矿远景[J].金属矿山,2016,V45(1):109-113.
[12]Huang L.The research on touring route selection in Zhangjiajie World Geological Park based on GIS[J].Territory﹠Natural Resources Study,2017.
[13]王重阳,张韶华.GIS二次开发及界面优化的探究[J].北京测绘,2010(01):24-27+54.
[14]曹毅.离子型稀土矿矿山地质环境监测与治理对策探讨[J].中国地质灾害与防治学报,2017,28(3):147-149.
[15]S.Agrawal,R.D.Gupta.Development and Comparison of Open Source based Web GIS Frameworks on WAMP and Apache Tomcat Web Servers[J].ISPRS-International Archives of the Photogrammetry,Remote Sensing and Spatial Information Sciences,2014,XL-4(1).
[16]Purim Srisawat,Nopadon Kronprasert,Kriangkrai Arunotayanun.Development of Decision Support System for Evaluating Spatial Efficiency of Regional Transport Logistics[J].Transportation Research Procedia,2017,25.
[17]刘永进.中国计算机图形学研究进展[J].科技导报,2016,34(14):76-85.
[18]李晓兰,夏显清.GIS二次开发方法的研究与探讨[J].软件导刊,2005(15):26-27.
[19]孟宇,胡卓玮,赵文吉,等.贫困地区信息服务及发布平台的设计与实现[J].工程勘察,2016,44(9):42-48.