一种图元索引、检测方法及装置的制造方法

文档序号:9417543阅读:267来源:国知局
一种图元索引、检测方法及装置的制造方法
【技术领域】
[0001]本申请涉及信息索引技术领域,更具体地说,涉及一种图元索引方法及装置。
【背景技术】
[0002]基于B/S架构的交互式电网图形平台可以将电力设备元件图形化,清晰、直观的呈现出电力设备之间的拓扑关系、电力设备的地理位置。电网图形平台进行交互绘图时,需要一种算法实现对电网设备图元(变电站、发电厂、线路等图形元素)进行地理空间信息索弓I,从而在鼠标操作时能够快速检测匹配指定坐标的图元。
[0003]目前,常用的空间索引方法有四叉树算法。四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构,是基于空间划分组织索引结构的一类索引机制。它将坐标空间看作是一个矩形,第一层分解时,将其划分成四个相等的子矩形,称为象限;在第二层分解时,每个象限又被分成四个子矩阵,依次分解,直到遇到终止条件才停止。利用四叉树索引为每层创建一个表示空间数据的覆盖图案,利用这种覆盖图案来代替空间图元,并将该图案的二维表示存储在空间索引中。
[0004]但是,在电网规划绘图中,由于引入了大量线路设计,当线路跨度较大时,线路图元在四叉树的分裂过程中极有可能存储在多个节点中,这样就导致了索引存储空间的浪费。

【发明内容】

[0005]有鉴于此,本申请提供了一种图元索引方法及装置,用于解决现有四叉树算法所存在的索引存储空间浪费的问题。
[0006]为了实现上述目的,现提出的方案如下:
[0007]—种图元索引方法,包括:
[0008]将电子地图划分为若干层,每层电子地图均进行网格划分,其中,按照层级由上至下的顺序,各层电子地图中的单位网格的大小逐次递减,并且,处于最上层电子地图中的单位网格的大小至少大于所述电子地图中最大图元的大小;
[0009]根据所述电子地图中图元的大小以及各层电子地图中单位网格的大小,确定所述图元对应的电子地图的层级;
[0010]根据所述电子地图中图元的位置,确定所述图元在对应层级的电子地图中所对应的网格;
[0011]将所述图元插入对应网格的节点数组中,其中网格的节点数组中按照图元插入的先后顺序,依次存储有若干个图元。
[0012]优选地,所述根据所述电子地图中图元的大小以及各层电子地图中单位网格的大小,确定所述图元对应的电子地图的层级,包括:
[0013]根据所述电子地图中图元各顶点坐标,计算所述图元的最小边界矩形;
[0014]确定单位网格的边长大于所述最小边界矩形的最长边的单位网格所处的层级;
[0015]从确定的层级中选取单位网格的边长最小的层级,作为所述图元对应的电子地图的层级。
[0016]优选地,所述根据所述电子地图中图元的位置,确定所述图元在对应层级的电子地图中所对应的网格,包括:
[0017]计算所述图元的中心坐标;
[0018]在图元对应层级的电子地图中,确定所述图元的中心坐标所属的网格,将其确定为所述图元对应的网格。
[0019]—种图元检测方法,基于上述的图元索引方法,其中网格的节点数组中存储的图元具有z-order值,后插入的图元的z_order值大于先插入的图元的z_order值,该图元检测方法包括:
[0020]确定用户在电子地图上的触击点;
[0021]确定所述触击点在各层电子地图中所对应的网格,得到多个网格;
[0022]确定各个所述网格的节点数组中z-order值最大的图元;
[0023]将确定的多个图元中z-order值最大的图元确定为用户选中的图元。
[0024]优选地,所述确定所述触击点在各层电子地图中所对应的网格,包括:
[0025]根据所述触击点的坐标,在各层电子地图中确定所述坐标所属的网格,将确定的网格添加至所述触击点对应的网格集合中;
[0026]确定所述触击点的坐标在所述网格中所属的象限;
[0027]将同一层级中,与所述象限相邻的三个网格添加至所述触击点对应的网格集合中。
[0028]一种图元索引装置,包括:
[0029]电子地图分层单元,用于将电子地图划分为若干层,每层电子地图均进行网格划分,其中,按照层级由上至下的顺序,各层电子地图中的单位网格的大小逐次递减,并且,处于最上层电子地图中的单位网格的大小至少大于所述电子地图中最大图元的大小;
[0030]图元层级对应单元,用于根据所述电子地图中图元的大小以及各层电子地图中单位网格的大小,确定所述图元对应的电子地图的层级;
[0031 ] 图元网格对应单元,用于根据所述电子地图中图元的位置,确定所述图元在对应层级的电子地图中所对应的网格;
[0032]图元插入单元,用于将所述图元插入对应网格的节点数组中,其中网格的节点数组中按照图元插入的先后顺序,依次存储有若干个图元。
[0033]优选地,所述图元层级对应单元包括:
[0034]图元大小计算单元,用于根据所述电子地图中图元各顶点坐标,计算所述图元的最小边界矩形;
[0035]图元层级筛选单元,用于确定单位网格的边长大于所述最小边界矩形的最长边的单位网格所处的层级;
[0036]图元层级确定单元,用于从确定的层级中选取单位网格的边长最小的层级,作为所述图元对应的电子地图的层级。
[0037]优选地,所述图元网格对应单元包括:
[0038]图元中心坐标计算单元,用于计算所述图元的中心坐标;
[0039]图元网格确定单元,用于在图元对应层级的电子地图中,确定所述图元的中心坐标所属的网格,将其确定为所述图元对应的网格。
[0040]—种图元检测装置,基于上述的图元索引装置,其中网格的节点数组中存储的图元具有z-order值,后插入的图元的z-order值大于先插入的图元的z-order值,该图元检测装置包括:
[0041]触击点确定单元,用于确定用户在电子地图上的触击点;
[0042]触击点网格对应单元,用于确定所述触击点在各层电子地图中所对应的网格,得到多个网格;
[0043]第一图元筛选单元,用于确定各个所述网格的节点数组中z-order值最大的图元;
[0044]第二图元筛选单元,用于将确定的多个图元中z-order值最大的图元确定为用户选中的图元。
[0045]优选地,所述触击点网格对应单元包括:
[0046]第一触击点网格对应子单兀,用于根据所述触击点的坐标,在各层电子地图中确定所述坐标所属的网格,将确定的网格添加至所述触击点对应的网格集合中;
[0047]第二触击点网格对应子单元,用于确定所述触击点的坐标在所述网格中所属的象限;
[0048]第三触击点网格对应子单元,用于将同一层级中,与所述象限相邻的三个网格添加至所述触击点对应的网格集合中。
[0049]从上述的技术方案可以看出,本申请实施例提供的图元索引方法,将电子地图划分为若干层,每层电子地图均进行网格划分,其中,按照层级由上至下的顺序,各层电子地图中的单位网格的大小逐次递减,并且,处于最上层电子地图的单位网格的大小至少大于所述电子地图中最大图元的大小,根据所述电子地图中图元的大小以及各层电子地图中单位网格的大小,确定所述图元对应的电子地图的层级,进一步根据电子地图中图元的位置,确定图元在对应层级的电子地图中所对应的网格,将图元插入对应网格的节点数组中,其中,网格的节点数组中按照图元插入的先后顺序,依次存储有若干个图元。按照本申请的图元索引方法,无论图元大小,其仅存储在某个层级的某个网格所对应的节点数组中,不会多次重复存储,节省了存储空间。
【附图说明】
[0050]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0051]图1为本申请实施例公开的一种图元索引方法流程图;
[0052]图2为本申请实施例公开的另一种图元检索
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1