CN112015929A - 栅格数据访问方法、装置、电子设备及计算机存储介质 - Google Patents

栅格数据访问方法、装置、电子设备及计算机存储介质 Download PDF

Info

Publication number
CN112015929A
CN112015929A CN201910463161.7A CN201910463161A CN112015929A CN 112015929 A CN112015929 A CN 112015929A CN 201910463161 A CN201910463161 A CN 201910463161A CN 112015929 A CN112015929 A CN 112015929A
Authority
CN
China
Prior art keywords
raster
column
raster data
window
level
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.)
Pending
Application number
CN201910463161.7A
Other languages
English (en)
Inventor
谢炯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201910463161.7A priority Critical patent/CN112015929A/zh
Priority to PCT/CN2020/091524 priority patent/WO2020238749A1/zh
Publication of CN112015929A publication Critical patent/CN112015929A/zh
Priority to US17/534,171 priority patent/US11907283B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • G06T3/4053Super resolution, i.e. output image resolution higher than sensor resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Abstract

本发明实施例提供了一种栅格数据访问方法、装置、电子设备及计算机存储介质。其中,所述栅格数据访问方法包括:根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率;根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值;若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。通过本发明实施例,可以实现快速访问栅格数据。

Description

栅格数据访问方法、装置、电子设备及计算机存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种栅格数据访问方法、装置、电子设备及计算机存储介质。
背景技术
栅格数据是一类数据的总称,其以像元矩阵结构保存数据,通常用于存储地理空间数据,包括遥感影像、DEM(数字高程模型)、GRID等多种数据形态。
所谓栅格数据类型,是除Int(整型)、Varchar(字符串)等常规字段数据类型之外,针对存储栅格数据需求而专门引入的扩展字段类型。
在通过数据库系统存储栅格数据时,用户只要将数据表中的某个列定义为栅格数据类型的字段,就可以在该列中存储栅格数据,且其中的每行存储一个栅格对象对应的栅格数据,并通过执行相应的算子实现对栅格对象的栅格数据进行增加操作、删除操作、改变操作、查找操作。
传统的数据库系统仅支持栅格对象级的多分辨快速访问。对存储于一张数据表中的所有栅格对象中的栅格数据执行多分辨率访问时,会随着访问尺度增大,需要访问多个栅格对象,会出现大量小对象访问而导致访问性能衰减,影响访问速度。
发明内容
有鉴于此,本发明实施例提供一种栅格数据访问方案,以解决上述部分或全部问题。
根据本发明实施例的第一方面,提供了一种栅格数据访问方法,其包括:根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率;根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值;若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。
根据本发明实施例的第二方面,提供了一种栅格数据访问装置,其包括:确定模块,用于根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率;判断模块,用于根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值;第一访问模块,用于若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。
根据本发明实施例的第三方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的栅格数据访问方法对应的操作。
根据本发明实施例的第四方面,提供了一种计算机存储介质,其特征在于,其上存储有空间数据库,所述空间数据库包括空间数据表和列级索引,所述空间数据表的至少一个字段用于存储栅格对象的栅格数据,所述列级索引为根据所述至少一个字段中的栅格数据通过降采样生成的索引。
根据本发明实施例的第五方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的栅格数据访问方法。
根据本发明实施例提供的栅格数据访问方案,根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例一的一种栅格数据访问方法的步骤流程图;
图2为根据本发明实施例二的一种栅格数据访问方法的步骤流程图;
图3为根据本发明实施例三的一种栅格数据访问方法的步骤流程图;
图4为根据本发明实施例三的一种行级四叉树分块索引的结构示意图;
图5为根据拼接结果矩阵进行降采样生成列级索引的流程示意图;
图6为根据本发明实施例四的一种栅格数据访问方法的步骤流程图;
图7为根据本发明实施例五的一种栅格数据访问装置的结构框图;
图8为根据本发明实施例六的一种栅格数据访问装置的结构框图;
图9为根据本发明实施例七的一种电子设备的结构示意图。
具体实施方式
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
实施例一
参照图1,示出了根据本发明实施例一的一种栅格数据访问方法的步骤流程图。
本实施例的栅格数据访问方法包括以下步骤:
步骤S102:根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率。
在本实施例中,所述栅格数据访问方法用于空间数据库系统中,以提升对其中的栅格数据的访问效率。在其他实施例中,该方法可以应用在其他任何存储有栅格数据的数据库系统中,例如,应用于存储画作的数据库系统等。
所述空间数据库系统利用栅格数据存储地理空间数据。例如,空间数据库系统中存储有一个空间数据表,空间数据表中的某列的字段类型为栅格数据类型,用于存储栅格对象对应的数据。本领域技术人员可以根据需要选择适当的栅格对象存储方式。
例如,一种存储方式为:数据类型为栅格数据类型的栅格列中的每行用于存储一个栅格对象(如遥感影像),根据需要,可以将栅格对象的元数据(metadata)和索引存储在行内,而栅格对象对应的栅格数据(即像元矩阵)可以直接采用原始栅格文件方式存储,这种存储方式可以降低数据冗余。
又例如,另一种存储方式为:将栅格对象的元数据存储在空间数据表的行内,并根据栅格对象的像元矩阵生成行内索引,将像元矩阵以栅格分块方式存储在基于行内索引的行内索引表中。
在本实施例中,当用户对空间数据表执行窗口查询访问时,触发所述栅格数据访问请求,以请求访问所述查询窗口内的栅格对象的栅格数据。当然,根据不同的业务需求,数据库系统可以配置不同的业务逻辑,采用任意适当的方式触发所述栅格数据访问请求,本实施例对此不作限定。
根据所述栅格数据访问请求,可以执行对应的窗口查询输入,以确定所述查询窗口对应的目标像元分辨率。在不同的业务中,所述目标像元分辨率所指示的含义可能不同。例如,在空间数据表中,所述目标像元分辨率用于指示所述查询窗口中每个像元对应的实际地理面积。
对于本领域技术人员而言,其可以根据需要采用适当的方式根据执行的窗口查询输入确定所述目标像元分辨率,本实施例对此不作限定。
步骤S104:根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值。
存储的所述栅格对象的像元分辨率用于指示所述栅格对象中一个像元对应实际地理面积。例如,所述栅格对象的像元分辨率为1米,则表示该像元指示1平方米范围的地物。
根据所述目标像元分辨率(记作f)和所述栅格对象的像元分辨率(记作g),可以计算出抽样级别(记作lv)。在本实施例中,所述抽样级别lv用于指示所述目标像元分辨率f与所述栅格对象的像元分辨率g间的比例关系。所述抽样级别lv可以采用任何适当的方式计算。
例如,计算所述目标像元分辨率f和所述栅格对象的像元分辨率g的比值,并求该比值以2为底的对数值,并将对数值取整作为抽样级别lv,此种方式中,抽样级别lv可以表示为:lv=log2(f_x/g_x),其中,f_x为所述查询窗口x轴的目标像元分辨率,g_x为所述栅格对象x轴的像元分辨率。又或者,抽样级别lv也可以根据查询窗口y轴的目标像元分辨率和栅格对象的y轴的像元分辨率进行计算。
当然,在其他实施例中,针对不同的业务需求,所述抽样级别lv可以指示其他含义,本领域技术人员可以采用其他适当的方式计算所述抽样级别lv。
根据计算的所述抽样级别lv,通过判断其是否大于阈值,可以确定是否需要访问一个以上的所述栅格对象的栅格数据。若所述抽样级别lv大于所述阈值,则执行步骤S106。若所述抽样级别lv不大于所述阈值,则表示仅需要进行栅格对象级的栅格数据访问,此种情况下可以采用现有的方式进行栅格数据的访问,例如直接访问栅格对象的行内存储的栅格数据。
需要说明的是,根据空间数据表的配置不同,所述阈值可以是任何适当的值。例如,若空间数据表中根据行内的所述栅格对象的栅格数据生成了行级索引,则所述阈值可以配置为所述行级索引的层高(层高是指行级索引的层数或级数,例如,行级索引的根节点为1层、叶子节点为1层,若根节点和叶子节点之间有一层中间节点,则其层高为3)。或者,若栅格对象的栅格数据采用原始栅格文件方式进行存储,空间数据表中未设置行级索引,则本领域技术人员可以根据需要将所述阈值配置为任何适当的设定阈值,如设定阈值可以为0。
步骤S106:若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。
所述列级索引为根据列内所述栅格对象的栅格数据生成的索引。本领域技术人员可以根据需要采用适当的方式生成所述列级索引。通过配置列级索引,可以在需要进行大范围窗口查询(即抽样级别lv大于所述阈值)时,根据列级索引访问查询窗口对应的栅格数据,增加对多栅格对象执行多分辨率访问时的访问速度,减少性能衰减,提升查询访问性能。
在本实施例中,所述根据列内栅格对象的栅格数据,通过降采样生成所述列级索引。降采样是指对维度尺寸较大的像元矩阵进行抽样算法,获得维度尺寸较小的像元矩阵的操作。例如,512像元*512像元的像元矩阵通过抽样算法获得256像元*256像元的像元矩阵。由于采用降采样生成列级索引,因此可以控制列级索引本身的数据量较小,且使列级索引的创建速度较快,使资源开销可控。
通过本实施例,根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问。
本实施例的栅格数据访问方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
实施例二
参照图2,示出了根据本发明实施例二的一种栅格数据访问方法的步骤流程图。
本实施例的栅格数据访问方法包括前述的步骤S102~步骤S106。
其中,所述步骤S102包括以下子步骤:
子步骤S1021:根据所述栅格数据访问请求,执行对应的窗口查询输入,获取对应的窗口实地范围和窗口像元数。
在本实施例中,当触发所述栅格数据访问请求时,执行对应的窗口查询输入,获取所述查询窗口的窗口实地范围(记作e)和窗口像元数(记作p)。
其中,窗口实地范围e用于指示所述查询窗口对应的实际地理空间的面积。在本实施例中,以所述查询窗口的左上角点坐标和右下角点坐标表示所述查询窗口的窗口实地范围e,记作e=(ul_x,ul_y),(lr_x,lr_y)。在其他实施例中,可以采用其他方式表示所述查询窗口的窗口实地范围e。
所述窗口像元数p用于指示在显示设备上所述查询窗口对应的像元数。在本实施例中,以x轴方向像元数和y轴方向像元数表示所述查询窗口的窗口像元数p,记作p=(cell_count_x,cell_count_y)。在其他实施例中,可以采用其他方式表示所述查询窗口的窗口像元数p。
当然,在其他实施例中,根据不同的业务需求,执行对应的窗口查询输入可以获取其他能够表征查询窗口的信息,本实施例对此不作限定。
子步骤S1022:根据所述窗口实地范围和所述查询窗口像元数,计算所述查询窗口对应的目标像元分辨率。
在第一种可行方式中,计算所述查询窗口对应的目标像元分辨率f的过程为:根据所述窗口实地范围e计算所述查询窗口的x轴长度,根据所述窗口像元数p确定所述查询窗口x轴的像元数,计算所述查询窗口的x轴的长度与所述查询窗口x轴像元数的比值,并将该比值确定为所述目标像元分辨率f。
在本方式中,所述目标像元分辨率f可以表示为f=(lr_x-ul_x)/cell_count_x。其中,lr_x为所述查询窗口的窗口实地范围e中右下角点的x轴坐标,ul_x为所述查询窗口的窗口实地范围e中左上角点的x轴坐标,cell_count_x为所述查询窗口的x轴像元数。
在第二种可行方式中,可以根据所述查询窗口的y轴高度和所述查询窗口y轴的像元数,计算所述目标像元分辨率f,其计算过程与第一种可行方式中的计算过程类型,故不再赘述。或者,可以分别计算所述查询窗口x轴的目标分辨率和y轴目标分辨率,并取其中较大的一个作为最终的目标分辨率f。
在本实施例中,执行对应的窗口查询输入获取窗口实地范围e和窗口像元数p,通过窗口实地范围e和窗口像元数p可以准确且便捷地计算目标像元分辨率f,提升计算速度。
由上,通过本实施例,根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问栅格对象。而且目标分辨率计算快捷准确,有助于提升抽样级别计算的准确性。
本实施例的栅格数据访问方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
实施例三
参照图3,示出了根据本发明实施例三的一种栅格数据访问方法的步骤流程图。
本实施例的栅格数据访问方法包括前述的步骤S102~步骤S106。
所述步骤S102可以采用前述实施例一或实施例二中的方式实现,或者采用其他方式实现。
在本实施例中,在所述步骤S102之前,所述方法还包括以下步骤:
步骤S100:对栅格对象的行级索引的根节点像元矩阵进行拼接操作并对获得的拼接结果矩阵,执行降采样操作,根据降采样结果生成所述列级索引。
在本实施例中,所述行级索引为针对某个栅格对象,根据其栅格数据生成的索引。本领域技术人员可以根据需要为空间数据表中的每个栅格对象均生成对应的行级索引,也可以仅为空间数据表中的部分所述栅格对象生成对应的行级索引。通过配置行级索引可以提升栅格对象级多分辨率栅格数据访问的访问速度。
所述行级索引可以是任意适当类型的索引,针对不同类型的所述行级索引,本领域技术人员可以采用适当的方式生成。例如,所述行级索引为固定大小分块的行级四叉树分块索引其结构如图4所示。用户通过执行ST_BuildPyramid过程函数为空间数据表中的栅格对象创建栅格金字塔,并基于栅格金子塔构建对应的行级索引。
一种具体地构建所述行级索引的过程为:
将原始栅格数据(即像元矩阵)进行分块操作,获得固定大小的栅格分块,并将栅格分块作为叶子节点存储在所述行级索引的底层(如图4所示的L0层)。
以叶子节点为基础,执行倍率为F(F可以根据需要确定,其为大于1的整数,本例中F=2)的逐级降采样,并对应构建出包含N(N可以根据需要确定,其为大于或等于1的整数,本例中N=2)个层级的降分辨率分块对象集合(如图4所述的L1层和L2层)。所述分块对象用于存储所述行级索引的各节点的像元矩阵。
可选地,为了便于检索,所述行级索引可以保存到一个索引表中进行存储,为了便于描述,该索引表记作表1,表1可以为一种行级栅格四叉树分块索引表。
表1中的字段包括但不限于:rid字段、level字段、row字段、column字段和block字段。block字段用于存储栅格分块的分块对象,分块对象由像元矩阵构成,一般同一栅格对象内的像元矩阵大小固定,可以是256像元*256像元等。rid字段为行级索引中栅格分块所属栅格对象的唯一标识。level字段为栅格分块在行级索引中级别。row字段为栅格分块所在行维序号。column字段为栅格分块所在列维的序号。
rid level row column block
1 0 0 0 [cell_matrix]
1 0 1 1 [cell_matrix]
…… …… …… …… ……
表1
在表1中每一元组存储一个栅格分块的分块信息,所述分块信息包括分块对象和分块索引编号。其中:rid字段、level字段、row字段和column字段构成所述栅格分块的分块索引编号。以表1中第2行为例,栅格分块的分块索引编号为1000,该栅格分块所属栅格对象为空间数据表中标识为1的栅格对象,该栅格分块在行级索引中的层级为L0,该栅格分块栅格对象的像元矩阵中的行维序号为0,列维序列为0,该栅格分块的分块对象为block字段存储的像元矩阵。
为进一步加快栅格分块检索速度,可基于分块索引编号进一步构建B树或B+树索引。
在本实施例中,基于上述的行级索引,用户可以执行预设的语句指示创建列级索引,使得列内栅格数据访问速度更快。而且由于列级索引是基于行级索引创建的,因此可以综合利用栅格对象的行级索引和列级索引,加快对栅格数据多分辨率任意尺度下的访问效率。
在一具体实现中,所述步骤S100包括以下子步骤:
子步骤S1001:根据所述根节点像元矩阵对应的栅格对象间的空间位置关系,拼接所述根节点像元矩阵,以获得拼接结果矩阵。
在本实施例中,由于栅格对象中的栅格数据用于指示地理空间数据,故而在拼接根节点像元矩阵时,根据其对应的栅格对象间的空间位置关系确定根节点像元矩阵间的位置关系,进而保证拼接结果矩阵与实际地理空间一致。一种拼接出的拼接结果矩阵的结构如图5中A处所示,其中1-2到16-2指示栅格对象1~16的行级索引的根节点像元矩阵。
子步骤1002:对所述拼接结果矩阵,执行降采样倍率为设定倍率的降采样操作,并根据降采样结果,生成所述列级索引。
所述设定倍率(记作G,在本例中G=2)。当然,本领域技术人员可以根据检索精度和列级索引层数需求,将所述设定倍率G设置为其他值,如4、6等。
在执行降采样操作时,根据拼接出的所述拼接结果矩阵的大小不同,可以执行一次或多次降采样操作,直至降采样结果满足终止条件。例如,终止条件可以为降采样操作获得的栅格分块为1。
当执行多次降采样操作时,首次降采样操作基于拼接结果矩阵执行,非首次降采样操作则基于前次降采样结果执行。执行两次降采样操作的降采样结果如图5中B处和C处所示,其中,B处的1-3到4-3指示基于拼接结果矩阵降采样后的像元矩阵,C处的1-4指示基于B处的降采样结果降采样后的像元矩阵。
生成列级索引时,根据各次降采样操作的降采样结果构建高度为M层的列级索引,本实施例中构建的列级索引如图5中D处所示。其中,M为大于或等于1的整数,且M的取值等于降采样操作的次数。
在本实施例中,所述列级索引为列级四叉树分块索引。该列级索引可以存储到列级栅格四叉树分块索引表中。本领域技术人员可以根据需要配置列级栅格四叉树分块索引表的字段,本实施例对此不作限定。
在其他实施例中,所述列级索引可以是其他类型的索引,本实施例对此不作限定。
通过本实施例,根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问栅格对象,而且列级索引数据量较小,不会存在大量数据冗余。
此外,一方面,通过将一幅地理空间影像数据导入到空间数据表的栅格列的一行中,存储为一个栅格对象的方式,可以使用户方便地将外部一幅地理空间影像数据对应到空间数据表中的一个栅格对象,概念对应关系比较清晰,且单个栅格对象的大小不受限。针对每个栅格对象构建行内索引,可以加速行内多分辨率的栅格数据访问。
另一方面,由于创建了列级索引,因此可以满足用户对大范围地理空间影像数据无缝一体化查询需求,而且可以有效解决“像元分辨率过载”问题,解决进行大量小对象的读取以及实时抽样时会大幅降低空间数据库系统访问性能的问题。
所谓像元分辨率过载,即用户对整个空间数据库系统中的空间数据表进行基于窗口查询(即显示出和查询窗口相交的所有栅格对象)时,随着查询窗口覆盖范围的增大,会访问到越来越多的栅格对象,且可能出现查询窗口所需适配的像元分辨率超出栅格对象本身所覆盖的地理范围(即一个栅格对象所覆盖的范围在屏幕地图上显示时不足一个屏幕像素)。
本栅格数据访问方法,既具有以栅格对象为单位存储和管理栅格数据的优势,同时通过列级索引,在需要访问多个栅格对象的栅格数据时,通过直接访问列级索引加快了栅格数据访问效率。列级索引直接在行级索引的根节点像元矩阵的基础上通过降采样操作创建,因此很大程度上控制了列级索引本身的数据量,创建速度也会非常快,资源开销完全可控,具有很好的实用性。
本实施例的栅格数据访问方法可以由任意适当的具有数据处理能力的电子设备执行,包括但不限于:服务器、移动终端(如平板电脑、手机等)和PC机等。
实施例四
参照图6,示出了根据本发明实施例四的一种栅格数据访问方法的步骤流程图。
本实施例的栅格数据访问方法包括前述的步骤S102~步骤S106。
所述步骤S102可以采用前述实施例一或实施例二中的方式实现,或者采用其他方式实现。
在本实施例中,当所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高时,所述方法还包括步骤S108。
所述步骤S108:若小于或等于所述阈值且不为0,则根据所述行级索引访问所述查询窗口对应的栅格数据。
当空间数据表中的栅格对象具有对应的行级索引,所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高时,若步骤S104中判断所述抽样级别大于阈值,则执行所述步骤S106;若判断所述抽样级别小于或等于阈值且不等于0,则执行所述步骤S108;若抽样级别等于0,可以直接访问原始像元矩阵。
其中,执行所述步骤S106的过程可以与实施例一至三中所述步骤S106的执行过程相同,故不再赘述。
在执行所述步骤S108时,由于抽样级别lv小于或等于行级索引的层高且不为0,表示需要一个栅格对象内的栅格数据,因而访问行级索引,以保证良好的栅格对象级多分辨率栅格数据访问速率。
根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问栅格对象,而且列级索引数据量较小,不会存在大量数据冗余。通过行级索引和列级索引的联合索引机制可以提高查询访问性能。
实施例五
参照图7,示出了根据本发明实施例五的一种栅格数据访问装置的结构框图。
本实施例的栅格数据访问装置包括确定模块702、判断模块704和第一访问模块706。
其中,所述确定模块702,用于根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率。
在本实施例中,所述栅格数据访问装置用于访问空间数据库系统中的栅格数据。在其他实施例中,该装置可以用于访问其他数据库系统中的栅格数据,例如,访问存储画作的栅格数据的数据库系统中的栅格数据。
所述空间数据库系统利用栅格数据存储地理空间数据。例如,空间数据库系统中存储有一个空间数据表,空间数据表中的某列的字段类型为栅格数据类型,用于存储栅格对象对应的数据。本领域技术人员可以根据需要选择适当的栅格对象存储方式。
例如,一种存储方式为:数据类型为栅格数据类型的栅格列中的每行用于存储一个栅格对象(如遥感影像),根据需要,可以将栅格对象的元数据(metadata)和索引存储在行内,而栅格对象对应的栅格数据(即像元矩阵)可以直接采用原始栅格文件方式存储,这种存储方式可以降低数据冗余。
又例如,另一种存储方式为:将栅格对象的元数据存储在空间数据表的行内,并根据栅格对象的像元矩阵生成行内索引,将像元矩阵以栅格分块方式存储在基于行内索引的行内索引表中。
在本实施例中,当用户对空间数据表执行窗口查询访问时,触发所述栅格数据访问请求,以请求访问所述查询窗口内的栅格对象的栅格数据。当然,根据不同的业务需求,数据库系统可以配置不同的业务逻辑,采用任意适当的方式触发所述栅格数据访问请求,本实施例对此不作限定。
根据所述栅格数据访问请求,可以执行对应的窗口查询输入,以确定所述查询窗口对应的目标像元分辨率。在不同的业务中,所述目标像元分辨率所指示的含义可能不同。例如,在空间数据表中,所述目标像元分辨率用于指示所述查询窗口中每个像元对应的实际地理面积。
对于本领域技术人员而言,其可以根据需要采用适当的方式根据执行的窗口查询输入确定所述目标像元分辨率,本实施例对此不作限定。
所述判断模块,用于根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值。
存储的所述栅格对象的像元分辨率用于指示所述栅格对象中一个像元对应实际地理面积。例如,所述栅格对象的像元分辨率为1米,则表示该像元指示1平方米范围的地物。
根据所述目标像元分辨率(记作f)和所述栅格对象的像元分辨率(记作g),可以计算出抽样级别(记作lv)。在本实施例中,所述抽样级别lv用于指示所述目标像元分辨率f与所述栅格对象的像元分辨率g间的比例关系。所述抽样级别lv可以采用任何适当的方式计算。
例如,计算所述目标像元分辨率f和所述栅格对象的像元分辨率g的比值,并求该比值以2为底的对数值,并将对数值取整作为抽样级别lv,此种方式中,抽样级别lv可以表示为:lv=log2(f_x/g_x),其中,f_x为所述查询窗口x轴的目标像元分辨率,g_x为所述栅格对象x轴的像元分辨率。又或者,抽样级别lv也可以根据查询窗口y轴的目标像元分辨率和栅格对象的y轴的像元分辨率进行计算。
当然,在其他实施例中,针对不同的业务需求,所述抽样级别lv可以指示其他含义,本领域技术人员可以采用其他适当的方式计算所述抽样级别lv。
根据计算的所述抽样级别lv,通过判断其是否大于阈值,可以确定是否需要访问一个以上的所述栅格对象的栅格数据。若所述抽样级别lv大于所述阈值,则由第一访问模块706执行对应动作。若所述抽样级别lv不大于所述阈值,则表示仅需要进行栅格对象级的栅格数据访问,此种情况下可以采用现有的方式进行栅格数据的访问,例如直接访问栅格对象的行内存储的栅格数据。
需要说明的是,根据空间数据表的配置不同,所述阈值可以是任何适当的值。例如,若空间数据表中根据行内的所述栅格对象的栅格数据生成了行级索引,则所述阈值可以配置为所述行级索引的层高(层高是指行级索引的层数或级数,例如,行级索引的根节点为1层、叶子节点为1层,若根节点和叶子节点之间有一层中间节点,则其层高为3)。或者,若栅格对象的栅格数据采用原始栅格文件方式进行存储,空间数据表中未设置行级索引,则本领域技术人员可以根据需要将所述阈值配置为任何适当的设定阈值,如设定阈值可以为0。
所述第一访问模块706,用于若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。
所述列级索引为根据列内所述栅格对象的栅格数据生成的索引。本领域技术人员可以根据需要采用适当的方式生成所述列级索引。通过配置列级索引,可以在需要进行大范围窗口查询(即抽样级别lv大于所述阈值)时,根据列级索引访问查询窗口对应的栅格数据,增加对多栅格对象执行多分辨率访问时的访问速度,减少性能衰减,提升查询访问性能。
在本实施例中,所述根据列内栅格对象的栅格数据,通过降采样生成所述列级索引。降采样是指对维度尺寸较大的像元矩阵进行抽样算法,获得维度尺寸较小的像元矩阵的操作。例如,512像元*512像元的像元矩阵通过抽样算法获得256像元*256像元的像元矩阵。由于采用降采样生成列级索引,因此可以控制列级索引本身的数据量较小,且使列级索引的创建速度较快,使资源开销可控。
通过本实施例,根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问。
实施例六
参照图8,示出了根据本发明实施例六的一种栅格数据访问装置的结构框图。
本实施例的栅格数据访问装置包括前述的确定模块702、判断模块704和第一访问模块706。
可选地,所述确定模块702包括获取模块7021和计算模块7022。
所述获取模块7021,用于根据所述栅格数据访问请求,执行对应的窗口查询输入,获取对应的窗口实地范围和窗口像元数。
在本实施例中,当触发所述栅格数据访问请求时,执行对应的窗口查询输入,获取所述查询窗口的窗口实地范围(记作e)和窗口像元数(记作p)。
其中,窗口实地范围e用于指示所述查询窗口对应的实际地理空间的面积。在本实施例中,以所述查询窗口的左上角点坐标和右下角点坐标表示所述查询窗口的窗口实地范围e,记作e=(ul_x,ul_y),(lr_x,lr_y)。在其他实施例中,可以采用其他方式表示所述查询窗口的窗口实地范围e。
所述窗口像元数p用于指示在显示设备上所述查询窗口对应的像元数。在本实施例中,以x轴方向像元数和y轴方向像元数表示所述查询窗口的窗口像元数p,记作p=(cell_count_x,cell_count_y)。在其他实施例中,可以采用其他方式表示所述查询窗口的窗口像元数p。
当然,在其他实施例中,根据不同的业务需求,执行对应的窗口查询输入可以获取其他能够表征查询窗口的信息,本实施例对此不作限定。
所述计算模块7022,用于根据所述窗口实地范围和所述查询窗口像元数,计算所述查询窗口对应的目标像元分辨率。
在第一种可行方式中,计算所述查询窗口对应的目标像元分辨率f的过程为:根据所述窗口实地范围e计算所述查询窗口的x轴长度,根据所述窗口像元数p确定所述查询窗口x轴的像元数,计算所述查询窗口的x轴的长度与所述查询窗口x轴像元数的比值,并将该比值确定为所述目标像元分辨率f。
在本方式中,所述目标像元分辨率f可以表示为f=(lr_x-ul_x)/cell_count_x。其中,lr_x为所述查询窗口的窗口实地范围e中右下角点的x轴坐标,ul_x为所述查询窗口的窗口实地范围e中左上角点的x轴坐标,cell_count_x为所述查询窗口的x轴像元数。
在第二种可行方式中,可以根据所述查询窗口的y轴高度和所述查询窗口y轴的像元数,计算所述目标像元分辨率f,其计算过程与第一种可行方式中的计算过程类型,故不再赘述。或者,可以分别计算所述查询窗口x轴的目标分辨率和y轴目标分辨率,并取其中较大的一个作为最终的目标分辨率f。
在本实施例中,执行对应的窗口查询输入获取窗口实地范围e和窗口像元数p,通过窗口实地范围e和窗口像元数p可以准确且便捷地计算目标像元分辨率f,提升计算速度。
可选地,当所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高时,所述装置还包括第二访问模块708。所述第二访问模块708用于若小于或等于所述阈值且不为0,则根据所述行级索引访问所述查询窗口对应的栅格数据。
当空间数据表中的栅格对象具有对应的行级索引,所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高时,若判断模块704判断所述抽样级别大于阈值,则由第一访问模块706动作;若判断所述抽样级别小于或等于阈值且不等于0,则由第二访问模块708动作;若抽样级别等于0,可以直接访问原始像元矩阵。
在所述第二访问模块708动作时,由于抽样级别lv小于或等于行级索引的层高且不为0,表示需要一个栅格对象内的栅格数据,因而访问行级索引,以保证良好的栅格对象级多分辨率栅格数据访问速率。
可选地,所述装置还包括列索引生成模块700,所述列索引生成模块用于,在根据栅格数据访问请求,执行对应的窗口查询输入以确定所述查询窗口对应的目标像元分辨率之前,对栅格对象的行级索引的根节点像元矩阵进行拼接操作并对获得的拼接结果矩阵,执行降采样操作,根据降采样结果生成所述列级索引。
在本实施例中,所述行级索引为针对某个栅格对象,根据其栅格数据生成的索引。本领域技术人员可以根据需要为空间数据表中的每个栅格对象均生成对应的行级索引,也可以仅为空间数据表中的部分所述栅格对象生成对应的行级索引。通过配置行级索引可以提升栅格对象级多分辨率栅格数据访问的访问速度。
所述行级索引可以是任意适当类型的索引,针对不同类型的所述行级索引,本领域技术人员可以采用适当的方式生成。例如,所述行级索引为固定大小分块的行级四叉树分块索引其结构如图4所示。用户通过执行ST_BuildPyramid过程函数为空间数据表中的栅格对象创建栅格金字塔,并基于栅格金子塔构建对应的行级索引。
一种具体地构建所述行级索引的过程为:
将原始栅格数据(即像元矩阵)进行分块操作,获得固定大小的栅格分块,并将栅格分块作为叶子节点存储在所述行级索引的底层(如图4所示的L0层)。
以叶子节点为基础,执行倍率为F(F可以根据需要确定,其为大于1的整数,本例中F=2)的逐级降采样,并对应构建出包含N(N可以根据需要确定,其为大于或等于1的整数,本例中N=2)个层级的降分辨率分块对象集合(如图4所述的L1层和L2层)。所述分块对象用于存储所述行级索引的各节点的像元矩阵。
可选地,为了便于检索,所述行级索引可以保存到一个索引表中进行存储,下述表1示出了一种行级栅格四叉树分块索引表。表1中的字段包括但不限于:rid字段、level字段、row字段、column字段和block字段。
rid level row column block
1 0 0 0 [cell_matrix]
1 0 1 1 [cell_matrix]
…… …… …… …… ……
表1
在表1中每一元组存储一个栅格分块的分块信息,所述分块信息包括分块对象和分块索引编号。
其中:rid字段值、level字段值、row字段值和column字段值构成所述栅格分块的分块索引编号。block字段用于存储栅格分块的分块对象,分块对象由像元矩阵构成,一般同一栅格对象内的像元矩阵大小固定,可以是256像元*256像元等。rid字段为行级索引中栅格分块所属栅格对象的唯一标识。level字段为栅格分块在行级索引中级别。row字段为栅格分块所在行维序号。column字段为栅格分块所在列维的序号。
为进一步加快栅格分块检索速度,可基于分块索引编号进一步构建B树或B+树索引。
在本实施例中,基于上述的行级索引,用户可以执行预设的语句指示创建列级索引,使得列内栅格数据访问速度更快。而且由于列级索引是基于行级索引创建的,因此可以综合利用栅格对象的行级索引和列级索引,加快对栅格数据多分辨率任意尺度下的访问效率。
可选地,所述列索引生成模块700包括拼接模块7001和降采样模块7002。
所述拼接模块7001,用于根据所述根节点像元矩阵对应的栅格对象间的空间位置关系,拼接所述根节点像元矩阵,以获得拼接结果矩阵。
在本实施例中,由于栅格对象中的栅格数据用于指示地理空间数据,故而在拼接根节点像元矩阵时,根据其对应的栅格对象间的空间位置关系确定根节点像元矩阵间的位置关系,进而保证拼接结果矩阵与实际地理空间一致。一种拼接出的拼接结果矩阵的结构如图5中A处所示。
所述降采样模块7002,用于对所述拼接结果矩阵,执行降采样倍率为设定倍率的降采样操作,并根据降采样结果,生成所述列级索引。
所述设定倍率(记作G,在本例中G=2)。当然,本领域技术人员可以根据检索精度和列级索引层数需求,将所述设定倍率G设置为其他值,如4、6等。
在执行降采样操作时,根据拼接出的所述拼接结果矩阵的大小不同,可以执行一次或多次降采样操作,直至降采样结果满足终止条件。例如,终止条件可以为降采样操作获得的栅格分块为1。
当执行多次降采样操作时,首次降采样操作基于拼接结果矩阵执行,非首次降采样操作则基于前次降采样结果执行。执行两次降采样操作的降采样结果如图5中B处和C处所示。
生成列级索引时,根据各次降采样操作的降采样结果构建高度为M层的列级索引,本实施例中构建的列级索引如图5中D处所示。其中,M为大于或等于1的整数,且M的取值等于降采样操作的次数。
在本实施例中,所述列级索引为列级四叉树分块索引。该列级索引可以存储到列级栅格四叉树分块索引表中。本领域技术人员可以根据需要配置列级栅格四叉树分块索引表的字段,本实施例对此不作限定。
在其他实施例中,所述列级索引可以是其他类型的索引,本实施例对此不作限定。
通过本实施例,根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问栅格对象,而且列级索引数据量较小,不会存在大量数据冗余。
此外,一方面,通过将一幅地理空间影像数据导入到空间数据表的栅格列的一行中,存储为一个栅格对象的方式,可以使用户方便地将外部一幅地理空间影像数据对应到空间数据表中的一个栅格对象,概念对应关系比较清晰,且单个栅格对象的大小不受限。针对每个栅格对象构建行内索引,可以加速行内多分辨率的栅格数据访问。
另一方面,由于创建了列级索引,因此可以满足用户对大范围地理空间影像数据无缝一体化查询需求,而且可以有效解决“像元分辨率过载”问题,解决进行大量小对象的读取以及实时抽样时会大幅降低空间数据库系统访问性能的问题。
所谓像元分辨率过载,即用户对整个空间数据库系统中的空间数据表进行基于窗口查询(即显示出和查询窗口相交的所有栅格对象)时,随着查询窗口覆盖范围的增大,会访问到越来越多的栅格对象,且可能出现查询窗口所需适配的像元分辨率超出栅格对象本身所覆盖的地理范围(即一个栅格对象所覆盖的范围在屏幕地图上显示时不足一个屏幕像素)。
本栅格数据访问装置,既具有以栅格对象为单位存储和管理栅格数据的优势,同时通过列级索引,在需要访问多个栅格对象的栅格数据时,通过直接访问列级索引加快了栅格数据访问效率。列级索引直接在行级索引的根节点像元矩阵的基础上通过降采样操作创建,因此很大程度上控制了列级索引本身的数据量,创建速度也会非常快,资源开销完全可控,具有很好的实用性。
实施例七
参照图9,示出了根据本发明实施例七的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图9所示,该电子设备可以包括:处理器(processor)902、通信接口(Communications Interface)904、存储器(memory)906、以及通信总线908。
其中:
处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。
通信接口904,用于与其它电子设备如终端设备或服务器进行通信。
处理器902,用于执行程序910,具体可以执行上述栅格数据访问方法实施例中的相关步骤。
具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。
处理器902可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器906,用于存放程序910。存储器906可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
程序910具体可以用于使得处理器902执行以下操作:获取待下载应用的图标;根据所述图标,获取所述待下载应用的下载地址;从所述下载地址下载所述待下载应用。
在一种可选的实施方式中,程序910还用于使得处理器902根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率;根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值;若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。
在一种可选的实施方式中,程序910还用于使得处理器902在根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率时,根据所述栅格数据访问请求,执行对应的窗口查询输入,获取对应的窗口实地范围和窗口像元数;根据所述窗口实地范围和所述查询窗口像元数,计算所述查询窗口对应的目标像元分辨率。
在一种可选的实施方式中,所述阈值为设定阈值,或者,所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高。
在一种可选的实施方式中,程序910还用于使得处理器902在所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高时,若小于或等于所述阈值且不为0,则根据所述行级索引访问所述查询窗口对应的栅格数据。
在一种可选的实施方式中,程序910还用于使得处理器902在所述根据栅格数据访问请求,执行对应的窗口查询输入以确定所述查询窗口对应的目标像元分辨率之前,对栅格对象的行级索引的根节点像元矩阵进行拼接操作并对获得的拼接结果矩阵,执行降采样操作,根据降采样结果生成所述列级索引。
在一种可选的实施方式中,程序910还用于使得处理器902在对栅格对象的行级索引的根节点像元矩阵进行拼接操作并对获得的拼接结果矩阵,执行降采样操作,根据降采样结果生成所述列级索引时,根据所述根节点像元矩阵对应的栅格对象间的空间位置关系,拼接所述根节点像元矩阵,以获得拼接结果矩阵;对所述拼接结果矩阵,执行降采样倍率为设定倍率的降采样操作,并根据降采样结果,生成所述列级索引。
程序910中各步骤的具体实现可以参见上述栅格数据访问方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例的电子设备,根据栅格数据访问请求,确定查询窗口的目标像元分辨率,并根据目标像元分辨率和栅格对象的像元分辨率计算抽样级别,依据抽样级别与阈值的大小关系,确定是否需要访问列级索引,在抽样级别大于阈值时,根据列级索引访问查询窗口对应的栅格数据,提升了列内多栅格数据的访问速度,实现了任意尺度下海量栅格数据的快速访问。
实施例八
在本实施例中,提供一种计算机存储介质,其上存储有空间数据库,所述空间数据库包括空间数据表和列级索引,所述空间数据表的至少一个字段用于存储栅格对象的栅格数据,所述列级索引为根据所述至少一个字段中的栅格数据通过降采样生成的索引。
该空间数据表例如为前述的实施例一所述的空间数据表。空间数据表中的某列的字段类型为栅格数据类型,用于存储栅格对象对应的数据。本领域技术人员可以根据需要选择适当的栅格对象存储方式。
一种存储方式为:将栅格对象的元数据存储在空间数据表的行内,并根据栅格对象的像元矩阵生成行内索引,将像元矩阵以栅格分块方式存储在基于行内索引的行内索引表中。
该列级索引可以是独立于空间数据表的索引表。该列级索引可以采用前述的实施例三所述的根据空间数据表中的至少一个字段中的栅格数据通过降采样方式生成。
由于该空间数据库中包含列级索引,因此在访问空间数据表中存储的栅格数据时,若抽样级别大于阈值,即发生像元过载的情况,则可以通过列级索引快速访问查询窗口对应的栅格数据,从而提升访问速度。
需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。
上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的栅格数据访问方法。此外,当通用计算机访问用于实现在此示出的栅格数据访问方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的栅格数据访问方法的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

Claims (15)

1.一种栅格数据访问方法,其特征在于,包括:
根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率;
根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值;
若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。
2.根据权利要求1所述的方法,其特征在于,所述根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率,包括:
根据所述栅格数据访问请求,执行对应的窗口查询输入,获取对应的窗口实地范围和窗口像元数;
根据所述窗口实地范围和所述查询窗口像元数,计算所述查询窗口对应的目标像元分辨率。
3.根据权利要求1所述的方法,其特征在于,所述阈值为设定阈值,或者,所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高。
4.根据权利要求3所述的方法,其特征在于,当所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高时,所述方法还包括:
若小于或等于所述阈值且不为0,则根据所述行级索引访问所述查询窗口对应的栅格数据。
5.根据权利要求1所述的方法,其特征在于,所述根据栅格数据访问请求,执行对应的窗口查询输入以确定所述查询窗口对应的目标像元分辨率之前,所述方法还包括:
对栅格对象的行级索引的根节点像元矩阵进行拼接操作并对获得的拼接结果矩阵,执行降采样操作,根据降采样结果生成所述列级索引。
6.根据权利要求5所述的方法,其特征在于,所述对栅格对象的行级索引的根节点像元矩阵进行拼接操作并对获得的拼接结果矩阵,执行降采样操作,根据降采样结果生成所述列级索引,包括:
根据所述根节点像元矩阵对应的栅格对象间的空间位置关系,拼接所述根节点像元矩阵,以获得拼接结果矩阵;
对所述拼接结果矩阵,执行降采样倍率为设定倍率的降采样操作,并根据降采样结果,生成所述列级索引。
7.一种栅格数据访问装置,其特征在于,包括:
确定模块,用于根据栅格数据访问请求,执行对应的窗口查询输入以确定查询窗口对应的目标像元分辨率;
判断模块,用于根据所述目标像元分辨率和存储的栅格对象的像元分辨率,计算抽样级别并判断所述抽样级别是否大于阈值;
第一访问模块,用于若大于,则根据列级索引访问所述查询窗口对应的栅格数据,所述列级索引为根据列内所述栅格对象的栅格数据通过降采样生成的索引。
8.根据权利要求7所述的装置,其特征在于,所述确定模块包括:
获取模块,用于根据所述栅格数据访问请求,执行对应的窗口查询输入,获取对应的窗口实地范围和窗口像元数;
计算模块,用于根据所述窗口实地范围和所述查询窗口像元数,计算所述查询窗口对应的目标像元分辨率。
9.根据权利要求7所述的装置,其特征在于,所述阈值为设定阈值,或者,所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高。
10.根据权利要求9所述的装置,其特征在于,当所述阈值为根据行内的所述栅格对象的栅格数据生成的行级索引的层高时,所述装置还包括:
第二访问模块,用于若小于或等于所述阈值且不为0,则根据所述行级索引访问所述查询窗口对应的栅格数据。
11.根据权利要求7所述的装置,其特征在于,所述装置还包括:
列索引生成模块,用于在根据栅格数据访问请求,执行对应的窗口查询输入以确定所述查询窗口对应的目标像元分辨率之前,对栅格对象的行级索引的根节点像元矩阵进行拼接操作并对获得的拼接结果矩阵,执行降采样操作,根据降采样结果生成所述列级索引。
12.根据权利要求11所述的装置,其特征在于,所述列索引生成模块包括:
拼接模块,用于根据所述根节点像元矩阵对应的栅格对象间的空间位置关系,拼接所述根节点像元矩阵,以获得拼接结果矩阵;
降采样模块,用于对所述拼接结果矩阵,执行降采样倍率为设定倍率的降采样操作,并根据降采样结果,生成所述列级索引。
13.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的栅格数据访问方法对应的操作。
14.一种计算机存储介质,其特征在于,其上存储有空间数据库,所述空间数据库包括空间数据表和列级索引,所述空间数据表的至少一个字段用于存储栅格对象的栅格数据,所述列级索引为根据所述至少一个字段中的栅格数据通过降采样生成的索引。
15.一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1-6中任一所述的栅格数据访问方法。
CN201910463161.7A 2019-05-30 2019-05-30 栅格数据访问方法、装置、电子设备及计算机存储介质 Pending CN112015929A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910463161.7A CN112015929A (zh) 2019-05-30 2019-05-30 栅格数据访问方法、装置、电子设备及计算机存储介质
PCT/CN2020/091524 WO2020238749A1 (zh) 2019-05-30 2020-05-21 栅格数据访问方法、装置、电子设备及计算机存储介质
US17/534,171 US11907283B2 (en) 2019-05-30 2021-11-23 Multi-resolution raster data access method, apparatus, electronic device, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910463161.7A CN112015929A (zh) 2019-05-30 2019-05-30 栅格数据访问方法、装置、电子设备及计算机存储介质

Publications (1)

Publication Number Publication Date
CN112015929A true CN112015929A (zh) 2020-12-01

Family

ID=73501856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910463161.7A Pending CN112015929A (zh) 2019-05-30 2019-05-30 栅格数据访问方法、装置、电子设备及计算机存储介质

Country Status (3)

Country Link
US (1) US11907283B2 (zh)
CN (1) CN112015929A (zh)
WO (1) WO2020238749A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115840761A (zh) * 2023-03-01 2023-03-24 自然资源部第三地理信息制图院 一种卫星影像像元值修改方法、系统、设备及介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774598A (en) * 1993-11-30 1998-06-30 Polaroid Corporation System and method for sample rate conversion of an image using discrete cosine transforms
US20050055376A1 (en) * 2003-09-05 2005-03-10 Oracle International Corporation Georaster physical data model for storing georeferenced raster data
CN101470730A (zh) * 2007-12-26 2009-07-01 中国科学院自动化研究所 基于频谱特征分析的图像重复检测方法
CN101763416A (zh) * 2009-12-29 2010-06-30 中国科学院地理科学与资源研究所 一种数据库空间栅格对象存取方法
CN102368272A (zh) * 2011-11-15 2012-03-07 中国科学院地理科学与资源研究所 一种数据库系统实现栅格数据类型的方法及其系统
CN108319655A (zh) * 2017-12-29 2018-07-24 百度在线网络技术(北京)有限公司 用于生成栅格地图的方法和装置
WO2019054300A1 (ja) * 2017-09-14 2019-03-21 シャープ株式会社 画像符号化装置及び画像復号装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5767987A (en) 1994-09-26 1998-06-16 Ricoh Corporation Method and apparatus for combining multiple image scans for enhanced resolution
US5778158A (en) * 1996-03-04 1998-07-07 Hewlett-Packard Company High speed system for image scaling
US7107285B2 (en) * 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US7242802B2 (en) * 2002-07-01 2007-07-10 Xerox Corporation Segmentation method and system for Multiple Raster Content (MRC) representation of documents
US7412003B2 (en) * 2003-09-17 2008-08-12 Texas Instruments Incorporated Transcoders and methods
US20050058203A1 (en) * 2003-09-17 2005-03-17 Fernandes Felix C. Transcoders and methods
US7940271B2 (en) * 2005-03-08 2011-05-10 Oculus Info Inc. System and method for large scale information analysis using data visualization techniques
US20070253642A1 (en) * 2006-04-27 2007-11-01 Mapinfo Corporation Method and apparatus for indexing, storing and retrieving raster (GRID) data in a combined raster vector system
US7965902B1 (en) * 2006-05-19 2011-06-21 Google Inc. Large-scale image processing using mass parallelization techniques
US7933473B2 (en) 2008-06-24 2011-04-26 Microsoft Corporation Multiple resolution image storage
JP5166156B2 (ja) * 2008-07-25 2013-03-21 株式会社東芝 解像度変換装置、方法およびプログラム
US8576238B1 (en) 2009-07-14 2013-11-05 Adobe Systems Incorporated High speed display of high resolution image
CN101667200B (zh) * 2009-09-18 2011-06-01 浙江大学 一种p2p环境中的窗口查询方法
US8386468B2 (en) * 2010-08-26 2013-02-26 Oracle International Corporation Spatial query processing with query window index
CN102831132B (zh) * 2011-06-13 2016-05-25 英华达(南京)科技有限公司 可快速在电子装置上显示数字图文件的储存方法及其电子装置
JP6024107B2 (ja) 2012-01-06 2016-11-09 株式会社リコー 画像処理装置、撮像装置、画像処理方法およびプログラム
JP2013171370A (ja) 2012-02-20 2013-09-02 Sony Corp 情報処理装置、情報処理方法、プログラム、及び情報処理システム
WO2015155628A1 (en) * 2014-04-07 2015-10-15 Eyeways Systems Ltd. Apparatus and method for image-based positioning, orientation and situational awareness
US9589367B2 (en) * 2014-06-27 2017-03-07 Samsung Electronics Co., Ltd. Reconstruction of missing data point from sparse samples during graphics processing using cubic spline polynomials
US9877031B2 (en) * 2015-04-29 2018-01-23 Pitney Bowes Inc. System and method for multi-resolution raster data processing
US10102219B2 (en) 2015-05-22 2018-10-16 Box, Inc. Rendering high resolution images using image tiling and hierarchical image tile storage structures
US10789231B2 (en) * 2016-05-19 2020-09-29 Oracle International Corporation Spatial indexing for distributed storage using local indexes
JP2018032949A (ja) * 2016-08-23 2018-03-01 キヤノン株式会社 動きベクトル検出装置およびその制御方法
US10121276B2 (en) * 2016-12-01 2018-11-06 Nvidia Corporation Infinite resolution textures
US11222397B2 (en) 2016-12-23 2022-01-11 Qualcomm Incorporated Foveated rendering in tiled architectures
KR102650650B1 (ko) * 2017-01-20 2024-03-25 한화비전 주식회사 영상 관리 시스템 및 영상 관리 방법
GB201709199D0 (en) * 2017-06-09 2017-07-26 Delamont Dean Lindsay IR mixed reality and augmented reality gaming system
US11204896B2 (en) * 2017-08-18 2021-12-21 International Business Machines Corporation Scalable space-time density data fusion
CN108535929A (zh) * 2018-05-28 2018-09-14 京东方科技集团股份有限公司 显示基板和显示装置
US10890663B2 (en) * 2018-06-28 2021-01-12 Zoox, Inc. Loading multi-resolution maps for localization
US11422259B2 (en) * 2018-06-28 2022-08-23 Zoox, Inc. Multi-resolution maps for localization

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774598A (en) * 1993-11-30 1998-06-30 Polaroid Corporation System and method for sample rate conversion of an image using discrete cosine transforms
US20050055376A1 (en) * 2003-09-05 2005-03-10 Oracle International Corporation Georaster physical data model for storing georeferenced raster data
CN101470730A (zh) * 2007-12-26 2009-07-01 中国科学院自动化研究所 基于频谱特征分析的图像重复检测方法
CN101763416A (zh) * 2009-12-29 2010-06-30 中国科学院地理科学与资源研究所 一种数据库空间栅格对象存取方法
CN102368272A (zh) * 2011-11-15 2012-03-07 中国科学院地理科学与资源研究所 一种数据库系统实现栅格数据类型的方法及其系统
WO2019054300A1 (ja) * 2017-09-14 2019-03-21 シャープ株式会社 画像符号化装置及び画像復号装置
CN108319655A (zh) * 2017-12-29 2018-07-24 百度在线网络技术(北京)有限公司 用于生成栅格地图的方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115840761A (zh) * 2023-03-01 2023-03-24 自然资源部第三地理信息制图院 一种卫星影像像元值修改方法、系统、设备及介质
CN115840761B (zh) * 2023-03-01 2023-04-14 自然资源部第三地理信息制图院 一种卫星影像像元值修改方法、系统、设备及介质

Also Published As

Publication number Publication date
WO2020238749A1 (zh) 2020-12-03
US20220083586A1 (en) 2022-03-17
US11907283B2 (en) 2024-02-20

Similar Documents

Publication Publication Date Title
CN110990516B (zh) 地图数据的处理方法、装置和服务器
CN110069579B (zh) 电子围栏分块方法和装置
CN110633262B (zh) 基于Spark的地图相交区域面积计算方法及系统
CN109992640B (zh) 位置网格的确定方法及装置、设备及存储介质
EP2947630A1 (en) Method for compressing coordinate data
CN114020756A (zh) 遥感影像实时地图服务发布方法和装置
CN106777302B (zh) 空间地理坐标的转换方法及装置
CN111090712A (zh) 一种数据处理方法、装置、设备及计算机存储介质
CN109684425A (zh) 保单用户地址匹配方法及装置
CN108460161B (zh) 分层抽样方法、装置和计算机设备
CN111460043A (zh) 三维空间图像区块链存储方法及页面显示方法
CN113178004A (zh) 一种基于超核八叉树海量点云显示方法
CN112015929A (zh) 栅格数据访问方法、装置、电子设备及计算机存储介质
CN114049463A (zh) 一种二叉树的数据网格化、网格点数据的获取方法及装置
CN112700547B (zh) 地图制图方法及其相关设备
CN111966925B (zh) 楼栋兴趣点判重方法、装置、电子设备和存储介质
CN115952252B (zh) 基于动态渲染的语义瓦片数据处理方法、装置和电子设备
CN117009411A (zh) 一种基于点云数据网格化空间存储与索引方法、装置及计算机可读存储介质
CN111862343A (zh) 一种三维重建方法、装置、设备及计算机可读存储介质
CN116358527A (zh) 点云数据处理、高程确定方法、设备及存储介质
CN111506682A (zh) 地图数据处理方法、数据查询方法、装置、电子设备
WO2021232278A1 (zh) 地图获取方法、装置、计算机设备和存储介质
CN114817619A (zh) 基于栅格重投影的地图生成方法、系统、介质及设备
CN114116948A (zh) 地理矢量数据空间缓冲区分析方法、装置、设备及介质
CN111552765B (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
TA01 Transfer of patent application right

Effective date of registration: 20210909

Address after: Room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: ALIBABA GROUP HOLDING Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211122

Address after: 310000 No. 12, Zhuantang science and technology economic block, Xihu District, Hangzhou City, Zhejiang Province

Applicant after: Aliyun Computing Co.,Ltd.

Address before: Room 508, 5 / F, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Alibaba (China) Co.,Ltd.

TA01 Transfer of patent application right