我已經創建了一個主存儲器R *與以下列方式spatialindex庫的幫助索引(DBStream實現用於bulkLoading的界面)C++ spatialindex庫:加載/存儲主存儲器RTREE從/向磁盤
// creating a main memory RTree
memStorage = StorageManager::createNewMemoryStorageManager();
size_t capacity = 1024;
bool bWriteThrough = false;
fileInMem = StorageManager
::createNewRandomEvictionsBuffer(*memStorage, capacity, bWriteThrough);
DBStream dstream(streets);
tree = RTree::createAndBulkLoadNewRTree(SpatialIndex::RTree::BLM_STR, dstream,
*fileInMem,
fillFactor, indexCapacity,
leafCapacity, dimension, rv, indexIdentifier);
我的數據是隻讀的,也就是說,我只想構建樹一次,保存它,並在每次使用我的程序時從持久存儲中重新加載。顯然,我可以自己保存和加載memStorage,但是如何從它重新創建RTree?
在我看來,我可以重用RTree :: loadRTree函數 – arthur