Funkcjonalność systemów zarządzania bazami danych przestrzennych w kartografii internetowej (PosrtgreSQL/PostGIS) Krzysztof Kuśnierek Program referatu • Przedstawienie program referatu • Wprowadzenie • Przestrzenne rozszerzenie DBMS – Spatial DBMS • PostgreSQL oraz PostGIS – krótkie omówienie • Instalowanie systemu • Zastosowanie w kartografii Wprowadzenie DBMS – DataBase Management System • DBMS to system, który umoŜliwia tworzenie, aktualizację i aministrację bazy danych. Z pośród logicznych modeli danych większość DBMS wykorzystuje model relacyjny RDBMS. • Model relacyjny organizuje dane w tabele bazy danych. KaŜda tabela składa się z przynajmniej jednego pola, zawiera takŜe pewną ilość rzędów danych. Jednostką tabeli jest rekord. • RDBMS udostępnia operatory relacji, które słuŜą do zarządzaniem danych przechowywanych w kolumnach. Większość systemów wykorzystuje Structured Query Language (SQL) jako język zapytań do baz danych. Przestrzenne rozszerzenie DBMS – Spatial DBMS W początkowych wersjach systemów GIS dane przestrzenne oraz związane z nimi dane atrybutowe przechowywane były oddzielnie. Atrybuty encji przestrzennych przechowywane były w bazie danych (lub w "płaskim" systemie plików (ang. flat file system), podczas gdy informacja przestrzenna znajdowała się na dysku w oddzielnej strukturze pliku odpowiedniej do określonego oprogramowania GIS. Bazy danych przestrzennych pojawiły się w momencie, kiedy zaczęto traktować informację przestrzenną jako podstawowe obiekty bazy danych. W ten sposób przestrzenne RDBMS odwołują się do zasad zorientowanego obiektowo modelu danych mimo, iŜ spełniają zasady relacyjności baz danych Codd'a (1970) Przestrzenne rozszerzenie DBMS – Spatial DBMS Dlaczego powinno się umieszczać dane przestrzenne w DBMS? Dane przestrzenne są związane z innymi typami danych (dane numeryczne, dane opisowe). Zawieranie ich w bazie danych umoŜliwia zakodowanie duŜej ilości złoŜonych relacji przestrzennych. Przykłady: • sieć wodno-kan: obszar serwisowy, ostatnia konserwacja, • rzeki: przepływ, stan, temperatura, koncentracja związków chemicznych, • obszary leśne: wartość pienięŜna, gatunki drzew, własność określonej przestrzeni, ochrona przyrody PostgreSQL oraz PostGIS – krótkie omówienie PostgreSQL • PostgreSQL jest systemem zarządzania bazami danych o charakterze obiektowo- relacyjnym. Jest produktem darmowym na licencji BSD, prze co moŜe być dowolnie wykorzystywany i modyfikowany i rozprowadzany za darmo nawet w celach komercyjnych. • PostgreSQL jest wzbogacony o przestrzenne rozszerzenie nazwane PostGIS. Stosowane jest ono dla przechowywania odniesionych przestrzennie obiektów geograficznych (obiekty których pozycja i zasięg zdefiniowane są w układzie przestrzennym) Rozszerzenie to funkcjonuje jak Oracle Spatial lub ArcSDE i jest oparte na stanandach Open Geospatial Consortium (OGC). Oprócz swoistej przechowalni przestrzennej PostGIS udostępnia w ramach systemu PostgreSQL silnik transformacji przestrzennych wyraŜonych w funkcjach, które działają jak most pomiędzy bazą danych przestrznnych a systemem GIS instalacja instalacja instalacja instalacja instalacja Funkcjonalność w kartograficznych aplikacjach internetowych 1. DYNAMICZNE WYŚWIETLANIE DANYCH WEKTOROWYCH W PRZEGLĄDARCE INTERNETOWEJ schemat połączeń pomiędzy aplikacją kartograficzną a serwerem danych przestrzennych Funkcjonalność w kartograficznych aplikacjach internetowych 2. WYKORZYSTANIE WBYDOWANEJ W DBMS OBSŁUGI ZAPYTAŃ PRZESTRZENNYCH SQL – wykorzystywanie zapytań dla określenia relacji przestrzennych – Określanie odległości – Określanie przynaleŜności przestrzennej – wykorzystywanie zapytań dla wykonania operacji przestrzennych – – – – Obliczanie powierzchni Wyznaczanie części wspólnej dla danych obszarów Wyznaczanie obszaru buforowego Itp.. • Relacja przestrzenna (zwraca wartość) SELECT the_geom, school_name FROM schools WHERE Distance(the_geom, 'POINT(100312 102312)') < 5000 • Operacja przestrzenna (zwraca geometrię) SELECT the_geom, school_name FROM schools WHERE Buffer(the_geom, 5000) Dziekuje za uwagę Krzysztof Kuśnierek