Learn something new every day
More Info... by email
A spatial index is a methodology used in spatial databases to organize and optimize searching results from spatial queries. Spatial databases are naturally more complex than regular grid-based databases — which are essentially two-dimensional — as spatial databases must juggle a third dimension when discussing the relationships between objects. The spatial indexing methods act as virtual "crutches," helping the computer to make sense of the unique layout of a spacial database world.
Think of a spatial index as a set of rules that assists the computer in organizing the information in a database. Spatial indexes differ depending on the organization method used, such as the grid method or the R-tree method. No method is necessarily superior to the others; it is largely a matter of preference depending on what the end-user expects from the system. Compare that to electing to organize a list of names, addresses, and telephone numbers by alphabetizing them, arranging them by area code, or some other methodology; the method chosen all depends upon which is best for the end-user's goals and preferences.
One of the most popular methods for organizing a spatial index is the R-Tree method. The R-Tree method organizes related information in the spatial index by using something called a "minimum bounding rectangle." This is organizes a list of data, and then identifies related items by encapsulating them within a rectangle. Continuing the phone number list example from above, one might draw blocks — or minimum bounding rectangles — between phone numbers for family acquaintances, another for coworkers, and so on. Overlap between the bounding rectangles occurs when one item belongs to two or more groups; for example, a coworker who also happens to be a relation.
By pre-boxing related items inside of bounding rectangles, the task of determining spatial relationships between the entities is already half-accomplished. Thus, when the end-user inputs a spatial query, the processing overhead for determining the result is not nearly as cumbersome. This is all thanks to the spatial index method, enabling the database to generate a search result for the query in much less time.