5

http://libspatialindex.github.com/のspatialindexライブラリを使用しています

メインメモリに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);

次に、多数のバウンディングボックスを挿入します。現在、約250万(ドイツのバイエルンの道路網)です。後で、ヨーロッパのすべての道路を挿入することを目指します。

ストレージマネージャーとrtreeのパラメーターの適切な選択は何ですか?ほとんどの場合、rtreeを使用して、特定のクエリ(bbox交差点)に最も近い道路を検索しています。

4

1 に答える 1

3

データは静的であるため、適切なバルクロードが機能する場合があります。最も人気のある(そしてかなり単純な)blukロードはSort-Tile-Recursiveです。ただし、ポイントデータを中心に設計されています。空間オブジェクトを挿入しているため、機能する場合と機能しない場合があります。

バルクロードを使用している場合、それはR *ツリーではなく、プレーンなRツリーになります。

キャパシティ10は私には少なすぎるように聞こえます。もっと大きなファンアウトが必要です。ただし、ベンチマークを行う必要があります。これはデータセットであり、クエリによって何が良いかによって異なります。絶対に100以上やってみます。

于 2012-11-04T10:56:07.287 に答える