I am new to boost geometry. In my case, I need handle a large mount of data nodes, so they cannot be saved in memory. Is it possible to use boost geometry together with local file system?
Related Questions in BOOST
- build boost use libc++ on linux use wrong --target
- fatal error: 'boost/version.hpp' file not found
- Having problems using boost spirit to identify token string with double brackets
- Calculate percentile (P50, P95) using Boost
- C++ Boost program how to statically compiled with musl libc?
- Boost system segmentation fault when not inlining
- converting utf8 to utf32
- Cmake error : Configuring incomplete, errors occurred
- Including boost-1.83.0 is causing compilation errors on windows
- How to randomly sample from a skewed gaussian distribution in boost c++?
- Conda cxx-compiler, cannot find boost header despite cmake finds boost
- how to get notified about signal connects and disconnects from slots with boost signals2
- how to validate ssl certificate with boost and openssl
- Can't start server in C++ using boost/asio
- Creating std subrange from boost archive iterators
Related Questions in BOOST-GEOMETRY
- Compilation Error with Boost.Geometry and NVCC (CUDA 12.4): '__T0' does not name a type
- How to assign boost geometry derived point type correctly?
- C++ concepts and boost geometry
- 4th dimension with boost.geometry.index.rtree
- Does Boost::Geometry support Manhattant data?
- Scale multiple geometries in boost geometry
- boost r-tree error: The first type of std::pair has to be an Indexable. How do I fix this?
- Geometric data structure for storing points from [0, 1)^d with toroidal topology
- How can I use `boost::geometry::index::rtree` to find every neighbor inside a surrounding sphere?
- boost Rtree of points, which spatial query method (covered_by, intersects and within) is more efficient to search points covered by a bouding box?
- Add sfinae to a constructor allowing only the boost::geometry point types
- Find children of given R-Tree node
- Extract indices forming a level of RTree
- Anyone tried using boost::serialization with boost::geometry::rtree?
- boost::geometry can't recognize that three points are in line (boost::geometry::difference fails)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
A generic answer is: use a memory mapped file from Boost Interprocess (IPC) with (boost) containers that use the IPC allocators. [1]
This will make it possible to work with /virtually/ unlimited data sizes transparently (at least in 64bit processes).
However Paging Is Expensive.
Boost Geometry is likely not optimized for sequential access patterns, so you might need to play very tight with what algorithms work and in what order to apply them. Otherwise, scaling this kind of volume (I'm assuming >16Gb for simplicity) will in practice turn out unbearably slow due to paging.
In all usual circumstances, scaling to non-trivial volumes involves tuning the algorithms or even writing targeted ones for the purpose.
Without any knowledge of the actual task at hand you could try
Your profiler will tell what step introduces a performance bottle-neck and at what volume it becomes discernible.
[1] this gives you persistence for "free"; however, keep in mind you are responsible for transactions and fsync-ing at proper times. Also, contiguous/sequential containers work best.