Jeremy Murphy wrote:
On 27 October 2014 00:34, Adam Wulkiewicz <adam.wulkiewicz@gmail.com> wrote:
Hi,

Jeremy Murphy wrote:

I see that a fourth node splitting algorithm for bulk loading is documented in the Introduction to spatial indexes but not listed elsewhere (such as Creation and Modification).
Is it hiding in the library somewhere or is the introduction just a tantalizing sneak preview?

The packing algorithm is used if the R-tree is created with a constructor taking a range e.g. as a pair of Iterators:

http://www.boost.org/doc/libs/1_56_0/libs/geometry/doc/html/geometry/reference/spatial_indexes/boost__geometry__index__rtree/rtree_iterator__iterator_.html

Yes, maybe it should be explicitly stated in the "Creation..." section.

Ah, fantastic.  Hah, turns out I was already using that constructor.
So what should I write as the second required template parameter, which is usually linear<N>, quadratic<N>, etc?  Is it just ignored in the packing case?  If so, that's a bit confusing.


Packing algorithm can be and is used if the R-tree is created from some number of elements. Balancing algorithm is used during splitting of nodes so e.g. when insert() or remove() is called.
Yes, during inserting, packing algorithm is ignored. Just like during creation/packing, balancing algorithm is ignored.
Currently there is only one packing algorithm implemented, so there is no need to pick one like in the case of balancing algorithms. If there were more then it probably somehow would be possible to pass a group of parameters.

Regards,
Adam