Hierarchiczne struktury danych na przykładzie sieci drenażu

advertisement
Hierarchiczne struktury danych na przykładzie
sieci drenażu
Przykład danych hierarchicznych
Sieć drenażu: struktura
hierarchiczna
Topologia sieci drenażu
Model terenu: punkt wyjścia
Sposoby otrzymywania sieci
drenażu
Sieć drenażu: efekt analizy
Podział na subzlewnie
Wektoryzacja sieci
Organizacja danych modelu
topologicznym
node = 1
n_lines = 3
xy = 616198.592392 392909.117460
node = 2
n_lines = 3
xy = 680335.950885 443081.083377
node = 3
n_lines = 1
xy = 632750.168778 427563.980516
node = 4
n_lines = 1
xy = 660680.953928 398598.721842
NODES
nr
n_lines
GEOM
coordinates
LINES
Nr
From_node
To_node
Left_area
Right_area
GEOM
bounding box
AREAS
nr
n_lines
centeroid
GEOM
bounding box
Wbudowana topologia
node = 99, n_lines = 3, xy = 3792362.500000, 5606587.500000
line = -112, type = 2, angle = -0.785398
line = -96, type = 2, angle = 0.785398
line = 104, type = 2, angle = 2.356194
Modele hierarchiczne w języku
SQL

Standard SQL nie obsługuje hierarchii

Modele hierarchiczne poza standardem SQL:

model sąsiedztwa

model materializowanej ścieżki
Model sąsiedztwa


bardzo prosta topologia:

każdy „potomek” zna swojego „przodka”

każdy „przodek” może mieć wiele „potomków”

każdy „potomek” ma jednego i tylko jednego „rodzica”
Obsługa takiej topologii przez język SQL wymaga zastosowania
funkcji rekursywnych lub specjalnych klauzul, które nie są
dostępne w większości systemów bazodanowych
1
4
3
7
2
9
5
6
8
10
11
3-1
2-1
5-1
7-3
...
11-9
TauDEM topology
Budowanie prostej topologii
Model materializowanej ścieżki

Bardziej złożona topologia

każdy potomek zna łańcuch wszystkich swoich rodziców aż do najstarszego

zapis hierarchii wygląda następująco:
5:2:1


Łańcuch może być dowolnej długości
Taka topologia może być obsługiwana przez standardowe
zapytania SQL lub z użyciem specjalizowanych narzędzi (ltree)
1
4
3
11:9:7:3:1
7
2
9
5
6
8
10
11
Próbkowanie różnych danych
rastrowych: graf
Efekty zapytań SQL
Download