Spatial Indexing - PowerPoint PPT Presentation

1 / 27
About This Presentation
Title:

Spatial Indexing

Description:

All leaf nodes appear on the same level. Every node contains between m and M entries ... Other method (later) R-trees: Variations ... – PowerPoint PPT presentation

Number of Views:33
Avg rating:3.0/5.0
Slides: 28
Provided by: ValuedSony2
Category:

less

Transcript and Presenter's Notes

Title: Spatial Indexing


1
Spatial Indexing
  • SAMs

2
Spatial Indexing
  • Point Access Methods can index only points. What
    about regions?
  • Z-ordering and quadtrees
  • Use the transformation technique and a PAM
  • New methods Spatial Access Methods SAMs
  • R-tree and variations

3
Problem
  • Given a collection of geometric objects (points,
    lines, polygons, ...)
  • organize them on disk, to answer spatial queries
    (range, nn, etc)

4
Transformation Technique
  • Map an d-dim MBR into a point ex.
  • (xmin, xmax) (ymin, ymax) gt
  • (xmin, xmax, ymin, ymax)
  • Use a PAM to index the 2d points
  • Given a range query, map the query into the 2d
    space and use the PAM to answer it

5
R-trees
  • Guttman 84 Main idea allow parents to overlap!
  • gt guaranteed 50 utilization
  • gt easier insertion/split algorithms.
  • (only deal with Minimum Bounding Rectangles -
    MBRs)

6
R-trees
  • A multi-way external memory tree
  • Index nodes and data (leaf) nodes
  • All leaf nodes appear on the same level
  • Every node contains between m and M entries
  • The root node has at least 2 entries (children)

7
Example
  • eg., w/ fanout 4 group nearby rectangles to
    parent MBRs each group -gt disk page

I
C
A
G
H
F
B
J
E
D
8
Example
  • F4

P1
P3
I
C
A
G
H
F
B
J
E
P4
D
P2
9
Example
  • F4

P1
P3
I
C
A
G
H
F
B
J
E
P4
D
P2
10
R-trees - format of nodes
  • (MBR obj_ptr) for leaf nodes

x-low x-high y-low y-high ...
obj ptr
...
11
R-trees - format of nodes
  • (MBR node_ptr) for non-leaf nodes

x-low x-high y-low y-high ...
node ptr
...
12
R-treesSearch
P1
P3
I
C
A
G
H
F
B
J
E
P4
D
P2
13
R-treesSearch
P1
P3
I
C
A
G
H
F
B
J
E
P4
D
P2
14
R-treesSearch
  • Main points
  • every parent node completely covers its
    children
  • a child MBR may be covered by more than one
    parent - it is stored under ONLY ONE of them.
    (ie., no need for dup. elim.)
  • a point query may follow multiple branches.
  • everything works for any(?) dimensionality

15
R-treesInsertion
Insert X
P1
P3
I
C
A
G
H
F
B
X
J
E
P4
D
P2
X
16
R-treesInsertion
Insert Y
P1
P3
I
C
A
G
H
F
B
J
E
P4
Y
D
P2
17
R-treesInsertion
  • Extend the parent MBR

P1
P3
I
C
A
G
H
F
B
J
E
P4
Y
D
P2
Y
18
R-treesInsertion
  • How to find the next node to insert the new
    object?
  • Using ChooseLeaf Find the entry that needs the
    least enlargement to include Y. Resolve ties
    using the area (smallest)
  • Other methods (later)

19
R-treesInsertion
  • If node is full then Split ex. Insert w

P1
P3
K
I
C
A
G
W
H
F
B
J
K
E
P4
D
P2
20
R-treesInsertion
  • If node is full then Split ex. Insert w

P3
I
P5
K
C
A
G
P1
W
H
F
B
J
E
P4
D
P2
Q2
Q1
21
R-treesSplit
  • Split node P1 partition the MBRs into two groups.
  • (A1 plane sweep,
  • until 50 of rectangles)
  • A2 linear split
  • A3 quadratic split
  • A4 exponential split
  • 2M-1 choices

P1
K
C
A
W
B
22
R-treesSplit
  • pick two rectangles as seeds
  • assign each rectangle R to the closest seed

seed1
23
R-treesSplit
  • pick two rectangles as seeds
  • assign each rectangle R to the closest
    seed
  • closest the smallest increase in area

seed1
24
R-treesSplit
  • How to pick Seeds
  • LinearFind the highest and lowest side in each
    dimension, normalize the separations, choose the
    pair with the greatest normalized separation
  • Quadratic For each pair E1 and E2, calculate the
    rectangle JMBR(E1, E2) and d J-E1-E2. Choose
    the pair with the largest d

25
R-treesInsertion
  • Use the ChooseLeaf to find the leaf node to
    insert an entry E
  • If leaf node is full, then Split, otherwise
    insert there
  • Propagate the split upwards, if necessary
  • Adjust parent nodes

26
R-TreesDeletion
  • Find the leaf node that contains the entry E
  • Remove E from this node
  • If underflow
  • Eliminate the node by removing the node entries
    and the parent entry
  • Reinsert the orphaned (other entries) into the
    tree using Insert
  • Other method (later)

27
R-trees Variations
  • R-tree DO not allow overlapping, so split the
    objects (similar to z-values)
  • R-tree change the insertion, deletion
    algorithms (minimize not only area but also
    perimeter, forced re-insertion )
  • Hilbert R-tree use the Hilbert values to insert
    objects into the tree
Write a Comment
User Comments (0)
About PowerShow.com