日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

STR树 —— R-tree的构建方案之一

發(fā)布時(shí)間:2023/12/31 综合教程 28 生活家
生活随笔 收集整理的這篇文章主要介紹了 STR树 —— R-tree的构建方案之一 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文通過(guò)MetaWeblog自動(dòng)發(fā)布,原文及更新鏈接:https://extendswind.top/posts/technical/str_tree_rtree_construction

最近需要使用R樹(shù)做一下空間索引,在GeoSpark中使用了JTS庫(kù)中實(shí)現(xiàn)的STR樹(shù),一開(kāi)始以為是R-tree的一個(gè)變種,細(xì)看發(fā)現(xiàn)只是R樹(shù)的構(gòu)建(packing)方式之一。

STR是Sort-Tile-Recursive的縮寫(xiě),是一種R-tree的packing算法。具體的介紹可以看作者的論文 https://www.cs.odu.edu/%7Emln/ltrs-pdfs/icase-1997-14.pdf ,CSDN上有個(gè)主要內(nèi)容的翻譯 https://blog.csdn.net/qq_41775852/article/details/105405918。

R樹(shù)常見(jiàn)構(gòu)建過(guò)程

通常R樹(shù)是針對(duì)動(dòng)態(tài)有增刪的數(shù)據(jù),因此構(gòu)建過(guò)程可以將所有的數(shù)據(jù)逐個(gè)插入到R樹(shù)中。這種情況可能會(huì)存在一些缺點(diǎn):

(a) high load time
(b) sub-optimal spac eutilization
(c) poor R-tree structure requiring the retrieval of anunduly large number of nodes in order to satisfy a query.

因此,常用packing的方式自底向上的構(gòu)建R樹(shù),主要流程如下:

假設(shè)一共有r個(gè)矩形需要被索引,每個(gè)葉子結(jié)點(diǎn)中存儲(chǔ)的矩形數(shù)量為n。首先將所有的矩形分成r/n(此處取上界)個(gè)組;(分組方式通過(guò)下面的packing算法)
將各個(gè)分組寫(xiě)入硬盤(pán)的pages,并計(jì)算每個(gè)分組內(nèi)所有矩形的MBR以及分組對(duì)應(yīng)的page-id;
對(duì)分組的MBR遞歸的執(zhí)行上面的步驟,直到根節(jié)點(diǎn)。

在第1步中,將需要被索引的矩形分成r/n個(gè)組,論文中介紹了常見(jiàn)的Nearest-X(NX)、HilbertSort(HS)以及論文提出的Sort-Tile-Recursive(STR)。

STR算法

STR的算法本身并不復(fù)雜,以2維空間為例。對(duì)矩形的分組只考慮每個(gè)矩形的中心點(diǎn),STR的基本思想是將所有的矩形以“tile”的方式分配到r/n(取上界)個(gè)分組中,此處的tile和網(wǎng)格類(lèi)似。

首先,對(duì)矩形按x坐標(biāo)排序,然后劃分成 $sqrt{r/n}$ 個(gè)slice。然后對(duì)slice內(nèi)的矩形按y坐標(biāo)排序,進(jìn)一步劃分成 $sqrt{r/n}$ 份。

對(duì)于更高維的空間,可以按這種方式接著劃分。

總結(jié)

這個(gè)算法就是這樣做一個(gè)簡(jiǎn)單的劃分,正如論文的標(biāo)題 《STR: A Simple and Efficient Algorithm for R-Tree Packing》,有種方法對(duì)于一篇論文來(lái)講太簡(jiǎn)單了的感覺(jué)。文章內(nèi)還做了些對(duì)比實(shí)驗(yàn),表明針對(duì)不同的空間數(shù)據(jù)分布情況最好選擇對(duì)應(yīng)合適的方法,STR的packing算法并不是適合所有的場(chǎng)景。

簡(jiǎn)單點(diǎn)來(lái)看,也就是將空間中的矩形劃分到了一個(gè)x、y方向相等的網(wǎng)格的分組中,當(dāng)數(shù)據(jù)為長(zhǎng)寬差距較大的矩形范圍分布時(shí),做一個(gè)xy方向的分組數(shù)量相同應(yīng)該不是最好的方案。

總結(jié)

以上是生活随笔為你收集整理的STR树 —— R-tree的构建方案之一的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。