W prezentowanej strukturze z każdego węzła wychodzą

Transkrypt

W prezentowanej strukturze z każdego węzła wychodzą
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
37
Rys. 2.28. Zapis rastra w strukturze drzewa czwórkowego
W prezentowanej strukturze z każdego węzła wychodzą cztery rozgałęzienia,
odpowiadające podziałowi danego elementu powierzchniowego na cztery części. Podział
rozpoczyna się od obszaru całego rastra i jest kontynuowany przez kolejne coraz mniejsze
elementy. Jak widać dla pewnych (jednolitych) obszarów rastra podział może być
zakończony już na pierwszym podziale płaszczyzny bez utraty jakiejkolwiek informacji. Nie
występuje więc potrzeba wyodrębniania dla tego obszaru kolejnych mniejszych elementów.
2.3.2. Kalibracja rastrów
Wykorzystanie rastrów w systemach informacji przestrzennej musi być poprzedzone ich
odpowiednim przygotowaniem, polegającym na określeniu związku między układem rastra
(zapisanym w tablicy pikseli) a układem terenowym. Jeżeli określony związek będzie
wymagał innych przekształceń niż przesunięcie i zmiana skali, trudno wyobrazić sobie pracę
na rastrach, złożonych z wielu milionów pikseli, które co chwila trzeba będzie poddawać
skomplikowanym przekształceniom. Konieczność takich przekształceń może wynikać ze
skręcenia oryginału podczas skanowania, błędów powstałych w trakcie skanowania czy też
błędów oryginału, wynikających z właściwości materiału na jakim został wykonany.
Kalibracja jest procesem, który eliminuje opisane zniekształcenia przez utworzenie nowego
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
38
rastra, odpowiednio zlokalizowanego w układzie współrzędnych, powstałego w wyniku
przetransformowania pikseli rastra oryginalnego na piksele rastra nowego wolnego od
zniekształceń. Schematycznie proces ten przedstawiono na rysunku 2.29.
Rys. 2.29. Ilustracja procesu kalibracji
Skuteczność eliminacji błędów zależy w znacznej mierze od zastosowanego modelu
transformacji oraz od tego czy model zastosujemy bezpośrednio dla całego rastra czy
będziemy go stosowali do fragmentów rastra, które po transformacji zostaną ze sobą
połączone. Do wyznaczenia parametrów transformacji wykorzystujemy punkty łączne czyli
takie, które posiadające określone współrzędne terenowe oraz są identyfikowalne na rastrze.
Rys. 2.30. Ilustracja procesu kalibracji
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
39
W przypadku map jest to głównie siatka kwadratów ale mogą być wykorzystywane
również inne punkty (np. punkty osnowy, graniczniki). Minimalna liczba punktów łącznych
zależy od przyjętego modelu transformacji. Zazwyczaj parametry transformacji wyznacza się
metodą najmniejszych kwadratów na podstawie większej liczby punktów niż minimalna
wynikająca z modelu, co pozwala na oszacowanie dokładność uzyskanej transformacji.
Poniżej przedstawiono kilka najczęściej stosowanych do kalibracji rastrów modeli
transformacji.
Transformacja Helmerta
Najprostszy model transformacji wymagający do jednoznacznego wyznaczenia
parametrów jedynie dwóch punktów. Model pozwala na obrót, przesunięcie i zmianę skali.
 cos ϕ
X 
 Y  = k * − sin ϕ

 
sin ϕ   x   Xo
+
*
cos ϕ   y   Yo 
Transformacja afiniczna
Model w którym współrzędna w nowym układzie wynika z zależności przedstawionej
poniżej. Minimalna liczba potrzebnych punktów wynosi 3. Transformacja zachowuje
równoległość linii i środki odcinków zmienia natomiast długości odcinków i wartości kątów.
 X  a 2
 Y  = b
   2
a1
b1
 x
a0   
* y
b0   
 1 
Transformacja biliniowa
Model w którym współrzędna w nowym układzie wynika z zależności przedstawionej
poniżej. Minimalna liczba potrzebnych punktów wynosi 4. Transformacja ma szczególne
znaczenie ze względu na przekształcanie czworokąta w czworokąt co znakomicie nadaje się
do transformacji fragmentami.
 X   a3
 Y  = b
   3
a2
b2
a1
b1
 xy 
a0   x 
*
b0   y 
 
1
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
40
Transformacja rzutowa
Transformacja określająca zależność rzutową pomiędzy punktami układu pierwotnego
i wtórnego. Do określenia wartości współczynników transformacji potrzebne są cztery punkty
rozmieszczone tak aby żadne 3 nie leżały na jednej prostej.
X=
a1 x + a2 y + a3
a7 x + a8 y + 1
Y=
a 4 x + a5 y + a 6
a7 x + a8 y + 1
Transformacje wielomianowe
W transformacji afinicznej do określenia zależności między układami zastosowany jest
wielomian dwóch zmiennych P(x,y) stopnia pierwszego. Zwiększając stopień wielomianu
będziemy potrzebowali więcej punktów do wyznaczenia parametrów wielomianu ale
jednocześnie
transformacja
może
wyeliminować
znaczne
większe
zniekształcenia.
Najczęściej wykorzystywane są transformacje do 3-go stopnia wielomianu nazywane
odpowiednio transformacją:
¾ bikwadratową,
 X   a5
 Y  = b
   5
a4
a3
a2
a1
b4
b3
b2
b1
x2 
 
 xy 
a0   y 2 
* 
b0   x 
y
 
 1 
¾ bikubiczną.
 X   a9
 Y  = b
   9
a8
a7
a6
a5
a4
a3
a2
a1
b8
b7
b6
b5
b4
b3
b2
b1
 x3 
 2 
x y
 xy 2 
 3
y 
a0   x 2 

*
b0   y 2 
 xy 


 x 


 y 
 1 
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
41
Należy zwrócić uwagę na fakt, że każde przekształcenie rastra powoduje jego stopniową
degradację. Możemy to sprawdzić doświadczalnie wykonując kilka obrotów rastra o małe
kąty i powrót do pozycji wyjściowej. Poniżej przedstawiono raster z rysunku 2.30 po trzech
obrotach o wartość 3 stopni i powrót do pozycji wyjściowej.
Rys. 2.31. Raster po kilku przekształceniach
5.
Organizacja dostępu do danych przestrzennych
Duża liczba danych przestrzennych oraz ich specyficzny charakter sprawiają, że do
sprawnego funkcjonowania systemu, przetwarzania zgromadzonych w nim danych, nie
wystarczą jedynie wyrafinowane algorytmy przetwarzania danych, ale potrzebna jest
odpowiednia organizacja danych zapewniająca możliwie szybki do nich dostęp. Szczególnie
istotne jest to w aspekcie wyszukiwania danych spełniających określone warunki
przestrzenne. Efekty wyszukiwania jest na ogół pierwszym krokiem do wykonywania
jakichkolwiek innych operacji na danych, jak wykonywanie zestawień w postaci
tabelarycznej czy graficznej prezentacji na ekranie monitora, drukarce lub innym urządzeniu
wyjścia. Ze względu na interaktywny charakter, szczególne znaczenie ma w tym miejscu
prezentacja danych na ekranie, która musi być realizowana w określonych reżimach
czasowych, aby nie dekoncentrować operatora. Podstawowe zadania związane z
wyszukiwaniem danych na podstawie warunków przestrzennych możemy sformułować
następująco:
• znalezienie wszystkich obiektów zawierających się w określonym wielokącie,
wykorzystywane głównie przy udostępnieniu fragmentów baz danych,
• znalezienie wszystkich obiektów zawierających się w określonym prostokącie,
wykorzystywane głównie przy graficznej prezentacji,
• znalezienie obiektów najbliższych wskazanemu punktowi, wykorzystywane przy
wyborze obiektu w trybie interaktywnym (kursorem).
Ilustrację graficzną przedstawionych powyżej zadań wyszukiwania danych przedstawiono na
rysunku 5.1.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
53
Rys. 5.1. Ilustracja zadań wyszukiwania danych przestrzennych
Mając na uwadze wymienione wyżej względy wykonuje się wiele zabiegów
zmierzających do poprawienia efektywności dostępu do danych. Kilka z nich przedstawimy w
kolejnych podrozdziałach.
6.
Prostokąty ograniczające
Jedną z najprostszych metod organizacji danych sprzyjającą szybszemu dostępowi jest
wprowadzenie w stosowanych do reprezentacji obiektów strukturach danych pewnych
dodatkowych informacji. Zadaniem ich jest uproszczone, w sensie przestrzennym,
zobrazowanie obiektów, które możemy nazwać aproksymacją obiektów właściwych. Istotą
takiej aproksymacji będzie zachowywanie przybliżonej informacji o obiekcie, zapisanej w
maksymalnie uproszczony sposób wygodny do wykonywania analiz. Najpowszechniejszym
ze spotykanych uproszczeń jest aproksymacja obiektu minimalnym prostokątem o bokach
równoległych do osi układu współrzędnych, w którym można zmieścić cały rozpatrywany
obiekt. Prostokąt taki będziemy nazywali minimalnym prostokątem ograniczającym. W
literaturze polskiej można się spotkać z określaniem takiego prostokąta „pudełkiem”
[Adamczewski, Nowak 1977] oraz [Nowak, Śliwka 1979].
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
54
maxX
maxY
minX
minY
Rys. 5.2. Ilustracja prostokąta ograniczającego
Innymi uproszczeniami (aproksymacjami) jakie można stosować do obiektów
przestrzennych może być punkt lub okrąg. Oczywiście rozpatrujemy tutaj zagadnienie na
płaszczyźnie w przypadku większego wymiaru przestrzeni wspomniane twory będą również
odpowiednio wyższego wymiaru.
Wprowadzanie, przechowywanie i modyfikacja danych związanych z aproksymacją
właściwego obiektu jest wewnętrzna sprawą oprogramowania i właściwie użytkownik rzadko
wie o istnieniu takich dodatkowych danych.
W celu zilustrowania korzyści płynących z zastosowania prostokątów ograniczających
przeanalizujmy zadanie przedstawione na rysunku 5.3. Znajdują się tam obiekty w formie
wielokątów oraz prostokąt stanowiący obszar zainteresowania (okno zapytań) wyróżniony
pogrubioną linią. Interesuje nas, które obiekty mają część wspólną z oknem zapytań.
Zakładając, że w zastosowanej strukturze danych mamy jedynie wierzchołki poszczególnych
wielokątów musimy w celu podania odpowiedzi, dla każdego z nich stosować algorytmy
sprawdzające istnienie części wspólnej wielokąta z prostokątem. W wielu przypadkach
wielokąty mogą zawierać nawet wiele tysięcy punktów, co ma ogromne znaczenie dla czasu
działania tych algorytmów. Oczywiście można wtedy algorytm taki rozpoczynać od
wyznaczenia prostokąta ograniczającego ale, jak wynika to z zastosowań praktycznych,
wygodniej jednak przechowywać taki prostokąt ograniczający niż każdorazowo go
wyznaczać. Jeśli jednak prostokąt ograniczający jest przechowywany musimy pamiętać aby
dokonywać jego modyfikacji wraz z modyfikacjami obiektu właściwego. W przeciwnym
wypadku wykorzystywanie prostokątów ograniczających może doprowadzić do mylnych
wniosków.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
1
2
55
3
5
4
6
7
Rys. 5.3. Wybór obiektów zawierających się w prostokątnym oknie
Zadanie powyższe przybiera znacznie uproszczoną postać jeśli dla każdego obiektu znany
jest jego prostokątną aproksymację, jak przedstawiono to na rysunku 5.4.
1
2
3
5
4
6
7
Rys. 5.4. Aproksymacja obiektów prostokątami ograniczającymi
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
56
Korzystając jedynie z prostokątów ograniczających, badając relacje prostokąt ograniczający
obiektu - okno zapytań możemy ze szczegółowego sprawdzania wyeliminować wiele
obiektów co pozwala na duże oszczędności czasowe. Warunkiem koniecznym posiadania
przez wielokąty części wspólnej jest jej posiadanie przez odpowiadające im prostokąty
ograniczające. W tym miejscu należy zwrócić uwagę na fakt, że warunek ten jest warunkiem
koniecznym ale nie wystarczającym i może się zdarzyć, że mimo posiadania części wspólnej
okna zapytań z prostokątem ograniczającym, obiekt w rzeczywistości obiekt nie zawiera się
w oknie zapytań. Zadanie wykonywane jest więc w dwóch etapach. W etapie pierwszym dla
wszystkich obiektów analizujemy prostokąty ograniczające wybierając kandydatów do
drugiego etapu sprawdzania szczegółowego. Ilustracja pierwszego etapu przedstawiono na
rysunku 5.5.
1
2
3
5
4
6
7
Rys. 5.5. Wybór obiektów na podstawie prostokątów ograniczających
W trakcie sprawdzania prostokątów wystarczy zaistnienie tylko jednego z przedstawionych
poniżej warunków aby można było pominąć dany obiekt, uznając, że nie posiada części
wspólnej z oknem zapytań:
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
57
Tabela 5.1 Warunki sprawdzania położenia prostokątów ograniczających
Postać warunku
Działania warunku
odrzucanie
o
Xmin > Xmax
wszystkich
obiektów
Ilustracja graficzna
o
prostokątach ograniczających leżących
okno zapytań
nad oknem prezentacji
odrzucanie
o
Ymin > Ymax
wszystkich
obiektów
o
prostokątach ograniczających leżących
okno zapytań
po prawej stronie okna prezentacji
odrzucanie
o
Xmax < Xmin
wszystkich
obiektów
o
okno zapytań
prostokątach ograniczających leżących
poniżej okna prezentacji
odrzucanie
o
Ymax < Ymin
wszystkich
obiektów
o
prostokątach ograniczających leżących
okno zapytań
po lewej stronie okna prezentacji
W wyniku sprawdzenia warunków dla prostokątów ograniczających do sprawdzenia w
sposób szczegółowy pozostają nam jedynie obiekty przedstawione poniżej.
5
4
6
7
Rys. 5.6. Wybór obiektów na podstawie prostokątów ograniczających
W przypadku obiektu oznaczonego cyfrą 6 widzimy zaistnienie sytuacji opisywanej
wcześniej. Prostokąt ograniczający tego obiektu posiada część wspólną z oknem zapytań,
natomiast w rzeczywistości obiekt takiej części nie posiada. Stwierdzenie jednak tego faktu
może nastąpić dopiero na drodze szczegółowej analizy wierzchołków wielokąta.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
7.
58
Indeksowanie przestrzenne
Wprowadzenie
aproksymacji
obiektów
przez
prostokąty
ograniczające
jest
niewątpliwą koniecznością z punktu widzenia efektywnego dostępu do obiektów
przechowywanych w systemie. Należy sobie jednak zdawać sprawę, że prostokąty
ograniczające rozwiązują jedynie częściowo problem dostępu do danych. Kolejnym bardzo
ważnym czynnikiem w optymalizacji dostępu do danych SIP jest zastosowanie odpowiednich
systemów indeksowania przestrzennego, aby przy wyborze nie przebiegać zawsze przez całą
listę obiektów lecz operować na pewnych uporządkowanych przestrzennie grupach obiektów,
które mogą posiadać również własne (grupowe) prostokąty ograniczające. Tak więc jeśli
stwierdzimy, że prostokąt ograniczający danej grupy daje się odrzucić wtedy ją całą
pomijamy. Poniżej przedstawiono charakterystykę dwóch najczęściej stosowanych metod
indeksowania przestrzennego quadtree i R-tree. Stosowanie tych metod nie oznacza
rezygnacji z prostokątów ograniczających, które stanowią także podstawę do zastosowania
metod indeksowania.
8.
Quadtree
Quadtree jest strukturą znacznie przyspieszającą dostęp do danych przestrzennych. W
celu przedstawienia idei niniejszej struktury, rozważmy obiekty przedstawione na rysunku
5.7.
3
2
9
8
4
10
5
1
11
12
6
7
Rys. 5.7. Lokalizacja obiektów
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
59
Obszar w którym zlokalizowane są obiekty będziemy dzielili w sposób schematycznie
przedstawiony na rysunku 5.8, do osiągnięcia założonego, maksymalnego stopnia podziału.
Pierwszy podział całości obszaru na cztery daje podobszary oznaczone jako: 0, 1, 2, 3 a
następnie każdy z podobszarów w analogiczny sposób dzielony jest na kolejne podobszary
otrzymujące w oznaczeniu dodatkową cyfrę. W przypadku podobszaru 2 oznaczenia te są
następujące: 20, 21, 22, 23.
232
22
233
23
2
231
230
20
3
21
1
0
Rys. 5.8. Schemat podziału obszaru w strukturze quadtree
W wyniku nałożenia siatki podziału na obiekty, co ilustruje rysunek 5.9, możemy każdemu
obiektowi przypisać indeksy wynikające z oznaczenia obszaru w jakim obiekt jest całkowicie
zawarty.
3
2
9
8
4
10
5
1
11
12
6
7
Rys. 5.9. Schemat tworzenia indeksów
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
60
Dla przedstawionych na rysunku 5.7 obiektów otrzymujemy więc następujące indeksy:
Nr
INDEX
Nr
INDEX
obiektu
quadtree
obiektu
quadtree
1
PUSTY
7
1
2
22
8
231
3
23
9
33
4
3
10
31
5
2
11
13
6
0
12
12
których interpretacja pozwala wnioskować o przestrzennej lokalizacji poszczególnych
obiektów. Dokładnie wynika to z interpretacji poszczególnych cyfr indeksu. Stosując
omówioną zasadę możemy indeks przypisać każdemu obiektowi, utworzyć indeks liniowy
lub na bazie indeksu tworzyć strukturę drzewa dla przechowywania danych jak zilustrowano
to na rysunku 5.10.
1,...,
1
0
6...
3
2
7...
5....
12...
11...
4...
2...
3...
10...
9..
8...
Rys. 5.10. Schemat drzewa quadtree
W celu znalezienia obiektów znajdujących się w pewnym obszarze należy określić indeks
quadtree dla tego obszaru i na jego podstawie odnaleźć właściwą listę obiektów. Następnie
przeszukać ją oraz wszystkie listy położone poniżej i powyżej.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
9.
61
R-tree
Indeksowanie danych z wykorzystaniem struktury R-tree podobnie jak quadtree opiera
się na podziale obszaru właściwego dla bazy danych na mniejsze prostokątne fragmenty. W
podziale niniejszym w odróżnieniu do quadtree dozwolone jest pokrywanie się utworzonych
w wyniku podziału fragmentów (rys. 5.11). Utworzone w fragmenty organizuje się w
strukturę drzewa jak przedstawiono to na rys. 5.12. Charakterystyczne w utworzonym
drzewie jest występowanie dwóch rodzajów węzłów to jest tzw. węzłów pośrednich oraz
liści. Węzły pośrednie zawierają informacje o zakresie grupowanych węzłów pośrednich
niższego poziomu. Liście natomiast zawierają dostęp do konkretnych obiektów terenowych.
Struktura R-tree charakteryzowana jest maksymalną liczbą możliwych potomków w węźle M
oraz liczbą minimalną obliczaną jako M/2. Ilustrację organizacji struktury R-tree
przedstawiono na rysunkach rys. 5.12 i 5.12.
3
2
A
9
Y
8
4
10
5
C
1
11
12
6
7
X
B
D
Rys. 5.11. Podział płaszczyzny zgodnie ze strukturą R-tree
X Y
A B
2
3
8
1
5
6
C D
4
9 10
7 11 12
Rys. 5.12. Schemat drzewa korespondujący z podziałem przestawionym na rysunku 1.11.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
62
Organizacja struktury R-tree może być statyczna lub dynamiczna. Organizacja statyczna
charakteryzuje się tym, że już na starcie znane są wszystkie elementy do podziału natomiast
w organizacji dynamicznej kolejne elementy dodawane są do już istniejącej struktury. W
przypadku dodawania nowego elementu do węzła zawierającego już maksymalną ich liczbę
wiąże się z dokonaniem podziału elementów na dwa nowe węzły.