2. Modele danych przestrzennych

Transkrypt

2. Modele danych przestrzennych
2.
Modele danych przestrzennych
Model danych przestrzennych określa sposób reprezentacji obiektów świata
rzeczywistego w aspekcie ich położenia przestrzennego, kształtu oraz istniejących między
nimi relacji przestrzennych. Ponieważ informacje przestrzenne stanowią podstawę systemu
informacji przestrzennej z tego też względu model danych przestrzennych jest również bardzo
ważnym jego elementem. Od przyjętego modelu zależy bowiem zakres i forma
reprezentowanych informacji przestrzennych, a co za tym idzie również możliwości i
efektywność ich przetwarzania.
Podstawą każdego modelu danych przestrzennych jest wybór podstawowych
(określonych przestrzennie) elementów geometrycznych wykorzystywanych do reprezentacji
obiektów świata rzeczywistego, czyli do budowania ich numerycznego przestrzennego
modelu w systemie. Generalnie elementy geometryczne wykorzystywane w modelach danych
przestrzennych można podzielić stosując do nich kryterium wymiaru w przestrzeni.
Otrzymujemy wtedy elementy:
0-D - zerowymiarowe -punkt,
1-D - jednowymiarowe - linia,
2-D - dwuwymiarowe - obszar.
Na analogicznej zasadzie można wyodrębnić element trójwymiarowy (bryłę), lecz
zastosowanie pełnego trójwymiarowego modelowania jest w chwili obecnej jeszcze bardzo
rzadko wykorzystywane. Dlatego też w dalszej części pracy elementy trójwymiarowe zostaną
pominięte.
W zależności od przyjętego modelu danych przestrzennych wymienione elementy
geometryczne mogą być określane bezpośrednio ciągiem punktów o określonych
współrzędnych lub budowane hierarchicznie tzn. element o wymiarze wyższym budowany
jest z odpowiedniej liczby elementów o wymiarze niższym np. element 2-D może być
zbudowany z przynajmniej trzech elementów 1-D.
Rys. 2.1. Ilustracja hierarchicznej budowy obiektów
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
16
Dla większości obiektów świata rzeczywistego występujących w systemach
informacji przestrzennej ich reprezentacja przestrzenna może być zrealizowana tylko jednym
z wymienionych elementów geometrycznych. Obiekty tak reprezentowane nazywane są
obiektami prostymi. Wśród obiektów prostych wyróżniamy:
− obiekty punktowe, reprezentujące np. punkty osnowy geodezyjnej,
− obiekty liniowe, reprezentujące np. ogrodzenia, krawężniki,
− obiekty powierzchniowe, reprezentujące np. działki.
Podstawowy wpływ na wybór elementu geometrycznego służącego do reprezentacji
obiektu świata rzeczywistego mają skala i przeznaczenie tworzonego opracowania. Tak więc
te same obiekty świata rzeczywistego (np. budynki) w opracowaniach wielkoskalowych będą
obiektami powierzchniowymi, natomiast w opracowaniach małoskalowych obiektami
punktowymi.
Ponieważ jednak nie wszystkie, wyodrębniane na potrzeby systemu informacji
przestrzennej, obiekty świata rzeczywistego dają się przedstawić w sensie przestrzennym
przy pomocy jednego z tak zdefiniowanych obiektów prostych, wprowadza się pojęcie
obiektu złożonego (kompleksowego) będącego kombinacją obiektów prostych. Przykładem
obiektu złożonego może być obiekt reprezentujący budynek, w którym dokonano połączenia
obiektu powierzchniowego stanowiącego jego obrys z innymi obiektami towarzyszącymi jak
np. schodami, tarasami itp. (rysunek 2.2a). Innymi przykładami obiektów złożonych są:
obiekt powierzchniowy złożony z kilku rozłącznych obszarów (rysunek 2.2b) oraz obiekt
powierzchniowy zawierający w sobie inny obiekt powierzchniowy, przy czym granice tych
obiektów się nie przecinają (rysunek 2.2c).
a)
c)
b)
A
A
Rys. 2.2. Przykłady obiektów złożonych
B
A
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
17
Innym problemem związanym z prezentacją skomplikowanej rzeczywistości są
obiekty tworzące różne konfiguracje wynikające z ich wzajemnych relacji przestrzennych
(topologicznych). Konfiguracje takie nazywane są strukturami obiektów. Możliwość zapisu
wspomnianych relacji jest bardzo ważnym elementem modelu danych przestrzennych. Istotne
jest bowiem (z punktu widzenia przetwarzania informacji przestrzennej) czy relacje te zostaną
zapisane bezpośrednio (np. przyleganie dwóch działek), czy też do stwierdzenia
zachodzących relacji trzeba wykorzystać drogę analityczną, polegającą na porównaniu
współrzędnych punktów granicznych. Podstawowe struktury obiektów z jakimi najczęściej
mamy do czynienia w systemach informacji przestrzennej są następujące:
−
struktura typu drzewa (dotyczy obiektów liniowych), np. większość systemów
rzecznych (rysunek 2.3a),
−
struktura sieciowa (dotyczy obiektów liniowych), np. systemy drogowe
(rysunek 2.3b),
−
struktura sieci poligonów (grupa przylegających do siebie obszarów), np.
grupa działek gruntowych (rysunek 2.3c).
a)
b)
c)
Rys. 2.3. Przykłady konfiguracji obiektów liniowych i powierzchniowych
Ostatnim problemem związanym z prezentacją przestrzenną rzeczywistości, a więc
dotyczącym modelu danych przestrzennych jest reprezentacja obiektów o charakterze
ciągłym, czyli występującym na całym rozpatrywanym obszarze. Przykładem takiego obiektu
jest powierzchnia terenu czy powierzchnie charakteryzujące określone zjawiska fizyczne.
Jeśli powierzchnię matematyczną opisującą zjawisko daje się wyrazić analitycznie w
postaci
z = f ( x, y)
gdzie
z jest wartością zjawiska,
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
18
to problem prezentacji jest rozwiązany automatycznie gdyż na podstawie znanej postaci
funkcji możemy określić wartość danego zjawiska w dowolnym punkcie. Ponieważ jednak
przeważnie modelowanych zjawisk nie można określić funkcją analityczną, lecz jedynie w
sposób dyskretny przez zbiór punktów, dla których wartość zjawiska została określona,
dlatego też stosuje się inne rozwiązania. Najczęściej stosowanymi metodami przestrzennej
reprezentacji powierzchni są:
• reprezentacja elementami punktowymi, dla których określono wartość zjawiska i
które rozmieszczone są regularnie (np. siatka kwadratów),
• reprezentacja elementami liniowymi, dla których wartość zjawiska jest określona i
niezmienna (izolinie),
• reprezentacja
w
postaci
elementów
powierzchniowych
będąca
siecią
nieregularnych trójkątów TIN (ang. triangular irregular network) opartych na
punktach pomiarowych.
Schematycznie wymienione metody reprezentacji powierzchni przedstawiono na rysunku 2.4.
237
237
238
239
243
242
241
240
236
236
235
234
232
233
235
233
232
236
231
231
230
229
228
227
226
226
Rys. 2.4. Metody reprezentacji zjawisk o charakterze ciągłym
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
19
W związku z dyskretną reprezentacją powierzchni, z każdą z wymienionych wyżej
metod związane muszą być odpowiednie algorytmy interpolacyjne umożliwiające określenie
wartości zjawiska w dowolnie wybranym punkcie.
Wybór metody użytej do reprezentacji powierzchni zależy w dużej mierze od sposobu
użytego do pozyskiwania danych dotyczących modelowanego zjawiska. W przypadku
modelowania powierzchni terenu możemy mieć do czynienia bądź z pomiarem bezpośrednim,
w którym określane są wysokości punktów charakterystycznych, na których następnie
będziemy budowali nieregularną siatkę trójkątów, bądź z pomiarem na autografie ze zdjęć
lotniczych, gdzie można stosować bezpośrednią rejestrację warstwic lub rejestrować jedynie
punkty charakterystyczne.
Dzięki
algorytmom
interpolacji
zawartych
przy
poszczególnych
metodach
reprezentacji powierzchni istnieje również możliwość przejścia (transformacji) z jednej
metody reprezentacji na inną. Stosowane transformacje przedstawiono na rysunku 2.5
oznaczając je znakiem +. Należy jednak pamiętać, że transformacje na siatkę kwadratów
mogą wprowadzać zniekształcenia modelowanej powierzchni. Zniekształcenia te będą tym
większe im mniejsza będzie gęstość siatki kwadratów, gdyż nie wszystkie formy
modelowanej powierzchni będziemy mogli przedstawić. Pozostałe transformacje oznaczone
znakiem - i dotyczące przejścia z siatki kwadratów oraz z izolinii na nieregularną siatkę
trójkątów (chociaż teoretycznie możliwe) praktycznie nie ma żadnego znaczenia ze względu
na fakt, że nieregularna siatka trójkątów opiera się na punktach charakterystycznych, a przy
przejściu z wymienionych modeli nie jesteśmy w stanie określić kryterium wyboru tych
punktów.
Siatka kwadratów
siatka kwadratów
→
izolinie
→
+
TIN
→
+
izolinie
TIN
+
−
−
+
Rys. 2.5. Ilustracja możliwości transformacji między różnymi sposobami reprezentacji powierzchni
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
20
Zależnie od wymiaru podstawowego elementu geometrycznego z jakiego tworzony
jest model możemy wyróżnić trzy rodzaje numerycznych modeli przestrzennych:
• modele punktowe - podstawowym elementem geometrycznym jest punkt,
• modele liniowe (wektorowe) - podstawowym elementem jest linia reprezentowana
przez ciąg punktów,
• modele powierzchniowe - podstawowym elementem jest obszar,
które dodatkowo, w zależności od rozmieszczenia i kształtu podstawowych elementów,
dzielone są na:
• modele regularne,
• modele nieregularne.
Uzyskujemy w ten sposób dwustopniowy podział numerycznych modeli przestrzennych
zilustrowany na rysunku 2.6. [Gaździcki 1990].
MODEL
REGULARNY
NIEREGULARNY
PUNKTOWY
LINIOWY
(wektorowy)
POWIERZCHNIOWY
Rys. 2.6. Podział numerycznych modeli przestrzennych
W modelach wektorowych podstawowym elementem jest twór jednowymiarowy (linia
reprezentowana przez ciąg punktów). W szczególnych przypadkach modelu wektorowego
nieregularnego linia może przedstawiać:
• element zerowymiarowy, gdy długość linii wynosi zero, a ciąg punktów zawiera
tylko jeden punkt,
• element dwuwymiarowy, gdy ciąg punktów reprezentuje linię zamkniętą
stanowiącą granice pewnego obszaru.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
21
Szczególnymi przypadkami modeli powierzchniowych są teselacje, które definiowane
są jako podział części płaszczyzny na elementarne obszary będące figurami ustalonego
kształtu. Teselecja w przestrzeni dwuwymiarowej może być więc porównana do mozaiki,
której elementy pokrywają całkowicie dany obszar, nie nakładając się na siebie. W
teselacjach wyróżniamy teselacje regularne, które utworzone są z elementów w kształcie
kwadratu, trójkąta równobocznego lub sześciokąta foremnego (rysunek 2.7).
Rys. 2.7. Teselacje regularne
Z wymienionych modeli największe znaczenie mają modele wektorowe nieregularne oraz
modele rastrowe (czyli teselacje o elementach kwadratowych).
Modele wektorowe charakteryzują się jawnym występowaniem współrzędnych
punktów opisujących poszczególne obiekty terenowe. Do opisanych współrzędnymi obiektów
odnoszą się także bezpośrednio ich atrybuty. W modelu rastrowym dane posiadają postać
rastrową. Element rastra jest najmniejszą rozróżnialną jednostką powierzchniową, której
położenie jest odpowiednio identyfikowane np. przez podanie wiersza i kolumny w tablicy
przyporządkowanej rastrowi. Do elementów rastra przypisywane są również atrybuty.
Przykład zapisu tych samych danych w modelu wektorowym i rastrowym przedstawia
rysunek 2.8.
a)
b)
Rys. 2.8. Wektorowa (a) i rastrowa (b) postać danych przestrzennych
Przedstawione dwa modele danych różnią się między sobą w sposób zasadniczy
jednocześnie wzajemnie się uzupełniając pod względem zakresu zastosowań.
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
2.1.
22
Prosty model wektorowy
Model ten stanowi bezpośrednie, numeryczne przedstawienie obiektów świata
rzeczywistego przez odpowiadające im geometryczne obiekty w modelu danych
przestrzennych. Obiektami prostego modelu wektorowego są obiekty:
¾ punktowe,
¾ liniowe,
¾ powierzchniowe.
Położenie obiektów punktowych określa się przez współrzędne punktu lokalizującego dany
obiekt. W przypadku obiektów liniowych i powierzchniowych, które określane są przez
większą liczbę punktów oprócz ich współrzędnych istotne jest ich odpowiednie
uporządkowanie, które określa kształt obiektu. Mając bowiem, jedynie grupę punktów bez
informacji o ich uporządkowaniu nie jesteśmy w stanie jednoznacznie określić kształtu
obiektu, co zilustrowano na poniższym rysunku.
zbiór punktów
pierwszy wariant połączenia
drugi wariant połączenia
Rys. 2.9 Ilustracja niejednoznaczności połączenia punktów
Przykłady obiektów prostego modelu wektorowego wraz ze sposobem ich opisu
przedstawiamy na rysunku 2.10.
B
A
A(Po)
B(P1,P2,..., Pn)
C
C(P1,P2,..., Pn,P1)
Rys. 2.10 Obiekty prostego modelu wektorowego: a) punktowy; b) liniowy; c) powierzchniowy
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
23
Przy określaniu kształtu obiektu jednym ciągiem punktów, pewne problemy pojawiają
się przy opisie obiektu powierzchniowego złożonego, czyli takiego, który zawiera w sobie
inne obiekty powierzchniowe. Klasycznym przykładem takiej sytuacji jest przypadek jeziora
z wyspami.
C
B
A
Rys. 2.11 Przykład złożonego obiektu powierzchniowego
W sytuacji przedstawionej na rysunku 2.11 obiektem C jest tylko obszar pokryty
szrafurą. Opisując taki obiekt należy uwzględnić wyłączenie z niego obszarów A i B.
Najprostszym i najczęściej stosowanym sposobem opisu powierzchniowego obiektu
złożonego jest wprowadzenie dodatkowych (fikcyjnych) połączeń między obrysem
zewnętrznym obiektu C i obrysami obiektów leżących w jego wnętrzu (A i B). Dodatkowe
połączenia pozwolą podać jeden ciąg punktów opisujący obiekt C uwzględniający obszary z
niego wyłączone. Przykład opisu obiektu powierzchniowego złożonego zawierającego w
sobie jeden obiekt powierzchniowy przedstawiamy na rysunku 2.12. Opis obiektu C został
zrealizowany przez dodanie dodatkowego połączenia między punktami 2-7, przedstawionego
na rysunku linią przerywana. Określenie ciągu punktów opisujących obiekt rozpoczęto od
punktu 1 i posuwano się po granicy tak, aby obszar obiektu położony był po prawej stronie
granicy. Po dojściu do punktu 2 wchodzimy na granicę obszaru wewnętrznego (na punkt 7) i
przesuwamy się po tej granicy również tak aby definiowany obszar znajdował się po prawej
stronie. Po dojściu do punktu 7 wracamy dodanym połączeniem ponownie do punktu 2 a dalej
kolejno przechodzimy przez punkty 3,4,5,6 i kończymy na punkcie 1, od którego
rozpoczęliśmy.
3
4
10
2
9
C
8
7
1
6
C ( P1 , P2 , P7 , P8 , P9 , P10 , P7 , P2 , P3 , P4 , P5 , P6 , P1 )
Rys. 2.12 Sposób opisu złożonego obiektu powierzchniowego
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
24
Rozwiązanie takie pozwala korzystać z jednej listy punktów określającej kształt obiektu
powierzchniowego. Innym rozwiązaniem problemu obiektów powierzchniowych złożonych
jest korzystanie z dodatkowych ciągów punktów określających obszary wyłączone.
Główną zaletą tego modelu jest jego prostota i bezpośrednie obrazowanie obiektów
terenowych przez przypisany ciąg punktów. Wady prostego modelu wektorowego ujawniają
się szczególnie w aspekcie rozpatrywania obiektów w ich wzajemnym powiązaniu
przestrzennym (obiekty w omawianym modelu są wzajemnie niezależne). Do istotnych wad
należy zaliczyć:
− współrzędne punktów wspólnych, należących do dwóch lub więcej obiektów,
muszą być zapisywane w każdym z nich, powstaje w ten sposób redundancja
danych wiążąca się nie tylko ze stratą pamięci, ale również z koniecznością
zapewnienia identyczności wartości powtarzających się współrzędnych,
− związki przestrzenne między obiektami mogą być wykrywane jedynie metodami
geometrii analitycznej.
2.2.
Topologiczny model wektorowy
W prostym modelu wektorowym obiekty opisywane są bezpośrednio przez ciągi
współrzędnych punktów. Jest to opis kompletny pod względem geometrycznym, ale nie
dający bezpośrednio informacji o wzajemnym powiązaniu obiektów między sobą.
Ewentualne powiązania między obiektami (np. sąsiedztwo) mogą być wykrywane jedynie
przez zastosowanie geometrii analitycznej. Inaczej sytuacja wygląda w topologicznym
modelu wektorowym, który oprócz informacji geometrycznych definiujących położenie i
kształt obiektów zawiera również informacje o wzajemne powiązania między obiektami. W
topologicznym modelu wektorowym wyodrębnia się trzy rodzaje elementów topologicznych:
• zerowymiarowe - punkty węzłowe,
• jednowymiarowe - linie graniczne,
• dwuwymiarowe - obszary,
dla których można zapisać wszystkie wzajemne relacje. Elementy klasy wyższej budowane są
zawsze z elementów klasy niższej. Tak więc cała płaszczyzna podzielona jest liniami
granicznymi L1, L2,...,Lm na obszary P1, P2,...,Pn oraz obszar P0 będący obszarem
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
25
zewnętrznym w stosunku do pozostałych obszarów. Linie graniczne Li nie mogą się
przecinać, mają określone swoje kierunki i łączą punkty W1, W2,...,Wq zwane punktami
węzłowymi lub węzłami.
L1
W2
P0
P1
W1
L5
L2
P2
L3
W3
W4
L4
Rys. 2.13. Topologiczny model wektorowy
Kierunki linii granicznych określone są przez podanie dla każdej z nich węzła początkowego
(Wp) oraz węzła końcowego (Wk). Dzięki temu, że linie graniczne są skierowane możemy
również do każdej z nich przypisać obszar Pl leżący po jej lewej stronie oraz obszar Pp leżący
po stronie prawej.
Wp
Pl
Li
Pp
Wk
Rys. 2.14. Zasada oznaczania obszarów
Linie graniczne mogą być również oznaczane jako -Li co oznacza linię Li o zmienionym
kierunku na przeciwny. Zmiana taka oznacza, że węzeł początkowy staje się teraz węzłem
końcowym i odwrotnie. Zmiana kierunku linii powoduje również zamianę ze sobą
rozgraniczanych przez linię obszarów. Poszczególne linie łączące węzły mogą być liniami
prostymi (prostoliniowym model wektorowy) lub zawierać w sobie dodatkowe punkty
pośrednie określające kształt danej linii (krzywoliniowy model wektorowy).
Relacje między elementami topologicznymi zerowymiarowymi, jednowymiarowymi i
dwuwymiarowymi mogą być zapisane w trzech równoważnych postaciach. Postać zapisu
zależy od tego, któremu elementowi (zero-, jedno- czy dwuwymiarowemu) przypisuje się
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
26
zależności topologiczne z elementami pozostałymi. Ilustrację graficzną zapisu relacji w
poszczególnych wariantach zapisu przedstawiono na rysunku 2.15.
a)
b)
Lg
Wk
c)
Lg
Li
Pp
Pl
Wp
Wi
Pi
Pp
Wp
Rys. 2.15. Ilustracja przypisywania relacji topologicznych
A) Przypisywanie relacji topologicznych do elementów zerowymiarowych
Każdemu
zerowymiarowemu
elementowi
czyli
węzłowi
Wi
przypisujemy
identyfikatory kolejnych par:
Lg
- linia graniczna wychodząca z danego węzła,
Pp
- obszar leżący po prawej stronie linii granicznej,
zgodnie z rysunkiem 2.15a. W przypadku obiektów przedstawionych na rysunku 2.13
otrzymujemy zapis:
kolejne pary ( Lg Pp )
W1
W2
W3
W4
L1 P1 , L5 P2 , L3 Po
− L1 Po ,− L2 P1
L2 P0 ,− L5 P1 ,− L4 P2
L4 P0 ,− L3 P2
(2.1)
B) Przypisywanie relacji topologicznych do elementów jednowymiarowych
Każdemu jednowymiarowemu elementowi czyli liniom granicznym Li przypisujemy
identyfikatory dwóch par:
Wp ,Wk - węzeł początkowy Wp oraz końcowy Wk linii granicznej,
Pl ,Pp
- obszar Pl leżący po lewej stronie oraz obszar Pp leżący po prawej stronie
linii granicznej,
zgodnie z rysunkiem 2.15b. W przypadku obiektów przedstawionych na rysunku 2.13
otrzymujemy zapis:
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
L1
L2
L3
L4
L5
Wp ,
W1 ,
W3 ,
W1 ,
W4 ,
W1 ,
Wk ,
W2 ,
W2 ,
W4 ,
W3 ,
W3 ,
Pl ,
Po ,
P1 ,
P2 ,
P2 ,
P1 ,
27
Pp
P1
Po
Po
Po
P2
(2.2)
C) Przypisywanie relacji topologicznych do elementów dwuwymiarowych
Każdemu dwuwymiarowemu elementowi czyli poszczególnym obszarom Pi
przypisujemy identyfikatory kolejnych par:
Lg
- linia graniczna obszaru Pi skierowana tak, aby obszar był po jej prawej stronie,
Wp - początkowy punkt węzłowy tej linii,
zgodnie z rysunkiem 2.15c. W przypadku obiektów przedstawionych na rysunku 2.13
otrzymujemy zapis:
kolejne pary ( LgWp )
Po
L3W1 , L4W4 , L3W3 , − L1W2
P1
P2
L1W1 , − L2W2 , − L5W3
L5W1 , − L4W3 , − L3W4
(2.3)
Relacje topologiczne, zapisane w jednym z omawianych wariantów, są jedynie częścią
danych przestrzennych, gdyż należą do nich jeszcze dane geometryczne, którymi są
współrzędne punktów węzłowych i punkty pośrednie poszczególnych linii:
W1 ( xw1 , yw1 )
L1 ( x1 , y1 ,..., xn1 , yn1 )
W2 ( xw2 , yw2 )
L2 ( x1 , y1 ,..., xn2 , yn2 )
W3 ( xw3 , yw3 )
W4 ( xw4 , yw4 )
L3 ( x1 , y1 ,..., xn3 , yn3 )
L4 ( x1 , y1 ,..., xn4 , yn4 )
(2.4)
L5 ( x1 , y1 ,..., xn5 , yn5 )
Zapisanie relacji topologicznych nie jest równoznaczne z bezpośrednim określeniem
samych obiektów w sensie geometrycznym o czym świadczą przedstawione warianty.
Aby określić linię graniczną Li musimy znać jej węzeł początkowy i końcowy. Tylko
w wariancie drugim informacja taka o liniach granicznych występuje wprost. W przypadku
pozostałych wariantów należy w drodze analizy relacji topologicznych określić węzeł
początkowy i końcowy. W przypadku określania granic obszaru należy znać natomiast linie
graniczne jakie go otaczają. Informacja o granicach obszarów w postaci bezpośredniej
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
28
zapisana jest w wariancie trzecim zapisu relacji. Mamy tam dla każdego obszaru bezpośredni
wykaz kolejnych węzłów oraz rozpoczynających się od tych węzłów linii. W pozostałych
wariantach granica obszaru musi być ustalana na podstawie analizy zapisanych relacji
topologicznych.
Jak widać droga dojścia do informacji geometrycznej o obiekcie jest różna w
zależności od zastosowanego wariantu zapisu relacji między obiektami. Najczęściej
stosowany jest drugi z opisywanych wariantów zapisu relacji, co wynika przede wszystkim z:
• wygodnej postać zapisu relacji (stała liczba relacji dla każdej linii),
• występowania dla każdej linii Wp i Wk czyli bezpośrednie określenie geometrii
poszczególnych linii granicznych.
Mając bezpośrednie określenie geometrii linii granicznych można opisać granicę
obiektu powierzchniowego co uzyskuje się przez podanie odpowiednich linii ograniczających
ten obszar i tak skierowanych, aby znajdował się on po prawej stronie linii granicznych przy
poruszaniu się wzdłuż granicy. Granice obszarów występujących na rysunku 2.13 oznaczone
jako G(Pi) można zapisać następująco:
G ( Po ) = ( − L1 , L3 , L4 , L2 )
G ( P1 ) = ( L1 , − L2 , − L5 )
G ( P2 ) = ( L5 , − L4 , − L3 )
(2.5)
Na uwagę zasługuje fakt, że każda linia występuje dwa razy a suma pól wszystkich obszarów
wynosi zero. Stosując opisane zasady w prosty sposób można opisywać również obiekty
powierzchniowe złożone, co przedstawiamy na rysunku 2.16.
W2
L1
W5
W1
P1
L6
L2
P3
L3
P0
L5
W4
P2
L4
G ( Po ) = ( − L1 , L3 , L4 , L2 )
G ( P1 ) = ( L1 , − L2 , − L5 , − L6 )
G ( P2 ) = ( L5 , − L4 , − L3 )
G ( P3 ) = ( L6 )
W3
Rys. 2.16. Sposób opisu obiektów powierzchniowych złożonych w modelu topologicznym
(2.67)
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
29
Zaprezentowany powyżej sposób reprezentacji przestrzennej obiektów przy użyciu
topologicznego modelu wektorowego jest sposobem ogólnym, określającym relacje między
węzłami, liniami granicznymi oraz obszarami. W przypadku wykorzystania modelu do
reprezentacji obiektów liniowych (prostych lub struktur) dokonuje się w nim pominięcia
zapisu relacji z obszarami, czyli dla poszczególnych linii granicznych nie określa się obszaru
lewostronnego i prawostronnego. Dla każdej linii określone są więc tylko węzły początkowy i
końcowy (rysunek 2.17).
Wp
Li
Wk
Rys. 2.17. Reprezentacja obiektów liniowych
Na rysunku 2.18 przedstawiono przykładową strukturę sieciową wraz z zapisem
istniejących w niej zależności topologicznych.
L1
W2
W1
L3
L5
L2
W4
W3
L4
W5
L1
L2
L3
L4
L5
L6
Wp ,
W1 ,
W3 ,
W1 ,
W4 ,
W1 ,
W3
Wk
W2
W2
W4
W3
W3
W5
L6
Rys. 2.18. Reprezentacja struktury sieciowej obiektów liniowych
Jak wynika z przedstawionych rozważań w modelu topologicznym nie występuje
redundancja danych geometrycznych, gdyż zapisywane są one tylko jeden raz. Występowanie
danych topologicznych, czyli relacji między obiektami, pozwala w prosty sposób określić np.:
• linie i punkty węzłowe tworzących granice danego obszaru,
• linie rozpoczynające się lub kończące w danym punkcie węzłowym,
• obszary graniczące z obszarem danym,
co w prostym modelu wektorowym (nie zawierającym informacji topologicznej) wymaga
dużego nakładu obliczeń.
3.
Ogólne informacje o strukturach i bazach danych
Przyjęte do modelowania rzeczywistości modele przestrzenne w praktycznej realizacji
systemu muszą znaleźć odzwierciedlenie w odpowiednich danych, zapisanych w bazach
danych z zastosowaniem struktur danych określających ich interpretację.
3.1.
Struktury danych
Elementy składowe danych (określone typy liczb, ciągi znaków alfanumerycznych) są
ze sobą łączone, tworząc struktury danych, na których wykonuje się właściwe tym strukturom
operacje. Struktury danych stanowią formy pośrednie między modelami danych, które mają
charakter koncepcyjny i fizycznymi reprezentacjami danych w postaci numerycznej.
Struktury danych określają sposób dostępu do określonego obszaru lub obszarów pamięci i
ich interpretację. Najważniejsze struktury danych przedstawiono schematycznie na rysunku
3.1.
a)
P1
P2
Pi
b)
Pq
i,j
c)
dane
dane
dane
dane
wskaźnik
wskaźnik
wskaźnik
wskaźnik
wskaźnik-1
wskaźnik-1
wskaźnik-1
wskaźnik-1
dane
dane
dane
dane
wskaźnik-2
wskaźnik-2
wskaźnik-2
wskaźnik-2
wskazanie
puste
d)
wskazanie
puste
e)
f)
Rys. 3.1.Przykładowe struktury danych
wskazanie
puste
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
31
Rekord
Rekord (rysunek 3.1a) jest zbiorem q elementów, które mogą być różnych typów i
zapisywane są w ustalonej kolejności. Elementy rekordu nazywane są polami. W
szczególności pola mogą być również innymi strukturami danych.
Tablica
Tablica (rysunek 3.1b) jest uporządkowanym zbiorem elementów tego samego typu.
Elementy identyfikowane są za pomocą q indeksów, gdzie q określa wymiar tablicy. Tablica
jednowymiarowa jest reprezentacją wektora, a tablica dwuwymiarowa - macierzy. Elementy
tablicy zapisywane są w ustalony sposób, np. wiersz po wierszu lub kolumna po kolumnie.
Lista
Lista jest uporządkowanym zbiorem elementów, które mogą być pojedynczymi danymi
określonych typów lub też innymi strukturami danych np. innymi listami. Lista nie
zawierająca innych list nazywa się listą liniową, natomiast zawierająca inne listy nazywa się
strukturą listową. Uporządkowanie elementów listy może być ustalone kolejnością zapisu lub
wskaźnikiem dołączonym do każdego elementu i wskazującym miejsce następnego lub
sygnalizującym koniec listy. W zależności od powiązań między elementami listy wyróżnia
się:
• listę jednokierunkową - dla każdego składnika poza ostatnim określony jest
składnik następny (rysunek 3.1c),
• listę dwukierunkową - każdy składnik z wyjątkiem pierwszego i ostatniego
posiada określony element poprzedni i następny, dla elementu pierwszego
określony jest jedynie element następny, a dla ostatniego element poprzedni
(rysunek 3.1d).
Szczególnymi przypadkami list liniowych są stosy i kolejki. Stos jest listą liniową, do której
dostęp istnieje tylko w jednym miejscu. Miejsce dostępu nazywa się wierzchołkiem stosu i
jest jedynym miejscem do którego można dołączyć lub z którego można usuwać elementy.
Oznacza to, że element wprowadzony na stos jako ostatni będzie odczytany jako pierwszy.
Kolejka jest listą liniową, do której elementy mogą być wprowadzane tylko w jednym końcu
(na początku kolejki) a usuwane w drugim końcu (na początku kolejki).
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
32
Drzewo
Drzewo jest strukturą ustanawiającą hierarchie elementów. Każdy element (węzeł) jest
przyporządkowany jednemu elementowi nadrzędnemu i ma pewną liczbę elementów
podrzędnych. Pierwszy element drzewa zwany korzeniem nie ma elementu nadrzędnego.
Elementy na najniższym poziomie nie mają elementów podrzędnych. Jeśli każdy z elementów
posiada co najwyżej dwa elementy następne (następniki) wtedy drzewo nazywany drzewem
binarnym. W przeciwnym wypadku drzewo nazywanym drzewem wielokierunkowym rzędu
n, gdzie n określa maksymalną liczbę następników. Rysunek 3.1e ilustruje drzewo binarne.
Graf
Graf jest klasą struktur reprezentujących sieć elementów. Każdy element może być połączony
z dowolnym innym elementem grafu. Z tego też względu grafy definiowane są przez dwa
zbiory: zbiór wierzchołków i zbiór krawędzi określający powiązania między poszczególnymi
wierzchołkami (rysunek 3.1f).
3.2.
Bazy danych
Bazę danych określa się jako zbiór powiązanych wzajemnie danych. Powiązanie
danych realizowane jest przez zastosowanie odpowiednich struktur danych. Ponieważ jedna
baza danych może być wykorzystywana przez różne programy aplikacyjne, dla odciążenia
tych programów od powtarzających się czynności związanych z obsługa bazy danych,
wszystkie funkcje z tym związane wykonywane są przez specjalny pakiet programów zwany
systemem zarządzania bazą danych (DBMS - Database Management System). Główne
zadania DBMS można określić następująco:
1. zapamiętywanie danych oraz ich wyszukiwanie na podstawie różnych warunków,
2. oddzielenie funkcji zapamiętywania i wyszukiwania od programów aplikacyjnych, co
powoduje, że programy stają się mniej wrażliwe na zmiany bazy danych,
3. umożliwienie korzystania z danych na podstawie ich logicznego opisu; system
przejmuje całkowicie kontrolę nad wykorzystaniem urządzeń pamięciowych dla
zapisu danych,
4. umożliwienie dostępu do danych wielu użytkownikom jednocześnie,
5. weryfikowanie
danych
za
pomocą
odpowiednio
zdefiniowanych
kontrolnych,
6. ochrona danych (archiwizacja, zarządzanie prawami użytkowników).
procedur
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
33
Dostęp do bazy danych powinien być realizowany za pośrednictwem łatwego w
użyciu języka zapytań oraz z zastosowaniem języków programowania wysokiego poziomu.
Z punktu widzenia stosowanych struktur można wyróżnić cztery podstawowe rodzaje
baz danych: hierarchiczne, sieciowe, relacyjne i obiektowe. Wymieniona kolejność jest
również kolejnością chronologiczną w jakiej poszczególne bazy powstawały.
W hierarchicznej bazie danych stosuje się struktury typu drzewa. Węzłom w
strukturze drzewa odpowiadają zbiory rekordów danych. Zbiór rekordów poziomu wyższego
jest łączony relacjami 1:m (one-to-many) ze zbiorami poziomu niższego. Dzięki takiej
budowie, wyszukiwanie określonych elementów w bazie odbywa się stosunkowo szybko.
Istotna wadą baz hierarchicznych jest jednak redundancja danych wynikająca z faktu, że
można wykorzystywać jedynie relacje typu 1:m. Duże kłopoty sprawia również zmiana
struktury istniejącej bazy.
Sieciowa baza danych jest rozwinięciem bazy hierarchicznej przez dodanie
możliwości zapisu relacji m:m (many-to-many). Tak więc w bazie sieciowej poza relacjami
hierarchicznymi występują dodatkowe połączenia, umożliwiające uzyskanie dostępu do
danego rekordu bez potrzeby każdorazowego przechodzenia przez strukturę drzewa.
Wprowadzone zmiany spowodowały zmniejszenia redundancji danych przez dodatkowe
możliwości powiązania danych, które już istnieją, ale nie wyeliminowały trudności związane
ze zmianą struktury bazy istniejącej.
W relacyjnej bazie danych wykorzystywana jest struktura tablicy. W skład bazy
wchodzi jedna lub więcej powiązanych ze sobą tablic. Każda kolumna tablicy zawiera
elementy tego samego typu, ma swoją nazwę i jest przez nią identyfikowana. Zbiór wartości
jakie mogą występować w danej kolumnie nazywa się jej dziedziną. Wiersz tablicy,
nazywany rekordem lub krotką, identyfikowany jest za pośrednictwem wartości zapisanych w
nim elementów (atrybutów). Funkcję klucza, jednoznacznie określającego poszczególne
wiersze, może spełniać pojedyncza kolumna lub też kilka odpowiednio wybranych kolumn.
Podstawą sprawnego i bezpiecznego operowania relacyjną bazą danych jest właściwy podział
danych na tablice, który dokonywany jest fazie projektowania bazy danych. Wyszukiwanie
danych w bazie dokonywane jest za pośrednictwem języka zapytań (query language). W
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
34
relacyjne bazie danych typowym językiem zapytań jest język SQL (ang. Structured Query
Language). Wyszukiwanie w więcej niż jednej tablicy dokonywane jest z wykorzystaniem
wspólnych wartości tego samego typu atrybutów. Operowanie baz relacyjnych na prostej
strukturze jaką są tablice powoduje, że dane posiadające struktury złożone muszą być
przechowywane w wielu powiązanych tablicach. Proces rekonstrukcji tak rozdzielonych
danych jest więc związany z przeszukiwaniem i analizowaniem zawartości wielu tablic.
Obiektowe bazy danych rozwinęły się wraz z rozwojem i rozpowszechnieniem
programowania zorientowanego obiektowo. Cechą charakterystyczną obiektowych baz
danych jest to, że przechowują obiekty o dowolnych strukturach wraz z przywiązanymi do
nich metodami (procedurami). Dzięki takiemu rozwiązaniu bazy takie mają znaczną
przewagę nad innymi rodzajami baz kiedy zachodzi konieczność przechowywania bardzo
złożonych struktur. Znaczącą wadą baz obiektowych w chwili obecnej jest problem z
realizacją zapytań. Większość współczesnych baz pozwala jedynie na proste przeszukiwanie
przechowywanych
obiektów.
Takie
udogodnienia
jakie
bez
problemów
można
wykorzystywać w bazach relacyjnych na razie są nieosiągalne i znajdują się jedynie w
stadium rozwojowych prac badawczych. Rozwiązanie w przyszłości tych problemów
prawdopodobnie sprawi, że bazy te będą miały coraz większe zastosowania również w
systemach informacji przestrzennej.
Obecnie
najczęściej
stosowanymi
bazami
danych
w
systemach
informacji
przestrzennej są bazy relacyjne. Pakiet programów służący zarządzaniu relacyjną bazą danych
nazywany jest RDBMS (ang. Relational Database Management System). Bazy te z
powodzeniem realizują wszystkie funkcje związane z zarządzaniem informacją opisową. W
przypadku zarządzania informacją przestrzenną pojawiają się natomiast pewne kłopoty
wynikające z dużej liczby danych przestrzennych oraz konieczności dostępu do nich w trybie
interaktywnym. Ma to szczególne znaczenie przy wyszukiwaniu obiektów spełniających
wymagane warunki przestrzenne (np. wybranie wszystkich obiektów leżących wewnątrz
danego wielokąta) lub topologiczny (np. wybór obiektów stykających się z obiektem danym).
Skrócenie czasu dostępu wiąże się przede wszystkim ze zredukowaniem liczby
kontaktów z pamięcią dyskową. Służy temu najczęściej i najskuteczniej wyposażanie
RDBMS w odpowiednie metody indeksowanie przestrzennego zgromadzonych danych
(Quad-tree, R-tree).
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
4.
35
Prezentacja graficzna
W celu ułatwienia opisu rzeczywistości treść bazy danych dzielona jest na warstwy
informacyjne zawierające informacje tylko o jednym typie obiektów świata rzeczywistego lub
kilku typach powiązanych ze sobą tematycznie. Wprowadzenie podziału treści sprawia, że
możemy dla każdej z warstw stosować optymalny dla jej treści model danych przestrzennych.
Rys. 4.1. Podział treści na warstwy informacyjne
Zgromadzone dane mogą być prezentowane w różnej postaci, różnymi zestawami
znaków umownych. Proces prezentacji schematycznie przedstawiono na poniższym rysunku.
Dane określające zasady prezentacji graficznej
Źródłowe dane systemu
Dane geometryczne i opisowe
Znaki
umowne
Podział na warstwy
informacyjne
Selekcja obiektów
- nakładki
- filtry
Transformacja graficzna
*
*
* *
*
Rys. 4.2. Prezentacja graficzna
*
*
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
36
W wyniku zastosowania do tej samej bazy danych różnych zestawów znaków
umownych otrzymujemy różną prezentacje graficzne, czego przykład przedstawiono poniżej.
Rys. 4.3. Prezentacja graficzna
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
4.1.
37
Zasady definiowania znaków umownych
Jak przedstawiono na poprzednich schematach biblioteki znaków umownych są tym
elementem systemu, który transformuje zgromadzone w postaci numerycznej dane o
obiektach terenowych na ich obraz przestrzenny w postaci mapy czy innego rodzaju
wizualizacji.
W definicjach znaków umownych obiektów punktowych wykorzystuje się przeważnie
elementy geometrii prymitywnej czyli linie, łuki, teksty oraz opis atrybutami.
112
w
123.34
122.20
Rys. 4.4. Przykładowe znaki umowne dla obiektów punktowych
Znaki umowne do prezentacji obiektów liniowych są bardziej skomplikowane i wiąże
się z wykorzystywaniem:
• definicji różnych typów linii składających się z elementu geometrii prymitywnej (linia),
• rozmieszczania w określonym interwale zdefiniowanych wcześniej symboli,
• rozmieszczania symboli na wierzchołkach linii (w tym na początku i końcu linii),
• linii równoległych przesuniętych o wartości stałe lub wynikające z atrybutów obiektu,
• opisu atrybutami.
Rys. 4.5. Przykładowe znaki umowne dla obiektów liniowych
Kod
obiektu
Prezentacja graficzna
SZEROKOŚĆ
w metrach
4281
2.0
4281
1.0
4281
< 1.0
Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza
38
W znakach umownych prezentujących obiekty powierzchniowe należy uwzględnić
możliwość wykorzystania następujących elementów prezentacji graficznej:
• obrys obiektu przy pomocy wcześniej zdefiniowanych znaków liniowych,
• szrafura przy pomocy wcześniej zdefiniowanych znaków liniowych,
• szrafury specjalne dla znaków typu skarpy, rów itp.,
• wypełnienia kolorem,
• wstawiania symboli,
• wstawiania opisu atrybutami.
123
Rys. 4.6. Przykładowe znaki umowne dla obiektów powierzchniowych
W sytuacji kiedy chcemy uzyskiwać wizualizacje trójwymiarowe znaku umowne
muszą być zupełnie inne co przedstawiono poniżej.
Rys. 4.7. Przykładowa wizualizacja trójwymiarowa fragmentu bazy danych systemu GEO-MAP