2
我用了libspatialindex
的RTREE索引中插入一些值表示here:Python的RTREE的get/set座標的ID
>>> idx = index.Index()
>>> idx.insert(42, (0, 0, 1, 1))
我怎樣才能更改ID 42
價值?我正在尋找比刪除+添加更便宜的東西。另外,如何獲得給定ID的座標值?
我用了libspatialindex
的RTREE索引中插入一些值表示here:Python的RTREE的get/set座標的ID
>>> idx = index.Index()
>>> idx.insert(42, (0, 0, 1, 1))
我怎樣才能更改ID 42
價值?我正在尋找比刪除+添加更便宜的東西。另外,如何獲得給定ID的座標值?
我遇到了同樣的問題,似乎沒有一個通用的解決方案。因此,這裏是我的黑客周圍,希望能有所幫助:
我的設置:
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因爲那應該是你正在尋找的點。
這只是一個黑客,所以請讓我知道,如果你找到了一個通用的解決方案,我也很好奇。