Algorithm-SpatialIndex-Strategy-MedianQuadTree
view release on metacpan or search on metacpan
lib/Algorithm/SpatialIndex/Strategy/MedianQuadTree.pm view on Meta::CPAN
use Algorithm::SpatialIndex::Strategy::QuadTree qw(:all);
use parent 'Algorithm::SpatialIndex::Strategy::QuadTree';
use Statistics::CaseResampling qw(median);
sub _node_split_coords {
my ($self, $node, $bucket, $coords) = @_;
my $items = $bucket->items;
if (@$items == 0) {
# degrade to a quad tree
return $self->SUPER::_node_split_coords($node, $bucket, $coords);
}
my $xmedian = median([map $_->[XI()], @$items]);
my $ymedian = median([map $_->[YI()], @$items]);
return($xmedian, $ymedian);
}
1;
__END__
( run in 0.887 second using v1.01-cache-2.11-cpan-49f99fa48dc )