python rtree使用

安装pip install Rtree
在使用中,可以对点线面元素进行索引,对于点用一个阈值做外包,对于线面可以求外包,有外包以后就可以把数据插入索引,
然后就可以求相交和临近。
使用例子:

from rtree import index

class MyIndex(object):
    def __init__(self, pose, distance):
        self.localPos = pose
        self.distance = distance



if __name__ == '__main__':
    idx = index.Index()
    id = 1
    pose = [34.3, 26.7, 49.3, 41.7]
    myIndex = MyIndex(pose,100)
    idx.insert(id, myIndex.localPos, obj = myIndex)
    id += 1

    pose = [40, 45, 55, 56]
    myIndex = MyIndex(pose, 200)
    idx.insert(id, myIndex.localPos, obj=myIndex)
    id += 1
    pose = [50, 45, 60, 56]
    myIndex = MyIndex(pose, 300)
    idx.insert(id, myIndex.localPos, obj=myIndex)
    id += 1
    hits = list(idx.intersection((50, 45, 60, 60), objects=True))

    hits = list(idx.nearest((50, 45, 60, 60),1,True))
    print(hits)

你可能感兴趣的:(python)