李功权,甘乐,王鲸
(长江大学地球科学学院,湖北 武汉 430100)
ArcEngine辅助的野外剖面图素描系统设计与实现
李功权,甘乐,王鲸
(长江大学地球科学学院,湖北 武汉 430100)
[摘要]地质剖面图是在剖面上显示岩层产状及分布的一种常用地质图件,快速编制剖面图更能满足野外实习要求。ArcEngine组件库中所包含的众多关于空间地理的对象与接口,完全可以满足绘制地质剖面图的要求。根据野外地质剖面图的制作流程,按照规范化、实用性、易管理、易维护等设计了一种基于ArcEngine的野外地质剖面图素描系统。系统采用单用户体系结构,由一个用户占用全部资源,不同用户之间可以通过文件来交换数据,主要包括信息录入功能、生成剖面、剖面填充这3个主要功能。实际应用表明,该系统可以充分利用野外实习中采集的数据,并结合地形图来快速编制研究区的地层发育状况图,有较高的实际应用价值。
[关键词]GIS; ArcEngine;地质剖面图
地质剖面图是地质体在剖面上最直观有效的表达方式[1,2]。目前,该类图件主要采用传统的手工绘制方法,既费工又费时,工作效率极低。GIS(地理信息系统)是一种融计算机图形与数据库于一体、用于存贮和处理空间信息的高新技术,能将地质体地理位置与相关地质属性有机结合起来,同时借助其独有的空间分析功能和图形化表达能力,帮助地质工作者进行各种地质辅助决策分析,因而是一种解决相关地质问题的先进手段[3~9]。下面,笔者以地学类专业学生野外地质地理实习快速编图为目标,对ArcEngine辅助的野外剖面图素描系统进行了设计与实现。
1地质剖面图件制图流程
该系统的业务流程即是完成制作地质剖面图件的规范过程,其步骤划分如下。
1)确定剖面方向,一般均要求与地层走向线垂直。由于采用与水平面垂直面的方式切图,会存在剖面线与地层走向线垂直与斜交2种情况,因而暂时默认按照剖面线与地层走向线垂直的方式处理。
2)选定比例尺,使绘出的剖面图不致过长或过短,同时又能满足表示各分层的需要。如实际剖面长、地层分层内容多而复杂时,剖面图要长一些,相反则短一些。一张图尽量控制在记录簿的长度内,这样便于绘图和阅读。如果实际剖面长度是30m,其分层厚度是数米以上时,则用1∶200或1∶300的比例尺作图,可以按照展示图件的基准制作,通过调整主面板视图大小来调整比例尺。
3)按选取的剖面方向和比例尺勾绘地形轮廓,其中地形的高低起伏要符合实际情况。
4)将地层及其分层的界线按该地层的真倾角数值用直线画在地形剖面相应点下方。这样从图上就可量出各地层及其分层的真厚度,应注意检查图上反映出的厚度与目测的实际厚度是否一致,如不一致时需找出图中的问题所在并加以修正。
5)用各种通用花纹和代号表示各地层及分层的岩性、接触关系和时代,并标记化石产出部位和地层产状。
6)标出图名、图例、比例尺、方向及剖面图上地物的名称。
2系统设计
2.1系统总体设计原则
按照规范化、实用性、易管理、易维护的设计原则开发一个帮助学生在地学野外实习中完成地质剖面图快速绘制的系统。该系统采用单用户体系结构,这是考虑到软件运行在一台计算机上,由一个用户占用全部资源,不同用户之间可以通过文件来交换数据。
2.2系统功能分析
图1 系统功能结构图
该系统主要包括3个主要功能(见图1):①信息录入。既包括以输入对话框的形式显示的录入数据,也包括在编辑的过程中通过人机交互的方隐式录入数据。②生成剖面。主要是依据各种录入的地形地层数据,提取地形线、加载地层信息,从而生成整个剖面图件的框架,为后续的填充等做准备。③剖面填充。对重组生成的地层对象进行剖面填充,从而有效地表达地层信息,以便为实际需求服务。
2.3数据库设计
系统运行需要用到的数据主要包括地图文档空间数据、属性数据等。地图文档空间数据主要以文件的形式存放于磁盘某处,而属性数据既可存放于txt文本文件中,亦可放置于数据库中。从地质剖面绘图所需数据分析来看,主要涉及2个数据表,即地形剖面信息表(见图2)和地质界线信息表(见图3)。地形剖面信息表主要存放的是文件切面时在DEM上所留下的切点信息。地质界线信息表主要存放的是用户在信息录入界面或者在人交互式时录入的地层信息。
图2 地形剖面信息表E-R图 图3 地质界线信息表E-R图
3技术可行性分析与系统实现方法
3.1技术可行性分析
地理信息系统区别于其他信息系统的特色之一在于针对空间对象的处理上,ArcEngine组件库中所包含的众多关于空间地理的对象与接口完全可以满足绘制地质剖面图的要求。特别是其提供的二维、三维控件能从多方位对地质现象进行解析,可以很好地呈现、反馈地质地理信息。该系统中所使用的地图数据能很方便地采用ArcEngine中提供的对象访问与编辑,而数据库完全胜任对所使到的其他属性数据的存储。使用半自动的人机交互的方式模拟地质剖面图件的制作过程,由于人机交互通过界面实现衔接,从技术上不存在盲点。因此,该系统的开发从技术上是可行的。
3.2系统实现方法
野外剖面图的绘制不仅需要点、线、面等几何形状的快速绘制技术,还需要各种各样的岩性符号库。ArcEngine作为ESRI公司ArcGIS系列产品的开发平台,其组件库中包括底层类库System类库、用户界面组件接口类库SystemUI、核心几何实体Geometry类库、显示图形Display类库、图形输出Output类库、空间数据库管理GeoDatabase类库、数据显示服务Carto类库、可视化组件Controls类库、不同格式的数据文件DataSourcesFile类库、栅格与矢量数据空间分析SpatialAnalyst类库、3D场景操作3DAnalyst类库和符号库等[10]。由此可见,利用ArcEngine组件提供的功能可为该系统提供快捷的开发方法。
该系统中的地层岩性剖面图、数字高程模型等可以采用ArcEngine提供的Carto类库、Display类库来实现。根据我国颁部标准《区域地质图图例》(标准号GB958-1989-T)、《石油天然气地质编图规范及图式》(标准号SY-T5615-2004)和《石油和天然气、煤田地震勘探图式、图例及用色标准》(标准号DZT0077-1993)编制各种岩性符号,通过扩展ArcEngine所携带的符号库的管理功能来构建系统的岩性符号库。因此,采用C#作为编程语言并充分利用ArcEngine组件式开发技术可以构建适用于地学实习的地质剖面图素描系统。
在地质剖面素描图中,常常需要确定绘图的起点和终点,然后以此为边界来编制该剖面内的地层岩性。可以考虑以实习区内的地形图为底图,采用AxSceneControl控件以三维方式显示,根据用户给定的多段线的坐标点,求取该多段线与数字高程模型的交点,自动提取地形线,然后用户根据野外采取的数据来绘制地层岩性剖面。该系统中边界点的提取方式有手动切取和文件切取,文件切取方式用到的是之前界面录入的或是前次手动切面所遗留下的数据,而手动切取方式用到的是即时性的数据。
4实际应用
4.1系统主界面
系统主界面主要包括菜单、工具条、绘图区、状态区4部分(见图4),其中绘图区是地质剖图绘制的主要场所,其左边包括实习区的地形图、岩性符号库和当前绘图的图层,右边用来显示当前的绘图信息。用户可以通过界面的方式显示的录入数据,在启动编辑状态下,用户也可以通过人机交互的形式隐式的录入地形、地层等数据。设置该模块的目的在于充分利用地学实习过程中所采集的图文数据。用户点击功能菜单上的“信息录入”即可选择录入相应数据,或启动“编辑”后在主面板上可手动录入地层信息。
图4 系统主界面
4.2剖面图生成
剖面图的生成需要经过勾绘地形轮廓、绘制地层界线和生成剖面3个步骤:
1)勾绘轮廓线。以手动切取地形线的方式为例。首先,用户在三维视图中选取2点作为切面,即提取地形线的依据,接着用户点击“生成剖面”下的“提取地形线”,即可将勾绘的轮廓线展示在主面板上。在“提取地形线”的过程中,系统需要读取用户指定的DEM栅格图像并将录入的切面线匹配到DEM上获取其上的高程信息,接着将记录的信息展示出来。考虑到栅格图像像元的大小和实际精度要求,采用“移动平均”的插值方式获取匹配切面线到DEM上的高程数据。
2)绘制地层界线。用户可以通过之前界面录入的数据提取并绘制,也可以在编辑时手动在主面板上取点成线描绘地层界线。系统在编辑时,绘制地层界线状态图。
3)生成剖面。主要完成将地形线和地层界线重组成可供编辑的对象,便于在后面的填充与修改中操作地层等。此外,剖面填充的流程是选择目标地层,双击左侧“符号库”选项页中的符号即可对目标地层进行填充(见图5)。
图5 编辑状态下填充地层
5结语
在ArcEngine辅助的野外剖面图素描系统开发过程中,为了保证系统的可维护性和可扩展性,充分考虑了地学实习中成果数据的使用、学生在实习中的主体地位及其动手能力的强化,详尽阐述了地质剖面图件的制作过程,其业务流程清晰且满足实际应用要求,因而对学生制作野外地质实习绘制剖面图件进而研究地层历史具有良好作用。
[参考文献]
[1]Ichoku C,Chorowicz J,Parrot J F.Computerized construction of geological cross section from Digital maps[J].Computers & Geosciences,1994,20(9):1321~1327.
[2]朱莹,刘学军,陈锁忠.地质剖面自动绘制的数据模型研究[J].湖南科技大学学报,2007,22(3):96~100.
[3]赵德军,王宝军.任意地质图剖面生成的方法探讨[J].西部探矿工程,2005,106:91~92.
[4]王建芳.基于GIS模板的地质剖面图模型及其实现[J].测绘科学,2008,33(5):184~186.
[5]王家伟.含尖灭地层的地质剖面图自动生成与2D/3D绘制[J].沈阳建筑大学学报,2012,28(3):405~410.
[6]陈志军,陈建国.基于MapGIS的图切地质剖面系统面向对象设计与实现[J].地质学刊,2012, 36(3):256~264.
[7]Kaufmann O,Martin T.Reprint of “3D geological modeling from boreholes,cross-sections and geological maps,application over former natural gas storages in coal mines”[J].Computers and Geosciences,2009,35(1):70~82.
[8]唐春艳, 王玉兰, 彭继兵,等.地质剖面图自动绘制方法[J].世界地质,2004,23(4):349~353.
[9]吴信才.地理信息系统设计与实现[M].北京:电子工业出版社,2009.
[10]李崇贵,陈峥,丰德恩,等.ArcEngine组件式开发及应用[M].北京:科学出版社,2012.
[编辑]李启栋
[引著格式]李功权,甘乐,王鲸.ArcEngine辅助的野外剖面图素描系统设计与实现[J].长江大学学报(自科版),2015,12(16):25~28.
[文献标志码]A
[文章编号]1673-1409(2015)16-0025-04
[中图分类号]TP391
[作者简介]李功权(1971-),男,博士,副教授,现主要从事地理信息系统方面的研究工作:E-mail:195648169@qq.com。 汪千松(1978-),男,硕士,工程师,现主要从事网络信息安全与电子商务方面的教学与研究工作;E-mail:qswang@ahpu.edu.cn。
[基金项目]国家科技支撑计划项目(2012BAB11B0503);湖北省高等学校教学研究项目(2014251)。 教育部人文社科规划项目(13YJA630098);安徽省高校省级自然科学研究项目(KJ2012B022)。
[收稿日期]2015-02-27 2015-02-27