我使用libspatialindex中的Rtree索引插入一些值,如指示的这里
>>> idx = index.Index()
>>> idx.insert(42, (0, 0, 1, 1))如何更改id 42的值?我在找比delete+add便宜的东西。另外,如何获得给定id的坐标值?
发布于 2016-05-02 15:02:24
我遇到了同样的问题,似乎没有一个通用的解决方案。所以这里是我的黑客,希望能有帮助:
我的装备:
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做一些事情,因为这应该是您正在寻找的要点。
这只是一个黑客,所以请告诉我,如果你找到一个通用的解决方案,我也很好奇。
https://stackoverflow.com/questions/30599470
复制相似问题