Next: k-d Trees
Up: Advanced Data Structure to
Previous: Advanced Data Structure to
Contents
The main purpose is to is to support efficient spatial selection, for example range queries or nearest neighbour queries of spatial objects. Peter Van Oosterom [17] describes importance of these access methods and how they also take into account both spatial indexing and clustering techniques. Without a spatial index,every object in database need to be checked whether it meets selection criterion,i.e complete linear scan of relational database.
Clustering is needed to group those objects which are often requested together. Otherwise,
many different disk pages will have to be fetched, resulting in slow response. For spatial selecting the
clustering implies storing objects which are close together in reality also close together in the
computer memory (instead of scattered over the whole memory).
In traditional database systems sorting (or ordering) the data is the basis for efficient searching. Higher dimensional data can not be sorted in an obvious manner,
as it is possible for text strings, numbers, or dates (one-dimensional data). Basically, computer
memory is one-dimensional. However, spatial data is 2D, 3D (or even higher) and must be organized
somehow in the memory. An intuitive solution to organize the data is using a regular grid just as on a
paper map. Each grid cell has a unique name; e.g. 'A3', 'C6', or 'D5'. The cells are stored in some
order in the memory and can each contain a (fixed) number of object references. In a grid cell, a
reference is stored to an object whenever the object (partially) overlaps the cell. However, this will not
be very efficient due to the irregular data distribution of spatial data: many cells will be empty, e.g. in the ocean, while many other cells will be overfull, e.g. in the city center. Therefore, more advanced
techniques have been developed.
Next: k-d Trees
Up: Advanced Data Structure to
Previous: Advanced Data Structure to
Contents
root
2006-04-11