1. 程式人生 > >python中Rtree使用方法的一些簡單介紹

python中Rtree使用方法的一些簡單介紹

注:因為最近用到這個rtree模組在網上沒有找到次模組的相關介紹,所以自己簡單的寫了一些,不足之處還請大家見諒。

以上的 觀點純屬個人的見解,如有錯誤還請見諒,

#在這裡我們要理解清楚的一點是rtree中我們的一個最小元素就是一個矩形,在它裡面所有的資料都是以矩形的實行存在不同的是矩形的大小不同,而不要以b樹的點和線的思維來考慮。 #著一點我們一定要轉換過來思維。 from rtree import index p= index.Property() idx = index.Index(properties=p) idx.insert(4321,(34.3776829412, 26.7375853734, 49.3776829412,41.7375853734),obj=42) #在id為4321的佔位符處插入42並儲存, # print(idx.count((0, 0, 20, 20))) #進行判斷給定的四個點的範圍與已經存在的四點或者多點構成的範圍是不是有相交的點 hits = idx.intersection((0, 0, 60, 60), objects=True) #找出與(0,0,60,60)有公共區域的所有的區域 # #計算這些點有已經存在的點的交點 # for i in hits: # #與它有交點的應該有很多,但我們只要,id為4321處的交點。 #     if i.id == 4321: #         print i.object #         print i.bbox #在這些有公共區域的區域內id為4321的區域的範圍以及obj #對這段程式碼進行一個簡單的註釋,進行一個索引屬性的設定,在索引列表中新增資料, list(idx.intersection((0, 0, 60, 60), objects="raw")) #將所有的與(0,0,60,60)有交集所有區域的bojects進行輸出。

from rtree import index idx = index.Index() idx.insert(4321, (34.37, 26.73, 49.37, 41.73), obj=42) hits = idx.nearest((30, 25, 48, 40), 1, objects=True) print hits #返回距離與給定區域最接近的區域的,這裡返回幾個區域可以進行設定,應用的話個人的理解是,我們可以在一個區域不是完全屬於某一個區域的 #時候我們可以找到距離這個區域最近的一些區域。

from rtree import index idx = index.Index() idx.delete(4321,(34.3776829412, 26.7375853734, 49.3776829412,41.7375853734)) #進行某個節點的刪除操作,