您的当前位置:首页基于Grapher与Word软件Automation功能的物探剖面图册批量自动化编绘技术

基于Grapher与Word软件Automation功能的物探剖面图册批量自动化编绘技术

来源:锐游网
第17卷第3期2018年9月

宁宁夏技术术夏工工程技NingxiaEngineeringTechnology卷Vol.第1717No.3

Sep.2018

文章编号:1671-7244(2018)03-0222-04

基于Grapher与Word软件Automation功能

的物探剖面图册批量自动化编绘技术

余永鹏

(宁夏回族自治区煤炭地质局勘查院,宁夏银川

750002)

要:传统的物探剖面册编绘技术完全采用手工操作,为了改变其工作效率低、错误率高、工作成本高等缺陷,

根据物探剖面图、图册的编绘技术要求,研究了Grapher与Word软件的Automation功能,建立了物探剖面图册的批量自动化编绘流程,用VC++对Grapher与Word软件进行了二次开发,实现了物探剖面图册的批量自动化编绘技术。以绘制2000个剖面的图册为例,对该技术和人工技术的效率进行了对比,该技术具有明显的优势。关键词:Grapher;Word;Automation;剖面图;图册;编绘中图分类号:P628

文献标志码:A

物探剖面图册不仅仅是物探资料解释的重要资料,还是物探野外资料验收与质量评价、工作量确认的重要资料,是项目成果的重要组成部分,在物探工作中有重要意义。目前很多软件都能实现物探剖面图的制作和显示,如Grapher、Excel[1]等,制作单张剖面图时各软件能实现的功能差异不大,但当数据量较大时,Grapher可以设置图形模板,能生成多种格式的图形文件,对数据和图形管理的优势突出。因其友好的用户界面、强大的绘图功能,受到了科学家、工程师的极大欢迎[2]。传统技术对于需要制作大量的剖面图和剖面图册而言,一般采用Gra鄄

图、图册的批量自动化编绘流程,并通过实例说明了该技术的先进性。

1Automation技术及优势

Automation技术,即自动化技术,是由OLE自动化发展而来,目前被归为ActiveX行列,是其他ActiveX技术的重要基础技术。Automation技术建

立在组件对象模型COM(ComponentObjectMod鄄

le)基础之上,与应用环境紧密结合,为高级语言

(如VC++)使用组件模块提供了一条有效的途径。它可以理解为一个应用程序通过某个对象去“操纵”另一个应用程序的机制[11]。Automation技术可以让用户通过简单的编程,快速实现其强大的功能。

用户通过Automation技术对软件进行的所有操作,都是对这些对象进行的,每一个对象都对应了该软件中的一项功能。同时软件中的每个对象,又都具有自己的属性和方法。Grapher和Word均采用层次化的方式来组织其自动化对象,其中应用程序对象处于最高层,所有其他对象都要直接或间接通过应用程序对象来获得,各个对象的获得都需一层一级地进行。图1是Grapher软件中所包含的对象层次图,图2是Word软件对象模型抽象图。

pher编绘图形、导出图片,并将图片插入Word文档

后形成图册,进行保存和打印。但在实际工作中,往往需要做几千幅甚至上万幅的物探剖面图,并以图册的形式进行管理,采用上述的操作方式,效率低下,无法满足需要。在以往研究工作中,通过对

Grapher软件进行二次开发实现了岩性柱状图

[3]

、物

探剖面图[4]、磁法平剖图[5]、井组综合曲线[6]、地面沉降过程曲线图[7]等图形的自动化制作。也有一些研究人员通过Word的二次开发实现了文档的自动生成功能[8—10]。其中多数研究工作还是在对单一软件的二次开发,主要集中于一些稍显复杂、人工不太容易完成的工作。

本文的研究工作是基于Grapher和Word软件

Automation功能的二次开发技术,建立了物探剖面

收稿日期:2018-01-10

作者简介:余永鹏(1987—),男,工程师,主要从事地球物理方面的生产和研究工作(yyp0527@126.com)。

第3期余永鹏:基于Grapher与Word软件Automation功能的物探剖面图册批量自动化编绘技术223

图1

Grapher软件中所包含的对象层次图

图2

Word软件模型对象抽象图

2

实现方法

2.1

剖面图册编绘技术

物探剖面图是以量值曲线、量值线段或矢量符

号表示物探参数沿剖面线、地质断面或工作路线变化特征的图。剖面图册是大量曲线的合订本。

剖面图编绘可以通过很多软件实现,在行业内多数还是利用Grapher软件。Grapher进行剖面图编绘时,需要二维物探数据(*.xls、*.txt或*.dat),其中一列为点号、里程或极距,另一列为物探量值。绘制时可以根据需要选择折线图、散点图等,并根据软件界面进行相应的操作和设计即可,完成后保存或导出需要的格式。为了便于绘制格式统一的多个剖面图,可以将上述设置保存为Grapher模板,绘制下一条剖面时只需选择数据。

剖面图册也有多种实现方法,利用Word文档进行管理、保存、打印和提交更加便捷。制作时按照一般顺序插入剖面图图名、图片即可。

2.2

基础工作

(1)Grapher图形模板。该软件提供了用户可定制的图形模板功能,用户通过绘制第一个剖面,设置好剖面图的大小、格式等,然后将该文件保存为

Grapher模板文件(*.grt),绘制下一个剖面图时,只

需要打开模板,并选择相应的数据即可。

(2)Word图册模板。该软件同样提供了模板文件(*.dot)的定制功能,在Word模板中可以设置图名字体的大小、行距、页面大小等基础参数,编制剖面图册时,只需要按照图名、剖面图的顺序插入

Word文档,形成剖面图册,进行保存、打印等。同时,

在制作图册模板时,可以按照需求设计图册的封面、签字页等内容。

(3)数据文件文档。为了对大量的数据进行处理,用户需要将各剖面的数据文件名称、剖面图名称按照顺序编排,并形成文档(*.dat或*.txt),进行自动化处理时,程序通过读取该文档即可获得剖面的数据和图形名称。文件内容如下:

第1条剖面数据文件名第1条剖面名称第2条剖面数据文件名第2条剖面名称……

2.3方法流程

图3为物探剖面图册批量自动化编绘技术流程

图,其最核心的步骤是利用Grapher绘制剖面图、导出图片,然后将相应的图名和图片插入Word文档,

形成图册。具体流程为:①打开数据文件文档,读入第1条剖面数据文件名和剖面名称;②打开Grapher模板,选择相应数据,保存Grapher文档,并导出图片;③打开Word模板,在文档末尾按照顺序插入剖面图名称、剖面图,保存Word文档;④判断数据文件文档是否结束,如未结束,则循环执行①~④,如结束,则保存图册;⑤程序退出。

为了在实际应用时更便捷,流程做了一些判断和选择的过程,可达到节省计算时间和空间的目的。例如用户仅需要Grapher文档时,则无需执行导出图片等后续流程等。

2.4实现过程

Grapher10和Word2016提供了全面详尽的二

次开发接口,能够很好的与各类编程语言对接,如

VisualC++、Delphi、VisualBasic、ASP.NET等,其本身甚至附带了基于Basic引擎的二次开发环境。通过VisualStudio2008平台下VC++语言实现了物探剖面图册批量自动化编绘技术,图4为程序运行

界面。

224宁夏工图3

实现方法流程图

图4

程序运行界面

核心代码如下:

(1)在程序的应用程序类的InitInstance()成员函数中加入Afx01eInit()函数的调用,初始化COM。代码如下:

if(!AfxOleInit()){

AfxMessageBox(IDP_OLE_INIT_FAILED);

程技术

第17卷

returnFALSE;}

(2)使用MFC的应用程序向导向开发程序分别导入Grapher和Word的OLE自动化对象,生成对应的组件对象模型。

(3)创建Graphe和Word服务及连接。如创建

Word服务的代码如下:

if(!Word.CreateDispatch(_T(\"Word.Application\"),NULL))

{

AfxMessageBox(_T(\"程序无法调用Word软件!\"));return;}

(4)实现主要功能的代码示例如下:

IDocumentsClcGdocs;IGraphGdoc1;Documentswdocs;_Documentwdoc;Selectionsel;

InlineShapesinlineshapes;FILE*fp;

fp=fopen(ary_filename.GetAt(i),\"r\");//打开参数文件while(feof(fp)==0)//循环,判断参数文件是否结束,如

未结束,则运行循环里面的语句

{

charDataname[50];charPlotname[50];

fscanf(fp,\"%s%s\",&Dataname,&Plotname);//读入数

据文件名称、图名

Datanamestr.Format(_T(\"%s\"),Dataname);//数据文件

名称

Plotnamestr.Format(_T(\"%s\"),Plotname);//图形名称Gdoc1=Gdocs.Add

(CComVariant(),CComVariant

(m_qxmblj),COleVariant(Datanamestr));//打开Grapher模板,并选择数据,m_qxmblj为模板文件,Datanamestr为数据文件

Gdoc1.SaveAs(Plotnamestr+\".grf\",COleVariant((short)0));//保存Grapher文档,Plotnamestr+\".grf\"为保存的相应剖

面图名称

Gdoc1.Export(Plotname+\".bmp\",COleVariant(),COle鄄Variant(),COleVariant());//Grapher软件导出图片,Plotname+\".bmp\"为图名

wdoc=wdocs.Add(COleVariant(m_tcmblj,VT_BSTR),vOpt,vOpt,vOpt);//打开word模板,m_tcmblj为模板文件

sel.EndKey(COleVariant(short(6)),COleVariant(short

(0)));//移动光标到文档末尾,可以保证插入的图名、图形始

第3期余永鹏:基于Grapher与Word软件Automation功能的物探剖面图册批量自动化编绘技术225

终在文档最后

(6)研究成果有广阔的应用领域。研究成果不仅可以用于制作物探剖面图及图册,还可以在类似需要做大量剖面、曲线的领域进行应用。

对少量工作的剖面进行编绘时,因计算机编绘需要准备基础资料,人工编绘的效率更高。

sel.TypeText(Plotnamestr);//word中插入文字,Plot鄄namestr为文字内容,系图名

inlineshapes.AddPicture(Plotnamestr+\".bmp\",COleVari鄄ant((short)FALSE),COleVariant((short)TRUE),&_variant_t

(sel.GetRange()));//word中插入图片,Plotnamestr为图名

wdoc.Save();//保存word图册}

close(fp);//关闭文件

4结语

(1)Grapher软件和Word软件提供的Automa鄄

tion功能使用户通过二次开发实现物探剖面图册的

批量自动化绘制技术。

(2)该技术极大地提高了工作效率、质量,有效降低了工作成本,用户可定制化程度高,可扩展的应用领域广泛。

(3)这项技术的实现不仅方便了软件使用者,提高了软件可用性,而且使物探剖面图、图册的编绘变得快速和统一。参考文献:

[1][2]

王凤琴,王立斌.利用Excel2000制作地下水位高程曲线图[J].水利天地,2003(3):42.

3应用效果

为了说明自动化编绘的先进性,用相同的数据

和模板,分别采用自动化和人工绘制2000条、50条和1条剖面图及图册,对两者花费的时间和正确率进行对比,实验结果见表1。其中,计算机为一般办公用的笔记本电脑,人工为一般技术人员。

实验结果表明,该技术具有明显的先进性:(1)提高工作效率。对于大量剖面图、图册的编绘,该技术相对人工编绘,工作效率提高是数量级的。

(2)提高工作质量。该技术采用计算机自动处理,可以完全避免人工操作的失误。出现的问题主要是模板等基础资料的系统性错误,返工的工作量也是极小的。

(3)节省人力资源。采用计算机处理,仅需要一名技术人员准备基础资料和操作计算机,而传统技术只能通过增加人力的方式提高效率。

(4)降低工作成本。工作成本与质量、效率和正确率等方面联系紧密,计算机编绘明显领先于人工编绘。

(5)图形模板可随意定制。目前一些专业的软件也能实现对数据以剖面形式的可视化显示,但多数都是固定的格式,可能存在一些多余的信息。基于本文的研究成果,可以根据实际需要设置图形模板,形成的图形文件的格式也可以随意设置。

表1

剖面个数/个

名称计算机编绘人工编绘计算机编绘人工编绘计算机编绘人工编绘

GoldenSoftwate,Inc.Grapher10User’sGuide[EB/OL].https://wenku.baidu.com/view/a206335026fff705cc170aa0.html2013.

[3]胡正旺,胡祥云,封晓明.基于Grapher软件Automation功能的岩性柱状图绘制程序[J].工程地球物理学报,

2007,4(5):450-454.[4]

柳建新,曹创华,刘颖,等.基于ScripterBasic语言的

Grapher7.0二次开发绘制物探剖面图[J].物探化探计算

技术,2012,34(1):107-111.

[5][6][7][8][9]

陈明,何门贵.利用Grapher绘制彩色渐变剖面平面图[J].物探与化探,2008,32(2):196-198.

韩晓峰.利用Grapher二次开发绘制井组综合曲线[J].胜利油田职工大学学报,2009,23(4):37-38.

杨朝辉,唐峰平.利用Grapher二次开发技术绘制地面沉降过程曲线图[J].北京测绘,2004(2):40-43.

李小林,张力娜,赵娟,等.VC平台下Word文档自动生成技术[J].信息技术,2017(2):76-78,84.

王莉,冯军,何自立.用Delphi实现Word应用程序二次

计算机编绘和人工编绘的结果比较

花费时间/min

正确率/%

时间比例/%

准备时间编绘时间总时间

2000501

1505020

30.0100.01.030.00.21.0

45.01500.06.030.02.21.0

100.098.5100.0100.0100.0100.0

320220

注:时间比例=计算机花费总时间/人工花费总时间×100%。

(下转第230页)

230

[13][14][15][16]

宁夏工程技术

2016(2):17-22.[17][18][19]

第17卷

杨东峰,殷成志.如何拯救收缩的城市:英国老工业城市转型经验及启示[J].国际城市规划,2013,28(6):50-56.姜鹏,周静,崔勋.基于中日韩实例研究的收缩城市应对思辨[J].现代城市研究,2016(2):2-7.

李俊杰,米文宝,周瑞瑞,等.宁夏城乡关系空间分异研究[J].测绘科学,2017(4):1-10.

刘合林.收缩城市量化计算方法进展[J].现代城市研究,

秦佳,李建民.中国人口城镇化的空间差异与影响因素

[J].人口研究,2013,37(2):25-40.

张俊良,郭显超.人口长期均衡发展的理论与实证模型研究[J].人口研究,2013,37(5):16-29.

薛正昌.城市群建设析论———以宁夏沿黄城市带建设为例[J].宁夏社会科学,2016(5):134-144.

StudyonthePhenomenonofUrbanContractioninYinchuan

XIAOChengquan1,YANGMeiling1,2*,WEIJingjing3,JIAHongli1,ZHOUJunjun1

(1.CollegeofResourcesandEnvironment,NingxiaUniversity,Yinchuan750021,China;2.Ningxia(China-Arab)Key

LaboratoryofResourceEvaluationandEnvironmentalRegulatingofAirdArea,Yinchuan750021,China;3.Collegeof

GeographyScienceandTourism,XinjiangNormalUniversity,Urumqi830054,China)Abstract:BasedonthecharacteristicsofurbandevelopmentinaridareasofwesternChina,thechangetrendofcontractiondegreeinYinchuanfrom2009to2014wasstudiedusingtheindexofrelativedynamicchangeofpopulation,populatione鄄quilibriumandpopulationconcentration.TheresultsshowthattherelativeindexofpopulationdynamicsinYinchuanfrom2010to2011isrelativelylarge,whichindicatesthattheurbanpopulationfluctuatesgreatlyandthephenomenonofurbancontractionisobvious.Intermsofthepopulationequilibriumindex,thebalancebetweentheaddedvalueoffiscalrevenueandthepercapitaroadownershipareaisrelativelysmall,indicatingastrongimpactonurbancontraction.However,thenon-agriculturalpopulationgrowthrateandtheincreaseofthenumberofhealthcareinstitutionsaremorebalanced,whichindi鄄catesthatithasaweakimpactonurbancontraction.Theurbanconcentrationindexin2011ishigher,thentheconcentrationindexdecreases,whichisinlinewiththetrendofthedynamicrelativechangeoftheurbanpopulationinYinchuan.

Keywords:populationrelativedynamicchangeindex;populationequilibriumindex;populationconcentrationindex;Yinchuan;urbancontraction

(责任编辑、校对李琼)

...................................................................................................................(上接第225页)

开发[J].电脑编程技巧与维护,2010(19):18-24.

(5):90-93.

[10]陈肇平,黎壤.使用VisualBasicforApplication对[11]杨朝辉,党立华.基于SurferAutomation技术的三维立体渲染图的绘制[J].海洋测绘,2003,23(4):26-28.

MicrosoftWord进行二次开发[J].电脑知识与技术,2004

AutomatedBatchCompilationofPhysicalExplorationProfileAtlasBased

onAutomationFunctionofGrapherandWord

YUYongpeng

(CoalGeologicalExplorationInstituteofNingxiaHuiAutonomousRegion,Yinchuan750011,China)

Abstract:Traditionalgeophysicalexplorationprofilesadoptmanualoperationcompletly,ithashaslowefficiencyandhigherrorratewhichgreatlyincreasesworkload.Basedonthemappingtechnicalrequirementsofgeophysicalprospectingprofilesandatlases,thispaperstudiestheautomationfunctionsofGrapherandMicrosoftWordandestablishesabatchautomationdrawingprocessofgeophysicalprofilegrammarswithVC++extensiondevelopment.Asresult,ageophysicalprofilingsectionvolumeautomatedmappingtechnologyiscompleted.Atlast,theefficiencyofbatchautomationprocessishighercomparedwiththemanualmethodtakena2000-sectionchartasexample.

Keywords:Grapher;MicrosoftWord;batchautomation;profile;atlas;compilation

(责任编辑、校对韩小珍)

因篇幅问题不能全部显示,请点此查看更多更全内容

Top