CN103106276B - 一种基于小角编码的矢量数据网格索引方法 - Google Patents
一种基于小角编码的矢量数据网格索引方法 Download PDFInfo
- Publication number
- CN103106276B CN103106276B CN201310051630.7A CN201310051630A CN103106276B CN 103106276 B CN103106276 B CN 103106276B CN 201310051630 A CN201310051630 A CN 201310051630A CN 103106276 B CN103106276 B CN 103106276B
- Authority
- CN
- China
- Prior art keywords
- grid
- index
- coding
- vector
- vector data
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种基于小角编码的矢量数据网格索引方法,这种方法把矢量数据MBR的小角网格编码作为前缀编码矢量数据,利用该编码构造的网格单元索引信息表,自动分成重复区和非重复区,只需要针对重复区使用简单的比较操作就能在O(N)时间内完成去重,大大提高了矢量数据网格索引的查询效率。这种方法包括如下步骤:步骤1,矢量数据小角编码和索引构建;步骤2,小角编码网格索引。
Description
技术领域
本发明涉及空间信息领域,特别涉及一种基于小角编码的矢量数据网格索引方法。
背景技术
空间索引是提高矢量数据查询效率的关键技术。现有空间索引技术有四叉树索引、R树索引、K-D-B树、BSP树、R树、Cell树和网格索引等。网格索引作为一种古老的索引方法,技术简单,至今依然广泛应用,但其最大的缺点是网格单元重复记录多,在进行空间查询时,需要对查询区域覆盖的网格单元所记录的索引信息去除重复值。去重算法往往是网格索引算法中最耗时的部分。
一种去重算法是:把索引信息表先排序,然后顺序扫描该有序表去除重复值。该算法的缺点是需要先排序,即使用快速排序其时间复杂度也达到O()。另一种去重算法是:采用单一值集合记录索引信息,在把索引信息添加到集合前,首先查询集合中是否已经存在该值,只有不存在该值时才添加到集合中。该算法效率的高低与集合搜索和更新的效率密切相关比较耗时,为了提高集合查询效率,一般采用高效的平衡二叉树来实现集合,但也只能达到O()的查询效率,且平衡二叉树是动态查找树,更新效率较低,从而影响整体索引性能。因此,是否能快速过滤重复值,是网格索引效率高低的关键。本发明则能很好的解决了以上的这些问题。
发明内容
如图1和图2所示,本发明的主要目的在于提供了一种基于小角编码的矢量数据网格索引方法,这种矢量数据网格索引方法包括如下步骤:
步骤1,矢量数据小角编码和索引构建,其包括如下步骤:
(a)网格划分:根据矢量空间范围和应用需求,把矢量空间划分成大小相等的规则网格,每一个网格单元由其行列号定义;
(b)前缀编码:确定矢量对象MBR的小角所在网格单元,根据该网格单元的行列值对矢量对象进行前缀编码;
(c)索引构建:在矢量对象覆盖的所有网格中添加该对象的索引信息(对象编码,MBR),属于同一网格的索引信息表按对象编码递增排列;
步骤2,小角编码网格索引,其包括如下步骤:
(a)确定查询窗口覆盖的所有网格单元范围,并设查询起始网格行列为qrow,qcol;
(b)按照行列号从小到大的次序(先行后列)扫描每一网格单元(row,col),依次获取重复区的各索引记录编码前缀,得到对应的行列号(irow,icol):
(b1)若icol<col且col<>qcol,剔除该记录;
(b2)若irow<row且row<>qrow,剔除该记录;
(b3)用查询窗口与没剔除对象的MBR进一步测试,保留通过测试的对象编码;
(c)根据最终的对象编码列表进行详细查询,得到与查询窗口相交的矢量对象信息。
由于采用小角编码和递增排列,每个网格单元中的索引信息列表自动分成两部分,前一部分是对象编码前缀小于该网格单元编码的索引信息表,该部分需要进行去重操作,称为重复区;后一部分是对象编码前缀等于该网格单元编码的索引信息表,该部分无需去重操作。
本发明的优点在于提出了一种基于小角编码的矢量数据网格索引方法,这种方法把矢量数据MBR的小角编码作为前缀编码矢量数据,利用该编码构造的网格单元索引信息表,自动分成重复区和非重复区,只需要针对重复区使用简单的比较操作就能在O(N)时间内完成查询,大大提高了矢量数据网格索引的查询效率。
附图说明
图1为本发明的矢量数据编码和索引构建的流程图。
图2为本发明的矢量数据和查询窗口示意图。
附图标记说明:A、B、C、D、E、F-矢量要素MBR。
图3为本发明的矢量数据小角编码和网格索引示意图。
附图标记说明:A、B、C、D、E、F、G-矢量要素MBR。
具体实施方式
以下结合说明书附图对本发明创造作进一步的详细说明。
实施例一
如图3所示,本实施例中,本发明的这种基于小角编码的矢量数据网格索引方法包括如下步骤:
步骤1,矢量数据小角编码和索引构建,其包括如下步骤:
(a)网格划分:设矢量数据空间范围为XMIN(X起点),YMIN(Y起点),W(宽)和H(高),根据应用需求,确定网格行数m=10和列数n=10,建立索引网格,则每个网格单元宽△w=W/m,高△h=H/n;
(b)前缀编码:对于每个矢量对象A(0001)、B(0002)、C(0003)、D(0004)、E(0005)、F(0006)、G(0007),首先得到其外包矩形MBR,确定矢量对象MBR的小角(X,Y)所在网格单元行列号(row,col)分别为:A(02,01)、B(02,05)、C(02,08)、D(04,02)、E(04,04)、F(06,06)、G(08,07):
row=(int)((Y-YMIN)/△h)
col=(int)((X-XMIN)/△w)
(b1)对应的前缀是:row*10+col,则这些矢量对象的前缀分别是:
A:21、B:25、C:28、D:42、E:44、F:66、G:87;
(b2)把该前缀附加到矢量对象原来的编码上即为该对象的前缀编码;则这些矢量要素的前缀编码可记为A:210001、B:250002、C:280003,D:420004、E:440005、F:660006、,G:870007;
(c)索引构建:根据矢量对象的MBR,计算与该MBR相交的所有网格单元,在这些网格单元中添加索引信息(前缀编码,MBR)。为了保证每个网格单元的索引信息表按前缀编码递增排序,采用直接***排序***索引信息;
步骤2,小角编码网格索引,其包括如下步骤:
(a)确定查询窗口覆盖的所有网格单元范围,图3中,查询窗口覆盖的网格单元从(04,04)到(07,09),查询起始网格为(qrow=04,qcol=04);
(b)按从左到右,从上到下的次序遍历每一个网格单元:
(c)图3中灰色小圆表示矢量对象MBR的最小角,灰色框为查询框;
(c1)若icol<col且col<>qcol,剔除该记录;
(1)红色框左上角为查询起始框,该起始查询网格单元中包含A、D、E三个要素,即包含A【210001,(02,01)】和D【420004,(04,02)】,以及E【440005,(04,04)】,因为其所在网格列号等于起始网格列号,所以不满足c1条件,所以保留这些信息;
(2)继续第一行第二个网格行列号为(row=04,col=05),该网格的索引信息包括矢量对象B【250002,(02,05)】和E【440005,(04,04)】,因为E满足c1条件,则剔除,保留B;
(3)继续第一行第三个查询网格行列号为(row=04,col=06),包括矢量对象索引信息B【250002,(02,05)】,因为满足c1条件,则剔除该对象;
该行其余查询依次类推;
(c2)若irow<row且row<>qrow,剔除该记录;
(1)查询框的第一列第二行的行列号为(row=05,col=04),其中矢量对象索引信息包含D【420004,(04,02)】,以及E【440005,(04,04)】,因为D和E均不满c2条件,所以保留这两个索引信息;
(2)查询框第一列第三行行列号为(row=06,col=04),包含矢量对象为D【420004,(04,02)】,因为04<06且04==04,所以不满足c2条件,要保留;
该列其余查询依次类推。
(d)用查询窗口与没剔除对象的MBR进一步测试,保留通过测试的对象编码;
(e)根据最终的对象编码列表进行详细查询,得到与查询窗口相交的矢量对象信息。
Claims (2)
1.一种基于小角编码的矢量数据网格索引方法,其特征在于:这种矢量数据网格索引方法包括如下步骤:
步骤1,矢量数据小角编码和索引构建,其包括如下步骤:
(a)网格划分:根据矢量空间范围和应用需求,把矢量空间划分成大小相等的规则网格,每一个网格单元由其行列号定义;
(b)前缀编码:确定矢量对象MBR的小角所在网格单元,根据该网格单元的行列值对矢量对象进行前缀编码;
(c)索引构建:在矢量对象覆盖的所有网格中添加该对象的索引信息:(对象编码,MBR),属于同一网格的索引信息表按对象编码递增排列;
步骤2,小角编码网格索引,其包括如下步骤:
(a)确定查询窗口覆盖的所有网格单元范围,并设查询起始网格行列为qrow,qcol;
(b)按照行列号从小到大的次序,以先行后列的方式扫描每一网格单元(row,col),依次获取重复区的各索引记录编码前缀,得到对应的行列号(irow,icol):
(b1)若icol<col且col<>qcol,剔除该记录;
(b2)若irow<row且row<>qrow,剔除该记录;
(b3)用查询窗口与没剔除对象的MBR进一步测试,保留通过测试的对象编码;
(c)根据最终的对象编码列表进行详细查询,得到与查询窗口相交的矢量对象信息;
所述的小角是指矢量对象MBR的X、Y坐标值均最小的角点;所述的小角编码是指以小角所在的网格单元行列号作为前缀构造对象编码。
2.根据权利要求1所述的一种基于小角编码的矢量数据网格索引方法,其特征在于:利用该编码构造的网格单元索引信息表,自动分成重复区和非重复区,只需要针对重复区使用简单的比较操作就能在O(N)时间内完成查询。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310051630.7A CN103106276B (zh) | 2013-02-17 | 2013-02-17 | 一种基于小角编码的矢量数据网格索引方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310051630.7A CN103106276B (zh) | 2013-02-17 | 2013-02-17 | 一种基于小角编码的矢量数据网格索引方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103106276A CN103106276A (zh) | 2013-05-15 |
CN103106276B true CN103106276B (zh) | 2016-03-30 |
Family
ID=48314131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310051630.7A Expired - Fee Related CN103106276B (zh) | 2013-02-17 | 2013-02-17 | 一种基于小角编码的矢量数据网格索引方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103106276B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649359B (zh) * | 2015-10-30 | 2021-05-18 | 方正国际软件(北京)有限公司 | 一种空间点数据的处理方法及装置 |
CN105760529B (zh) * | 2016-03-03 | 2018-12-25 | 福州大学 | 一种移动端矢量数据的空间索引和缓存构建方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477563A (zh) * | 2003-07-03 | 2004-02-25 | 复旦大学 | 一种高维矢量数据快速相似检索方法 |
CN1838124A (zh) * | 2006-02-20 | 2006-09-27 | 南京联创科技股份有限公司 | 海量数据内存数据库中快速定位的网格+t树索引的方法 |
CN102867058A (zh) * | 2012-09-18 | 2013-01-09 | 复旦大学 | 一种无线数据广播环境下的空间关键字检索方法 |
CN102880681A (zh) * | 2012-09-13 | 2013-01-16 | 烽火通信科技股份有限公司 | 基于网格的大数据量矢量数据的显示和管理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963956A (en) * | 1997-02-27 | 1999-10-05 | Telcontar | System and method of optimizing database queries in two or more dimensions |
US7389283B2 (en) * | 2004-12-07 | 2008-06-17 | International Business Machines Corporation | Method for determining an optimal grid index specification for multidimensional data |
-
2013
- 2013-02-17 CN CN201310051630.7A patent/CN103106276B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1477563A (zh) * | 2003-07-03 | 2004-02-25 | 复旦大学 | 一种高维矢量数据快速相似检索方法 |
CN1838124A (zh) * | 2006-02-20 | 2006-09-27 | 南京联创科技股份有限公司 | 海量数据内存数据库中快速定位的网格+t树索引的方法 |
CN102880681A (zh) * | 2012-09-13 | 2013-01-16 | 烽火通信科技股份有限公司 | 基于网格的大数据量矢量数据的显示和管理方法 |
CN102867058A (zh) * | 2012-09-18 | 2013-01-09 | 复旦大学 | 一种无线数据广播环境下的空间关键字检索方法 |
Non-Patent Citations (2)
Title |
---|
An Efficient Index Structure for Sting Databases;Tamer Kahveci et al.;《Proceedings of the 27th VLDB Conference》;20011231;全文 * |
The R+-Tree:A Dynamic Index for Multi-Dimensional Objects;Timos Sellis ET AL.;《Proceedings of 13th International Conference on Very Large Data Bases》;19870930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103106276A (zh) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108804397B (zh) | 一种基于少量目标字体的汉字字体转换生成的方法 | |
KR101637624B1 (ko) | 메시 모델을 인코딩하는 방법 및 장치, 인코딩된 메시 모델, 그리고 메시 모델을 디코딩하는 방법 및 장치 | |
CN107798348A (zh) | 基于邻域信息深度学习的高光谱图像分类方法 | |
CN114821069A (zh) | 融合富尺度特征的双分支网络遥感图像建筑语义分割方法 | |
CN103106276B (zh) | 一种基于小角编码的矢量数据网格索引方法 | |
CN103092992A (zh) | 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法 | |
CN105488538A (zh) | 一种基于改进k均值聚类算法的天空图像云空辨识方法 | |
CN111563081A (zh) | 一种矢量要素并行计算方法、装置、存储介质及终端 | |
CN104933143A (zh) | 获取推荐对象的方法及装置 | |
CN116993555A (zh) | 国土空间规划重点区域识别的分区方法、***及存储介质 | |
Chen et al. | Real-time semantic scene completion via feature aggregation and conditioned prediction | |
CN110264483B (zh) | 一种基于深度学习的语义图像分割方法 | |
Zhu et al. | An object detection method combining multi-level feature fusion and region channel attention | |
CN105740428A (zh) | 一种基于b+树的高维磁盘索引结构和图像检索方法 | |
CN102156759B (zh) | 二叉树并行查找方法和设备 | |
CN104992407A (zh) | 一种图像超分辨方法 | |
CN112347978B (zh) | 基于遥感植被指数的生态***属性组分组成结构描述方法 | |
CN117058604A (zh) | 一种基于自适应路径聚合网络的变电站智能运维方法 | |
Wang et al. | Robust color image segmentation by Karhunen-Loeve transform based Otsu multi-thresholding and K-means clustering | |
CN105069084B (zh) | 一种面向海量数据高效取差集的方法 | |
CN112052344A (zh) | 一种基于知识图谱与ScSIFT的融媒体信息获取方法 | |
CN103092559A (zh) | 用于hevc标准下dct/idct电路的乘法器结构 | |
CN103400394A (zh) | 基于特征导向变分光流的视频超分辨率方法 | |
CN105488523A (zh) | 一种基于格拉斯曼(Grassmann)流形的数据聚类分析方法 | |
CN102831146A (zh) | 数据库子串过滤索引***及其构建、查询方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160330 Termination date: 20200217 |
|
CF01 | Termination of patent right due to non-payment of annual fee |