一种网格检索方法及装置与流程

文档序号:18414406发布日期:2019-08-13 19:10阅读:197来源:国知局
一种网格检索方法及装置与流程

本申请涉及遥感影像处理技术领域,具体涉及一种网格检索方法及装置。



背景技术:

随着遥感影像获取手段的快速发展,遥感大数据时代已经来临。遥感影像一般是指卫星遥感影像和航空摄影影像,具有数据总量巨大、数据格式及坐标体系复杂多样等特点。当前遥感影像数据是以条带、图幅、波段等为基础的文件组织模式,该模式下遥感影像数据无法快速检索、需要进行长时间繁琐处理才能连续浏览,严重限制了遥感影像数据的应用,导致遥感影像数据应有的价值不能得到体现和挖掘。

为此,如何实现对遥感影像数据的快速检索是亟待解决的技术问题。



技术实现要素:

有鉴于此,本申请提供一种网格检索方法及装置,以解决现有技术中无法对遥感影像数据进行快速检索。

为解决上述问题,本申请实施例提供的技术方案如下:

一种网格检索方法,将空间网格体系中各级的各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图,将所述第一维度网格图中每级网格对应的点进行连线,在所述第一维度网格图中生成每级网格对应的条带线;将所述空间网格体系中各级的各个网格在第二维度上映射到所述起止点坐标系中,生成第二维度网格图,将所述第二维度网格图中每级网格对应的点进行连线,在所述第二维度网格图中生成每级网格对应的条带线,所述方法包括:

将索引矩形在第一维度上映射到所述第一维度网格图获得第一索引点,将所述索引矩形在第二维度上映射到所述第二维度网格图获得第二索引点;

在所述第一维度网格图中将所述第一索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为所述索引矩形在第一维度的所属网格;

在所述第二维度网格图中将所述第二索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为所述索引矩形在第二维度的所属网格;

根据所述索引矩形在第一维度的所属网格以及在第二维度的所属网格确定所述索引矩形的所属网格。

可选的,所述将空间网格体系中各级的各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图,包括:

将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

获取所述指定矩阵的第一维度最小值以及所述指定矩阵的第一维度最大值,所述指定矩阵的第一维度最小值为所述指定矩阵的左下角点的第一维度坐标值,所述指定矩阵的第一维度最大值为所述指定矩阵的右上角点的第一维度坐标值;

将所述指定矩阵的第一维度最小值以及所述指定矩阵的第一维度最大值作为所述指定矩阵在起止点坐标系中在第一维度上的坐标值,以将所述各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图;

所述将所述空间网格体系中各级的各个网格在第二维度上映射到所述起止点坐标系中,生成第二维度网格图,包括:

将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

获取所述指定矩阵的第二维度最小值以及所述指定矩阵的第二维度最大值,所述指定矩阵的第二维度最小值为所述指定矩阵的左下角点的第二维度坐标值,所述指定矩阵的第二维度最大值为所述指定矩阵的右上角点的第二维度坐标值;

将所述指定矩阵的第二维度最小值以及所述指定矩阵的第二维度最大值作为所述指定矩阵在起止点坐标系中在第二维度上的坐标值,以将所述各个网格在第二维度上映射到起止点坐标系中,生成第二维度网格图。

可选的,所述将索引矩形在第一维度上映射到所述第一维度网格图获得第一索引点,包括:

获取索引矩阵的第一维度最小值以及所述索引矩阵的第一维度最大值,所述索引矩阵的第一维度最小值为所述索引矩阵的左下角点的第一维度坐标值,所述索引矩阵的第一维度最大值为所述索引矩阵的右上角点的第一维度坐标值;

将所述索引矩阵的第一维度最小值以及所述索引矩阵的第一维度最大值作为所述第一维度网格图中第一索引点的坐标值;

所述将所述索引矩形在第二维度上映射到所述第二维度网格图获得第二索引点,包括:

获取索引矩阵的第二维度最小值以及所述索引矩阵的第二维度最大值,所述索引矩阵的第二维度最小值为所述索引矩阵的左下角点的第二维度坐标值,所述索引矩阵的第二维度最大值为所述索引矩阵的右上角点的第二维度坐标值;

将所述索引矩阵的第二维度最小值以及所述索引矩阵的第二维度最大值作为所述第二维度网格图中第二索引点的坐标值。

可选的,所述方法还包括:

将检索范围的第一维度最大值以及所述检索范围的第一维度最小值作为所述第一维度网格图中第一检索点的坐标值;在所述第一维度网格图中将所述第一检索点左上象限内的全部点对应的网格确定为在第一维度上与所述检索范围相交的网格;所述检索范围为矩形,所述检索范围的第一维度最大值为所述检索范围的右上角点的第一维度坐标值,所述检索范围的第一维度最小值为所述检索范围的左下角点的第一维度坐标值;

和/或,将所述检索范围的第二维度最大值以及所述检索范围的第二维度最小值作为所述第二维度网格图中第二检索点的坐标值;在所述第二维度网格图中将所述第二检索点左上象限内的全部点对应的网格确定为在第二维度上与所述检索范围相交的网格;所述检索范围的第二维度最大值为所述检索范围的右上角点的第二维度坐标值,所述检索范围的第二维度最小值为所述检索范围的左下角点的第二维度坐标值。

可选的,所述方法还包括:

将在第一维度上与所述检索范围相交的网格与在第二维度上与所述检索范围相交的网格取交集,确定与所述检索范围相交的网格。

一种网格检索装置,所述装置包括:

第一生成单元,用于将空间网格体系中各级的各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图;

第二生成单元,用于将所述第一维度网格图中每级网格对应的点进行连线,在所述第一维度网格图中生成每级网格对应的条带线;

第三生成单元,用于将所述空间网格体系中各级的各个网格在第二维度上映射到所述起止点坐标系中,生成第二维度网格图;

第四生成单元,用于将所述第二维度网格图中每级网格对应的点进行连线,在所述第二维度网格图中生成每级网格对应的条带线:

第一映射单元,用于将索引矩形在第一维度上映射到所述第一维度网格图获得第一索引点;

第二映射单元,用于将所述索引矩形在第二维度上映射到所述第二维度网格图获得第二索引点;

第一投影单元,用于在所述第一维度网格图中将所述第一索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为所述索引矩形在第一维度的所属网格;

第二投影单元,用于在所述第二维度网格图中将所述第二索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为所述索引矩形在第二维度的所属网格;

第一确定单元,用于根据所述索引矩形在第一维度的所属网格以及在第二维度的所属网格确定所述索引矩形的所属网格。

可选的,所述第一生成单元包括:

第一确定子单元,用于将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

第一获取子单元,用于获取所述指定矩阵的第一维度最小值以及所述指定矩阵的第一维度最大值,所述指定矩阵的第一维度最小值为所述指定矩阵的左下角点的第一维度坐标值,所述指定矩阵的第一维度最大值为所述指定矩阵的右上角点的第一维度坐标值;

第一生成子单元,用于将所述指定矩阵的第一维度最小值以及所述指定矩阵的第一维度最大值作为所述指定矩阵在起止点坐标系中在第一维度上的坐标值,以将所述各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图;

所述第三生成单元包括:

第二确定子单元,用于将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

第二获取子单元,用于获取所述指定矩阵的第二维度最小值以及所述指定矩阵的第二维度最大值,所述指定矩阵的第二维度最小值为所述指定矩阵的左下角点的第二维度坐标值,所述指定矩阵的第二维度最大值为所述指定矩阵的右上角点的第二维度坐标值;

第二生成子单元,用于将所述指定矩阵的第二维度最小值以及所述指定矩阵的第二维度最大值作为所述指定矩阵在起止点坐标系中在第二维度上的坐标值,以将所述各个网格在第二维度上映射到起止点坐标系中,生成第二维度网格图。

可选的,所述第一映射单元包括:

第三获取子单元,用于获取索引矩阵的第一维度最小值以及所述索引矩阵的第一维度最大值,所述索引矩阵的第一维度最小值为所述索引矩阵的左下角点的第一维度坐标值,所述索引矩阵的第一维度最大值为所述索引矩阵的右上角点的第一维度坐标值;

第一映射子单元,用于将所述索引矩阵的第一维度最小值以及所述索引矩阵的第一维度最大值作为所述第一维度网格图中第一索引点的坐标值;

所述第二映射单元包括:

第四获取子单元,用于获取索引矩阵的第二维度最小值以及所述索引矩阵的第二维度最大值,所述索引矩阵的第二维度最小值为所述索引矩阵的左下角点的第二维度坐标值,所述索引矩阵的第二维度最大值为所述索引矩阵的右上角点的第二维度坐标值;

第二映射子单元,用于将所述索引矩阵的第二维度最小值以及所述索引矩阵的第二维度最大值作为所述第二维度网格图中第二索引点的坐标值。

可选的,所述装置还包括:

第一检索单元,和/或,第二检索单元;

所述第一检索单元,用于将检索范围的第一维度最大值以及所述检索范围的第一维度最小值作为所述第一维度网格图中第一检索点的坐标值;在所述第一维度网格图中将所述第一检索点左上象限内的全部点对应的网格确定为在第一维度上与所述检索范围相交的网格;所述检索范围为矩形,所述检索范围的第一维度最大值为所述检索范围的右上角点的第一维度坐标值,所述检索范围的第一维度最小值为所述检索范围的左下角点的第一维度坐标值;

所述第二检索单元,用于将所述检索范围的第二维度最大值以及所述检索范围的第二维度最小值作为所述第二维度网格图中第二检索点的坐标值;在所述第二维度网格图中将所述第二检索点左上象限内的全部点对应的网格确定为在第二维度上与所述检索范围相交的网格;所述检索范围的第二维度最大值为所述检索范围的右上角点的第二维度坐标值,所述检索范围的第二维度最小值为所述检索范围的左下角点的第二维度坐标值。

可选的,所述装置还包括:

第二确定单元,用于将在第一维度上与所述检索范围相交的网格与在第二维度上与所述检索范围相交的网格取交集,确定与所述检索范围相交的网格。

由此可见,本申请实施例具有如下有益效果:

本申请实施例中提供一种新的坐标系,即起止点坐标系,可以将矩形映射到该起止点坐标系中形式两个点,在本申请实施例中可以将空间网格体系中各级的各个网格分别在第一维度上以及第二维度上映射到该起止点坐标系中,则生成的第一维度网格图以及第二维度网格图中均可以用点表示地理网格,同理也可以将索引矩形或者检索范围矩阵分别在第一维度上以及第二维度上映射到该起止点坐标系中,从而索引矩形或者检索范围矩阵与网格的比较可以由矩形之间的比较转换为点线之间的比较,大幅提高了网格索引以及检索的速度。

附图说明

图1为本申请实施例中提供的一种空间网格体系的示意图;

图2为本申请实施例中提供的另一种空间网格体系的示意图;

图3为本申请实施例中网格检索条件的示意图;

图4为本申请实施例中起止点坐标系的示意图;

图5为本申请实施例中第一维度网格图或第二维度网格图的示意图;

图6为本申请实施例中提供的网格检索方法的流程图;

图7为本申请实施例中网格索引过程的示意图;

图8为本申请实施例中一种利用起止点坐标系进行检索的示意图;

图9为本申请实施例中另一种利用起止点坐标系进行检索的示意图;

图10为本申请实施例中网格检索过程的示意图;

图11为本申请实施例中提供的网格检索装置的示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。

在本申请实施例中,可以分为网格索引以及网格检索两部分内容,网格索引是指确定索引矩形属于所查询级别网格中的哪个网格,网格检索是指确定检索范围矩阵与那些网格相交。

为了便于理解,首先对空间网格体系中的各级网格进行说明。

在本申请实施例中,可以首先建立一套空间网格体系,该空间网格体系可以共包括2n级网格,n为大于3的整数。

参见图1所示,在第一种建立空间网格体系的方式中,可以在经纬度坐标系中,将全球地理范围中的东半球区域以及西半球区域各作为一个顶级网格,即第一级网格,再将第一级网格进行四叉树划分生成第二级网格,以此类推,将各级网格逐级向下四叉树划分,从而建立空间网格体系。

参见图2所示,第二种建立空间网格体系的方式中,可以在地球地理范围内将经度间隔1度且纬度间隔1度的各个区域作为基准网格,将基准网格作为空间网格体系的第9级网格,将基准网格逐次向上四叉树聚合分别生成空间网格体系的第8级网格至第1级网格,将基准网格逐次向下四叉树划分分别生成空间网格体系第10级网格至第2n级网格。

在该种建立空间网格体系的方式中,全球地理范围内按照经纬度1度进行划分作为基准网格,例如东经0度到东经1度、北纬90度到北纬89度范围内的区域为一个基准网格,以此类推,在全球地理范围内将经度间隔1度且纬度间隔1度的各个区域均作为基准网格。该基准网格作为空间网格体系的第9级网格。

然后以东西半球的分界线与赤道的交点作为中心点,将每4个第9级网格进行四叉树聚合从而生成第8级网格,将每4个第8级网格进行四叉树聚合从而生成第7级网格,以此类推生成第8级至第1级网格。参见图2所示,全球地理范围为从中心点出发,东西各180度,南北各90度的范围,而第1级网格可以是包括全球地理范围东西各256度,南北各256度的范围。可以理解的是,由于遥感影像采集的是全球地理范围内的数据,因此第1级网格中超出全球地理范围的区域并未对应于遥感影像。

同时,空间网格体系的第9级网格即基准网格还可以继续向下四叉树划分生成第10级网格,将第10级网格四叉树划分生成第11级网格,以此类推,可以生成第10级到第2n级网格,n为大于3的整数。对于n的取值,可以根据所需分辨率决定。例如当n取5时,空间网格体系共包括32级网格,第32级网格所对应的地理区域为厘米级的区域。这样可以建立从全球地理范围到厘米级别大小的空间网格体系。

在该种空间网格体系中第1级到第9级均对应于整度数经纬度的区域,第9级以后级别的区域也是对整度数经纬度的划分,可以使得确定网格编码的过程中,无需一系列的乘除运算,仅需进行位运算即可完成,即为高效。因此后续实施例中涉及空间网格体系时,依照第二种空间网格体系进行示例性说明。

无论是网格索引,还是网格检索,都需要对检索范围与被检索对象之间进行相交计算。参见图3所示,基本检索条件为:当不满足以下四个条件的被检索对象,则与检索范围相交,其中,条件一,被检索对象的x坐标最大值小于检索范围的x坐标最小值(即对象的maxx<检索框minx);条件二,被检索对象的x坐标最小值大于检索范围的x坐标最大值(即对象的minx>检索框maxx);条件三,被检索对象的y坐标最大值小于检索范围的y坐标最小值(即对象的maxy<检索框miny);条件四,被检索对象的y坐标最小值大于检索范围的y坐标最大值(即对象的miny>检索框maxy)。

可以看到,相交判断条件可以归纳为其中一个的起始位置,和另一个的终止位置进行比较。

为更快速进行相交判断,本申请实施例提出了一种新的坐标系,称之为起止点坐标系。

参见图4所示,在普通的平面直角坐标系下,一个指定矩形可以使用左下角点(minx,miny)和右上角点(maxx,maxy)两个点的坐标来表示,左下角点可以认为是起始点,右上角点可以认为是终止点。

指定矩形的左下角点的坐标值可以分别为指定矩形的第一维度最小值(minx)以及指定矩形的第二维度最小值(miny),指定矩形的右上角点的坐标值可以分别为指定矩形的第一维度最大值(maxx)以及指定矩形的第二维度最大值(maxy)。

则可以将该指定矩形映射到起止点坐标系中,起止点坐标系也是一个二维直角坐标系,在该坐标系下,横轴表示起始点坐标,纵轴表示终止点坐标,则指定矩形在起止点坐标系上映射为两个点。具体映射方式为:将指定矩阵的第一维度最小值(minx)以及指定矩阵的第一维度最大值(maxx)可以作为一个起止点坐标系中的一个点的坐标值,则该坐标值(minx,maxx)可以作为指定矩阵在起止点坐标系中在第一维度上的坐标值;类似的,将指定矩阵的第二维度最小值(miny)以及指定矩阵的第二维度最大值(maxy)可以作为一个起止点坐标系中的一个点的坐标值,则该坐标值(miny,maxy)可以作为指定矩阵在起止点坐标系中在第二维度上的坐标值。这样,指定矩形可以映射到起止点坐标系中由两个坐标点表示,其中这两个点一个是第一维度的表示,另一个是第二维度的表示。例如一个指定矩形左下角的坐标值为(5,4),右上角的坐标值为(8,10),则该指定矩形映射到起止点坐标系后的坐标值为(5,8)和(4,10),即坐标值(5,8)是指定矩形在起止点坐标系中第一维度(x坐标轴)上的表示,坐标值(4,10)是指定矩形在起止点坐标系中第二维度(y坐标轴)上的表示。

可以理解的是,指定矩形在映射到起止点坐标系后的两点均落于b==e的直线左上方区域。另外,如果指定矩形归为一点,即指定矩形的起始点与终止点为同一点,则该点映射到起止点坐标系后为b==e的直线上的点。

基于上述关于起止点坐标系的说明,可以将空间网格体系中各级的各个网格映射到该起止点坐标系中,在本申请实施例中,利用各个网格起止点的第一维度的坐标值(例如x方向坐标轴上的坐标值)进行一次映射获得第一维度网格图,利用各个网格起止点的第二维度的坐标值(例如y方向坐标轴上的坐标值)进行另一次映射获得第二维度网格图。

具体的,参见图5所示,可以将空间网格体系中各级的各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图。

在本申请实施例一些可能的实现方式中,将空间网格体系中各级的各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图的具体实现可以包括:

将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

获取指定矩阵的第一维度最小值以及指定矩阵的第一维度最大值,指定矩阵的第一维度最小值为指定矩阵的左下角点的第一维度坐标值,指定矩阵的第一维度最大值为指定矩阵的右上角点的第一维度坐标值;

将指定矩阵的第一维度最小值以及指定矩阵的第一维度最大值作为指定矩阵在起止点坐标系中在第一维度上的坐标值,以将各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图。

也即通过上述将指定矩形映射到起止点坐标系中的方式,将空间网格体系中各级网格中的每个网格分别作为指定矩形映射到起止点坐标系,各级网格的数量可以根据需要设置,本申请实施例对此不进行限定,例如空间网格体系中供32级网格,可以根据所需分辨率,建立第1级至第20级的第一维度网格图。

需要说明的是,在该次映射中先仅将指定矩阵的第一维度最小值以及指定矩阵的第一维度最大值作为一个点的坐标值映射到起止点坐标系中,获得指定矩阵在起止点坐标系中在第一维度上的坐标值,从而生成第一维度网格图。

继续参见图5所示,可以将第一维度网格图中每级网格对应的点进行连线,在第一维度网格图中生成每级网格对应的条带线。

由于在空间网格体系中,同一级别的各个网格在第一维度上的跨度一致,因此将同一级别各个网格在第一维度网格图中对应的点进行连线,会落在同一条平行于b==e的直线上,则不同级别的网格在第一维度网格图中对于的点会构成一组平行线,即在第一维度网格图中生成每级网格对应的条带线。这样,同一级别的网格在单一维度上可以退化为其所在直线上的一系列等距有序点。

类似的,可以还可以将空间网格体系中各级的各个网格在第二维度上映射到起止点坐标系中,生成第二维度网格图,将第二维度网格图中每级网格对应的点进行连线,在第二维度网格图中生成每级网格对应的条带线。

在本申请实施例一些可能的实现方式中,将空间网格体系中各级的各个网格在第二维度上映射到起止点坐标系中,生成第二维度网格图的具体实现可以包括:

将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

获取指定矩阵的第二维度最小值以及指定矩阵的第二维度最大值,指定矩阵的第二维度最小值为指定矩阵的左下角点的第二维度坐标值,指定矩阵的第二维度最大值为指定矩阵的右上角点的第二维度坐标值;

将指定矩阵的第二维度最小值以及指定矩阵的第二维度最大值作为指定矩阵在起止点坐标系中在第二维度上的坐标值,以将各个网格在第二维度上映射到起止点坐标系中,生成第二维度网格图。

生成第二维度网格图以及在第二维度网格图中生成每级网格对应的条带线的方式与生成第一维度网格图以及在第一维度网格图中生成每级网格对应的条带线的方式类似,相关说明可以参见上述实施例,在此不再赘述。

在将各级各个网格映射到起止点坐标系后,可以基于第一维度网格图以及第二维度网格图实现网格索引,参见图6所示,示出了一种网格检索方法实施例的流程图,可以包括以下步骤:

步骤601:将索引矩形在第一维度上映射到第一维度网格图获得第一索引点,将索引矩形在第二维度上映射到第二维度网格图获得第二索引点。

利用上述将指定矩阵映射到起止点坐标系的方式,可以将索引矩形在第一维度上映射到第一维度网格图获得第一索引点,将索引矩形在第二维度上映射到第二维度网格图获得第二索引点。参见图7所示,示出了第一维度网格图或者第二维度网格图中索引点的示意图,图中三角形所表示的点即为获得的索引点,为索引矩形在该维度上的表示。

在本申请实施例一些可能的实现方式中,步骤601的具体实现可以包括:

获取索引矩阵的第一维度最小值以及索引矩阵的第一维度最大值,索引矩阵的第一维度最小值为索引矩阵的左下角点的第一维度坐标值,索引矩阵的第一维度最大值为索引矩阵的右上角点的第一维度坐标值;

将索引矩阵的第一维度最小值以及索引矩阵的第一维度最大值作为第一维度网格图中第一索引点的坐标值;

获取索引矩阵的第二维度最小值以及索引矩阵的第二维度最大值,索引矩阵的第二维度最小值为索引矩阵的左下角点的第二维度坐标值,索引矩阵的第二维度最大值为索引矩阵的右上角点的第二维度坐标值;

将索引矩阵的第二维度最小值以及索引矩阵的第二维度最大值作为第二维度网格图中第二索引点的坐标值。

步骤602:在第一维度网格图中将第一索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为索引矩形在第一维度的所属网格。

首先确定所查询级别的网格对应的条带线,例如所查询的基本为第10级网格,在第一维度网格图中确定该级别网格对应的条带线。然后将第一索引点向上或向下向该条带线连线,在该条带线上左侧的点所对应的网格即为索引矩形在第一维度的所属网格。

步骤603:在第二维度网格图中将第二索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为索引矩形在第二维度的所属网格。

类似的,可以确定索引矩形在第二维度的所属网格。

步骤604:根据索引矩形在第一维度的所属网格以及在第二维度的所属网格确定索引矩形的所属网格。

根据索引矩形在两个维度上所属的网格则可以确定出索引矩形在二维空间上所属的网格。

在本申请实施例中,可以分维度构建索引,易于索引扩展,未来扩展三维索引、时间维索引均可以采用同样的方法进行扩展;基于起止点的索引计算方法能快速将目标对象定位到最合适的网格。

这样,本申请实施例中提供一种新的坐标系,即起止点坐标系,可以将矩形映射到该起止点坐标系中形式两个点,在本申请实施例中可以将空间网格体系中各级的各个网格分别在第一维度上以及第二维度上映射到该起止点坐标系中,则生成的第一维度网格图以及第二维度网格图中均可以用点表示地理网格,同理也可以将索引矩形分别在第一维度上以及第二维度上映射到该起止点坐标系中,从而索引矩形与网格的比较可以由矩形之间的比较转换为点线之间的比较,大幅提高了网格索引的速度。

以下实施例将说明本申请实施例中关于网格检索的内容。

基于前述图3进行相交判断的条件,首先将检索范围的起止点坐标值进行调换映射到起止点坐标系中,例如,检索范围的左下角坐标为(minx,miny),右上角坐标为(maxx,maxy),则将(maxx,minx)以及(maxy,miny)放入起止点坐标系作为检索范围的表示,则检索范围的表示一定落入b==e直线的右下区域。

那么在起止点坐标系中,如果满足与检索范围矩形相交的矩形,其在第一维度(x方向)的起止点(beginx,endx)坐标位置,必须在检索范围矩形第一维度(x方向)的止起点(endx,beginx)坐标位置的左上方。同样该矩形第二维度(y方向)的起止点(beginy,endy)也必须在检索范围矩形第二维度(y方向)的止起点(endy,beginy)的左上角。同时满足这两个条件的,其与检索范围矩形一定是相交的。

例如,参见图8所示,将矩阵映射到起止点坐标系中,坐标值为(minx,maxx)以及(miny,maxy),将检索范围矩阵的起止点调换后映射到起止点坐标系中,坐标值为(maxx,minx)以及(maxy,miny),将矩阵的(minx,maxx)与检索范围矩阵的(maxx,minx)进行比较,矩阵的(minx,maxx)在检索范围矩阵的(maxx,minx)的左上区域,同时,将矩阵的(miny,maxy)与检索范围矩阵的(maxy,miny)进行比较,矩阵的(miny,maxy)在检索范围矩阵的(maxy,miny)的左上区域,则矩阵和检索范围矩阵相交。

参见图9所示,在该示例中,矩阵的(minx,maxx)不在检索范围矩阵的(maxx,minx)的左上区域,则矩阵和检索范围矩阵不相交。

基于以上说明,在本申请实施例一些可能的实现方式中,可以将检索范围的第一维度最大值以及检索范围的第一维度最小值作为第一维度网格图中第一检索点的坐标值;在第一维度网格图中将第一检索点左上象限内的全部点对应的网格确定为在第一维度上与检索范围相交的网格;检索范围为矩形,检索范围的第一维度最大值为检索范围的右上角点的第一维度坐标值,检索范围的第一维度最小值为检索范围的左下角点的第一维度坐标值。

参见图10所示,将检索范围的起止点进行调换后,在第一维度上映射到起止点坐标系中,第一检索点的坐标值为(maxx,minx),则该点左上象限内全部的点,即为在第一维度上与检索范围相交的网格。

类似的,可以将检索范围的第二维度最大值以及检索范围的第二维度最小值作为第二维度网格图中第二检索点的坐标值;在第二维度网格图中将第二检索点左上象限内的全部点对应的网格确定为在第二维度上与检索范围相交的网格;检索范围的第二维度最大值为检索范围的右上角点的第二维度坐标值,检索范围的第二维度最小值为检索范围的左下角点的第二维度坐标值。

第一维度和第二维度上的网格检索可以单独使用,进一步的,也可以将在第一维度上与检索范围相交的网格与在第二维度上与检索范围相交的网格取交集,确定与检索范围相交的网格。

在本申请实施例中,基于起止点坐标系进行网格索引,检索范围与网格的比较可以由矩形之间的比较转换为点线之间的比较,大幅提高了网格检索的速度,能够快速获取检索范围内的网格。

相应的,参见图11所示,本申请实施例还提供一种网格检索装置实施例,可以包括:

第一生成单元1101,用于将空间网格体系中各级的各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图;

第二生成单元1102,用于将第一维度网格图中每级网格对应的点进行连线,在第一维度网格图中生成每级网格对应的条带线;

第三生成单元1103,用于将空间网格体系中各级的各个网格在第二维度上映射到起止点坐标系中,生成第二维度网格图;

第四生成单元1104,用于将第二维度网格图中每级网格对应的点进行连线,在第二维度网格图中生成每级网格对应的条带线:

第一映射单元1105,用于将索引矩形在第一维度上映射到第一维度网格图获得第一索引点;

第二映射单元1106,用于将索引矩形在第二维度上映射到第二维度网格图获得第二索引点;

第一投影单元1107,用于在第一维度网格图中将第一索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为索引矩形在第一维度的所属网格;

第二投影单元1108,用于在第二维度网格图中将第二索引点垂直向上或向下投影到所查询级别的网格对应的条带线,将在该条带线上在投影点左侧的点所对应的网格确定为索引矩形在第二维度的所属网格;

第一确定单元1109,用于根据索引矩形在第一维度的所属网格以及在第二维度的所属网格确定索引矩形的所属网格。

可选的,第一生成单元可以包括:

第一确定子单元,用于将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

第一获取子单元,用于获取指定矩阵的第一维度最小值以及指定矩阵的第一维度最大值,指定矩阵的第一维度最小值为指定矩阵的左下角点的第一维度坐标值,指定矩阵的第一维度最大值为指定矩阵的右上角点的第一维度坐标值;

第一生成子单元,用于将指定矩阵的第一维度最小值以及指定矩阵的第一维度最大值作为指定矩阵在起止点坐标系中在第一维度上的坐标值,以将各个网格在第一维度上映射到起止点坐标系中,生成第一维度网格图。

第四三生成单元可以包括:

第二确定子单元,用于将空间网格体系中各级网格中的每个网格分别作为指定矩阵;

第二获取子单元,用于获取指定矩阵的第二维度最小值以及指定矩阵的第二维度最大值,指定矩阵的第二维度最小值为指定矩阵的左下角点的第二维度坐标值,指定矩阵的第二维度最大值为指定矩阵的右上角点的第二维度坐标值;

第二生成子单元,用于将指定矩阵的第二维度最小值以及指定矩阵的第二维度最大值作为指定矩阵在起止点坐标系中在第二维度上的坐标值,以将各个网格在第二维度上映射到起止点坐标系中,生成第二维度网格图。

可选的,第一映射单元可以包括:

第三获取子单元,用于获取索引矩阵的第一维度最小值以及索引矩阵的第一维度最大值,索引矩阵的第一维度最小值为索引矩阵的左下角点的第一维度坐标值,索引矩阵的第一维度最大值为索引矩阵的右上角点的第一维度坐标值;

第一映射子单元,用于将索引矩阵的第一维度最小值以及索引矩阵的第一维度最大值作为第一维度网格图中第一索引点的坐标值;

第二映射单元可以包括:

第四获取子单元,用于获取索引矩阵的第二维度最小值以及索引矩阵的第二维度最大值,索引矩阵的第二维度最小值为索引矩阵的左下角点的第二维度坐标值,索引矩阵的第二维度最大值为索引矩阵的右上角点的第二维度坐标值;

第二映射子单元,用于将索引矩阵的第二维度最小值以及索引矩阵的第二维度最大值作为第二维度网格图中第二索引点的坐标值。

可选的,该装置还可以包括:

第一检索单元,和/或,第二检索单元;

第一检索单元,用于将检索范围的第一维度最大值以及检索范围的第一维度最小值作为第一维度网格图中第一检索点的坐标值;在第一维度网格图中将第一检索点左上象限内的全部点对应的网格确定为在第一维度上与检索范围相交的网格;检索范围为矩形,检索范围的第一维度最大值为检索范围的右上角点的第一维度坐标值,检索范围的第一维度最小值为检索范围的左下角点的第一维度坐标值;

第二检索单元,用于将检索范围的第二维度最大值以及检索范围的第二维度最小值作为第二维度网格图中第二检索点的坐标值;在第二维度网格图中将第二检索点左上象限内的全部点对应的网格确定为在第二维度上与检索范围相交的网格;检索范围的第二维度最大值为检索范围的右上角点的第二维度坐标值,检索范围的第二维度最小值为检索范围的左下角点的第二维度坐标值。

可选的,该装置还可以包括:

第二确定单元,用于将在第一维度上与检索范围相交的网格与在第二维度上与检索范围相交的网格取交集,确定与检索范围相交的网格。

这样,本申请实施例中提供一种新的坐标系,即起止点坐标系,可以将矩形映射到该起止点坐标系中形式两个点,在本申请实施例中可以将空间网格体系中各级的各个网格分别在第一维度上以及第二维度上映射到该起止点坐标系中,则生成的第一维度网格图以及第二维度网格图中均可以用点表示地理网格,同理也可以将索引矩形或者检索范围矩阵分别在第一维度上以及第二维度上映射到该起止点坐标系中,从而索引矩形或者检索范围矩阵与网格的比较可以由矩形之间的比较转换为点线之间的比较,大幅提高了网格索引以及检索的速度。

需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1