1
dr inż. Piotr Wężyk
Wykład: 4_G
BAZY DANYCH dla GIS
Kurs: Podstawy geomatyki w leśnictwie
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
2
Wprowadzenie
„ Niektóre dane nigdy się nie zmieniają, inne zmieniają się tylko od czasu
do czasu, a jeszcze inne zmieniają się cały czas.....”
Dane posiadają różne stany i wartości, czasami zależne od innych danych
Baza pusta – nie zawiera żadnych danych ale posiada zdefiniowana
strukturę
Baza zapełniona – stan początkowy
Baza zaktualizowana – po wprowadzeniu zmian. Jeśli zmiany
powodują błędne dane to baza jest w stanie nieprawidłowym.
Jeżeli dane są wolne od błędów baza jest w stanie prawidłowym
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
3
Synonimy (1)
Object ( z greki „nie do dalszej interpretacji”):
feature (Amerykanie)
element
entity (z franc.)
phenomena (coś z rzeczywistości)
Entity:
record
object (-type)
tuple
segment
za Aalders
Object - in the reality
Entity - in the database
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
4
Wiadomości wstępne
Budując model środowiska przyrodniczego wyznaczamy granice
obiektów, określamy ich położenie w przestrzeni a także
przypisujemy im atrybuty
Baza danych jest zazwyczaj częścią systemu informacyjnego,
obsługującego zapotrzebowania informacyjne pewnego
fragmentu rzeczywistości
Uporządkowane zbiory danych tworzą tzw. BAZY DANYCH
System zarządzania bazą danych DATABASE MANAGEMENT
SYSTEM (DBMS) - gromadzi, aktualizuje i przetwarza duże zbiory
danych a także ułatwia pracę
klientowi
(użytkownikowi)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
5
Zalety komputerowych bazy danych (Maguire 1998):
konieczność uporządkowania danych wg formatu wymaganego
przez bazę danych
ograniczenie fizycznych rozmiarów poprzez zapis magnetyczny
łatwość odszukiwania potrzebnych informacji;
tworzenie raportów z bazy danych i przenoszenie ich do innych
programów
możliwość ograniczenia dostępu różnym użytkownikom
łatwość uzupełniania i weryfikacji danych
Zalety baz danych
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
6
Cechy komputerowych baz danych:
trwałość - dane mają być przechowywane przez pewien okres
czasu, na ogół nieokreślony z góry, w odróżnieniu od danych
chwilowych- istniejących tylko w momencie działania programu;
zgodność z rzeczywistością - dane w bazie muszą stanowić
wierne odzwierciedlenie modelowanego fragmentu
rzeczywistości. W miarę zachodzących zmian w świecie
rzeczywistym - baza musi się odpowiednio zmieniać
Cechy baz danych
2
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
7
Podstawowe funkcje bazy danych to:
projektowanie rekordów
nazwa pola
długość pola
rodzaj pola (tekstowe, liczbowe, logiczne)
edycja (dopisywanie, usuwanie, poprawianie rekordów)
sortowanie
wyszukiwanie i selekcja danych
tworzenie zapytań
tworzenie raportów
drukowanie
Funkcje baz danych
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
8
Przy budowie baz danych zwraca się uwagę na:
kontrolowanie replikacji (powtarzania się) danych;zwykle
zapisywane w jednym miejscu ale jeżeli jest uzasadnienie (bank)
mogą się powtarzać
wybór jednego spójnego systemu modelu danych (np. relacyjny
bądź obiektowy)
współbieżny dostęp do bazy danych dla wielu użytkowników
zapewnienie ochrony danych
niezależność danych - dane i procesy w bazie danych powinny być
niezależne względem siebie
Architektura (1)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
9
Baza danych jest wykorzystywana przez jedna bądź wiele aplikacji.
Aplikacje korzystają z bazy danych poprzez:
1. Model danych
2. System zarządzania bazą
danych (DBMS)
Najprostszy model danych: to system plików gdzie jeden plik stanowi zbiór
rekordów. Podstawowe operacje to odczyt i zapis rekordów.
Architektura (2)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
10
Powstawanie baz danych:
przyrostowe: (kawałek-po-kawałku);
• zaleta - szybkie powstanie cząstkowych baz danych
• wada - powtarzanie się informacji
zintegrowany system: trudniejszy do zrealizowania ale
za to eliminuje wady poprzedniego rozwiązania
Architektura (3)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
11
Atrybuty encji przechowuje się w rekordach
Rekord składa się z Pól (Item, Field, Kolumn)
Jedno (lub kilka) pól przeznacza się na identyfikator (klucz
podstawowy PK Primary Key - user-id), który w sposób jednoznaczny
pozwala odszukać rekord. Dzięki niemu możliwe staje się tworzenie
połączeń z innymi rekordami innych baz danych
Architektura (4)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
12
Typy baz danych:
relacyjne,
hierarchiczne,
sieciowe,
rozproszone (fragmentyzacja pozioma/pionowa),
obiektowe,
hurtownie danych (bazy analityczne - systemy wspomagania decyzji)
W systemach GIS
przeważa RELACYJNA baza danych
Architektura bazy (5)
3
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
13
Relacyjne bazy danych (E.F. Codd - 1970):
Baza danych jest zbiorem relacji.
Relacja to dwuwymiarowa TABELA złożona z kolumn (POLE,
Field, Item, Column) i wierszy (Record, Row).
Wartości kluczowe (unikatowe) nazywa się
kluczami
podstawowymi (PK primary key)
W tabeli dołączanej atrybut ten nazywa się
kluczem
obcym FK (foreign key)
Jeżeli klucz podstawowy składa się z kilku atrybutów ,
nazywa się
kluczem złożonym (np. adres leśny)
Relacyjne bazy danych (1)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
14
Wszystkie wartości danych oparte są na prostych typach danych.
Wszystkie dane w bazie relacyjnej przedstawiane są w formie
dwuwymiarowych tabel (w matematycznym żargonie noszących nazwę
"relacji"). Każda tabela zawiera zero lub więcej wierszy (w tymże
żargonie - "krotki") i jedną lub więcej kolumn ("atrybuty"). Na każdy
wiersz składają się jednakowo ułożone kolumny wypełnione wartościami,
które z kolei w każdym wierszu mogą być inne.
Po wprowadzeniu danych do bazy możliwe jest porównywanie wartości
z różnych kolumn, zazwyczaj również z różnych tabel, i scalanie wierszy,
gdy pochodzące z nich wartości są zgodne. Umożliwia to wiązanie
danych i wykonywanie stosunkowo złożonych operacji w granicach całej
bazy danych.
Relacyjne bazy danych (2)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
15
Wszystkie operacje wykonywane są w oparciu o
, bez względu
na położenie wiersza tabeli. Nie można więc zapytać o wiersze, gdzie
(x=3) bez wiersza pierwszego, trzeciego i piątego. Wiersze
w relacyjnej bazie danych przechowywane są w porządku zupełnie
dowolnym - nie musi on odzwierciedlać ani kolejności ich
wprowadzania, ani kolejności ich przechowywania.
Z braku możliwości identyfikacji wiersza przez jego pozycję pojawia
się potrzeba obecności jednej lub więcej kolumn niepowtarzalnych
w granicach całej tabeli, pozwalających odnaleźć konkretny wiersz.
Kolumny te określa się jako "klucz podstawowy" (primary key) tabeli.
Relacyjne bazy danych (3)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
16
Przykład relacji oraz
klucza podstawowego
Relacyjne bazy danych (4)
SILP
LMN
relacja
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
17
Schemat połączenia tabel adresowych SILP
SIP - SILP
www.zespollmn.lasy.gov.pl
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
18
Relacyjne bazy danych (5)
Typy relacji
1:1
np. rekord informacji o kredycie danej osoby
i rekord informacji kontaktowej numeru
ubezpieczenia. Obydwa odnoszą się tylko do tej
samej osoby
1:n
Pojedyncza osoba posiadać może kilka
zamówień w danej firmie
n:m
Każdy pracownik firmy może przyjmować
zamówienia od wielu klientów, każdy
klient może być obsłużony przez wielu
pracowników
Za Aalders
4
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
19
Liczbę kolumn (ITEMS, POLE) ustala się z góry definiując bazę
Każda kolumna posiada swoją unikatową nazwę
określającą dziedzinę a tym samym zbiór
wartości jakie mogą w niej wystąpić (np. POLE =
„
STL
” = {
Bs, BMśw, LG
itp.}.
Wiersze w bazie danych nie powtarzają się.
Kolejność wierszy i kolumn nie jest istotna.
Relacyjne bazy danych (6)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
20
Relacje pomiędzy tablicami bazy geometrycznej i atrybutowej
Area
Parimeter
LW_i
LW_id
10234.45 14456.55
1
23
34567.33 46237.21
2
45
Tabela LW.pat
LW_id
STL
Zv
Gat
23
Bs
1.02
1
45
BMw
2.54
2
Tabela Opisy.dbf
Gat
Gat_opis
1
So
2
Brz
3
Db bsz
Tabela Gatunki.dbf
Relacyjne bazy danych (7)
Tabela słownikowa - dictionary
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
21
Structured Query Language (SQL) - strukturalny język zapytań
dla relacyjnych baz danych
Centralną instrukcja języka SQL jest komenda SELECT, określająca
z jakich tabel w bazie danych maja zostać sprowadzone dane,
jakie warunki mają spełniać i w jakiej postaci maja się pokazać
przed użytkownikiem (aplikacja użytkownika)
SELECT
nazwa_kolumny
,.... SELECT Area, Parimeter
FROM
nazwa_tabeli FROM LW.pat
[WHERE
warunek
]
SQL (1)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
22
Operatory w języku SQL:
arytmetyczne: + , -, *, /
konkatenacji (łączenia) napisów | |
porównań =, < >, <, <=, >, >=
przynależności do listy wartości x [NOT] IN (x1,x2..)
np. Kolor IN (`czarny`,`biały`,`zielony`)
zawierania się „między” x [NOT] BETWEEN z AND y
np. Zv BETWEEN 1.00 AND 4.25
wzorca w tekście x [NOT] LIKE y
testujący Null x IS [NOT] NULL
logiczne NOT, AND, OR
SQL (2)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
23
SQL (3)
-- Stan posuszu na lesie aktualne na dany dzień 12.05.2002 Piotr Kyc
SELECT f_arodes.adress_forest,SUM(c_wood_pos.stock_qty) AS POSUSZ FROM
f_arodes,c_wood_head,c_wood_pos WHERE f_arodes.arodes_int_num =
c_wood_head.arodes_int_num AND c_wood_head.stock_nr = c_wood_pos.stock_nr AND
c_wood_pos.damage_nr > 0 AND c_wood_pos.stock_qty > 0 GROUP BY f_arodes.adress_forest
-- Intensywność zabiegu w m3/ ha - dla dowolnej grupy czynności Piotr Kyc
10.05.2002
SELECT f_arodes.arodes_int_num, f_arodes.adress_forest, SUM(f_plan_goal.mat_qty) AS
SUMA_PROD, f_object_measures.measure_cd, f_subarea.area, SUM(f_plan_goal.mat_qty)/
f_subarea.area as INTENSY FROM f_arodes, f_plan_goal, f_object_measures,f_subarea WHERE
(f_arodes.arodes_int_num=f_object_measures.object_ref AND
f_object_measures.plan_pos=f_plan_goal.plan_pos) AND (f_plan_goal.tag_act_fl = 'M' AND
f_object_measures.plan_year = 2001) AND f_subarea.arodes_int_num = f_arodes.arodes_int_num
AND f_object_measures.measure_cd LIKE 'P*' AND f_object_measures.measure_cd NOT LIKE
"PRZEST" GROUP BY f_arodes.arodes_int_num, f_arodes.adress_forest,
f_object_measures.measure_cd, f_subarea.area
http://www.pila.lasy.gov.pl/strony/1/i/23017.php
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
24
Obiektowe bazy danych (Object-oriented data base):
obiektem jest nie tylko encja (jednostka przestrzenna) ale również pliki,
w których zgromadzono dane o geometrii, właściwościach encji, procedury
służące do przetwarzania danych a także powiązania między poszczególnymi
obiektami.
Źródłowe
source data objects
Wynikowe
dependent data objects
OBIEKTY
Obiektowe bazy danych (1)
Obiektowe bazy danych (OBD, bazy danych zorientowane obiektowo)
powstały początkowo jako rozwinięcie
zorientowane obiektowo przechowuja
- zakapsułkowane
kombinacje danych o dowolnej strukturze razem ze skojarzonymi
metodami (procedurami).
5
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
25
Obiekt może posiadać dowiązania do innych obiektów a także sam
zawierać inne obiekty. W obiektowej bazie danych nie ma przeszkód aby
zachodziły zjawiska dziedziczenia i hermetyzacji (kapsułkowanie).
Każdy obiekt ma unikatową tożsamość - pewną jednoznaczną wartość,
która jest przypisywana do niego w momencie tworzenia i odróżnia go
od innych
Obiektowe bazy danych (2)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
26
W momencie tworzenia mapy (obiekt wynikowy) powstaje kilka
dodatkowych obiektów, przechowujących dane: reprezentacje
geometryczną, układ współrzędnych, atrybuty, tablicę barw, procedury
przetwarzania itp.). System zapisuje więc schemat w jaki sposób powstał
obiekt wynikowy tj. jak ma powstać jego wersja ostateczna. Wystarczy
zmienić obiekt źródłowy aby otrzymać aktualny obiekt wynikowy (mapę)
ODMG (Object Database Management System) - organizacja skupiająca
firmy oraz standard ODMG2.0
Obiektowe bazy danych (3)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
27
Produkty
Dbase (*.dbf)
FoxPro, Paradox
DB2 (IBM)
Informix
MySQL*, PostGIS*, PostgreSQL*
Access (Microsoft)
Oracle
SQLSever
Tamino (XML eXtensible Markup Language - rozszerzalny
język znaczników – technologia internet)
RasDaMan (multispatial database)
* Licencja PGL GNU
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
28
Leśna Mapa Numeryczna (LMN)
Prace na Systemem Informatycznym Lasów Państwowych
rozpoczęto w 1991 roku. Jednocześnie z pracami nad SILP
rozpoczęto prace badawcze przy konstruowaniu Leśnej Mapy
Numerycznej w kilku instytucjach naukowych i firmach
prywatnych, m.in.: BULiGL, Politechnice Warszawskiej (doc.
Wilkowski i dr Giedymin), AR Wrocław (dr Lasota TERRABIT),
w firmie Codima (Microstation), IGiK (eksperyment założenia
SIP w Puszczy Kozienickiej, w Rudach Raciborskich i w
Sudetach Zach., połączony z interpretacją zdjęć satelitarnych),w
ECOGIS (SICAD –SIEMENS). Jedne z pierwszych wdrożeń
GIS – Puszcza Białowieska (IBL: N-ctwa: Białowieża, Browsk i
Hajnówka).
Katedra Urządzania Lasu i Geodezji Leśnej WL SGGW
(prof.. Olenderek) N-ctwo Brzeziny (RDLP Łódź) - wykonano
LMN i podłączono do SILP (1995 r) - pierwsze w Polsce
nadleśnictwo z funkcjonującym SIP. Zakład Urządzania Lasu
IBL: N-ctwo Ujsoły (RDLP Katowice) baza geometryczna +
NMT; N-ctwo Wipsowo (RDLP Olsztyn) mapa numeryczna.
http://geomatyka.lasy.gov.pl
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
29
1994 rok – IGiK wykonuje mapę zasięgu terytorialnego Nadleśnictw (układ 1942),
dodatkowo – zasięgi Parków narodowych, Rejonizacji Przyrodniczo-Leśnej,
zasięgu drzew w Polsce.
2001 rok – Zakończenie prac nad mapą kompleksów leśnych w Polsce na bazie
zobrazowań satelitarnych SPOT z lat 1995-1998. Weryfikacja terenowa (1999-
2001) ze względu na liczne błędy klasyfikacji obrazu.
Leśna Mapa Numeryczna (LMN)
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
30
• Zarządzenie DGLP nr 23 z 18 maja 1998 r. w sprawie kryteriów jakim powinna
odpowiadać mapa numeryczna wykorzystywana w nadleśnictwie.
• Zarządzenie nr 74 z 23 sierpnia 2001 roku Dyrektora Generalnego LP wprowadzającego
Standard Leśnej Mapy Numerycznej. Testowano rozwiązania w N-ctwach: Brzeziny,
Grotniki, Skarżysko, Dojlidy, Wyszków.
• Konieczność stworzenia odpowiedniego oprogramownia: TraKo (do transformacji
układów i konwersji formatów GIS); Kontrola LMN - program do automatycznej kontroli
prawidłowości wykonania leśnych map numerycznych; Aktualizator LMN - program
wspomagający proces aktualizacji bazy geometrycznej.
• Format SHAPE ESRI jako obligatoryjny + pliki DBF
Leśna Mapa Numeryczna (LMN)
6
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
31
Standard LMN
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
32
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
33
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
34
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
35
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
36
7
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
37
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
38
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
39
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
40
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
41
2012-01-25
4_G Piotr Wężyk © 2012 Lab. GIS & RS WL UR
42
Oprogramowanie GIS w LP: Przeglądarki LMN: Mapnik (Taxus SI) , Mapan
(Krameko). Nakładka na ArcGIS: SprintMAP (SmallGIS)
Rozszerzenia do ArcView wspomagające edycję i kompozycje mapowe LMN:
LEMAN (BULIGL)
Serwer mapowy eLAS
Leśna Mapa Numeryczna (LMN)