Zastosowanie relacyjnych baz danych w Systemach Informacji Geograficznej Zakres zagadnień ● ● Co to jest relacyjna baza danych Obszary zastosowań – – – – Przechowywanie informacji geoprzestrzennej (geometrii) Przechowywanie atrybutów Wyszukiwanie danych pod kątem atrybutów Zaawansowane geoprzetwarzanie Co to jest baza danych? ● ● Baza danych to kolekcja danych umieszczonych w określony sposób w strukturach odpowiadająca założonemu modelowi danych. W potocznym ujęciu obejmuje dane oraz program komputerowy wyspecjalizowany do gromadzenia i przetwarzania tych danych. Program taki (lub zestaw programów) nazywany jest "Systemem zarządzania bazą danych" - ang. Data Base Management System (DBMS). Rodzaje bazy danych ● ● ● ● bazy kartotekowe bazy relacyjne bazy obiektowe bazy strumieniowe Co to jest relacja? ● ● ● Jest wydzielonym logicznie zbiorem danych, zorganizowanych w formie tabeli składającej się z wierszy dzielonych na kolumny Reprezentacja pewnej encji (np. książek, mieszkań, ludzi), relacji między nimi, albo może stanowić zawartość całej bazy danych. Pojedynczy wiersz tabeli nazywany jest rekordem i stanowi najczęściej zbiór danych o pojedynczym obiekcie (ew. grupie obiektów). Relacje i złączenia KLASA tabela OBIEKT Atrybuty (kolumny) NAZWA POWIERZCHNI A GŁĘBOKOŚĆ SZEROKOŚĆ Jezioro Lednickie 12587595 16 654 Kociołek 12584 32 245 Wartość atrybutu Cechy baz relacyjnych ● ● ● ● ● dane są typu prostego (nie zawsze!) dane przedstawione w postaci dwuwymiarowych tabel *(relacji) możliwe jest porównywanie danych z różnych tabel i łączenie ich ze sobą wszystkie operacje wykonywane są w oparciu o logikę dwuwartościową dane w bazie nie są uporządkowane, w celu ich identyfikacji potrzeby jest 1 wiersz unikalny (primary key) Przechowywanie informacji geoprzestrzenej ● ● ● ● ● ● Model Simple Feature Model topologiczny Istota topologii Relacje geoprzestrzenne Przykłady reguł topologicznych Koncepcja geobazy Model Simple Feature ● Obiekty typu: – – – – ● punkt (0 wymiarów, współrzędne) linie (1 wymiar, długość) obszar (2 wymiary, powierzchnia) obiekty 3D (3 wymiary, objętość) Sposób zapisu – umożliwia zapis w jednym rekordzie jednej tabeli zarówno geometrii i atrybutów punkty (points) (x,y) scieżki (path) ( ( x1 , y1 ) , ... , ( xn , yn ) ) poligony (poligons) ( ( x1 , y1 ) , ... , ( xn , yn ) ) segmenty ( ( x1 , y1 ) , ( x2 , y2 ) ) prostokąty (boxes) ( ( x1 , y1 ) , ( x2 , y2 ) ) okręgi (circles) ( ( x , y ) , r ) Wady i zalety modelu Simple Feature ● Zalety – – – ● Szybkość przetwarzania Łatwość opisu, oprogramowania i przechowania Przejrzysty standard Wady – – – Redundancja informacji Ryzyko „bezwiednego” uszkodzenia spójności Trudności w rysowaniu i nanoszeniu poprawek Model topologiczny ● Obiekty typu: – – bezwymiarowe: punkt jednowymiarowe: linia ● – dwuwymiarowe: area ● ● ● – węzły + linie węzeł granica ośrodek 3D (siatki, mesh) ● ● ● węzły krawędzie ścianki Organizacja danych modelu topologicznym NODES nr n_lines GEOM coordinates node = 1 n_lines = 3 xy = 616198.592392 392909.117460 node = 2 n_lines = 3 xy = 680335.950885 443081.083377 node = 3 n_lines = 1 xy = 632750.168778 427563.980516 node = 4 n_lines = 1 xy = 660680.953928 398598.721842 LINES Nr From_node To_node Left_area Right_area GEOM bounding box AREAS nr n_lines centeroid GEOM bounding box Wady i zalety modelu topologicznego ● Wady – – – ● Wolniejsze przetwarzanie danych złożoność, skomplikowany opis, trudności w oprogramowaniu brak standardu Zalety – – – – Brak redundancji Ułatwienia w rysowaniu i korekcie Spójność danych Dodatkowe możliwości analityczne i opisowe Istota topologii ● ● ● W modelu simple feature obiekty „nie wiedzą” nawzajem o swoim istnieniu, stąd bardzo łatwe zniszczenie struktury wewnętrznej warstwy i W modelu topologicznym prymitywy (line, węzły) „wiedzą” z jakimi znajdują się w relacji i na tej podstawie mogę tworzyć struktury bardziej złożone (obszary, sieci, drzewa itp.) Zaawansowane narzędzia GIS stosują tzw. „topologię tymczasową” - konsekwencją jest jednak często „utrata spójności pliku i atrybutów” Relacje geoprzestrzenne ● Relacje typu: – – – – ● ● linia przechodzi przez słupy przyłącza są na końcówkach sieci parcele nie nakładają się rzeka znajduje się w dolinie Są relacjami topologicznymi Zaawansowane systemy GIS pozwalają na budowanie relacji topologicznych pomiędzy klasami cech, pozwalając na kontrolę spójności danych Przykłady reguł topologicznych źródło: ESRI, ArcGIS® Geodatabase Topology Rules Koncepcja geobazy ● ● ● baza danych przystosowana do przechowywania i manipulowania danymi geoprzestrzennymi Dostęp do danych atrybutowych jest możliwy poprzez zwykły SQL, ale dostęp do danych geoprzestrzennych poprzez wyspecjalizowane oprogramowanie Istotą geobazy jest mozliwość zbudowania relacji topologicznych pomiedzy wszystkimi składnikami bazy Przypisanie atrybutów do obiektów 1 woda nieużytki naturalny niezamieszkałe 2 las użytki naturalny niezamieszkałe 3 pole użytki antropogeniczny niezamieszkałe 4 zabudowania nieużytki antropogeniczny zamieszkałe 1 2 3 4 Model relacyjny (normalizowany) 1 naturalny 2 antropogeniczny 1 niezamieszkałe 2 zamieszkałe 1|1|1 1|1|2 1 nieużtytki 2 użytki 2|1|2 2|2|2 Przyspieszenie przeszukiwania geobazy: zamiast zapytania przechodzącego przez wiele rekordów wykonywane jest proste zapytanie pobierające identyfikator cechy, a następnie wybierane są wszystkie obiekty o danym identyfikatorze. Wyszukiwanie danych WHERE rzędna >40 1 35 A 2 40 B 3 41 A 4 36 B 5 70 B WHERE rzędna > (SELECT avg FROM....) WHERE CAT IN ( SELECT hahs.lcats FROM (SELECT p1.lcat AS lcats, p2.rzedna AS end, p1.rzedna AS start FROM (SELECT lcat, rzedna FROM lpunkty_2 WHERE ALONG>0) p2 INNER JOIN (SELECT lcat, rzedna FROM lpunkty_2 WHERE ALONG=0) p1 ON p2.lcat=p1.lcat) hahs WHERE hahs.end>hahs.start ) WHERE rzędna > (SELECT .... FROM....) 1 60 A 2 30 B 3 50 A 4 40 B 5 90 B Realizacja zapytań ● ● Z uwzględnieniem ograniczeń programu, zw którym wykonuje się zapytanie, zapytania dokonuje się de facto na atrybutach obiektu Zapytanie bezpośrednio do bazy danych poprzez sterownik. Wynik zapytania, zwraca identyfikatory wybieranych obiektów. Jedynymi ograniczeniami jest wyłącznie obsługiwany przez bazę danych standard języka SQL (metoda nie zawsze bezpieczna) Zaawansowane geoprzetwarzanie ● ● Zaawansowane operacje przetwarzania danych są najczyściej wykonywane przy wykorzystaniu baz danych. Przykładem może być prezentowane uprzednio zapytanie służące do odwracania kierunku spływu i budowy poprawnych topologicznie sieci rzecznych