Boost logo

Geometry :

Subject: [ggl] spatial index - structure
From: Adam Wulkiewicz (adam.wulkiewicz)
Date: 2011-05-14 04:54:23

Adam Wulkiewicz wrote:
> W dniu 2011-05-12 22:29, Bruno Lalande napisal(a):
>> Hi Adam,
>> Thanks a lot for all those tests and numbers. Even though I'm surprised
>> by those results, I have to agree with your conclusion. The very purpose
>> of indexing structure is searching and we must focus on this metric. So
>> it looks like the polymorphic solution is better and we should stick to
>> it, unless you can think of another way to optimize variants.
>> Anybody out here has something against that, or any idea to improve
>> variants?
> I've commited changes, there are two types of nodes now. One may enable
> variant nodes by defining BOOST_GEOMETRY_INDEX_USE_VARIANT_NODES. See
> additional_sizes_and_times.cpp. Nodes definitions are in
> geometry/extensions/index/rtree/node.cpp and
> geometry/extensions/index/rtree/node/ directory. If you have some time
> to spare please check if your results are equal to mine.

I've forgotten to write that additional_sizes_and_times program loads
data from config file config.txt. This file has following format:

[max elements] [min elements] [number of inserted values] [number of
removed/reinserted values] [queries number] <optional data file name>.

e.g. 32 8 1000000 500000 100000

If file name isn't passed, coordinates are randomized. I'm using
Boost.Random, not passing any seed so there should be the same values
randomized each time.

Data file stores coordinates in format:

x1 y1
x2 y2

Of course for each coordinates sequence different tree will be created.
The result will be times difference.

I've also changed additional_sizes_and_times.cpp to be more user-resistant.

-------------- next part --------------
32 8 1000000 500000 100000

Geometry list run by mateusz at