おそらく長期保存のために、3D R* ツリーを作成する必要がありますが、パフォーマンスも問題になります。ツリーを作成するために、Boost の spacialindex を使用することにし、基本的に 2 つの可能な方法を見つけました。
ここにあるオブジェクトを使用して直接作成します: Index of polygons stored in vectorですが、R* ツリーを再度作成せずに格納してロードすることはできません。
または、ここで説明されているように、マップされたファイルを使用することもできます: Boost.Interprocess を使用してマップされたファイルに格納されたインデックス、ただし、この場合、クエリのパフォーマンスが十分に優れているかどうかはわかりません。
私の r ツリーには数千のエントリが含まれますが、おそらく約 100,000 未満です。ここで私の質問は、標準オブジェクトを使用する場合と比較して、マップされたファイルを使用することで大きなパフォーマンス上の問題はありますか? また、約 100,000 の値の R* ツリーの作成にそれほど時間がかからない場合 (すべてのバウンディング ボックスと対応するキー/データをファイルに保存できます)、マップされたファイルを作成し、プログラムを実行するたびにツリーを作成するだけですか?
ドキュメンテーションは実際には多くの情報を提供していないので、誰かが私をここで助けてくれることを願っています (それでも、libspacialindex のドキュメンテーションよりは優れています)。