地理处理工具的输入数据预处理方法、装置、介质和设备

文档序号:31633112发布日期:2022-09-24 02:33阅读:154来源:国知局
地理处理工具的输入数据预处理方法、装置、介质和设备

1.本发明涉及数据处理技术领域,特别是涉及一种地理处理工具的输入数据预处理方法、装置、存储介质以及电子设备。


背景技术:

2.地理处理是地理信息系统的核心功能,可以对地理空间数据进行转换、处理、分析和模型模拟,为各种地理问题的解决和决策分析提供所需的数据产品、信息与知识。地理处理涉及大量的地理处理工具,例如,叠加分析工具、邻域分析工具以及表面创建和分析工具等。满足地理处理工具需求的输入数据是地理处理工具能够成功执行并获得预期的结果的基本前提和基础。为此,有必要对地理处理工具的输入数据的有效性进行检测和验证,并对被验证为无效的数据进行预处理,以确保其是完整、准确、一致且适用的。
3.现有技术中,采用硬编码方法依靠开发者在地理处理工具的源代码中定义约束条件来验证输入数据的有效性并提供预处理意见,该方法实现难度大、灵活性差,并且内容难以更新和维护,难以应对复杂的实际应用场景。


技术实现要素:

4.基于此,本发明的目的在于,提供一种地理处理中的输入数据预处理工具推荐方法、装置、存储介质以及以及电子设备,其具有降低人工成本、提高输入数据预处理效率的优点。
5.根据本技术实施例的第一方面,提供一种地理处理中的输入数据预处理工具推荐方法,包括如下步骤:
6.获取地理处理工具对输入数据的若干个约束信息以及对应的若干个预处理方法;
7.根据所述若干个约束信息,获得输入数据的rdf形状约束图;
8.获取所述地理处理工具的输入数据,根据所述约束信息,将所述输入数据转换为rdf数据图;
9.根据所述rdf形状约束图对所述rdf数据图进行数据验证,获得所述输入数据的验证结果;
10.若所述验证结果指示所述输入数据不满足至少一个所述约束信息,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理。
11.根据本技术实施例的第二方面,提供一种地理处理工具的输入数据预处理装置,包括:
12.约束信息获取模块,用于获取地理处理工具对输入数据的若干个约束信息以及对应的若干个预处理方法;
13.约束图获得模块,用于根据所述若干个约束信息,获得输入数据的rdf形状约束图;
14.数据图获得模块,用于获取所述地理处理工具的输入数据,根据所述约束信息,将
所述输入数据转换为rdf数据图;
15.数据验证模块,用于根据所述rdf形状约束图对所述rdf数据图进行数据验证,获得所述输入数据的验证结果;
16.数据预处理模块,用于若所述验证结果指示所述输入数据不满足至少一个所述约束信息,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理。
17.根据本技术实施例的第三方面,提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如上述任意一项所述的地理处理工具的输入数据预处理方法。
18.根据本技术实施例的第四方面,提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的地理处理工具的输入数据预处理方法。
19.本技术通过获取地理处理工具对输入数据的若干个约束信息以及对应的若干个预处理方法;根据所述若干个约束信息,获得输入数据的rdf形状约束图;获取所述地理处理工具的输入数据,根据所述约束信息,将所述输入数据转换为rdf数据图;根据所述rdf形状约束图对所述rdf数据图进行数据验证,获得所述输入数据的验证结果;若所述验证结果指示所述输入数据不满足至少一个所述约束信息,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理。本技术实施例通过rdf形状约束图对rdf数据图进行输入数据是否满足约束信息的验证,在不满足约束信息时自动获取相应的预处理方法,从而实现了输入数据的自动化验证以及预处理,提高了输入数据的验证效率和预处理效率。
20.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
21.为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
22.图1为本技术地理处理中的地理处理工具的输入数据预处理方法的流程示意图;
23.图2为本技术地理处理中的地理处理工具的输入数据预处理方法中s20的流程示意图;
24.图3为本技术地理处理中的地理处理工具的输入数据预处理方法中s30的流程示意图;
25.图4为本技术地理处理中的地理处理工具的输入数据预处理方法中s40的流程示意图;
26.图5为本技术地理处理工具的地理处理工具的输入数据预处理装置的结构框图。
具体实施方式
27.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
28.应当明确,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
29.在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
30.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
31.此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
32.请参阅图1,本技术实施例提供的地理处理工具的输入数据预处理方法,包括:
33.s10:获取地理处理工具对输入数据的若干个约束信息以及对应的若干个预处理方法。
34.地理处理工具通常包括一系列的输入数据约束信息,输入数据约束信息包括约束验证目标、约束条件、约束类型以及约束反馈信息。其中,约束验证目标是需要根据约束条件进行有效性验证的一个或多个输入数据,约束类型包括不同的数据属性,例如,输入数据的个数、数据大小以及数据类型等,约束条件是对数据属性值的限定,例如,输入数据的个数不超过2个。约束反馈信息即当输入数据违反约束条件时,反馈给用户的说明、解释或建议信息。
35.预处理方法与输入数据的约束信息对应,包括重投影、坐标系变换、重采样以及格式转换等预处理操作,例如,若地理处理工具的输入数据的文件格式不满足约束信息,对输入数据的文件格式进行格式转换操作,从而使格式转换后的输入数据文件格式满足约束信息。
36.在本技术实施例中,地理处理工具的软件参考文档以及算法服务描述文档中对输入数据的若干个约束信息有明确的定义,可以通过网络爬虫进行自动抽取,从而获得地理处理工具对输入数据的若干个约束信息。地理建模和空间信息领域的专家积累了丰富的应对数据处理异常的经验,能够根据数据的验证结果判断出造成数据违反约束的原因并提供有效的修改建议,可以通过从地理建模和空间信息领域的专家获取与输入数据的若干个约束信息对应的若干个预处理方法。
37.s20:根据所述若干个约束信息,获得输入数据的rdf形状约束图。
38.rdf(resource description framework,即资源描述框架),提供了一个统一的标准,用于描述资源(resource)及其属性和关系。rdf图包括一个或多个三元组,三元组(或称陈述)由主语、谓语和宾语三部分组成,主语(或称主体)表示资源,宾语(或称客体)表示资源的属性值或其他资源,谓语表示资源的属性或关系,亦即资源与属性值以及资源与资源之间的关系。在rdf图中,主语和宾语构成rdf图中的节点,谓语构成连接两个节点的边。
39.shacl(shapes constraint language,即结构性约束语言)是一种依据一组条件
来验证rdf图的语言,条件是作为约束以rdf图的形式表示的,被称为rdf形状约束图,依据rdf形状约束图验证的rdf图被称为rdf数据图。
40.在本技术实施例中,根据shacl语言形式化表达地理处理工具对输入数据的约束信息,获得输入数据的rdf形状约束图。
41.s30:获取所述地理处理工具的输入数据,根据所述约束信息,将所述输入数据转换为rdf数据图。
42.在本技术实施例中,利用开源库gdal/ogr和rdflib的python接口,结合表示空间要素类型和关系概念的geosparql等第三方文件,自动解析用户提供的具体的矢量、栅格或者非空间的输入数据,根据输入数据的约束信息,获取输入数据的格式、主题以及数据单位等元数据属性,生成相对应的rdf数据图。
43.s40:根据所述rdf形状约束图对所述rdf数据图进行数据验证,获得所述输入数据的验证结果。
44.在本技术实施例中,利用rdf形状约束图中的约束验证目标、约束条件以及约束类型对rdf数据图中的数据属性进行是否满足约束条件的判断,获得输入数据的验证结果。
45.s50:若所述验证结果指示所述输入数据不满足至少一个所述约束信息,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理。
46.在本技术实施例中,验证结果包括输入数据满足约束信息和不满足约束信息。其中,满足约束信息时,不对输入数据进行预处理操作,可以直接将输入数据用于地理处理工具的处理操作。不满足约束信息时,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理,预处理后的输入数据可用于地理处理工具的处理操作。
47.应用本技术实施例,通过获取地理处理工具对输入数据的若干个约束信息以及对应的若干个预处理方法;根据所述若干个约束信息,获得输入数据的rdf形状约束图;获取所述地理处理工具的输入数据,根据所述约束信息,将所述输入数据转换为rdf数据图;根据所述rdf形状约束图对所述rdf数据图进行数据验证,获得所述输入数据的验证结果;若所述验证结果指示所述输入数据不满足至少一个所述约束信息,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理。本技术实施例通过rdf形状约束图对rdf数据图进行输入数据是否满足约束信息的验证,在不满足约束信息时自动获取相应的预处理方法,从而实现了输入数据的自动化验证以及预处理,提高了输入数据的验证效率和预处理效率。
48.在一个可选的实施例中,请参阅图2,所述约束信息包括约束验证目标、约束类型以及约束条件,所述rdf形状约束图包括节点结构图和属性结构图,所述步骤s20包括步骤s201~s203,具体如下:
49.s201:获取预设的名称,将所述预设的名称作为所述节点结构图和所述属性结构图中三元组的主语,将shacl语言中的sh:targetnode作为所述节点结构图中三元组的谓语,将所述约束验证目标作为所述节点结构图中三元组的宾语,获得节点结构图;
50.s202:将shacl语言中的属性路径和预设的约束组件作为所述属性结构图中三元组的谓语,将所述约束类型和所述约束条件分别作为所述属性结构图中三元组的宾语,获得属性结构图;
51.s203:将所述节点结构图与所述属性结构图进行关联,获得所述rdf形状约束图。
52.在本技术实施例中,可以通过利用预设的声明语句对约束验证目标进行声明,即为所述约束结构图预设一个名称,获取预设的名称,将所述预设的名称作为所述节点结构图和所述属性结构图中三元组的主语。将shacl语言中的sh:targetnode作为所述节点结构图中三元组的谓语,将所述约束验证目标作为所述节点结构图中三元组的宾语,通过谓语sh:targetnode将主语和宾语连接,获得所述节点结构图。其中,约束验证目标的声明用于将约束信息与待验证的输入数据关联,sh:targetnode是shacl语言中的一种关系谓词,其要求宾语具有明确的iri(international resource identifiers,即国际资源标识符)。
53.在获得节点结构图后,使用shacl对约束条件和约束类型进行形式化表达。shacl为约束条件和约束类型定义了一组标准化的、可重复使用的约束组件,如表示最小值的sh:minexclusive。将所述约束条件和所述约束类型表示为所述属性结构图中三元组的宾语,并根据所述约束类型,将shacl中预设的属性路径谓语sh:path和约束组件作为所述属性结构图中三元组的谓语,通过谓语将主语和宾语连接,获得属性结构图。其中,属性路径谓语sh:path用于在属性结构图中指示属性类型。将所述节点结构图与所述属性结构图进行关联,例如,通过shacl语言中的谓语sh:property建立所述属性结构图与所述节点结构图的关联,共同组合成所述rdf形状约束图。
54.通过rdf形状约束图表示地理处理工具对输入数据的若干个约束信息,使得约束信息更加简洁、直观和标准化,便于约束信息的使用。
55.在一个可选的实施例中,请参阅图3,所述步骤s30,包括s301~s302,具体如下:
56.s301:根据所述约束信息,获取所述输入数据的属性类型和对应的属性值;
57.s302:将所述约束验证目标作为rdf数据图中三元组的主语,将所述输入数据的属性类型作为rdf数据图中三元组的谓语,将所述属性类型对应的属性值作为rdf数据图中三元组的宾语,获得rdf数据图。
58.在本技术实施例中,由于输入数据可能包括多个属性以及对应的属性值,而需要对输入数据进行约束的属性是其中一个或一部分。因此,可以从输入数据中获取与约束类型相应的属性类型以及对应的属性值。例如,约束类型为:数据大小,则从输入数据中获取属性类型为数据大小,属性值为具体的数据容量。通过将输入数据的属性类型和属性值转换成rdf数据图,便于rdf形状约束图对输入数据的属性值进行验证,提高了输入数据验证的效率。
59.在一个可选的实施例中,请参阅图4,所述步骤s40,包括s401~s403,具体如下:
60.s401:将所述rdf数据图中三元组的主语与所述节点结构图中约束验证目标进行匹配,获取匹配的所述节点结构图以及与所述节点结构图关联的属性结构图;
61.s402:将所述属性结构图中的约束类型与所述rdf数据图中的属性类型进行匹配,获取匹配的所述约束类型对应的约束条件以及所述rdf数据图中相匹配的属性类型对应的属性值;
62.s403:通过所述约束条件对所述属性值进行验证,获得地理处理工具输入数据的验证结果。
63.在本技术实施例中,以地理处理工具输入数据的数据格式验证为例进行说明,例如,数据a的格式为img,而地理处理工具要求输入数据的格式为gtiff,采用turtle语法表示rdf图,则rdf数据图表示为:
[0064][0065][0066]
rdf形状约束图表示为:
[0067]
data:dataformatshape a sh:nodeshape;
[0068]
sh:targetnode data:a;
[0069]
sh:property[
[0070]
sh:path data:dataformat;
[0071]
sh:hasvalue data:gtiff;].
[0072]
其中,节点结构图为:data:dataformatshape a sh:nodeshape;sh:targetnode data:a,属性结构图为:sh:property[sh:path data:dataformat;sh:hasvalue gtiff;]。需要注意的是,在turtle语法中,当多个三元组的主语不变,仅谓语和宾语变化时,可以用分号(;)来省略除第一个三元组之外的其他三元组的主语。因此,节点结构图中sh:targetnode data:a省略了主语data:dataformatshape,属性结构图与节点结构图共享同一个主语,即data:dataformatshape。通过将所述rdf数据图的主语data:a与所述节点结构图的约束验证目标,即谓语sh:targetnode所属三元组的宾语data:a进行匹配、将所述属性结构图中的约束类型(谓语sh:path所属三元组的宾语)与所述rdf数据图的属性类型,即谓语data:dataformat进行匹配、通过所述约束条件sh:hasvalue data:gtiff对所述rdf数据图的属性值,即属性类型对应的属性值data:img进行验证,data:img与data:gtiff不匹配,获得验证结果为地理处理工具输入数据的格式不满足约束信息。通过rdf形状约束图对rdf数据图进行输入数据是否满足约束信息的验证,从而实现了输入数据的自动化验证,提高了输入数据的验证效率。
[0073]
在一个可选的实施例中,所述步骤s50,包括s501,具体如下:
[0074]
s501:若所述输入数据的属性值不满足对应的约束条件,获得约束类型对应的预处理信息,对所述输入数据进行预处理。
[0075]
在本技术实施例中,由于输入数据的属性值,即数据格式为img,不满足地理处理工具所需的输入数据格式gtiff,需要对输入数据的格式进行格式转换的预处理操作,从而将输入数据的格式转换为gtiff。其中,用于预处理操作的rdf图表示为(以符号“#”开头的语句表示对下一行语句的解释说明):
[0076]
[0077][0078]
利用基于python语言的shacl验证引擎pyshacl执行上述rdf图,可在输入数据不满足约束信息时自动获取相应的预处理方法,实现了输入数据的自动化预处理,提高了输入数据的预处理效率。
[0079]
相应于上述方法实施例,请参阅图5,本发明实施例提供一种地理处理工具的输入数据预处理装置6,包括:
[0080]
约束信息获取模块61,用于获取地理处理工具对输入数据的若干个约束信息以及对应的若干个预处理方法;
[0081]
约束图获得模块62,用于根据所述若干个约束信息,获得输入数据的rdf形状约束图;
[0082]
数据图获得模块63,用于获取所述地理处理工具的输入数据,根据所述约束信息,将所述输入数据转换为rdf数据图;
[0083]
数据验证模块64,用于根据所述rdf形状约束图对所述rdf数据图进行数据验证,获得所述输入数据的验证结果;
[0084]
数据预处理模块65,用于若所述验证结果指示所述输入数据不满足至少一个所述约束信息,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理。
[0085]
可选的,所述约束图获得模块62,包括:
[0086]
节点结构图获得单元,用于获取预设的名称,将所述预设的名称作为所述节点结构图和所述属性结构图中三元组的主语,将shacl语言中的sh:targetnode作为所述节点结构图中三元组的谓语,将所述约束验证目标作为所述节点结构图中三元组的宾语,获得节点结构图;
[0087]
属性结构图获得单元,用于将shacl语言中的属性路径和约束组件作为所述属性结构图中三元组的谓语,将所述约束类型和所述约束条件作为所述属性结构图中三元组的宾语,获得属性结构图;
[0088]
约束图获得单元,用于将所述节点结构图与所述属性结构图进行关联,获得所述rdf形状约束图。
[0089]
可选的,所述数据图获得模块63,包括:
[0090]
属性类型获取单元,用于根据所述约束信息,获取所述输入数据的属性类型和对应的属性值;
[0091]
数据图获得单元,用于将所述约束验证目标作为rdf数据图中三元组的主语,将所述输入数据的属性类型作为rdf数据图中三元组的谓语,将所述属性类型对应的属性值作为rdf数据图中三元组的宾语,获得rdf数据图。
[0092]
可选的,所述数据验证模块64,包括:
[0093]
将所述rdf数据图中三元组的主语与所述节点结构图中约束验证目标进行匹配,获取匹配的所述节点结构图以及与所述节点结构图关联的属性结构图;
[0094]
将所述属性结构图中的约束类型与所述rdf数据图中的属性类型进行匹配,获取匹配的所述约束类型对应的约束条件以及所述rdf数据图中相匹配的属性类型对应的属性值;
[0095]
通过所述约束条件对所述属性值进行验证,获得地理处理工具输入数据的验证结果。
[0096]
可选的,所述数据预处理模块65,包括:
[0097]
数据预处理单元,用于若所述输入数据的属性值不满足对应的约束条件,获得约束类型对应的预处理信息,对所述输入数据进行预处理。
[0098]
应用本技术实施例,通过获取地理处理工具对输入数据的若干个约束信息以及对应的若干个预处理方法;根据所述若干个约束信息,获得输入数据的rdf形状约束图;获取所述地理处理工具的输入数据,根据所述约束信息,将所述输入数据转换为rdf数据图;根据所述rdf形状约束图对所述rdf数据图进行数据验证,获得所述输入数据的验证结果;若所述验证结果指示所述输入数据不满足至少一个所述约束信息,获取与所述约束信息相应的预处理方法,对所述输入数据进行预处理。本技术实施例通过rdf形状约束图对rdf数据图进行输入数据是否满足约束信息的验证,在不满足约束信息时自动获取相应的预处理方法,从而实现了输入数据的自动化验证以及预处理,提高了输入数据的验证效率和预处理效率。
[0099]
本技术还提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述实施例的方法步骤。
[0100]
本技术还提供一种计算机可读存储介质,其上储存有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述实施例的方法步骤。
[0101]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1