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