my @bandWidth= ( 3, 15, 0 ); sub BuildKey { my( $radius, $x, $y, $z )= @_; my $sizeRange= $radius <= 2 ? 0 : $radius <= 10 ? 1 : 2; my $width= $bandWidth[$sizeRange]; if( 0 == $width ) { return ConcatForKey( $sizeRange, 0, 0, 0 ); } return ConcatForKey( $sizeRange, int($x/$width), int($y/$width), $z ); }