Algorithm-SpatialIndex
view release on metacpan or search on metacpan
Right now, this package ships with a quad tree implementation
(Algorithm::SpatialIndex::Strategy::QuadTree) and an in-memory storage
backend (Algorithm::SpatialIndex::Storage::Memory).
NOTE: This is an experimental release. There must be bugs.
new
Creates a new spatial index. Requires the following parameters:
strategy
The strategy to use. This is the part of the strategy class name after
a leading "Algorithm::SpatialIndex::Strategy::".
storage
The storage backend to use. This is the part of the storage class name
after a leading "Algorithm::SpatialIndex::Storage::".
The following parameters are optional:
limit_x_low limit_x_up limit_y_low limit_y_up
The upper/lower limits of the x/y dimensions of the index. Defaults to
"[-100, 100]" for both dimensions.
bucket_size
The number of items to store in a single leaf node (bucket). If this
number is exceeded by an insertion, the node is split up according to
the chosen strategy.
"bucket_size" defaults to 100.
insert
Insert a new item into the index. Takes the unique item id, an x-, and a
y coordinate as arguments.
get_items_in_rect
Given the coordinates of two points that define a rectangle, this method
finds all items within that rectangle.
Returns a list of array references each of which contains the id and
coordinates of a single item.
SEE ALSO
Algorithm::SpatialIndex::Strategy::MedianQuadTree
Algorithm::QuadTree
Tree::M
AUTHOR
Steffen Mueller, <smueller@cpan.org>
COPYRIGHT AND LICENSE
Copyright (C) 2010 by Steffen Mueller
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself, either Perl version 5.10.1 or, at
your option, any later version of Perl 5 you may have available.
POD ERRORS
Hey! The above document had some coding errors, which are explained
below:
Around line 183:
You forgot a '=back' before '=head2'
( run in 0.408 second using v1.01-cache-2.11-cpan-119454b85a5 )