Я использовал пакет под названием Rtree версии 0.8.2, который позволяет помещать объекты геопространства в индекс и выполнять поиск очень быстро. Однако у меня возникла проблема с попыткой изменить уже созданный индекс.Как изменить объект в индексе Rtree Python
Так есть вставка метод, который позволяет добавить объект в индекс:
from rtree import index
idx = index.Index()
idx.insert(1, (left, bottom, right, top),
obj = {'field1': 'value1', 'field2': 'value2'})
А также является удалить метод, который позволяет удалить ненужный объект из индекса:
idx.delete(1, (left, bottom, right, top))
К сожалению, в руководстве по упаковке я не смог найти информацию о том, как изменить существующий объект, который уже находится в индексе.
Мне особенно интересно, как добавить еще одно поле в obj свойство, которое представлено как dict (например, 'field3': 'value3').
К сожалению, это то, что я сделал в конце. Это совсем не удобно, но похоже, что есть другой вариант. – Akbar
Почему вы думаете, что это плохо? Чем лучше R * -тиры даже автоматически удаляют и повторно вставляют точки, чтобы улучшить древовидную структуру. –