A method and apparatus to improve proximity searching. An area containing a
population of points is subdivided into a plurality of regions at index
time. The population of points and the regions are textual keyed.
Attribute(s) are determined corresponding to at least a subset of points
from the population. Each attribute or pair of attributes is assigned a
bitmap, the bitmap having entries corresponding to the regions in the
area. Each entry of the bitmap corresponding to a region having at least
one point to which the attribute applies is set. The attribute is then
stored in an index with its bitmap. At query time, scanning the bitmap for
set bits identifies all potentially relevant regions. These regions may be
searched in increasing distance from a spatial origin without incurring
the cost of searching fruitless regions.