【问题标题】:Python Rtree get/set coordinates for an idPython Rtree获取/设置id的坐标
【发布时间】:2015-06-02 14:51:12
【问题描述】:

我正在使用libspatialindex 中的 Rtree 索引插入一些值,如 here 所示:

>>> idx = index.Index()
>>> idx.insert(42, (0, 0, 1, 1))

如何更改 id 42 的值?我正在寻找比删除+添加成本更低的东西。另外,如何获取给定 id 的坐标值?

【问题讨论】:

    标签: python r-tree


    【解决方案1】:

    我遇到了同样的问题,但似乎没有通用的解决方案。所以这是我的hack,希望能有所帮助:

    我的设置:

    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 做一些事情,因为那应该是你正在寻找的点。

    这只是一个hack,所以如果你找到了一个通用的解决方案,请告诉我,我也很好奇。

    【讨论】:

      猜你喜欢
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多