my $start= BuildKey( $xBand, $yBand, $Z1-$R1-$M ); my $end= BuildKey( $xBand, $yBand, $Z1+$R1+$M ); ... "select * from shapes where key between $start and $end" my $record; while( $record= Fetch( ... ) ) { if( Overlap( $record, ... ) ) { Report( ... ); return 1; } } } } return 0;