我正在使用libspatialindex
中的Rtree索引插入一些指示here的值:
>>> idx = index.Index()
>>> idx.insert(42, (0, 0, 1, 1))
如何更改ID 42
的值?我正在寻找比删除+添加更便宜的东西。另外,我如何获得给定id的坐标值?
答案 0 :(得分:0)
我遇到了同样的问题,似乎并不是一个通用的解决方案。所以这是我的黑客,希望可以帮助:
我的设置:
class Point:
def __init__(self,x,y):
self.x = x
self.y = y
当我索引所有积分时,我运行此代码:
idx = index.Index()
# input_points is a list of Point object
for ind, pt in enumerate(input_points):
idx.insert(ind, (pt.x, pt.y, pt.x, pt.y))
return idx
您可能已经注意到,我为每个点分配的id
是我input_points
列表中该点的索引。
所以稍后当我想通过id获得特定点时,我会运行:
target_point = input_points[id]
然后你可以用target_point做事,因为那应该是你要找的点。
这只是一个黑客,所以如果你找到一个通用的解决方案,请告诉我,我也很好奇。