Subject: Re: [Boost-bugs] [Boost C++ Libraries] #11247: More useful rtree API (public apply_visitor, ...)
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-05-14 10:11:27
#11247: More useful rtree API (public apply_visitor, ...)
----------------------------------+----------------------------------
Reporter: Tomas P <pecholt@â¦> | Owner: barendgehrels
Type: Feature Requests | Status: new
Milestone: To Be Determined | Component: geometry
Version: Boost 1.58.0 | Severity: Problem
Resolution: | Keywords: rtree, serialization
----------------------------------+----------------------------------
Comment (by Tomas P <pecholt@â¦>):
I don't know much about boost serialization but I don't think it can help
me. The database I am writing to has a certain format given by consortium
which I have to follow. And it's not a 1:1 match with rtree nodes f.e. I
have to serialize several nodes into single database blob but when the
blob exceeds a size limit I have to allocate another blob and then nodes
in the first blob change their types to be able to reference child nodes
from different blob. So I really need access to individual tree nodes and
custom visitors to do the transformation.
My motivation for using geometry::rtree was that I get properly balanced
r-tree with optimal depth so I don't need to hack r* algorithm myself. I
didn't know it is being reworked. Anyway thanks for bringing this library
into boost. I am confident it will evolve into something useful also for
this type of usage. It's just not there yet.
Replying to [comment:1 awulkiew]:
> Unfortunately I plan to change the internals: simplify it, support more
lightweight type of nodes, serialization and persistent memory. They are
not ready for making them public.
>
> AFAIU what you want to do would be to save the whole rtree into the
database. So basically what you need is the serialization support. I
started working on it using Boost.Serialization, are you familiar with it?
Would it be possible to write a custom Boost.Serialization Archive for
your database in case if the serialization was supported by the rtree?
Maybe would you like to finish the Serialization support and contribute it
to the Boost.Geometry? I stopped at some point because I realized that I
should use a different approach.
>
> For now you could of course use the details but have in mind that in the
future they can be changed, though probably to something similar.
Basically you could use the interface which is there for the experimental
Serialization support so:
>
> - enable it by defining `BOOST_GEOMETRY_INDEX_DETAIL_EXPERIMENTAL`
> - use `detail::rtree::private_view<rtree>` and
`detail::rtree::const_private_view<rtree>` to access depth and
apply_visitor
>
> If you had any problems the Boost.Geometry mailing list is a good place
to ask questions.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11247#comment:2> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:18 UTC