安装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)