Professional Documents
Culture Documents
Snehal Thakkar
Introduction
Spatial Objects
Points, Lines, Regions, Rectangles ..
Spatial Indexing
Unlike conventional data sort has to be on space occupied by data
Spatial Indexing
Mapping Spatial Data into Point
- Same, Higher or Lower Dimension - Good storage purposes, queries like intersect - Problems with queries like nearest
Bucketing Methods
- Grid file, BANG file, LSD trees, Buddy trees. - Buckets based on not the representative point, but based on actual space.
Snehal Thakkar 4
R-tree
Based on Minimum Bounding Rectangle
R1 R3 a b R4 d g h R2 R5 c i R6 e f
Snehal Thakkar
R-Trees (Continued)
Organize spatial objects into d-dimensional rectangles. Each node in the tree corresponds to smallest ddimensional rectangle that encloses child nodes. If an object is spatially contained in several nodes, it is only stored in one node. Tree parameters are adjusted so that small number of pages are visited during a spatial query All leaf nodes appear at same level Each leaf node is (R,O) where R is smallest rectangle containing O, e.g. R3,R4
Snehal Thakkar 6
R-trees (Continued)
Each non-leaf node is (R,P) where R is smallest rectangle containing all child rectangles, e.g. R1,R2 R-tree of order (m,M) means that each node in the tree has between floor M/2 and M nodes, with exception of root node. Root node has two entries unless it is a leaf node. R-tree is not unique, rectangles depend on how objects are inserted and deleted from the tree. Problem is that to find some object you might have to go through several rectangles or whole database.
Snehal Thakkar 7
+ R
- Trees
Snehal Thakkar
+ R
Trees (Continued)
R+-tree and Cell Trees used approach of discomposing space into cells R+-trees deals with collection of objects bounded by rectangles Cell tree deals with collection of objects bounded by convex polyhedra R+-trees is extension of k-d-B-tree. Try not to overlap the rectangles. If object is in multiple rectangles, it will appear multiple times.
Snehal Thakkar 9
+Trees(Continued) R
Multiple paths to object from the root Height of the tree is increased Retrieval times are smaller When summing the objects, needs eliminate duplicates It is not possible to guarantee that all properties of Btrees is fulfilled without going through difficult insert and deletion routines. It is data-dependent, so depending on how you insert or delete records R+-tree will be different.
Snehal Thakkar 10
Quadtree
- Space is decomposed based on data points - Sensitive to positioning of the object - Width of the blocks is restricted to power of two - Good for Set-theory type operations, like composition of data.
Snehal Thakkar 11
Region Data
Focus on Interior Representation Represented as Image array of pixels Runlength Code
- Break array into 1*m blocks, row representation
Snehal Thakkar
13
Region Quadtree
2 3 1 4 5 7 8 6 9 10 13 14 15 16 11 12 17 18 19 2 A
NW NE SW SE
1 3
B 4 5 7
C 6 D 11 12 8 9 10
F 13 14 E 19 15 16 17 18
Snehal Thakkar
14
Variations of Quadtree
Point Quadtree
- Quadtree with rectangular quadrants - Adoption of Binary Search Tree to two dimensions or more - Useful for location based queries like where is nearest theatre from the location. - Descending the tree till you find the node for location based queries. - For nearest neighbor, search is continued in the neighborhood of the node containing object. - Feature based queries tough because index is based on spatial occupancy not on features.
Snehal Thakkar 16
Variations of Quadtree
Pyramid
- Exponentially tapering stack of arrays, each one quarter size of previous - Useful for feature based queries like where does wheat grow in California. - Nodes that are not at maximum level of resolution contain summary information
Octree
- Three dimensional analog of quadtree - Recursively subdivide into eight octants
Snehal Thakkar 17
DF-expression
- Represents the image in form of traversal of nodes of its quadtree - Very Compact storage, each node type can be encoded with two bits. - Not easy to use when random access to nodes is required.
Snehal Thakkar 18
Point Data
PR Quadtree
- Regular decomposition of space into quadrants - Organized same way as the region quadtree - Leaf nodes are either empty or contain data point and its co-ordinates - A quadrant contains at most one data point - Shape of the tree is independent of the order in which points are inserted - If points are close together then decomposition can be deep - Can use quadrants with capacity c - Good for search within specified distance of given record
Snehal Thakkar 21
PR-tree (Continued)
(50,50) (75,75) (25,25) (20,88) (75,25)
(0,100)
(100,100)
Snehal Thakkar
22
Rectangle Data
Used to approximate other objects in the image and in VLSI design rule checking If environment is static, solution is based on use of plane sweep paradigm Any addition to database forces reexecution of algorithm on whole database
Snehal Thakkar
23
Snehal Thakkar
25
MX-CIF Quadtree
B A D F G E C
{A,E}
{G} {B,C,D}
{F}
Snehal Thakkar
27
Line Data
PM1 quadtree
- Based on regular decomposition of space - Partitioning occurs as long as a block contains more than one line segment unless the line segments are incident at a vertex in the block - Vertex-based implementation - Useful because space requirements for polyhedral objects are smaller then conventional octree
Snehal Thakkar
28
1 PM
Quadtree(Continued)
Snehal Thakkar
29
PMR Quadtree
Snehal Thakkar
31
PMR Quadtree
Snehal Thakkar
32
PMR Quadtree
Snehal Thakkar
33
Conclusion
Questions ? Comments ? Email me at snehalth@usc.edu
Snehal Thakkar
34