выбор параметров для R * Tree с использованием библиотеки SpatialIndex

Я использую библиотеку spatialindex из http://libspatialindex.github.com/

Я создаю дерево R * в основной памяти:

size_t capacity = 10;
bool bWriteThrough = false;
fileInMem = StorageManager
::createNewRandomEvictionsBuffer(*memStorage, capacity, bWriteThrough);

double fillFactor = 0.7;
size_t indexCapacity = 10;
size_t leafCapacity = 10;
size_t dimension = 2;
RTree::RTreeVariant rv = RTree::RV_RSTAR;
tree = RTree::createNewRTree(*fileInMem, fillFactor, indexCapacity,
leafCapacity, dimension, rv, indexIdentifier);

Затем я вставляю большое количество ограничивающих рамок, в настоящее время около 2,5 м (дорожная сеть Баварии в Германии). Позже я буду стремиться вставить все дороги Европы.

Каков хороший выбор параметров для менеджера хранилища и rtree? В основном я использую дерево, чтобы найти ближайшие дороги к данному запросу (пересечение bbox).

5

Решение

Поскольку ваши данные статичны, хорошая объемная загрузка может работать на вас. Самая популярная (и довольно простая) двойная загрузка — Sort-Tile-Recursive. Тем не менее, он несколько рассчитан на точечные данные. Когда вы вставляете пространственные объекты, это может работать, а может и не работать.

Если вы используете массовую загрузку, это будет уже не R * -дерево, а обычное R-дерево.

Вместимость 10 звуков путь слишком мало для меня Вы хотите намного больше разветвления. Но вам нужно будет сравнить, это набор данных и запрос зависит от того, что хорошо. Я бы определенно попробовал 100 или больше.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]