一种多模态评价报告的生成方法技术领域
本发明涉及石油勘探领域,具体说涉及一种多模态评价报告的生成方法。
背景技术
随着信息技术的飞速发展,以石油勘探开发理论为基础,以石油勘探数学模
型为核心,以石油勘探专业软件为载体的油气资源评价流程已经成为石油界进行
油气勘探开发的主流趋势。尽管市场上有很多成熟的油气勘探开发软件,但如何
快速准确地将软件的评价结果转化为可供决策的评价报告,仍旧是一个亟待解决
的问题。目前,生成一份可供决策的报告一般有以下两种方法:
(1)基于编辑器的评价报告生成方法
基于编辑器的评价报告撰写方法需要使用MicrosoftWord等文本编辑器,这
是最传统的报告编写方法。用户在编写报告的时候,如果需要相关结果图和结果
表格,则需要从油气资源评价软件中使用Windows画图、Photoshop等截图软件
进行截图,过程相对繁琐。评价报告的排版功能受限于编辑器,对于图片,表格
等内容需要进行手动排版。
(2)基于水晶报表的评价报告生成方法
水晶报表(crystalreport)是SAP公司开发的一款商务智能软件,主要用于设计
及生成报表。它的特点是对主流数据库的广泛支持以及丰富的可视化表现形式。
水晶支持本地的数据库客户端连接和开放数据库互连(OpenDatabase
Connectivity,简称为ODBC)数据链接,因此它能够访问各种不同的数据库数据,
并以此来产生报告内容。同时,基于水晶报表生成的表格数据支持多种可视化展
示形式,比如折线图、柱状图、饼图等等。但是基于水晶报表生成的报告主要以
表格和图件为载体,如果目标是生成一份完整的评价报告,则需要使用其他文本
编辑器进行文字补充说明和后期排版。
无论是基于编辑器还是基于水晶报表的评价报告生成方法,都无法实现与油
气资源评价软件的一体化衔接,从而导致使用软件进行油气资源评价与基于资源
评价结果形成评价报告之间产生了脱节。而且这些方法不支持自定义模板进行布
局,每次撰写新的评价报告都要对相关表格和图片进行重新布局,对相关文字内
容进行重新编写,增加了撰写评价报告的时间成本。
因此,针对上述问题,需要一种新的评价报告生成方法以针对油气资源评价
数据快速简便的生成资源评价报告。
发明内容
针对现有技术方法不能快速简便的针对油气资源评价数据生成评价报告的
问题,本发明提供了一种多模态评价报告的生成方法,包含以下步骤:
备选数据获取步骤,以获取备选资评活动结果数据;
报告模板生成步骤,选择设置报告模板的行和列以及每个网格的大小,并根
据需要合并部分网格,针对所生成的各个网格单元进行类型设定,网格单元类型
与所述资评活动结果数据的类型有关,从而生成所述报告模板,并保存所述报告
模板;
数据选定步骤,基于所述评价报告撰写目的以及所述网格单元类型从所述备
选资评活动结果数据中选定与所述网格对应的资评活动结果数据;
数据填充步骤,将选定的所述资评活动结果数据填充到与之有对应关系的网
格单元中从而生成具有多模态的评价报告,并向用户输出所述报告。
在一个实施例中,所述网格单元类型根据数据的类型包括文字网格单元、图
像网格单元或表格网格单元。
在一个实施例中,所述报告模板中每一个网格的各项特征参数依照一定的序
列化规范存储在数据库结构体中。
在一个实施例中,在所述报告模板生成步骤之前还包括判断步骤,判断是新
建报告模板还是使用已保存的报告模板,如果判断的结果是新建报告模板,则上
述步骤继续执行,如果判断的结果是使用所述已保存的报告模板,则所述方法还
包括调用所述已保存的报告模板的步骤。
在一个实施例中,在调用所述已保存的报告模板的步骤中,基于预先保存的
网格的特征参数查找所述已保存的报告模板并通过遍历所述已保存的模板中的
所有网格来实现对所述已保存的模板的读取。
在一个实施例中,所述方法在所述数据填充步骤之后还包括评价报告保存步
骤,在该步骤中,按照一定的序列化规范将所述网格单元中的文本、图片和表格
信息转化为二进制串,再存入数据库的二进制大对象字段中。
在一个实施例中,通过将所述二进制大对象字段反序列化为存储单元中的结
构体来读取已保存在数据库中的所述网格单元中的文本、图片或表格信息。
在一个实施例中,所述方法还包括评价报告打印步骤,其包括以下子步骤:
将生成的评价报告以图元树形式预存在一存储单元中,所述图元树的根节点
包括所述评价报告,子节点包括行节点,每个行节点的子节点包括列节点,每个
列节点的子节点对应所述网格单元;
通过遍历所述图元树,将所述图元树上的各节点对应的信息映射到打印机的
设备上下文中。
在一个实施例中,在映射所述评价报告的过程中:
对于包含文字网格单元的节点,将文字顺序填充打印页的行,到达行尾时,
进行换行;
对于包含图像网格单元的节点,首先计算所述报告模板的宽度和打印页的宽
度之间的比值,然后根据此比值对图像进行缩放,最后将缩放后的图像输出到打
印机设备上下文中;
对于包含表格网格单元的节点,首先计算表格总宽度和所述报告模板的宽度
的比值,然后根据所述比值将表格按不同的列划分成若干个子表格,最后按照输
出所述图片的方式,将每一个子表格输出到打印机设备上下文中。与现有技术相
比,本发明具有如下优点:
1、根据本发明所述的方法可以快速简便的生成评价报告;
2、根据本发明所述的方法生成的评价报告内置文字、图片、表格,图文并
茂;
3、本发明更好的实现了资源评价报告与油气资源评价软件的衔接,是针对
油气资源评价领域设计的一套评价报告快速生成方法,通过对本发明的支持,油
气资源评价软件的用户范围可以从专业地质人员、经济评价人员,扩展到决策分
析人员,极大地增强了软件的适用性和影响力;
4、根据本发明所述的方法生成的评价报告可以方面快捷的通过存储到数据
库和直接打印两种方式实现持久化保存。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明
书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可
通过在说明书、权利要求书以及附图中所特别指出的步骤来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明
的实施例共同用于解释本发明,并不构成对本发明的限制。在附图中:
图1是根据本发明一实施例生成评价报告的流程图;
图2是根据本发明一实施例新建报告模板的效果图;
图3是根据本发明一实施例的数据库结构体对应的数据库表结构图;
图4是根据本发明一实施例生成的评价报告的图元树示意图;
图5a-5f是根据本发明一实施例生成评价报告的生成过程操作界面图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此本发明的实
施者能够充分理解对本发明如何应用技术手段来解决技术问题,并达成技术效
果的实现过程并据以实施。需要说明的是,只要不构成冲突,本发明中的各个
实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发
明的保护范围之内。
另外,附图的流程图中示出的步骤可以在包含诸如一组计算机可执行指令的
计算机系统中执行。虽然在流程图中示出了执行各步骤的逻辑顺序,但是在某些
情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
目前存在一些快速的报告生成方法用于特定的应用领域。这些领域包括:检
测报告领域,实验报告领域等等。这类报告生成方法从特定领域的需求出发,往
往与领域软件相结合,以专业软件输出的结果为素材,支持快速地生成一篇高质
量的报告。但是,基于特定应用领域的报告生成方法目前还没有涉及油气资源评
价领域。
本发明主要针对油气资源评价领域,尤其是针对油气资源评价软件的数据衔
接做出了一系列改进。
图1是根据本发明一实施例生成评价报告的流程图,如图1所示,根据本发
明的一实施例生成评价报告,首先要进行步骤S100,获取备选资评活动结果数
据。
在本实施例中,资评活动结果数据是由油气资源评价软件生成,其用以生
成评价报告的具体内容。资评活动历史记录保存的是油气资源评价软件中进
行的含油气性评价,资源量计算,经济评估等一系列油气资评活动结果数据,
其以文字、图片、表格的形式存储。在本实施例中,步骤S100将资评活动历
史记录中保存的资评活动结果数据作为生成评价报告的备选数据,以便之后调
用。
接下来进行步骤S111新建报告模板或读取已保存的报告模板。在传统
报告的生成方式中或者没有使用模板,或者使用固定的模板。前者每次撰写
新报告的时候都需要重新手动排版,后者则形式不够灵活。本发明提出的基
于网格模板的可以自定义的报告模板克服了上述缺点,用户可以根据自己的
需求,设计和保存报告模板,下次生成类似报告的时候可以直接读取之前的
模板,大量节约了生成报告的时间。
首先判断是新建报告模板还是使用已保存的报告模板,如果判断的结果是新
建报告模板,则进行报告模板生成步骤,如果判断的结果是使用已保存的报告模
板,则调用已保存的报告模板。
新建报告模板的每一步步骤所对应的效果如图2所示。
首先如图1步骤S112所示设置初始网格,设置报告模板的行和列以及每
个网格的大小,用户根据需求,生成一个M*N的网格模板,如图2中211所
示的是一个3*6的网格模板。
然后如图1步骤S113所示,根据需要合并部分网格,从而实现不同的布
局风格,如图2中212所示。
最后如图1步骤S114所示,针对所生成的网格模板对其中的各个网格单
元进行类型设定从而生成报告模板。网格单元类型与资评活动结果数据的种类有
关,在本实施例中网格单元类型包括文字网格单元、图像网格单元或表格网格单
元。通过对网格类型的设置以实现下一步中对不同资评活动内容的绑定。最
终的报告模板效果如图2中213所示。
如图1所示,在步骤S110生成报告模板后,可以进行步骤S115将报告
模板存入数据库,供以后直接读取。报告模板中每一个网格的各项特征参数依
照一定的序列化规范存储在数据库结构体中。在本实施例中报告模板中的每一
个网格都存储在GirdCellRecord结构体中,该结构体对应的数据库表结构如
图3所示,具体操作为:
在调用已保存的报告模板的步骤S111中,基于预先保存的网格的特征参数
查找模板并通过遍历模板中的所有网格来实现对模板的读取。
如图1所示,在生成报告模板之后,即可进行步骤S120数据选定步骤,从
所获取的备选资评活动结果数据中选定所需要的资评活动结果数据。资评活动结
果数据包括文字数据、图片数据、表格数据。在步骤S120中,首先根据所要生成
的报告的撰写目的选择相应内容的资评活动结果数据。然后根据报告模板中各网
络单元的类型选定与网络单元对应的资评活动结果数据。
最后进行步骤S121数据填充步骤,将选定好的资评活动结果数据填充到与
之有对应关系的网格单元中从而生成具有多模态的评价报告,并向用户输出报
告。
针对一个具体的图片或者表格网格单元,通过选定特定的油气资评活动
结果数据,可以快速地将图片或表格资评活动结果数据填充到网格单元中。
同时,针对文字网格单元利用文本编辑器添加相关文字说明,即可得到一篇
图文并茂的评价报告。文本控件、图片控件和表格控件作为基本控件,被图
形用户界面框架广泛支持。用户可以在同一个软件界面中实现对油气资源的成
熟度分析,资源量计算,经济评价,以及生成一份高质量的评价报告。所生成的
评价报告内置文字、图片、表格等多种信息。
油气资评活动结果数据是指用户在油气资源评价软件中进行的含油气
性评价,资源量计算,经济评估等一系列油气资源评价的结果。传统报告生
成方式需要手工截图将资评活动内容填充进报告,根据本发明一实施例则是
将油气资评活动结果数据中的数据依据内容及类型对应填充到网格单元。此
种方式不仅简化了截图的繁琐流程,而且实现了评价报告与油气资源评价软件
的无缝衔接。
由于用户在使用油气资源评价软件进行含油气性评价、资源量计算、经济评
估之后,很多评价结果已经保存在数据库之中,根据本发明一实施例,用户可以
将资源评价结果快速组织为一篇多模态评价报告,更好地供决策人员进行分析
和决策。通过对本发明的支持,油气资源评价软件的用户范围可以从专业地质人
员、经济评价人员,扩展到决策分析人员,极大地增强了软件的适用性和影响力。
评价报告生成后即可基于序列化技术将评价报告持久化保存。如图1中步骤
S131所示,用户可以将评价报告存储到数据库。评价报告的存储步骤可以分为两
个阶段,第一个阶段是对每一个网格内容的存储,第二个阶段是对布局信息的存
储。其中第二阶段评价报告中的布局信息存储到数据库中使用和报告模板同样的
数据结构和库表结构,在这里不多加赘述。
评价报告中的的文本、图片和表格信息以结构体的形式存在于内存中。因为
报告由网格组成,所以网格内容的存储以二进制块的形式存储在数据库中,根据
载体不同,可以分为文本、图片和表格三类。当存储这些信息到数据库的时候先
按照一定的序列化规范将其转化为二进制串。其中文本的二进制表示形式由文本
的长度和文本的内容进行序列化得到;图片的二进制表示形式由图片高度、图片
宽度、图片字节数和图片内容进行序列化得到;表格的二进制表示形式由表格行
数、表格列数、列名长度、列名数据、单元格行号、单元格列号、单元格行宽、
单元格列宽、单元格数据长度、单元格数据进行序列化得到。再将转化后得到的
二进制串存入数据库的二进制大对象(binarylargeobject,简写为blob)字段中。
报告的读取是报告存储的逆过程,从数据库首先读取网格的布局信息,恢复
网格的位置、宽度、高度、类型,之后反序列化代表网格内容的二进制数据,进
一步恢复网格的内容,最终实现整个报告的读取。在读取数据库的时候,将blob
字段反序列化为内存中的结构体。
表1所示为针对文本的一种序列化规范;表2所示为针对图片的一种序列化
规范;表3所示为针对表格的一种序列化规范。
以表格为例,首先,构建一个二进制数组,记为Array,之后按照表3中的
顺序,将表格的单元数、行数、列数、依次压入Array,之后遍历表格的所有列
标签,将每一个列标签的长度和名称依次压入Array,之后遍历表格的每一个单
元格,将单元格的行号、列号、行宽、列宽、长度和名称依次压入Array,最后
将Array存入数据库的blob字段即可。反序列化的过程相似,读取数据库的blob
字段,写入Array中,根据行数、列数生成一个空表格,再根据列标签和单元格
的内容,填充成完整的表格。
基于序列化技术,评价报告的存储过程更加简便,并且规范化的存储方式使
得存储到数据库的评价报告可以被多种软件读取调用,从而使评价报告能够很方
便的拷贝,传输以及阅读。
如图1步骤S132所示,评价报告还支持打印功能。生成的评价报告以图元
树形式预存在一存储单元中,图元树的根节点包括评价报告,子节点包括行节点,
每个行节点的子节点包括列节点,每个列节点的子节点对应网格单元的类型。
如图4所示为根据本发明一实施例的图元树的一部分,其中:根节点为评价
报告本身400,它的子节点包括行411和421,每个行节点的子节点包括列412、
422、432,每个列节点的子节点包括413、423,433。其中,节点413是包含文
字网格单元的节点,节点423是包含图像网格单元的节点,节点433是包含表格
网格单元的节点。通过遍历图元树的信息,将内存中的评价报告映射到打印机的
设备上下文中。
对于包含文字网格单元的节点413,按照文字的字体大小以及文字的排版顺
序,将文字顺序填充到打印页的行中,到达行尾时,进行换行。当填充内容的高
度大于打印页的高度时,插入分页符。
对于包含图像网格单元的节点423,首先计算报告模板的宽度和打印页的宽
度之间的比值,然后根据此比值对图像进行缩放,最后将缩放后的图片输出到打
印机设备上下文中。
对于包含表格网格单元的节点433,首先计算表格总宽度和报告模板的宽度
的比值(因为可能存在下拉条,所以表格的总宽度可能远大于界面显示的布局模板
的宽度),然后根据此比值将表格按不同的列划分成若干个子表格,最后按照输出
图片的方式,将每一个子表格输出到打印机设备上下文中。
接下来以焉耆盆地某油气聚集带油气资源评价为例通过操作界面效果图描
述评价报告的生成过程。其具体各步骤效果如图5a-5f所示:
步骤a、创建评价报告的模板,首先生成一个6*2的网格模板,如图5a所示;
然后对网格模板中的网格进行合并,合并每行的网格,合并后的效果如图5b所
示;最后对合并后的每一个网格,设置网格属性(文字、图片和表格)。最后生成
的基础布局包括四个文字网格511、512、513、514,一个图片网格520和一个报
表网格530,效果如图5c所示;
步骤b、首先对文字网格511、512、513、514,填充相关文字描述,效果如
图5d所示;然后针对图片网格520,从历史记录中选出油藏规模序列法的资源量
计算结果相关的图片,然后将图片填充到网格单元,效果如图5e所示;接着针对
表格网格530,从历史记录中选出油藏规模序列法的资源量计算结果相关的表格,
然后将表格填充到网格单元;最后生成如图5f所示的评价报告。
虽然本发明所公开的实施方式如上,但所述的内容只是为了便于理解本发明
而采用的实施方式,并非用以限定本发明。本发明所述方法还可有其他多种实施
例,在不背离本发明实质的情况下,熟悉本领域的技术人员当可根据本发明作出
各种相应的改变和变形,但这些相应的改变和变形都应属于本发明的权利要求的
保护范围。