CN115544985A - 基于地理计算语言的统计图制作方法、装置、设备及介质 - Google Patents
基于地理计算语言的统计图制作方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115544985A CN115544985A CN202211515731.0A CN202211515731A CN115544985A CN 115544985 A CN115544985 A CN 115544985A CN 202211515731 A CN202211515731 A CN 202211515731A CN 115544985 A CN115544985 A CN 115544985A
- Authority
- CN
- China
- Prior art keywords
- output
- statistical chart
- list
- data table
- memory data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请实施例涉及GIS领域,公开一种基于地理计算语言的统计图制作方法、装置、设备及介质,包括:对属于统计图制作关键词的控制参数进行解析得到包括输出字段列表和输出对象列表的控制子参数;根据输出字段列表和输出对象列表对初始内存数据表进行构建和筛选,得到内存数据表;根据内存数据表对应的输出表格文件生成统计图或更新已有统计图的数据源。本申请可以使无编程基础的用户利用地理计算语言中统计图制作关键词完成基本统计图、浮动统计图和系列统计图的自动绘制,降低了用户的使用负担,提升了制作统计图的效率;同时该方法作为地理计算语言中分析成果表达的重要组成部分,与其他的地理计算方法配合,可以实现地理分析过程的一体化表达。
Description
技术领域
本申请实施例涉及GIS领域,具体而言,涉及一种基于地理计算语言的统计图制作方法、装置、设备及介质。
背景技术
地理计算语言(即G语言)是应用于地理计算过程中,来描述地理分析模型的一种程序语言形式,通过地理计算语言实现对地理分析进行程序化的表达,便于计算机进行地理计算。例如,“文档即系统”(Document As System,DAS)是一种应用地理计算语言的全新地理计算模式,该技术通过对常规的文本文档处理环境下,对地理分析模型采用地理计算语言进行描述,生成DAS智能文档,然后由DAS智能文档驱动后台的GIS系统(例如ArcGIS、QGIS等)即可完成地理计算,大大降低了DIS应用的技术门槛,提高了GIS应用系统的开发效率。
其中,在地理分析过程中,由于统计图可以使复杂的统计数字简单化、通俗化、形象化,因此,统计图是常见地理模型分析的成果表达形式。然而,现在的统计图制作方法通常是通过现成的软件(如MS Excel)或编程(如Python)来生成,这些方法生成统计图更加费时、费力,且通过编程方法制作统计图对用户的编程能力要求较高,增加了用户的使用负担,降低了制作统计图的效率。因此,如何在无需编程能力的情况下,提升制作统计图的效率成为当前亟待解决的问题。
发明内容
本申请实施例在于提供一种基于地理计算语言的统计图制作方法、装置、设备及介质,旨在解决制作统计图对用户编程能力要求较高、制作统计图效率较低问题。
本申请实施例第一方面提供一种基于地理计算语言的统计图制作方法,应用于地理计算系统,包括:
对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表;
根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表;
将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于生成统计图,或,所述统计图输出表格文件用于更新已有统计图的数据源。
可选地,根据所述输出字段列表构建初始内存数据表,包括:
提取所述控制子参数中的所述输出字段列表,判断所述输出字段列表的表达式形式;
若所述输出字段列表的表达式为结构化字段列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化字段列表表达式进行解析,得到基本输出字段列表作为数据字段列表;
若所述输出字段列表的表达式为基本字段列表表达式,将所述基本字段列表表达式作为数据字段列表;
根据所述智能文档中的输入信息和所述数据字段列表,构建初始内存数据表。
可选地,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表,包括:
提取所述控制子参数中的所述输出对象列表,按照关于统计图制作关键词的对象解析函数对所述输出对象列表进行解析,得到输出对象列表控制信息;
按照所述输出对象列表控制信息筛选出所述初始内存数据表中对应的数据记录,作为所述内存数据表。
可选地,在得到统计图输出表格文件之后,包括:
若所述统计图输出表格文件的名称包含浮动统计图标识符,在所述智能文档中搜索数据源包含浮动统计图标识符的浮动统计图,根据所述统计图输出表格文件对所述数据源包含浮动统计图标识符的浮动统计图进行数据更新;
若所述统计图输出表格文件的名称不包含浮动统计图标识符,调用统计图绘制函数根据所述统计图输出表格文件绘制统计图,或,根据所述统计图输出表格文件对所述智能文档中对应的表格对象中的统计图的数据源进行数据更新。
可选地,当所述控制子参数包括可选控制子参数时,按照所述可选控制子参数对所述内存数据表进行处理,包括:
当所述可选控制子参数包括排序规则时,对所述排序规则进行解析得到排序规则信息,按照所述排序规则信息对所述内存数据表进行排序,其中,所述排序规则信息包括反序标识、排序方式以及排序字段序号;
当所述可选控制子参数包括后处理方式时,按照所述后处理方式对所述内存数据表进行处理,其中,所述后处理方式包括折叠、表转置、归一化、定值补列、名称排名以及统计图制作;
当所述可选控制子参数包括输出列别名列表及附加项列表时,用所述输出列别名列表中的数据替代所述内存数据表中的列名称行的数据;对所述附加项列表进行解析得到附加项列表信息,根据所述附加项列表信息对所述内存数据表进行处理。
可选地,按照所述输出对象列表控制信息筛选出所述初始内存数据表中对应的数据记录,作为所述内存数据表,包括:
若所述输出对象列表控制信息为无信息标识,将所述初始内存数据表作为所述内存数据表;
若所述输出对象列表信息为基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表,所述基本数据对象列对应的数据记录为所述基本数据对象列在所述初始内存数据表中对应列的数据;
若所述输出对象列表信息为结构化对象列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化对象列表表达式进行解析,得到基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表。
可选地,对所述附加项列表进行解析得到附加项列表信息,根据所述附加项列表信息对所述内存数据表进行处理,包括:
按照附加项列表解析函数对所述附加项列表进行解析,得到所述附加项列表信息,所述附加项列表信息包括一个或多个附加列名称和每个附加列名称对应的固定量;
若一个附加列名称对应的固定量包含平均值标识符时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量对应的所述内存数据表中的列的平均值;
若一个附加列名称对应的固定量为数值时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量的数值;
若一个附加列名称对应的固定量为区间范围时,在所述内存数据表中获取所述固定量的区间范围的上限值和下限值,在所述内存数据表中添加第一附加值列和第二附加值列,所述第一附加值列的列名称为所述附加列名称中的第一附加列名称,所述第一附加值列的值为所述上限值;所述第二附加值列的列名称为所述附加列名称中的第二附加列名称,所述第二附加值列的值为所述下限值。
本申请实施例第二方面提供一种基于地理计算语言的统计图制作装置,应用于地理计算系统,包括:
解析模块,用于对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表;
构建模块,用于根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表;
输出模块,用于将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于生成统计图,或,所述统计图输出表格文件用于更新已有统计图的数据源。
其中,所述构建模块,包括:
输出字段提取子模块,用于提取所述控制子参数中的所述输出字段列表,判断所述输出字段列表的表达式形式;
结构化解析子模块,用于若所述输出字段列表的表达式为结构化字段列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化字段列表表达式进行解析,得到基本输出字段列表作为数据字段列表;
基本解析子模块,用于若所述输出字段列表的表达式为基本字段列表表达式,将所述基本字段列表表达式作为数据字段列表;
构建子模块,用于根据所述智能文档中的输入信息和所述数据字段列表,构建初始内存数据表。
所述构建模块,还包括:
输出对象解析子模块,用于提取所述控制子参数中的所述输出对象列表,按照关于统计图制作关键词的对象解析函数对所述输出对象列表进行解析,得到输出对象列表控制信息;
筛选子模块,用于按照所述输出对象列表控制信息筛选出所述初始内存数据表中对应的数据记录,作为所述内存数据表。
在得到统计图输出表格文件之后,所述装置,包括:
浮动模块,用于若所述统计图输出表格文件的名称包含浮动统计图标识符,在所述智能文档中搜索数据源包含浮动统计图标识符的浮动统计图,根据所述统计图输出表格文件对所述数据源包含浮动统计图标识符的浮动统计图进行数据更新;
绘制模块,用于若所述统计图输出表格文件的名称不包含浮动统计图标识符,调用统计图绘制函数根据所述统计图输出表格文件绘制统计图,或,根据所述统计图输出表格文件对所述智能文档中对应的表格对象中的统计图的数据源进行数据更新。
当所述控制子参数包括可选控制子参数时,所述装置,还包括:
排序模块,用于当所述可选控制子参数包括排序规则时,对所述排序规则进行解析得到排序规则信息,按照所述排序规则信息对所述内存数据表进行排序,其中,所述排序规则信息包括反序标识、排序方式以及排序字段序号;
后处理模块,用于当所述可选控制子参数包括后处理方式时,按照所述后处理方式对所述内存数据表进行处理,其中,所述后处理方式包括折叠、表转置、归一化、定值补列、名称排名以及统计图制作;
附加列模块,用于当所述可选控制子参数包括输出列别名列表及附加项列表时,用所述输出列别名列表中的数据替代所述内存数据表中的列名称行的数据;对所述附加项列表进行解析得到附加项列表信息,根据所述附加项列表信息对所述内存数据表进行处理。
其中,所述筛选子模块,包括:
第一筛选子单元,用于若所述输出对象列表控制信息为无信息标识,将所述初始内存数据表作为所述内存数据表;
第二筛选子单元,用于若所述输出对象列表信息为基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表,所述基本数据对象列对应的数据记录为所述基本数据对象列在所述初始内存数据表中对应列的数据;
第三筛选子单元,用于若所述输出对象列表信息为结构化对象列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化对象列表表达式进行解析,得到基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表。
其中,所述附加列模块,包括:
附加项解析子模块,用于按照附加项列表解析函数对所述附加项列表进行解析,得到所述附加项列表信息,所述附加项列表信息包括一个或多个附加列名称和每个附加列名称对应的固定量;
平均附加项子模块,用于若一个附加列名称对应的固定量包含平均值标识符时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量对应的所述内存数据表中的列的平均值;
固定值附加项子模块,用于若一个附加列名称对应的固定量为数值时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量的数值;
区间附加项子模块,用于若一个附加列名称对应的固定量为区间范围时,在所述内存数据表中获取所述固定量的区间范围的上限值和下限值,在所述内存数据表中添加第一附加值列和第二附加值列,所述第一附加值列的列名称为所述附加列名称中的第一附加列名称,所述第一附加值列的值为所述上限值;所述第二附加值列的列名称为所述附加列名称中的第二附加列名称,所述第二附加值列的值为所述下限值。
本申请实施例第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现第一方面中任一所述的基于地理计算语言的统计图制作方法中的步骤。
本申请实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现第一方面中任一所述的基于地理计算语言的统计图制作方法中的步骤。
有益效果:
本申请提供了一种基于地理计算语言的统计图制作方法、装置、设备及介质,包括:对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表;根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表;将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于制作基本统计图、浮动统计图和系列统计图。本申请提供的方法可以使普通无编程基础的用户基于统计图制作关键词,在常规文本文档处理环境对统计图制作的控制参数进行编写,降低了用户的使用负担,提升了制作复杂统计图的效率;同时该方法作为地理计算语言中分析成果表达的重要组成部分,与其他的地理计算方法配合,可以实现地理分析过程的一体化表达。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提出的地理计算系统的处理流程示意图;
图2是本申请一实施例提出的基于地理计算语言的统计图制作方法流程图;
图3是本申请实施例一输出的普通统计图;
图4是本申请实施例二输出的浮动统计图;
图5是本申请实施例二输出的浮动统计图的自动更新示意图;
图6是本申请实施例三输出的一个表格单元的普通统计图;
图7a是本申请实施例三输出的文档指定位置的一个表格单元的第一形式普通统计图;
图7b是本申请实施例三输出的文档指定位置的一个表格单元的第二形式普通统计图;
图8是本申请一实施例提出的基于地理计算语言的统计图制作装置示意图;
图9是本申请一实施例提出的电子设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在新型的地理计算模式中,地理计算语言(Geocompution Language,简称G语言)是其中的核心技术,该G语言是一种业务人员易于理解和掌握、计算机可识别并执行的一套地理计算的指令集,与具体的编程语言无关,同时也与具体的GIS平台无关。一方面,定义的G语言因为是一套针对地理计算任务的类似自然语言的编程语言,即使为没有编程能力的业务人员也无需花费很多精力即可掌握;另一方面,由于该G语言所定义的地理计算关键词与GIS平台无关,故业务人员无需掌握GIS平台(如ArcGIS、SuperMap等)的操作,也可以利用G语言进行复杂的地理计算。因此,在地理计算模式下,GIS的应用就从GIS平台的编程语言跨入了自然语言级应用。
图1示出了地理计算系统的处理流程示意图,如图1所示,该技术的核心思想为通过对常规的文本文档处理环境下,由业务人员对地理分析模型采用地理计算语言(即G语言)进行规范化描述,生成计算机可以理解的智能文档,然后由智能文档驱动后台的GIS系统(例如ArcGIS、QGIS等)即可完成地理计算。
在地理分析过程中,由于统计图可以使复杂的统计数字简单化、通俗化、形象化。因此,统计图也是除专题地图和统计表之外常见地理模型分析的成果表达形式。相关技术中,现在的统计图制作方法通常是通过现成的软件(如MS Excel)或编程(如Python)来生成,这些方法生成统计图更加费时、费力,且通过编程方法制作统计图对用户的编程能力要求较高,增加了用户的使用负担,降低了制作统计图的效率。
有鉴于此,本申请实施例提出一种基于地理计算语言的统计图制作方法,图2示出了一种基于地理计算语言的统计图制作方法流程图,该方法应用于地理计算系统(如DAS系统等),如图2所示,包括如下步骤:
S101、对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数。
对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表。
S102、根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表。
S103、将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件。
将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于生成统计图,或,所述统计图输出表格文件用于更新已有统计图的数据源。
具体在实施步骤S101之前,事先接收用户输入的用于制作统计图的智能文档,该智能文档包含输入信息、属于统计图制作关键词的控制参数以及与输入信息对应的输出栏。
其中,用于统计图制作的输入信息可以为图层(shp格式)或数据表(csv格式或xls格式),该输入信息提供了用于制作统计图的源数据。输出栏包含了用于存储内存数据表的输出表格文件和表格序号,输出表格文件包括统计图和数据表(csv格式),该输出表格文件的名称为用户设置,用户可以按照实际需求在输出表格文件的名称中标记浮动统计图标识符,该浮动统计图标识符的有无用于确定后续进行统计图制作时所制作的统计图类型和制作流程。
属于统计图制作关键词的控制参数为用户基于地理计算系统的适配于G语言编辑对于统计图制作的控制需求,因此该控制参数是用户对统计图制作的需求的G语言呈现,对于用户而言可以直接在常规文本文档中进行编辑,降低了用户的使用负担,使得没有编程基础的用户也可以轻松进行编辑,经过地理计算系统内的G语言解释器对该控制参数进行解析后,可以获取控制参数的含义,并由地理计算系统执行对应的操作生成符合需求的统计图。
在获取得到上述智能文档后,执行步骤S101,具体而言,地理计算系统中的G语言解释器获取的智能文档中属于统计图制作关键词的控制参数,该控制参数为由多种控制子参数组成的组合表达式,G语言解释器对属于统计图制作关键词的控制参数进行解析,得到控制参数的组合表达式中包含的多个控制子参数,对于统计图制作关键词的控制参数,其中的控制子参数至少包括输出字段列表和输出字段列表,此外,控制子参数还可以包含其他可选控制子参数,可选控制子参数包含排序规则、后处理方式、输出列别名及附加项列表。
G语言解释器按照预设的属于统计图制作关键词的控制子参数的所有标识,与控制参数的组合表达式中由分隔符隔开的每个部分进行标识匹配和顺序匹配,确定每个部分对应的控制子参数类型。例如,G语言解释器调用属于统计图制作关键词的排序规则标识,其中预先设定排序规则的控制子参数处于输出对象列表之后,由反序标识“-”引领排序方式标识(如N数值排序或C字符排序)和排序字段序号,G语言解释器对智能文档中的控制参数的表达式进行解析,在分析得到输出对象列表后的部分为由“-”引领N和序号,则可确定该部分为排序规则的控制子参数。
至此得到了用户输入的智能文档中属于统计图制作关键词的控制参数分析得到的多个控制子参数,该控制子参数至少包括输出字段列表和输出对象列表。随后执行步骤S102,根据控制子参数中的输出字段列表和输出对象列表对输入信息进行处理。
具体实施步骤S102 时,G语言解释器会根据控制子参数的类型,先搜索内置的有关统计图制作关键词的函数用于后续数据处理和统计图制作,该内置的有关统计图制作关键词的函数包括结构化解析函数、对象解析函数、统计图绘制函数等。
首先基于输出字段列表进行数据处理,提取所述控制子参数中的所述输出字段列表,判断所述输出字段列表的表达式形式。具体而言,输出字段列表用于从输入信息的输入表中筛选需要输出的字段,该输出字段列表的表达式由唯一值字段和输出字段组成,例如输出字段列表的表达式可以为“KeyName#Field1# Field2#...#FieldN”,式中“KeyName”为输入信息的数据表中的唯一值字段(第一字段),“#Field1# Field2#...#FieldN”为输入信息中数据表需要输出的字段。通过输出字段列表的表达式中输出字段的形式,判断输出字段列表的表达式形式。如果输出字段列表的表达式中输出字段的形式为结构化表达,则说明该输出字段列表的表达式为结构化字段表达式;如果输出字段列表的表达式中输出字段的形式为基本表达,则说明该输出字段列表的表达式为基本字段表达式。例如,若输出字段列表的表达式为“Name#A[5:1]”,“Name”为唯一值字段,“A[5:1]”为输出字段,该输出字段采用的表达形式即为结构表达,则将该输出字段列表的表达式确定为结构化字段列表表达式进行后续操作。
若所述输出字段列表的表达式为结构化字段列表表达式,说明该输出字段列表采用了结构化表达降低用户的输出难度,而地理计算系统无法直接识别和使用,因此需要调用内置的关于统计图制作关键词的结构化解析函数,按照结构化解析函数对所述结构化字段列表表达式进行解析,得到基本输出字段列表作为数据字段列表。例如,当确定该结构化字段列表表达式为“Name#A[5:1]”时,调用结构化解析函数,对其中的结构化输出字段“A[5:1]”进行解析,将其转变为对应的基本输出字段“A5#A4#A3#A2#A1”,与唯一值字段进行组合输出对应的基本输出字段列表“Name#A5#A4#A3#A2#A1”。
若所述输出字段列表的表达式为基本字段列表表达式,则说明该输出字段列表可以直接被地理计算系统识别,因此直接将所述基本字段列表表达式作为数据字段列表即可。
在得到了数据字段列表之后,根据解析得到的数据字段列表的唯一值字段和基本输出字段,在所述智能文档中的输入信息中筛选到与该唯一值字段和基本输出字段对应的字段信息作为需要输出的字段,以这些需要输出的字段为数据源,构建初始内存数据表。
随后再基于输出对象列表进行处理,提取所述控制子参数中的所述输出对象列表,按照关于统计图制作关键词的对象解析函数对所述输出对象列表进行解析,得到输出对象列表控制信息。具体而言,输出对象列表用于从初始内存数据表中筛选用于统计图制作的数据记录,输出对象列表的表达式解析得到的输出对象列表控制信息存在三种情况:无信息标识、基本输出对象列和结构化对象列表表达式,根据不同的输出对象列表控制信息,对初始内存数据表进行相应的操作,具体如下:
若所述输出对象列表控制信息为无信息标识,表明不对初始内存数据表进行数据筛选,直接将所述初始内存数据表作为所述内存数据表,例如,对象列表控制信息为“*”,则确定该对象列表控制信息为无信息标识,不再对初始内存数据表进行筛选,默认直接将初始内存输出表中的所有数据记录作为内存数据表。
若所述输出对象列表信息为基本输出对象列,则按照基本输出对象列中罗列的输出记录,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表,所述基本数据对象列对应的数据记录为所述基本数据对象列在所述初始内存数据表中对应列的数据。例如,对象列表控制信息为“SD2015#SD2016#SD2017”,则确定该对象列表控制信息为基本输出对象列,分别按照“SD2015”、“SD2016”、“SD2017”对初始内存数据表中对应的数据记录进行筛选作为内存数据表。
若所述输出对象列表信息为结构化对象列表表达式,说明该输出对象列表信息无法直接被识别和使用,需要先按照关于统计图制作关键词的结构化解析函数对所述结构化对象列表表达式进行解析,将结构化对象列表表达式先进行转换得到对应的基本输出对象列,随后筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表,例如,对象列表控制信息为“SD[2015:2107]”,确定该对象列表控制信息采用了结构化表达,调用结构化解析函数对该结构化表达进行解析,得到对应的基本数据对象列“SD2015#SD2016#SD2017”,再分别按照“SD2015”、“SD2016”、“SD2017”对初始内存数据表中对应的数据记录进行筛选作为内存数据表。
在根据输出对象列表对初始内存数据表进行了相应的筛选得到了内存数据表后,完成了根据控制子参数中的输出字段列表和输出对象列表对输入信息的处理,如果控制子参数中还包括其他可选控制子参数时,再按照可选控制子参数进一步对得到的内存数据表进行进一步的处理。其中,可选控制子参数包括排序规则、后处理方式和输出列别名列表及附加项列表。
当所述可选控制子参数包括排序规则时,调用排序规则解析函数对所述排序规则进行解析得到排序规则信息,排序规则信息包括反序标识、排序方式以及排序字段序号。反序标识用于控制对排序规则信息中指定的排序字段序号对应的字段按照正向排序或反向排序进行排列,例如,设定反序标识为“-”,若排序规则信息中存在反序标识“-”,表明对排序字段序号对应的字段进行反向排序,若排序规则信息中没有反序标识“-”,表明对排序字段序号对应的字段进行正向排序;排序方式用于控制对排序规则信息中指定的排序字段序号对应的字段的排序基准为按照数值排序或按照字符排序,例如,排序方式为“N”表示控制对排序规则信息中指定的排序字段序号对应的字段按照数值排序,排序方式为“C”表示控制对排序规则信息中指定的排序字段序号对应的字段按照字符排序。最后,按照所述排序规则信息中的排序顺序、排序基准对所述内存数据表中排序字段序号对应的字段进行排序。
当所述可选控制子参数包括后处理方式时,调用后处理解析函数对后处理方式进行解析,并按照所述后处理方式对所述内存数据表进行处理,其中,所述后处理方式包括:折叠,用于将内存数据表中一行记录根据输出字段列表拆分为多行数据,例如,用后处理标识符M表示后处理方式为折叠;表转置,用于将内存数据表进行转置处理,例如,用后处理标识符T表示后处理方式为表转置;归一化,用于对内存数据表进行归一化处理,例如,用后处理标识符S表示后处理方式为归一化;定值补列,用于为内存数据表增加一列,该列的值为给定值与指定列的差值,例如,用后处理标识符D*表示后处理方式为定值补列,*为给定值;名称排名,用于将内存数据表按照各列的值进行排序,并增加与排名对应的名称列,例如,用后处理标识符N表示后处理方式为名称排名;统计图制作,用于根据处理后的内存数据表生成统计图或更新已有的统计图,例如,用后处理标识符C表示后处理方式为统计图制作。
当所述可选控制子参数包括输出列别名列表及附加项列表时,先提取其中的输出列别名列表,用所述输出列别名列表中的数据替代所述内存数据表中的列名称行的数据,例如,输出列别名列表的表达式为“列1别名, 列2别名,…,列N别名”,以该列别名替代原内存数据表中对应列的列名称。
随后,提取附加项列表,附加项列表用于对内存数据表按照需求添加固定值列,首先调用附加项列表解析函数对所述附加项列表进行解析,得到所述附加项列表信息,所述附加项列表信息包括一个或多个附加列名称和每个附加列名称对应的固定量,例如,附加项列表信息可以为“附加列1名称#固定量,附加列2名称#固定量,… ,附加列M名称#固定量”,其中每个附加列可以对应不同类型的固定量,需要根据固定量的表达形式对固定量的类型进行判断,并按照不同的固定量形式对相应的附加列进行添加和赋值,具体而言,固定量包括平均值、固定值以及区间范围三种表达形式,根据固定量的表达形式中的标识符,确定固定量的类型,进行如下操作;
若一个附加列名称对应的固定量包含平均值标识符时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量对应的所述内存数据表中的列的平均值,该固定量应用于统计图中表示平均水平线,例如,附加项列表信息为“附加列1名称#MN”,解析得到固定量为“MN”,其中M为平均值标识符,N为输出列的序号,则确定该附加项为平均值附加项,按照该附加项列表信息,在内存数据表中添加一个附加值列,其名称为附加列1名称,其值为输出列N的平均值。
若一个附加列名称对应的固定量为数值时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量的数值,该固定量用于在统计图中表示设定值水平线,例如,附加项列表信息为“附加列2名称#浮点数”,解析得到固定量为“浮点数”,则确定该附加项为数值附加项,按照该附加项列表信息,在内存数据表中添加一个附加值列,其名称为附加列2名称,其值为该具体的浮点数的值。
若一个附加列名称对应的固定量为区间范围时,在所述内存数据表中获取所述固定量的区间范围的上限值和下限值,在所述内存数据表中添加第一附加值列和第二附加值列,所述第一附加值列的列名称为所述附加列名称中的第一附加列名称,所述第一附加值列的值为所述上限值;所述第二附加值列的列名称为所述附加列名称中的第二附加列名称,所述第二附加值列的值为所述下限值。该固定量用于在统计图中表示取值范围矩形,例如,例如,附加项列表信息为“附加列3名称-附加列4名称#V1-V2”,解析得到固定量为“V1-V2”,则确定该附加项为区间范围附加项,按照该附加项列表信息,在内存数据表中添加两个附加值列,其中第一附加值列的名称为附加列3名称,其值为上限值V2,第二附加值列的名称为附加列4名称,其值为下限值V1。
至此完成了依据控制子参数(包括输出字段列表、输出对象列表和多个可选控制子参数)生成用于制作统计图的内存数据表。随后执行步骤S103,将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件。该统计图输出表格文件用于制作统计图,或更新已有的统计图。
首先,需要确定所要制作的统计图为普通统计图还是浮动统计图,浮动统计图是指在一个统计图软件的统计图上叠加另一个统计图。具体而言,获取智能文档中输出栏的输出表格文件的名称,如果该输出表格文件的名称中包含浮动统计图标识符,则说明需要更新浮动统计图,在所述智能文档中的输入信息中搜索数据源包含浮动统计图标识符的浮动统计图,根据所述统计图输出表格文件对所述数据源包含浮动统计图标识符的浮动统计图进行数据更新。例如,设定浮动统计图标识符为“FTable”,如果该输出表格文件的名称为“Ftable1.csv”,则确定需要对原有的浮动统计图进行更新,此时在输入信息中搜索数据源带有“FTable”的浮动统计图,根据统计图输出表格文件中的内存数据表的数据,对该带有“FTable”的浮动统计图的数据源进行更新,完成浮动统计图的制作和更新。
若所述统计图输出表格文件的名称不包含浮动统计图标识符,说明需要制作或更新普通统计图。首先,获取智能文档中输出栏中的输出表格序号,按照该输出表格信号在智能文档中搜索与该输出表格信号对应的输入表格对象,此时需要判断该输入表格对象的第一单元中是否存在统计图,如果存在统计图,则直接根据所述统计图输出表格文件对所述智能文档的输出栏中对应的表格对象中第一单元的统计图的数据源进行数据更新,完成对于普通统计图的更新;如果该输出表格信号对应的输入表格对象的第一单元中不存在统计图,则需要调用统计图绘制函数根据所述统计图输出表格文件自动绘制缺省样式的统计图,将该统计图插入该输出表格信号对应的输入表格对象的第一单元中。
此外,若按照该输出表格信号在智能文档中搜索与该输出表格信号对应的输入表格对象中存在多个表格单元,且每个表格单元中均存在统计图时,表明需要更新系列统计图,此时根据所述统计图输出表格文件对所述智能文档的输出栏中对应的表格对象中每个表格单元中的统计图的数据源进行逐个的数据更新,完成对于系列统计图的更新。
本申请提供了一种基于地理计算语言的统计图制作方法,包括:对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表;根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表;将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于制作基本统计图、浮动统计图和系列统计图。本申请提供的方法可以使普通无编程基础的用户基于统计图制作关键词,在常规文本文档处理环境对统计图制作的控制参数进行编写,降低了用户的使用负担,提升了制作复杂统计图的效率;同时该方法作为地理计算语言中分析成果表达的重要组成部分,与其他的地理计算方法配合,可以实现地理分析过程的一体化表达。
为使本领域技术人员更加清楚地理解本申请,现通过以下实施例对本申请所述的基于地理计算语言的统计图制作方法进行详细说明。
实施例一
表1示出了普通统计图制作控制示例表,如表1所示,输入信息为【统计表2003A】,关于统计图制作关键词(KX_Table)的控制参数的表达式为“NAME#A1#R1# A2#R2# A3#R3#A4#R4# A5#R5|陈家弄#刘家弄#富强上弄#彭家弄#葡萄架弄#其它#合计|C,传统建筑,传统建筑R,现代建筑,现代建筑R,空地,空地R,绿地,绿地R,道路,道路R”,G语言解释器对该控制参数进行分析,按照控制参数的预设顺序“输出字段列表|对象列表,{排序规则}|{后处理方式},{输出列别名及附加项列表}”确定多个控制子参数的表达式的部分。其中,“NAME#A1#R1#A2#R2#A3#R3#A4#R4#A5#R5”为输出字段列表,“NAME”为唯一值字段,“A1#R1#A2#R2#A3#R3#A4#R4#A5#R5”为输出字段,确定输出字段为基本输出字段,则该输出字段列表的表达式为基本字段列表表达式,在智能文档的输入信息【统计表2003A】中筛选与唯一值字段“NAME”和基本输出字段“A1#R1#A2#R2#A3#R3#A4#R4#A5#R5”对应的字段信息作为需要输出的字段,以这些需要输出的字段为数据源,构建初始内存数据表。
随后确定控制参数中“陈家弄#刘家弄#富强上弄#彭家弄#葡萄架弄#其它#合计”为输出对象列表,该输出对象列表的输出对象列表信息为基本输出对象列,按照“陈家弄#刘家弄#富强上弄#彭家弄#葡萄架弄#其它#合计”筛选出初始内存数据表对应的数据记录,作为内存数据表。
后续的控制参数的内容可以确定为可选控制子参数的表达式,由于不存在排序规则(如反序标识和排序方式的形式),则确定该可选控制子参数为后处理方式和输出列别名列表,不存在固定量的形式,因此不存在附加项列表。确定后处理标识符为“C”,表明后处理方式为进行统计图制作,“传统建筑,传统建筑R,现代建筑,现代建筑R,空地,空地R,绿地,绿地R,道路,道路R”为列别名,用“传统建筑,传统建筑R,现代建筑,现代建筑R,空地,空地R,绿地,绿地R,道路,道路R”替代内存数据表中的列名称行的数据。将完成上述数据处理的内存数据表输入智能文档输出栏中的输出表格文件“2003年用地统计图Table1.csv”中。
最后,完成统计图的制作或更新,首先确定输出表格文件的名称中不含浮动统计图标识符“FTable”,说明需要制作或更新普通统计图,获取输出栏中的输出表格序号“3”,在智能文档中搜索表格序号为“3”的输入表格对象,确定该输入表格对象的第一单元中不存在统计图,调用统计图绘制函数根据所述统计图输出表格文件自动绘制缺省样式的统计图,将该统计图插入该输出表格信号对应的输入表格对象的第一单元中。图3示出了实施例一输出的普通统计图,如图3所示,所绘制的统计图的输出对象(横轴)对应的为输出对象列表指定的数据“陈家弄、刘家弄、富强上弄、彭家弄和葡萄架弄”,且统计图图例为输出列别名列表对应的输出列别名“传统建筑,传统建筑R,现代建筑,现代建筑R,空地,空地R,绿地,绿地R,道路,道路R”。说明按照本申请实施例的方法可以准确的自动制作得到用户所需的统计图。
表1 普通统计图制作控制示例表
实施例二
表2示出了浮动统计图制作控制示例表,如表2所示,输入信息为【统计数据】,关于统计图制作关键词(KX_Table)的控制参数的表达式为“Name#A[5:1]|合计|C,5级区,4级区,3级区,2级区,1级区”,G语言解释器对该控制参数进行分析,按照控制参数的预设顺序“输出字段列表|对象列表,{排序规则}|{后处理方式},{输出列别名及附加项列表}”确定多个控制子参数的表达式的部分。其中,“Name#A[5:1]”为输出字段列表,“Name”为唯一值字段,“A[5:1]”为输出字段,确定输出字段为结构化输出字段,调用结构化解析函数,对其中的结构化输出字段“#A[5:1]”进行解析,将其转变为对应的基本输出字段“A5#A4#A3#A2#A1”,与唯一值字段进行组合输出对应的基本输出字段列表“Name#A5#A4#A3#A2#A1”,在智能文档的输入信息【统计数据】中筛选与唯一值字段“Name”和基本输出字段“A5#A4#A3#A2#A1”对应的字段信息作为需要输出的字段,以这些需要输出的字段为数据源,构建初始内存数据表。
随后确定控制参数中“合计”为输出对象列表,该输出对象列表的输出对象列表信息为基本输出对象列,按照“合计”筛选出初始内存数据表对应的数据记录,作为内存数据表。
后续的控制参数的内容可以确定为可选控制子参数的表达式,由于不存在排序规则(如反序标识和排序方式的形式),则确定该可选控制子参数为后处理方式和输出列别名列表,又因为不存在固定量的形式,因此不存在附加项列表。确定后处理标识符为“C”,表明后处理方式为进行统计图制作,“5级区,4级区,3级区,2级区,1级区”为列别名,用“5级区,4级区,3级区,2级区,1级区”替代内存数据表中的列名称行的数据。将完成上述数据处理的内存数据表输入智能文档输出栏中的输出表格文件“【浮动统计图】Ftable1.csv”中。
最后,完成统计图的制作或更新,首先确定输出表格文件的名称中包含浮动统计图标识符“FTable”,说明需要对原有的浮动统计图进行更新,此时调用统计图绘制函数根据所述统计图输出表格文件自动绘制统计图,然后在智能文档中搜索数据源带有“FTable”的浮动统计图,根据统计图输出表格文件中的内存数据表的数据,对该带有“FTable”的浮动统计图的数据源进行更新,完成浮动统计图的制作和更新。
图4示出了实施例二输出的浮动统计图,如图4所示,所绘制的统计图的图例为输出列别名列表对应的输出列别名“5级区,4级区,3级区,2级区,1级区”。说明按照本申请实施例的方法可以准确的自动制作得到用户所需的统计图。将图4的浮动统计图拷贝至另一统计图上得到图5,图5示出了本申请实施例二输出的浮动统计图的自动更新示意图,如图5所示,通过将图4的浮动统计图拷贝至图5的条形统计图上,并将布局选定为“浮于文字上方”,可以实现将图4的统计图浮于另一统计图上。此时再次输入智能文档生成新的输出表格文件时,可以通过识别浮动统计图标识符“FTable”在智能文档中搜索到图5的浮动统计图(饼图),并根据该新的输出表格文件中的内存数据表中的数据,完成对该带有“FTable”的浮动统计图的数据源进行更新,完成图5中浮动统计图(饼图)的数据更新。
表2 浮动统计图制作控制示例表
实施例三
表3示出了系列统计图制作控制示例表,如表3所示,输入信息为【统计数据】,关于统计图制作关键词(KX_Table)的控制参数的表达式为“Name# A[5:1]|*,C1|C,5级区,4级区,3级区,2级区,1级区”,G语言解释器对该控制参数进行分析,按照控制参数的预设顺序“输出字段列表|对象列表,{排序规则}|{后处理方式},{输出列别名及附加项列表}”确定多个控制子参数的表达式的部分。其中,“Name#A[5:1]”为输出字段列表,“Name”为唯一值字段,“A[5:1]”为输出字段,确定输出字段为结构化输出字段,调用结构化解析函数,对其中的结构化输出字段“#A[5:1]”进行解析,将其转变为对应的基本输出字段“A5#A4#A3#A2#A1”,与唯一值字段进行组合输出对应的基本输出字段列表“Name#A5#A4#A3#A2#A1”,在智能文档的输入信息【统计数据】中筛选与唯一值字段“Name”和基本输出字段“A5#A4#A3#A2#A1”对应的字段信息作为需要输出的字段,以这些需要输出的字段为数据源,构建初始内存数据表。
随后确定控制参数中“*”为输出对象列表,该输出对象列表的输出对象列表信息为无信息标识,则不对初始内存数据表进行数据筛选,直接将所述初始内存数据表作为所述内存数据表。
后续的控制参数的内容可以确定为可选控制子参数的表达式,确定该可选控制子参数为排序规则(存在排序方式的形式)、后处理方式和输出列别名列表,因为不存在固定量的形式,因此不存在附加项列表。确定排序规则为“C1”,无反序标识,则以字符为基准对输出字段列表中序号为1的字段进行正向排序。后处理标识符为“C”,表明后处理方式为进行统计图制作,“5级区,4级区,3级区,2级区,1级区”为列别名,用“5级区,4级区,3级区,2级区,1级区”替代内存数据表中的列名称行的数据。将完成上述数据处理的内存数据表输入智能文档输出栏中的输出表格文件“【浮动统计图】Qtable1.csv”中。
最后,完成统计图的制作或更新,最后,完成统计图的制作或更新,首先确定输出表格文件的名称中不含浮动统计图标识符“FTable”,说明需要制作或更新普通统计图,获取输出栏中的输出表格序号“7”,在智能文档中搜索表格序号为“7”的输入表格对象,确定该输入表格对象的第一单元中存在统计图,且该输入表格对象中存在多个表格单元,且每个表格单元中均存在统计图,确定需要更新系列统计图。此时根据所述统计图输出表格文件对所述智能文档的输出栏中对应的表格对象中每个表格单元中的统计图的数据源进行逐个的数据更新,完成对于系列统计图的更新。
图6示出了实施例三输出的一个表格单元的普通统计图,如图6所示,按照所绘制的统计图的图例为输出列别名列表对应的输出列别名“5级区,4级区,3级区,2级区,1级区”。说明按照本申请实施例的方法可以准确的自动制作得到用户所需的统计图。将所绘制的普通统计图(图6)以嵌入模式插入文本文档的指定位置,并修改统计图的样式,得到图7a和图7b,图7a示出了本申请实施例三输出的文档指定位置的一个表格单元的第一形式普通统计图,图7b示出了本申请实施例三输出的文档指定位置的一个表格单元的第二形式普通统计图。由于表格序号为“7”的输入表格对象中存在多个表格单元,则在每个表格单元中根据输出表格文件“【浮动统计图】Qtable1.csv”绘制普通统计图,这多个表格单元中的普通统计图组成系列统计图,此时再次输入智能文档生成新的统计图输出表格文件时,可以根据所述新的统计图输出表格文件对所述智能文档的输出栏中对应的表格对象中每个表格单元中的统计图的数据源进行逐个的数据更新,完成对于系列统计图的更新。
表3 系列统计图制作控制示例表
基于同一发明构思,本申请实施例公开一种基于地理计算语言的统计图制作装置,应用于地理计算系统,图8示出了一种基于地理计算语言的统计图制作装置示意图,如图8所示,所述装置包括:
解析模块,用于对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表;
构建模块,用于根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表;
输出模块,用于将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于生成统计图,或,所述统计图输出表格文件用于更新已有统计图的数据源。
其中,所述构建模块,包括:
输出字段提取子模块,用于提取所述控制子参数中的所述输出字段列表,判断所述输出字段列表的表达式形式;
结构化解析子模块,用于若所述输出字段列表的表达式为结构化字段列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化字段列表表达式进行解析,得到基本输出字段列表作为数据字段列表;
基本解析子模块,用于若所述输出字段列表的表达式为基本字段列表表达式,将所述基本字段列表表达式作为数据字段列表;
构建子模块,用于根据所述智能文档中的输入信息和所述数据字段列表,构建初始内存数据表。
所述构建模块,还包括:
输出对象解析子模块,用于提取所述控制子参数中的所述输出对象列表,按照关于统计图制作关键词的对象解析函数对所述输出对象列表进行解析,得到输出对象列表控制信息;
筛选子模块,用于按照所述输出对象列表控制信息筛选出所述初始内存数据表中对应的数据记录,作为所述内存数据表。
在得到统计图输出表格文件之后,所述装置,包括:
浮动模块,用于若所述统计图输出表格文件的名称包含浮动统计图标识符,在所述智能文档中搜索数据源包含浮动统计图标识符的浮动统计图,根据所述统计图输出表格文件对所述数据源包含浮动统计图标识符的浮动统计图进行数据更新;
绘制模块,用于若所述统计图输出表格文件的名称不包含浮动统计图标识符,调用统计图绘制函数根据所述统计图输出表格文件绘制统计图,或,根据所述统计图输出表格文件对所述智能文档中对应的表格对象中的统计图的数据源进行数据更新。
当所述控制子参数包括可选控制子参数时,所述装置,还包括:
排序模块,用于当所述可选控制子参数包括排序规则时,对所述排序规则进行解析得到排序规则信息,按照所述排序规则信息对所述内存数据表进行排序,其中,所述排序规则信息包括反序标识、排序方式以及排序字段序号;
后处理模块,用于当所述可选控制子参数包括后处理方式时,按照所述后处理方式对所述内存数据表进行处理,其中,所述后处理方式包括折叠、表转置、归一化、定值补列、名称排名以及统计图制作;
附加列模块,用于当所述可选控制子参数包括输出列别名列表及附加项列表时,用所述输出列别名列表中的数据替代所述内存数据表中的列名称行的数据;对所述附加项列表进行解析得到附加项列表信息,根据所述附加项列表信息对所述内存数据表进行处理。
其中,所述筛选子模块,包括:
第一筛选子单元,用于若所述输出对象列表控制信息为无信息标识,将所述初始内存数据表作为所述内存数据表;
第二筛选子单元,用于若所述输出对象列表信息为基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表,所述基本数据对象列对应的数据记录为所述基本数据对象列在所述初始内存数据表中对应列的数据;
第三筛选子单元,用于若所述输出对象列表信息为结构化对象列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化对象列表表达式进行解析,得到基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表。
其中,所述附加列模块,包括:
附加项解析子模块,用于按照附加项列表解析函数对所述附加项列表进行解析,得到所述附加项列表信息,所述附加项列表信息包括一个或多个附加列名称和每个附加列名称对应的固定量;
平均附加项子模块,用于若一个附加列名称对应的固定量包含平均值标识符时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量对应的所述内存数据表中的列的平均值;
固定值附加项子模块,用于若一个附加列名称对应的固定量为数值时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量的数值;
区间附加项子模块,用于若一个附加列名称对应的固定量为区间范围时,在所述内存数据表中获取所述固定量的区间范围的上限值和下限值,在所述内存数据表中添加第一附加值列和第二附加值列,所述第一附加值列的列名称为所述附加列名称中的第一附加列名称,所述第一附加值列的值为所述上限值;所述第二附加值列的列名称为所述附加列名称中的第二附加列名称,所述第二附加值列的值为所述下限值。
基于同一发明构思,本申请实施例公开一种电子设备,图9示出了本申请实施例提出的电子设备的示意图,如图9所示,电子设备100包括:存储器110和处理器120,存储器110与处理器120之间通过总线通信连接,存储器110中存储有计算机程序,该计算机程序可在处理器120上运行,以实现本申请实施例公开的基于地理计算语言的统计图制作方法中的步骤。
基于同一发明构思,本申请实施例公开一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行时实现本申请实施例公开的基于地理计算语言的统计图制作方法中的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本发明实施例是参照根据本发明实施例的方法、装置、电子设备和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的基于地理计算语言的统计图制作方法、装置、设备及介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于地理计算语言的统计图制作方法,应用于地理计算系统,其特征在于,包括:
对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表;
根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表;
将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于生成统计图,或,所述统计图输出表格文件用于更新已有统计图的数据源。
2.根据权利要求1所述的基于地理计算语言的统计图制作方法,其特征在于,根据所述输出字段列表构建初始内存数据表,包括:
提取所述控制子参数中的所述输出字段列表,判断所述输出字段列表的表达式形式;
若所述输出字段列表的表达式为结构化字段列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化字段列表表达式进行解析,得到基本输出字段列表作为数据字段列表;
若所述输出字段列表的表达式为基本字段列表表达式,将所述基本字段列表表达式作为数据字段列表;
根据所述智能文档中的输入信息和所述数据字段列表,构建初始内存数据表。
3.根据权利要求1所述的基于地理计算语言的统计图制作方法,其特征在于,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表,包括:
提取所述控制子参数中的所述输出对象列表,按照关于统计图制作关键词的对象解析函数对所述输出对象列表进行解析,得到输出对象列表控制信息;
按照所述输出对象列表控制信息筛选出所述初始内存数据表中对应的数据记录,作为所述内存数据表。
4.根据权利要求1所述的基于地理计算语言的统计图制作方法,其特征在于,在得到统计图输出表格文件之后,包括:
若所述统计图输出表格文件的名称包含浮动统计图标识符,在所述智能文档中搜索数据源包含浮动统计图标识符的浮动统计图,根据所述统计图输出表格文件对所述数据源包含浮动统计图标识符的浮动统计图进行数据更新;
若所述统计图输出表格文件的名称不包含浮动统计图标识符,调用统计图绘制函数根据所述统计图输出表格文件绘制统计图,或,根据所述统计图输出表格文件对所述智能文档中对应的表格对象中的统计图的数据源进行数据更新。
5.根据权利要求1所述的基于地理计算语言的统计图制作方法,其特征在于,当所述控制子参数包括可选控制子参数时,按照所述可选控制子参数对所述内存数据表进行处理,包括:
当所述可选控制子参数包括排序规则时,对所述排序规则进行解析得到排序规则信息,按照所述排序规则信息对所述内存数据表进行排序,其中,所述排序规则信息包括反序标识、排序方式以及排序字段序号;
当所述可选控制子参数包括后处理方式时,按照所述后处理方式对所述内存数据表进行处理,其中,所述后处理方式包括折叠、表转置、归一化、定值补列、名称排名以及统计图制作;
当所述可选控制子参数包括输出列别名列表及附加项列表时,用所述输出列别名列表中的数据替代所述内存数据表中的列名称行的数据;对所述附加项列表进行解析得到附加项列表信息,根据所述附加项列表信息对所述内存数据表进行处理。
6.根据权利要求3所述的基于地理计算语言的统计图制作方法,其特征在于,按照所述输出对象列表控制信息筛选出所述初始内存数据表中对应的数据记录,作为所述内存数据表,包括:
若所述输出对象列表控制信息为无信息标识,将所述初始内存数据表作为所述内存数据表;
若所述输出对象列表信息为基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表,所述基本数据对象列对应的数据记录为所述基本数据对象列在所述初始内存数据表中对应列的数据;
若所述输出对象列表信息为结构化对象列表表达式,按照关于统计图制作关键词的结构化解析函数对所述结构化对象列表表达式进行解析,得到基本输出对象列,筛选出所述初始内存数据表中所述基本数据对象列对应的数据记录,作为所述内存数据表。
7.根据权利要求5所述的基于地理计算语言的统计图制作方法,其特征在于,对所述附加项列表进行解析得到附加项列表信息,根据所述附加项列表信息对所述内存数据表进行处理,包括:
按照附加项列表解析函数对所述附加项列表进行解析,得到所述附加项列表信息,所述附加项列表信息包括一个或多个附加列名称和每个附加列名称对应的固定量;
若一个附加列名称对应的固定量包含平均值标识符时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量对应的所述内存数据表中的列的平均值;
若一个附加列名称对应的固定量为数值时,在所述内存数据表添加一个附加值列,所述附加值列的列名称为所述附加列名称,所述附加值列的值为所述固定量的数值;
若一个附加列名称对应的固定量为区间范围时,在所述内存数据表中获取所述固定量的区间范围的上限值和下限值,在所述内存数据表中添加第一附加值列和第二附加值列,所述第一附加值列的列名称为所述附加列名称中的第一附加列名称,所述第一附加值列的值为所述上限值;所述第二附加值列的列名称为所述附加列名称中的第二附加列名称,所述第二附加值列的值为所述下限值。
8.一种基于地理计算语言的统计图制作装置,应用于地理计算系统,其特征在于,包括:
解析模块,用于对获取的智能文档中属于统计图制作关键词的控制参数进行解析,得到控制子参数,所述控制子参数包括输出字段列表和输出对象列表;
构建模块,用于根据所述输出字段列表构建初始内存数据表,按照所述输出对象列表对所述初始内存数据表进行筛选,得到内存数据表;
输出模块,用于将所述内存数据表输出至所述智能文档的输出栏对应的输出表格文件中,得到统计图输出表格文件,所述统计图输出表格文件用于生成统计图,或,所述统计图输出表格文件用于更新已有统计图的数据源。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现权利要求1-7中任一所述的基于地理计算语言的统计图制作方法中的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1-7中任一所述的基于地理计算语言的统计图制作方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515731.0A CN115544985B (zh) | 2022-11-30 | 2022-11-30 | 基于地理计算语言的统计图制作方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211515731.0A CN115544985B (zh) | 2022-11-30 | 2022-11-30 | 基于地理计算语言的统计图制作方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115544985A true CN115544985A (zh) | 2022-12-30 |
CN115544985B CN115544985B (zh) | 2023-03-21 |
Family
ID=84722200
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211515731.0A Active CN115544985B (zh) | 2022-11-30 | 2022-11-30 | 基于地理计算语言的统计图制作方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115544985B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107085602A (zh) * | 2017-03-31 | 2017-08-22 | 北京知聚科技有限公司 | 统计图的生成方法与计算机存储介质 |
US20180113887A1 (en) * | 2016-10-20 | 2018-04-26 | Microsoft Technology Licensing, Llc | Generating tables based upon data extracted from tree-structured documents |
CN110334169A (zh) * | 2019-07-01 | 2019-10-15 | 清华大学 | 一种新型地理计算模式 |
CN114332300A (zh) * | 2022-01-25 | 2022-04-12 | 北京环境特性研究所 | 图表统计联动展示方法、装置、设备及存储介质 |
CN115061721A (zh) * | 2022-07-12 | 2022-09-16 | 平安科技(深圳)有限公司 | 一种报表生成方法、装置、计算机设备及存储介质 |
-
2022
- 2022-11-30 CN CN202211515731.0A patent/CN115544985B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180113887A1 (en) * | 2016-10-20 | 2018-04-26 | Microsoft Technology Licensing, Llc | Generating tables based upon data extracted from tree-structured documents |
CN107085602A (zh) * | 2017-03-31 | 2017-08-22 | 北京知聚科技有限公司 | 统计图的生成方法与计算机存储介质 |
CN110334169A (zh) * | 2019-07-01 | 2019-10-15 | 清华大学 | 一种新型地理计算模式 |
CN114332300A (zh) * | 2022-01-25 | 2022-04-12 | 北京环境特性研究所 | 图表统计联动展示方法、装置、设备及存储介质 |
CN115061721A (zh) * | 2022-07-12 | 2022-09-16 | 平安科技(深圳)有限公司 | 一种报表生成方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115544985B (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110706314B (zh) | 元素布局方法、装置、电子设备及可读存储介质 | |
CN109063221A (zh) | 基于混合策略的查询意图识别方法和装置 | |
CN108763171A (zh) | 一种基于格式模板的文档自动化生成方法 | |
CN112181416A (zh) | 一种从视觉稿直接生成ui代码的方法及装置 | |
US20080250055A1 (en) | Method and Device for Coding a Hierarchized Document | |
CN116028653B (zh) | 一种可视化配置多源异构数据构建图谱的方法及系统 | |
CN104317839A (zh) | 生成报表模板的方法和装置 | |
CN109933311A (zh) | 一种信息系统创建方法及相关装置 | |
CN109189390B (zh) | 自动生成布局文件的方法、存储介质 | |
CN110543303A (zh) | 一种可视化业务平台 | |
CN112579086B (zh) | 一种适配多平台前端View的模板构建方法 | |
CN104298700A (zh) | 用于由控制码图生成控制码的方法 | |
CN111191429A (zh) | 数据表格自动填充的系统和方法 | |
CN113641719A (zh) | 数据处理方法、装置、计算机及存储介质 | |
US20200301921A1 (en) | Feature value generation device, feature value generation method, and feature value generation program | |
CN105912723A (zh) | 一种自定义字段的存储方法 | |
CN115544985B (zh) | 基于地理计算语言的统计图制作方法、装置、设备及介质 | |
CN112818937A (zh) | Excel文件的识别方法、装置、电子设备及可读存储介质 | |
CN110083663B (zh) | 一种数据展示的分类优化方法和装置 | |
CN111881664A (zh) | 一种结合rpa和ai的信息抽取方法、装置、设备及介质 | |
CN112148735A (zh) | 一种用于结构化表格数据知识图谱的构建方法 | |
CN114840642A (zh) | 事件抽取方法、装置、设备及存储介质 | |
CN112733513A (zh) | 自动整理航司退改规则的方法、系统、终端和存储介质 | |
CN114064449A (zh) | 一种仿真测试报告生成方法、装置、电子设备及存储介质 | |
CN110163975A (zh) | 空间直线的绘制方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |