Architettura dei Database Territoriali
Pr. R. Laurini
VIII - INDICIZZAZIONE
SPAZIALE
Capitolo 8°
INDICIZZAZIONE
SPAZIALE
Indicizzazione di tipo
« parole incrociate »
•
•
•
•
•
•
•
8.1 – Importanza dell'indicizzazione spaziale
8.2 – Uso dei quadtree
8.3 – Uso delle curve di Peano
8.4 – Uso dei R-tree
8.5 – Indicizzazione nei GIS
8.6 – Indicizzazione in Oracle SDI
8.7 – Conclusioni
8.1 – Importanza
dell'indicizzazione spaziale
• Acceleratore d’accesso
• Senza indice :
– scansione totale del DB
– costoso in termine di tempo
• Necessità di strutture dati e di procedure di
accesso adeguate
Cap.8°: Indicizzazione Spaziale
1
Architettura dei Database Territoriali
Pr. R. Laurini
Indicizzazione nei DB relazionali
Gerarchia di indici
Indice livello 1
Indice livello 2
1
Chiavi
Indirizzi
2
8.2 – Uso dei quadtree
0
D
4
1
A
4
Cap.8°: Indicizzazione Spaziale
E
C
22
1
6
59
2
89
3
3
68 11
77 12
89 15
7
13 26
15 27
22 28
...
15
79 44
85 45
89 46
...
07 23
09 24
11 25
Dati
aaaa
bbbb
cccc
dddd
Blocco
eeee
gggg
hhhh
kkkk
Blocco
...
8.3 – Uso delle curve di Peano
Livello 1
8
F
33 8
42 9
59 10
01 20
03 21
05 22
Indice livello 3
….
…..
…..
….
…..
……
…...
0
05 5
11 6
22 7
5
12
Livello 2
15 G,B
Livello 3
• Curva che empie lo spazio, che passa ad
ogni punto nello spazio
• Copertura totale
• Impossibile con la geometria euclidea
• Possibile con la visione peaniana
2
Architettura dei Database Territoriali
Pr. R. Laurini
Curve di Hilbert e di Peano
Curve di Peano
• Impossibile con la geometria euclidea
– Punto 0D
– Linea 1D
– Spazio 2D
• Possibile con la visione peaniana
– Punto 2D
– Linea 2D
– Spazio 2D
• Curve di Hilbert, in N di Peano
Indicizzazione
di un piccolo territorio
Ordine en Z (Saglio)
G
E
5
7
13
15 B
F
4
6
12
14
A
1
3
D
0
2
8
Cap.8°: Indicizzazione Spaziale
Chiavi di Peano Lato Oggetti
0
4
E
0
2
D
1
1
A
4
1
F
8
2
C
15
1
B,G
C
3
Architettura dei Database Territoriali
Pr. R. Laurini
8.4 – Uso dei R-tree
Esempio di R-tree
B
• Alberi di rettangoli (r-tree)
A
D
• Alberi ammigliorati (r*-tree)
G
F
K
J
E
H
I
M
N
L
C
A B C
D E F G
Esempio di R*-tree
H I J K
L M N
Indicizzazione della mappa di
Europa con rettangoli
I
C
H
A
D1
F
D2
B
E
G
H I
A B F D1
Cap.8°: Indicizzazione Spaziale
C E G D2
4
Architettura dei Database Territoriali
Pr. R. Laurini
8.5 – Indicizzazione nei GIS
• Metodi di accesso spaziale
• ESRI - SDE
• Oracle - SDO
Griglia fissa
5
1
11
14
2
15
8
6
12
13
3
9
10
….
1,2,5 2,3,6
7
16
4
File di griglia
16
….
6
Zona
principale
Overflow
Quadtree original
5
5
1
11
14
2
p0 p1 p2 p3
15
p4 p5 p6 p7
8
6
12
p12 p13 p14 p15
9
2
NW NE SW SE
12
13
3
52
12
8118
636
13
111512
46
15
9
p16 p17 p18 p19
10
7
Cap.8°: Indicizzazione Spaziale
15
8
6
10
4
11
14
p8 p9 p10 p11
13
3
1
16
1,5
1,2,6 5,14,6 2,3,6
7
4
16
1
3
4
7
9
13
10
16
1
11
2
52
6
5
Architettura dei Database Territoriali
Pr. R. Laurini
ESRI -SDE
Oracle Spatial Data Option
Dati
2
Metodo
di accesso
Indici
Tabelle oggetti
3
0
1
22 23 32 33
20 21 30 31
A
B
02 03 12 13
00 01 10 11
C
Altri attributi
Tabelle attributi
B
Join
B
B
A
00 01 02 03 10 11 12 13 20 21 22 23 30 31 32 33
8.6 – Indicizzazione (Oracle)
R-tree
• Quadtree / R-tree
Rettangoli minimi
Cap.8°: Indicizzazione Spaziale
Principio d'indicizzazione
6
Architettura dei Database Territoriali
Quadtree
Pr. R. Laurini
HH codes
• HHCODEs (Helical Hyperspatial Codes)
• Chiavi di Peano
• Longitudine/latitudine/altitudine/tempo
Quadtree con chiavi di Peano (codice di Morton)
Creazione d’indice
Cap.8°: Indicizzazione Spaziale
Selezione d'indice
7
Architettura dei Database Territoriali
Pr. R. Laurini
8.6 – Conclusioni
•
•
•
•
•
•
Importanza dei metodi di accesso
Organizzazione dei dati
Evoluzione verso lo spazio-temporale
Evoluzione verso il 3D
Evoluzione verso i fenomeni continui
Uso in ORACLE Spatial
Cap.8°: Indicizzazione Spaziale
8