空间数据索引方法及系统技术方案

技术编号:4250017 阅读:316 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种空间数据索引方法及系统,该方法包括步骤:获取索引关键字;建立索引关键字的倒排文件;计算索引关键字的倒排表记录ID在散列表中的位置并建立散列表;根据索引关键字计算散列编码,并在散列表中获取索引关键字的倒排表记录ID号;根据倒排表记录ID号获取倒排文件中与索引关键字有关的所有地物ID号及图层ID号;获取地物ID号及图层ID号在图形数据中的具体坐标值并显示。本发明专利技术的空间数据索引方法及系统借鉴多键索引的层次思想,从用户的角度出发,使用倒排文件索引和散列表索引相结合的方式索引空间数据,可提高用户通过空间数据的属性数据查询信息的速度。

【技术实现步骤摘要】

本专利技术涉及地理信息系统
,尤其涉及一种空间数据索引方法及系统
技术介绍
绝大多数用户在地理信息系统中查询空间数据时往往釆用两种方式。 一种是通过空间数据的空间信息査找属性信息。例如在地图上划定一个范围,查找该范围含有的地物都有哪些。另一种是通过空间数据的属性信息查找空间信息。例如在搜索框中输入中国农业大学,查找中国农业大学的具体空间位置。大量的实际应用表明,后一种查询方式是用户采用的最普遍的查询方式,因此,如果针对空间数据的属性数据建立索引,就可以大大加快用户的查询速度,具有很大的实用意义。在目前现有的空间数据索引方法中,基于二叉树的索引方法、基于四叉树的索引方法、基于B树的索引方法、基于哈希的格子文件和基于空间对象的填充曲线等都是适用于第一种查询方式的索引方法。仅有树型多键索引方法适用于第二种查询方式,但在实际应用中存在一定的问题由于树型多键索引往往根据数据的多个属性项而建,这就需要用户在查询数据时要给出所查数据的大部分属性,至少在树型多键索引中所包含的属性项内容都要给出,这样才能保证对索引树的查询是沿着树的一条路径进行的,否则就需要遍历整棵树来找到目标数据,而这个要求对用户来说几乎是不可能的,因此,亟待提出更适用于第二种查询方式的索引方法。
技术实现思路
本专利技术的目的是提供一种空间数据索引方法及系统,可提高用户通过空间数据的属性数据查询信息的速度,以克服现有技术的不足。为实现上述目的,本专利技术釆用如下技术方案。本专利技术提供了一种空间数据索引方法,该方法包括51. 获取索引关键字;52. 建立所述索引关键字的倒排文件;53. 计算所述索引关键字的倒排表记录ID在散列表中的位置并建立散列表;54. 根据所述索引关键字计算散列编码,并在所述散列表中获取所述索引关键字的倒排表记录ID号;55. 根据所述倒排表记录ID号获取倒排文件中与所述索引关键字有关的所有地物ID号及图层ID号;56. 获取所述地物ID号及图层ID号在图形数据中的具体坐标值并显示。其中,所述倒排文件由词表及记录文件构成,所述词表以空间数据中属性数据表的一预设属性项的所有属性值作为关键字记录,所述记录文件对应记录空间数据中包含所述属性值的所有地物ID号及相应的图层ID号。其中,所述倒排表由所述倒排表记录ID号、所述词表中的关键字、与所述关键字对应的所有地物ID号及相应的图层ID号。其中,所述散列表针对所述词表建立,其建立包括步骤S3.1计算所述词表中每一个关键字的散列编码;S3.2根据散列函数,将每一个所述散列编码分别映射到散列表的相应位置,并将所述散列编码对应的关键字所对应的倒排表记录ID号存入所述映射的位置;S3.3处理冲突。其中,按照如下多项式散列公式计算所述散列编码Xo 一1 + X一2 H-----h :^一2 + X卜!为不等于1的非零常数,(x。,;…,xw)对应所述属性值字符串6中的每一位字符的Unicode统一码值,A为所述字符串中字符的个数。其中,为100以内的素数。其中,所述步骤S3.2中映射釆用的方法为除法散列法,所述散列函数为《为所述散列编码,7V是存储散列表的桶数组的容量,初始时,TV取ll,散列表的装填因子LoadFactor取缺省值0.75,当散列表中存储的所有表项总数C满足C/iV >丄o^Fw时,令7V^2xiV + l,对散列表进行重组。其中,所述步骤S3.3中解决冲突的方法为链地址法,即所述桶数组的每一个单元都存储一个链表,所述链表中的每一个数据节点记录所述倒排表记录ID号和发生冲突时的关键字的内容。本专利技术还提供了 一种空间数据索引系统,该系统包括输入模块,用于获取索引关键字;倒排文件生成模块,用于建立所述索引关键字的倒排文件;散列表生成模块,用于计算所述索引关键字的倒排表记录ID在散列表中的位置并建立散列表;倒排表记录ID号获取模块,用于根据所述索引关键字计算散列编码,并在所述散列表中获取所述索引关键字的倒排表记录ID号;空间信息获取模块,用于根据所述倒排表记录ID号获取倒排文件中与所述索引关键字有关的所有地物ID号及图层ID号;显示模块,用于获取所述地物ID号及图层ID号在图形数据中的具体坐标值并显示。本专利技术的空间数据索引方法及系统借鉴多键索引的层次思想,从用户的角度出发,使用倒排文件索引和散列表索引相结合的方式索引空间数据,可提高用户通过空间数据的属性数据查询信息的速度。附图说明图l为依照本专利技术一种实施方式的空间数据索引方法流程图;图2为依照本专利技术 一种实施方式的空间数据索引方法中倒排文件的结构图3为依照本专利技术一种实施方式的空间数据索引方法中倒排文件的倒排表结构图4为依照本专利技术 一种实施方式的空间数据索引方法中倒排文件的生成过程示意图5为依照本专利技术一种实施方式的空间数据索引方法中散列表的建立过程示意图6为依照本专利技术 一种实施方式的空间数据索引系统框图7为依照实施例的空间数据索引过程示意图。具体实施例方式本专利技术提出的空间数据索引方法及系统,结合附图和实施例说明如下。如图1所示,依照本专利技术一种实施方式的空间数据索引方法包括步骤51. 获取用户输入需查询内容的索引关键字;52. 建立索引关键字的倒排文件;53. 计算该索引关键字的倒排表记录ID在散列表中的位置并建立散歹'J表;54. 根据索引关键字计算散列编码,并在散列表中获取所述索引获取该索引关键字的倒排表记录ID号;55. 根据该倒排表记录ID号获取倒排文件中与该索引关键字有关的所有地物ID号及图层ID号;56. 获取所述地物ID号及图层ID号在图形数据中的具体坐标值,并将其显示在索引结果界面上。在本专利技术的方法中,散列表索引是第一层索引,索引的是倒排文件的词表。倒排文件是第二层索引,索引的是空间数据的属性数据。之所以采用两层索引是因为若只使用倒排文件一层索引,那么当用户输入关键字后,首先要在倒排文件中顺序查找与用户输入关键字有关的倒排表,这种查找过程所花费的时间与倒排文件的长度成正比。若倒排文件的长度为h,那么上述查找过程的时间复杂度为O(h)。可见,当倒排文件的长度增长到一定程度时,对倒排文件的査找将浪费不少时间。为了节约对倒排文件的査找时间,本专利技术方法对倒排文件的词表建立了散列表索引。通过散列表索引直接获得与用户输入关键字有关的倒排表集合,从而省去了顺序查找倒排文件的时间,能够极大地提高整个查询速度。其中,本专利技术方法中建立的倒排文件的结构如图2所示,倒排文件由词表及记录文件构成,词表以空间数据中属性数据表的某一属性项的所有属性值作为关键字记录,记录文件对应记录空间数据中包含上述属性值的所有地物ID号及相应的图层ID号。倒排文件记录着每个关键字和包含此关键字的所有地物标识符。通常二维地理信息空间数据都会包含一个或多个图层,当数据只有一个图层的时候,地物标识符可以是地物ID号;当数据包含多个图层的时候,地物标识符除了地物ID号之外还要记录地物所在图层的图层ID号。本专利技术方法中所使用的倒排文件的倒排表包括倒排表记录ID号、关键字、与关键字对应的所有地物ID号及相应的图层ID号,如图3所示。在倒排文件中,每个倒排表按照上述结构顺序记录,形成一个数据表放在数据库中。数据库中存放倒排文件的数据表的设计如表1所示。根据上述倒排文件本文档来自技高网...

【技术保护点】
一种空间数据索引方法,该方法包括步骤:  S1.获取索引关键字;  S2.建立所述索引关键字的倒排文件;  S3.计算所述索引关键字的倒排表记录ID在散列表中的位置并建立散列表;  S4.根据所述索引关键字计算散列编码,并在所述散列表中获取所述索引关键字的倒排表记录ID号;  S5.根据所述倒排表记录ID号获取倒排文件中与所述索引关键字有关的所有地物ID号及图层ID号;  S6.获取所述地物ID号及图层ID号在图形数据中的具体坐标值并显示。

【技术特征摘要】
1、一种空间数据索引方法,该方法包括步骤S1.获取索引关键字;S2.建立所述索引关键字的倒排文件;S3.计算所述索引关键字的倒排表记录ID在散列表中的位置并建立散列表;S4.根据所述索引关键字计算散列编码,并在所述散列表中获取所述索引关键字的倒排表记录ID号;S5.根据所述倒排表记录ID号获取倒排文件中与所述索引关键字有关的所有地物ID号及图层ID号;S6.获取所述地物ID号及图层ID号在图形数据中的具体坐标值并显示。2、 如权利要求1所述的空间数据索引方法,其特征在于,所述 倒排文件由词表及记录文件构成,所述词表以空间数据中属性数据表 的一预设属性项的所有属性值作为关键字记录,所述记录文件对应记 录空间数据中包含所述属性值的所有地物ID号及相应的图层ID号。3、 如权利要求2所述的空间数据索引方法,其特征在于,所述 倒排表由所述倒排表记录ID号、所述词表中的关键字、与所述关键 字对应的所有地物ID号及相应的图层ID号。4、 如权利要求1或3所述的空间数据索引方法,其特征在于, 所述散列表针对所述词表建立,其建立包括步骤S3.1计算所述词表中每一个关键字的散列编码;S3.2根据散列函数,将每一个所述散列编码分别映射到散列表的相应位置,并将所述散列编码对应的关键字所对应的倒排表记录ID号存入所述映射的位置; S3.3处理冲突。5、 如权利要求4所述的空间数据索引方法,其特征在于,按照如下多项式散列公式计算所述散列编码其中,为不等于l的非零常数,(x。,^…,Xw)对应所述属...

【专利技术属性】
技术研发人员:李林薛蕾张晓东王龙鹤时振通秦剑
申请(专利权)人:中国农业大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1