钻孔柱状图定制方法研究
2014-07-05钞振华吉云松
张 驰,钞振华,陶 菲,周 侗,吉云松
(南通大学地理科学学院,江苏南通 226019)
0 引言
钻孔柱状图是地质勘探基础资料之一,也是较为规范化的一种地质图件。它是按一定比例尺和图例表示钻孔的地层岩性、厚度、试验成果、构造和孔内钻进情况而绘制成的图。作为地下勘探信息可视化的基本工具,钻孔柱状图在各项工程的分析决策中起着重要作用。随着计算机与GIS技术的发展,一些学者开始研究利用计算机绘制钻孔柱状图的方法,分别基于COM 技 术[1],Corel-Draw[2]、GDI[3]、GDI+[4-5]以 及MAPGIS[6-7]平台实现了钻孔柱状图的绘制。上述研究在一定程度上推动了钻孔柱状图成图系统的发展,但也存在明显的问题,即界面布局过于固定,缺乏灵活性。本文将针对此问题展开研究,基于模板定制配置技术,研究钻孔柱状图界面布局的配置方法,以满足其对界面布局的灵活配置需求。
1 界面布局配置方法
要解决界面灵活配置的问题,最实用的方法是基于模板的定制配置技术。如同Office系列软件所提供的模板功能一样,用户可以根据需求灵活编辑并保存特定布局的文档模板,在使用时套用该模板,从而省略了多次布局。本文将界面与XML相互映射,对钻孔柱状图的界面样式按照如下模式作出定义:
该模板将界面抽象为一个相互嵌套的界面元素组合。首先,整个钻孔柱状图可以看成是一个顶层元素,该元素包含一个子元素集合(Items),并通过布局(Layout)来控制下层元素(Item)的组合方式。布局包含两种信息,一种是布局类型,一种是布局空间分配。布局类型分为三种,分别为垂直布局(元素竖向排列)、水平布局(元素横向排列)以及格网布局(元素网状排列)等。布局空间分配规定了在上述三种布局模式下,子元素所占的空间。另外,该模板还以行、列、行跨度、列跨度等属性对下层元素所在的位置进行了限定。
不论对于计算机显示器还是打印出的图纸,不同分辨率、不同长宽比的图幅都要求钻孔柱状图系统能够按照用户定义的布局进行绘制。传统钻孔柱状图的钻孔元素在绘制时采用绝对坐标,各要素都拥有各自独立的坐标参数,当页面大小改变时钻孔元素位置大小难以实现同步变化,费时费力且出图难以保证一致性。本文采用相对坐标系统,每个要素的左、顶、宽、高只与其父要素关联,并按照所占比例管理,对所有要素的位置大小都提供了足够的约束,在任意尺寸图幅上都无需作尺寸与位置的矫正。例如,对任一元素,已知其父元素的位置为 P.Left、P.Top、P.Width、P.Height,PositionV[i]为其在当前布局中所占的位置,而PositionV[i+1]为后一元素在布局中的位置,针对各种布局,子元素的位置有以下计算规则。
(1)水平布局,对于该布局中第i个子元素有:
Left=P.Left; Top=P.Top+PositionV[i]*P.Height;
Width=P.Width; Height=P.height*(PositionV[i+1]-PositionV[i])
(2)垂直布局,对于该布局中第i个子元素有:
Left=P.Left+PositionH[i]*P.Width;Top=P.Top;
Width=P.Width*(PositionH[i+1]-PositionH[i]);Height=P.Height
(3)格网布局,假设已知格网布局中,格网划分为A行B列,对于第i行,起始位置为PositionV[i],对于第j列,起始位置为PositionH[j],那么对于第m行第n列有:
Left=P.Left+PositionV[i];Top=P.Top+PositionH[i];
Width=PositionH[j+colspan]- PositionH[j];Height=PositionV[i+rowspan]- PositionV[i]
利用该方法就可以递归的求出各元素的绝对位置。
基于上述原则,对于图1所示的钻孔柱状图布局可采用如下模板对其进行配置。
图1 钻孔柱状图布局样例Fig.1 Layout example of borehole log
基于该模板的系统拥有充分灵活的定制功能,允许用户自定义任意形式的界面布局,并保存为配置文件以供布局的重用与共享,满足了布局配置的灵活性要求。
2 应用示例
本文基于上文所述模板,开发出一个钻孔柱状图定制配置系统。系统分为配置平台与可视化平台两个子系统。配置平台通过可视化界面对钻孔柱状图界面布局进行配置,并将界面配置数据保存到数据配置模板。而可视化平台则通过读取模板来实现钻孔柱状图的可视化及成图打印功能(图2)。根据用户的不同需求,配置平台可对界面进行不同的配置,实现用户的多样化需求。
3 结论
本文将钻孔柱状图界面与定制模板进行映射,并采用相对坐标来对界面元素进行定位,实现了钻孔柱状图界面样式的定制配置管理与界面的灵活表达。该方法可用于地质勘探相关多个领域的钻孔柱状图开发,具有一定的通用性。
图2 钻孔柱状图示例Fig.2 Example of borehole log
[1]杨旭,黄家柱,杨梅.基于COM技术的钻孔柱状图和钻孔柱状图的自动生成[J].计算机工程,2003,29(18):77 -79.
[2]许哲平,陈建强,迟学文,等.基于Delphi7和Corel-Draw 9 VBA的钻孔柱状图自动成图系统[J].桂林工学院学报,2007,27(1):81-85.
[3]张生伟.钻孔信息管理和柱状图成图方法的改进研究[D].北京:中国地质大学,2009.
[4]李安波,黄家柱,毕硕本,等.柔性软件系统研究与应用[J].计算机应用研究,2005,22(1):140 -143.
[5]李安波,闾国年,孟萃萃,等.城市地质空间信息系统研究与建设[J].计算机应用研究,2007,24(3):132 -134.
[6]解华明,陈守余.基于MAPGIS的钻孔柱状图绘制软件的编制[J].物探化探计算技术,2004,26(1):15 -17.
[7]花卫华,邓伟萍.一种通用钻孔柱状图的自动生成技术[J].工程图学学报,2006(4):14-18.