ul. Warszawska 24, 31-155 Kraków
tel/fax (+48 12) 628 20 41
e-mail: sekretariat@iigw.pl
internet: www.iigw.pl
INSTYTUT INśYNIERII I GOSPODARKI WODNEJ
POLITECHNIKA KRAKOWSKA im. TADEUSZA KOŚCIUSZKI
Anna Bielutin
POLLUTION LEVEL MONITOR – INTERAKTYWNA
WIZUALIZACJA PARAMETRÓW ŚRODOWISKA
Z WYKORZYSTANIEM GOOGLE MAPS I GOOGLE EARTH
praca magisterska
studia dzienne
kierunek studiów: informatyka
specjalność: informatyka stosowana w inżynierii środowiska
promotor: dr inż. Robert Szczepanek
nr pracy: 2181
K
R A K Ó W
2 0 0 8
Bardzo serdecznie dzi
ę
kuj
ę
dr in
ż
. Robertowi Szczepankowi
za po
ś
wi
ę
cony czas i energi
ę
podczas tworzenia tej pracy, a tak
ż
e:
Fabryce Stron Internetowych Sp. z o.o.
za udost
ę
pnienie swojego autorskiego narz
ę
dzia CMS „FSite”.
Osobne podzi
ę
kowania kieruj
ę
w stron
ę
Łukasza Cybuli,
kierownika działu programistycznego FSI Sp. z o.o.
za wszelkie udzielone porady oraz informacje.
Najbli
ż
szym
za doping i poganianie
☺
.
Spis treści
1.Wprowadzenie......................................................................................................................... 4
1.1. Cele.................................................................................................................................. 6
1.2. Zakres .............................................................................................................................. 7
2. Podstawy teoretyczne wykorzystanych technologii............................................................... 9
2.1. Baza danych .................................................................................................................. 10
2.1.1. Rodzaje baz danych................................................................................................ 10
2.1.2. SQL ........................................................................................................................ 17
2.1.3. MySQL................................................................................................................... 18
2.2. Serwer obliczeniowy ..................................................................................................... 19
2.2.1. Witryna WWW ...................................................................................................... 19
2.2.2. Dokument HTML................................................................................................... 20
2.2.3. Document Object Model ........................................................................................ 21
2.2.4. Język PHP .............................................................................................................. 25
2.2.5. CSS – Kaskadowe arkusze stylów ......................................................................... 28
2.2.6. XML - Extensible Markup Language .................................................................... 29
2.2.7. KML- Keyhole Markup Language........................................................................ 30
2.3. Webgis jako interfejs użytkownika ............................................................................. 32
2.3.1. GIS - Geographic Information System................................................................... 32
2.3.2. WebGIS ................................................................................................................. 33
3. Struktura oraz realizacja programu Państwowego Monitoringu Środowiska ...................... 34
3.1. Organizacja monitoringu powietrza w Polsce............................................................... 34
3.2. Stacje monitoringu ....................................................................................................... 39
4. Pollution Level Monitor ....................................................................................................... 41
4.1. Ogólna koncepcja PLM................................................................................................. 41
4.1.1. Stacje monitoringu powietrza................................................................................. 42
4.1.2. Serwer bazy danych PLM ...................................................................................... 42
4.1.3. Serwer obliczeniowy .............................................................................................. 43
4.1.4. Interfejs systemu .................................................................................................... 44
4.2. Budowa systemu ........................................................................................................... 47
4.2.1 „CMS-FSite” ........................................................................................................... 48
4.2.2. Dane wykorzystywane przez system...................................................................... 49
4.2.3. Interpolacja parametrów powietrza ........................................................................ 65
4.2.4. Interfejs użytkownika ............................................................................................. 71
4.2.5. Import pliku KML do programu Google Earth ...................................................... 78
5. Podsumowanie ..................................................................................................................... 80
6. Wnioski ................................................................................................................................ 83
7. Spis ilustracji ........................................................................................................................ 85
8. Literatura .............................................................................................................................. 87
9. Internet ................................................................................................................................. 88
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
4
1.Wprowadzenie
Podstawowymi zadaniami Inspekcji Ochrony Środowiska jest kontrola przestrzegania
przepisów prawa o ochronie środowiska, badanie stanu środowiska oraz przeciwdziałanie
poważnym awariom. Źródłem informacji o środowisku jest Państwowy Monitoring
Ś
rodowiska.
Rozdział 2, artykuł 25 Ustawy Prawo ochrony środowiska stanowi, że Państwowy Monitoring
Ś
rodowiska jest systemem pomiarów, ocen i prognoz stanu środowiska oraz gromadzenia,
przetwarzania i rozpowszechniania informacji o środowisku.
Państwowy Monitoring Środowiska wspomaga działania na rzecz Ochrony Środowiska
poprzez systematyczne informowanie organów administracji i społeczeństwa o jakości
elementów
przyrodniczych,
dotrzymywaniu
standardów
jakości
ś
rodowiska
oraz
występujących zmianach jakości elementów przyrodniczych, a także o ich przyczynach.
Z punktu widzenia zwykłego użytkownika sieci Internet do tej pory nie było
ogólnodostępnych narzędzi, które informowałyby o parametrach zanieczyszczenia
ś
rodowiska w dowolnej lokalizacji. Istnieją raporty publikowane przez lokalne Inspektoraty
Ochrony Środowiska na stronach WWW dla każdego województwa osobno, ale nie
przedstawiają one danych w zrozumiałej dla przeciętnej osoby postaci. Ponad to użytkownicy
spotykają się z dużym utrudnieniem z powodu rozproszenia tych danych.
Na dzień dzisiejszy jedynym sposobem dostępu do danych źródłowych jest posiadanie
dostępu do zaawansowanych aplikacji, z których korzystają Inspektoraty Ochrony
Ś
rodowiska. Stąd zrodził się pomysł, aby ułatwić dostęp do informacji o zanieczyszczeniach
każdemu zainteresowanemu w dowolnej lokalizacji, korzystając z udogodnień technologii
informatycznych.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
5
Niniejsza praca opisuje jedno z potencjalnych rozwiązań problemu dostępu do informacji
o zanieczyszczeniu środowiska z punktu widzenia zwykłego użytkownika Internetu. W moim
rozumieniu, rozpowszechnianie polega na przekazywaniu spersonalizowanej informacji jak
największemu gronu osób. Udostępnione w sieci dane z pomiarów punktowych oraz liczne
trudności z ich pozyskaniem stały się przyczynkiem do podjęcia próby uproszczenia tego
procesu.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
6
1.1. Cele
Podstawowym celem niniejszej pracy było rozwiązanie problemu dostępu do informacji o
elementach środowiska z punktu widzenia przeciętnego użytkownika sieci Internet. Do
uzupełnienia luki w systemie PMŚ, która dotyczy rozpowszechniania danych o środowisku
potrzebne było wykorzystanie narzędzi ogólnodostępnych i łatwych w obsłudze. Odpowiedni
dobór technologii IT był środkiem do stworzenia wydajnego i intuicyjnego narzędzia,
zaprojektowania systemu, który spełniałby założenia Państwowego Programu Monitoringu
Ś
rodowiska i ułatwiłby zwykłemu użytkownikowi dostęp do danych z monitoringu
ś
rodowiska.
Każdy Wojewódzki Inspektorat Ochrony Środowiska publikuje swoje raporty na oddzielnych
stronach internetowych. Decentralizacja zasobów utrudnia użytkownikowi dotarcie do
informacji. Ponadto, parametry zanieczyszczenia nie zależą od podziału administracyjnego
Polski, a tylko w taki sposób są publikowane w sieci. Osoba chcąca dowiedzieć się jakie
wartości osiągają te parametry w jego lokalizacji nie zrobi tego bez odpowiedniej wiedzy
i narzędzi modelujących proces rozprzestrzeniania się zanieczyszczeń.
Zaprojektowany w ramach pracy magisterskiej Pollution Level Monitor (PLM) wykorzystuje
szereg technologii informatycznych do połączenia modułów gromadzenia, przetwarzania i
udostępniania danych, a dzięki sieciowemu interfejsowi dostęp do niego jest łatwy. System
PLM daje możliwość każdemu, kto posiada dostęp do Internetu dotarcia do czytelnej
informacji o stanie zanieczyszczenia w dowolnej lokalizacji.
Zadania postawione przy tworzeniu systemu PLM to:
Pomoc w realizacji programu PMŚ,
Pokazanie innego podejścia do udostępniania danych o środowisku,
Uzależnienie wyników od lokalizacji użytkownika,
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
7
Pokazanie, w jaki sposób można wykorzystać wiele technologii dostępnych
w informatyce do budowania systemów wielozadaniowych
i skalowalnych.
1.2. Zakres
Opis systemu został ujęty w trzech częściach: teoretycznej, koncepcyjnej oraz
implementacyjnej. Taki podział daje możliwość prześledzenia „krok po kroku” jakie cele
realizuje PLM, istotę wykorzystywanych technologii, a także możliwości zastosowania
takiego systemu.
Część teoretyczna została zawarta w rozdziale drugim, który prezentuje podstawy
wykorzystywanych technologii. Jest to część opisowa, która poświęca uwagę każdej
technologii osobno. Języki: XHTML, JavaScript, PHP oraz formaty pomocnicze typu CSS,
XML/KLM, a także baza danych MySQL, czyli zestaw narzędzi, z których został zbudowany
Pollution Level Monitor.
Ponieważ PLM realizuje zadanie programu Państwowego Monitoringu Środowiska,
w rozdziale trzecim jest opis jego struktury, organizacji i charakteru działania. Znajdują się
tam informacje o instytucjach wykonujących konkretne zadania na rzecz Inspektoratu
Ochrony Środowiska, a także charakterystyka działania stacji pomiarowych.
Rozdział czwarty opisuje Pollution Level Monitor zaczynając od ogólnej koncepcji kończąc
na opisie szczegółów implementacyjnych. Podrozdział „Ogólna koncepcja PLM” pokazuje
sposób wykorzystania opisanych w rozdziale pierwszym technologii. Prezentuje architekturę
oraz pokazuje obieg danych w systemie. Opisane są wszystkie podzespoły PLM, ich rola oraz
kolejność ich wykorzystywania podczas działania systemu. „Budowa systemu PLM” to
ostatni podrozdział w rozdziale „Opis Systemu”. Zajmuje się charakterystyką części
technicznej. Tutaj znajdują się dokładne opisy tabel bazy danych, opisany jest format
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
8
przechowywanych danych, algorytmy oraz struktura plików wynikowych wraz ze sposobem
ich wykorzystywania.
Na końcu jest podsumowanie, w którym opisane są założenia oraz ograniczenia PLM, a także
przykłady zastosowania takiego narzędzia.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
9
2. Podstawy teoretyczne wykorzystanych
technologii
Ten rozdział zawiera teoretyczne podstawy wykorzystywanych w PLM technologii. Każdej
z nich został poświęcony osobny podrozdział. Technologie w nim opisywane odpowiadają
poszczególnym częściom składowym architektury systemu. Dla łatwiejszego rozpoznania ich
roli w Pollution Level Monitor został zamieszczony rysunek poniżej.
Rys.1.
Technologie i standardy wykorzystane w systemie PLM.
Powyższy rysunek oprócz pokazania miejsca występowania poszczególnych technologii ma
na celu wstępnie zapoznać z architekturą systemu PLM. Na początku tego schematu, jak
i rzeczywistego systemu, są stacje pomiarowe, które dokonują próbkowania powietrza
i gromadzą wartości pomierzonych parametrów w swoich lokalnych zasobach pamięciowych.
Z poziomu PLM nie mam do nich dostępu, a do zasilenia bazy danych korzystam
z opublikowanych raportów zamieszczonych na stronach internetowych Wojewódzkich
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
10
Inspektoratów Ochrony Środowiska. Takie założenie zostało przyjęte, ponieważ niniejsza
praca skupia się wyłącznie na możliwościach, jakie mają przeciętni użytkownicy Internetu.
Dane do zasilenia bazy danych PLM pochodzą ze stron internetowych WIOŚ, z raportów
dziennych. Zostały wpisane do bazy ręcznie z raportów z poszczególnych stacji
pomiarowych. Ponieważ system nie posiada automatycznego importu danymi opis
teoretyczny zaczęłam bezpośrednio od opisu baz danych.
2.1. Baza danych
Dane są przydatne, gdy są uporządkowane i jeżeli możemy z nich z łatwością korzystać
w dowolnym momencie. Baza danych daje możliwość przechowywania danych
w uporządkowanej formie, a jej odpowiednio zaprojektowana architektura pozwala na
wydajną pracę. System PLM wykorzystuje bazę danych do gromadzenia danych o pomiarach
oraz stacjach pomiarowych, dlatego ten podrozdział przedstawia zagadnienia z teorii baz
danych, wprowadza ich podział, zawiera opisy oraz przykłady zastosowań.
Imponujący rozwój z zakresie gromadzenia, przechowywania, przetwarzania oraz rozwój
sieci komputerowych umożliwiający zdalny dostęp do danych spowodowało, że technologia
baz danych, a więc dziedzina zajmująca się przechowywaniem, gromadzeniem oraz
udostępnianiem danych w postaci elektronicznej jest obecnie najważniejszym obszarem
zastosowania informatyki i najmocniejszą siłą napędową rozwoju [Budzyński, 1998].
2.1.1. Rodzaje baz danych
Bazy danych można podzielić ze względu na strukturę przechowywania danych, a także ze
względu na model przechowywanych danych [Budzyński, 1998].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
11
2.1.1.1. Płaskie bazy danych
Baza płaska, to baza prosta, w której dane są zorganizowane w strukturę rekordów
zgrupowanych w pliku [Budzyński, 1998].
Przykładem płaskiej bazy może być np. plik *.csv format, który obecnie jest powszechnie
stosowany do wymiany danych między systemami. CSV to z języka angielskiego Comma
Separated Values, czyli wartości rozdzielone przecinkiem. Poszczególne rekordy rozdzielone
są znakami końca linii, a wartości pól zgodnie z nazwą formatu rozdzielone są przecinkami.
Pierwsza linia może stanowić nagłówek zawierający nazwy pól rekordów. Jako separator pól
bywa także stosowany znak średnika lub inny. Wartości zawierające używany znak separatora
(przecinek, średnik, znak tabulacji lub znaki końca linii) muszą być ujęte w cudzysłowy. Aby
umieścić cudzysłów w wartości należy wpisać znak cudzysłowu dwukrotnie, całą wartość
ujmując w cudzysłowy [Wikipedia, 2008].
Większość systemów obsługujących bazy danych umożliwia eksport do oraz import z plików
*.csv. Pliki *.csv można importować oraz tworzyć w arkuszu kalkulacyjnym lub edytorze
tekstu.
Przykład kodu zawartego w pliku *.csv:
"Międzynarodowy kod stacji";"Adres";"Długość";"Szerokość";"Województwo"
"LdGajewWIOSAGajew";"Gajew gm. Witonia";"19 14 00";"52 08 36";"Łódzkie"
"LdLodzWIOSARubinst";"Łódź Rubinsteina 77";"19 27 19";"51 46 04";"Łódzkie"
"LdLodzWIOSACzernik";"Łódź, ul. Czernika 1/3";"19 31 55";"51 45 32";"Łódzkie"
2.1.1.2. Hierarchiczne bazy danych
Hierarchiczny model danych to jeden z najstarszych modeli struktury danych. Model ten jest
pewnym rozszerzeniem modelu prostego, opartego na rekordach składających się z pól
zgrupowanych w plikach. W schemacie hierarchicznym wprowadza się typy rekordów
i związki nadrzędny-podrzędny pomiędzy nimi [Budzyński, 1998].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
12
Aby sobie łatwiej wyobrazić sposób takiego przechowywania danych najlepiej wziąć za
przykład system plików w komputerze. Zakłada on grupowanie w formie kolejnych
poziomów drzewa danych, od najbardziej ogólnych do najbardziej szczegółowych
[Wikipedia, 2008].
Np. strukturę państwowego monitoringu środowiska można podzielić w sposób pokazany na
rysunku 2.
Rys.2.
Przykład hierarchicznej bazy danych.
Od najwyższej instancji PMŚ przesuwamy się w dół po drzewie reprezentującym strukturę
bazy mijając po drodze Wojewódzkie Inspektoraty, a następnie docieramy na koniec do
konkretnych stacji pomiarowych. Dane zorganizowane są od ogółu do szczegółu.
Przeszukiwanie takiej bazy danych, to inaczej przeglądanie zbiorów, poruszanie się od
rodzica do dziecka. Każdy element nadrzędny jest rodzicem elementu podrzędnego.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
13
2.1.1.3. Relacyjne bazy danych
Podstawowe pojęcie związane z relacyjnymi bazami danych to [Stones, Mattew, 2003]:
Tabela - jest wydzielonym logicznie zbiorem danych, zorganizowanych w formie tabeli
składającej się z wierszy dzielonych na kolumny. Pojedyncza tabela może być reprezentacją
pewnej encji (np. pomiaru, stacji pomiarowej), relacji między nimi, albo może stanowić
zawartość całej bazy danych. Kolumny stanowią zwykle atrybuty jakiegoś obiektu.
Rekord - Pojedynczy wiersz tabeli. Stanowi najczęściej zbiór danych o pojedynczym
obiekcie.
Klucz - Do identyfikacji wierszy stosowany jest klucz główny (ang. primary key), czyli
najczęściej jedna z kolumn, której wartości są unikatowe w całej tabeli. Klucz jednoznacznie
identyfikuje wiersz.
Wiązanie tabel – dane przechowywane w różnych tabelach mogą być ze sobą powiązane za
pomocą relacji.
Relacyjny model baz danych jest powszechnie uważany za jeden z najważniejszych
wynalazków w historii informatyki, który pozwolił elastycznie i oszczędnie operować
danymi. Ten model danych jest najczęściej stosowanym modelem danych.
Baza relacyjna to zbiór danych podzielony na podzbiory, które są ze sobą powiązane za
pomocą relacji. Praca nad danymi to posługiwanie się aparatem matematycznym w celu
odczytania danych poprzez operatory relacyjne takie jak: selekcja, rzutowanie, suma,
złączenie, różnica, iloczyn kartezjański. Stosowanie algebry relacji daje silne możliwości
przetwarzania gromadzonych danych [Codd, 1990].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
14
Dane w bazie relacyjnej są przechowywane w osobnych tabelach. Tabele w takiej bazie
można podzielić na dwa rodzaje [Stones, Mattew, 2003]:
tabele opisujące relacje
tabele z danymi
Tabela z danymi w bazie relacyjnej powinna zawierać dane ściśle ze sobą powiązane. Np. w
osobnych tabelach mogą być dane o osobie, zdarzeniu o itd. Dla przykładu, tabela ze stacjami
pomiarowymi może zawierać następujące dane: długość i szerokość geograficzną, adres,
nazwę, itd. Kolejną tabelą byłaby tabela pomiarów, a rekordami w niej byłyby wartości
poszczególnych parametrów powietrza zmierzonych na stacji, a także identyfikator stacji, na
której został ten pomiar dokonany. Dzięki temu identyfikatorowi widoczna jest relacja
między tabelami. W celu dokonania przypisania w każdej tabeli przy każdym rekordzie musi
być identyfikator, czyli klucz.
Rodzaje relacji [R. Stones, N. Mattew, 2003]:
•
„jeden do wielu” - jednemu rekordowi z tabeli A odpowiada wiele rekordów z tabeli
B;
•
„wiele do wielu” - wielu rekordom z tabeli A odpowiada wiele rekordów z tabeli B.
Taka relacja jest rozszerzeniem relacji „jeden do wielu” i aby połączyć w taki sposób
ze sobą tabele wykorzystywana jest tabela pomocnicza, zawierająca same klucze
łączonych ze sobą rekordów. Wtedy w jednej kolumnie są klucze z jednej tabeli,
a w drugiej klucze z drugiej. W ten sposób uzyskujemy, de facto, podwójne
połączenie typu „jeden do wielu”.
•
„jeden do jeden” - jednemu rekordowi z tabeli A odpowiada dokładnie jeden rekord
z tabeli B. Teoretycznie takie połączenia są rzadko wykorzystywane, a jeżeli już, to
jest to zabieg który podnosi poziom bezpieczeństwa systemu. Dane przechowywane
w ten sposób trudniej jest pozyskać podczas włamania się, ponieważ znajdują się
osobno.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
15
2.1.1.5. Obiektowe bazy danych
Podejście obiektowe podkreśla bardziej naturalną reprezentację danych. W dzisiejszym
ś
rodowisku modele danych są dużo bardziej wymagające. Ich zadaniem jest przetwarzanie
dźwięku, obrazu, tekstu, grafiki, itp. Potrzeby te wymagają dużo bardziej elastycznego
formatu przechowywania danych niż hierarchiczne, czy relacyjne bazy danych mogą
zapewnić. Jedynie obiektowe bazy danych będą mogły sprostać tym wymaganiom.
Obiektowa baza danych jest zbiorem obiektów, których zachowanie się i stan oraz związki są
określone zgodnie z obiektowym modelem danych. Do pracy nad obiektową bazą danych
służy OSZBD, czyli obiektowy system zarządzania bazą danych. OSZBD jest systemem
wspomagającym definiowanie, zarządzanie, utrzymywanie, zabezpieczanie i udostępnianie
obiektowej bazy danych [P.Józwik, M.Mazur, 2002]
Systemy obiektowych baz danych były rozwijane w celu dostarczenia elastycznego modelu
danych bazującego na tym samym paradygmacie, co obiektowe języki programowania.
Obiektowe bazy danych dają możliwość silniejszego powiązania z aplikacjami obiektowymi,
niż było to w przypadku relacyjnych baz danych. Dzięki temu można zminimalizować ilość
operacji związanych z przechowywaniem i dostępem do danych zorientowanych obiektowo.
Zaleta ta staje się szczególnie cenna w przypadku, gdy obiektowy model danych jest
naprawdę skomplikowany [Robert Budzyński, 1998].
2.1.1.6. Obiektowo-relacyjne bazy danych
Obiektowo-relacyjne bazy danych są osiągnięciem w rozwoju hybrydowych architektur baz
danych. Systemy te pojawiły się między innymi z powodu ogromnych inwestycji,
poczynionych przez różne organizacje w systemy relacyjnych baz danych. Bezpośrednie
przekwalifikowanie z relacyjnych na obiektowe systemy baz danych wiązałoby się
z dodatkowymi kosztami, natomiast obiektowo-relacyjne bazy danych stanowią swoisty
kompromis [P.Józwik, M.Mazur, 2002].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
16
Obiektowe bazy danych nie posiadają niektórych cech, do których przywykli użytkownicy
poprzednich systemów. Dodatkowo, w chwili obecnej nie mają one odpowiedniej
infrastruktury, aby przejąć rynek relacyjnych baz danych, podobnie jak bazy relacyjne
uczyniły to z systemami hierarchicznymi i sieciowymi.
Rozwiązaniem dla firm takich jak Oracle, Informix, Sybase, czy IBM jest rozwój ich
systemów, polegający na przekształcaniu ich w systemy obiektowo-relacyjnych baz danych.
Systemy obiektowo-relacyjne są wyposażane w wiele cech umożliwiających efektywną
produkcję aplikacji. Wśród nich można wymienić przystosowanie do multimediów (BLOB,
CLOB i pliki binarne), dane przestrzenne, abstrakcyjne typy danych (ADT), metody (funkcje
i procedury) definiowane przez użytkownika w różnych językach, kolekcje (zbiory,
wielozbiory, sekwencje, zagnieżdżone tablice, tablice o zmiennej długości), typy
referencyjne, przeciążanie funkcji, późne wiązanie i inne. Systemy te zachowują jednocześnie
wiele technologii, które sprawdziły się w systemach relacyjnych (takie jak architektura
klient/serwer, mechanizmy buforowania i indeksowania, przetwarzanie transakcji,
optymalizacja zapytań) [K. Subieta, 1999].
Obiektowo-relacyjne bazy danych zdobyły uznanie, ponieważ wiele organizacji dostrzegło,
ż
e relacyjne bazy danych nie są wystarczające do obsługi ich złożonych wymagań. Zamiast
więc bezpośredniego przejścia na systemy czysto obiektowe, podejście obiektowo-relacyjne
pozwala organizacjom na zapoznanie się z technologią obiektową stopniowo. Dodatkową
zaletą jest uniknięcie konwersji aktualnych baz danych do nowego, obiektowego formatu
danych, co oszczędza czas i pieniądze. Obiektowo-relacyjne bazy danych stanowią zatem
pomost pomiędzy relacyjnymi a obiektowymi bazami danych.
2.1.1.7. Temporalne bazy danych
Temporalna baza danych jest odmianą bazy relacyjnej, w której każdy rekord posiada stempel
czasowy, określający czas, w jakim wartość jest prawdziwa [Wikipedia – Wolna
Encyklopedia, 2008].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
17
Dzisiaj najważniejsze badania poświęcone tematowi baz danych są nakierowane właśnie na
rozwój tego typu baz.
Zaprezentowany podział danych jest podziałem ogólnym, ale obrazuje różnice w podejściu do
sposobu gromadzenia danych. W rzeczywistości, w obrębie jednego systemu często można
doszukać się wielu przykładów baz danych.
Wraz z rozwojem technologii baz danych, tak jak w przypadku wszystkich innych, pojawiły
się darmowe systemy do zarządzania bazami, takie jak np. MySQL i PostgreSQL, które
spopularyzowały wykorzystywanie baz danych i umożliwiły powstanie wielu powszechnie
używanych rozwiązań. System PLM także wykorzystuje darmową bazę MySQL, która
w zupełności odpowiada stawianym wymaganiom i nie zamyka możliwości jego dalszego
rozwoju.
2.1.2. SQL
SQL to język zapytań służący do obsługi relacyjnych baz danych, który został opracowany
w latach 70-tych przez firmę IBM. SQL należy do języków wysokiego poziomu, czyli
możliwa jest obsługa zapytań złożonych. Jest to język deklaratywny, skupiający się na
rezultacie
,
jaki ma baza zwrócić.
Systemy zarządzania relacyjnymi bazami danych posiadają narzędzia optymalizacyjne do
zapytań SQL, przez co współpraca SQL z bazą jest efektywna i czas oczekiwania na
odpowiedź z bazy jest względnie krótki. SQL jest niezależny, dzięki temu pasuje do
dowolnego schematu bazy. Programista SQL, który obsługuję bazę MySQL, bez problemu
,
odnajdzie się w architekturze większego systemu opartego nawet o bazę ORACLE. „Pisanie”
w SQL, to jest kierowanie zapytań do bazy danych, które mogą tworzyć i usuwać tabele,
łączyć tabele, a także pobierać potrzebne dane [T. Converce, J. Park, 2001].
W relacyjnej bazie danych w różnych tabelach są przechowywane dane, które są ze sobą
powiązane. Aby wyszukać potrzebne informacje rozmieszczone w kilku tabelach, należy je
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
18
uprzednio połączyć, a potem z połączonych tabel wyłuskać odpowiadające rekordy.
Połączenie osobno przechowywanych danych w tabelach jest możliwe dzięki stosowaniu
kluczy, według których poszczególne rekordy w tabelach są ze sobą kojarzone. Kroki te są
realizowane dzięki kierowaniu odpowiednich zapytań SQL do bazy danych. Zapytania te
mogą być proste, ale też i złożone, które w jednym realizują kilka czynności.
2.1.3. MySQL
MySQL to jeden z najpopularniejszych systemów do zarządzania relacyjnymi bazami danych,
wyprodukowany przez szwedzką firmę MySQL AB na zasadach Open Source [Wikipedia –
Wolna Encyklopedia, 2008]. Jest uznany za jeden z najlepszych systemów ze względu na
szybkość działania i stabilność. Istnieją bazy MySQL, które obsługują 50 milionów rekordów
[P. Leszek, 2001].
W MySQL zostały zaimplementowane wszystkie standardy ODBC, czyli z ang. Open
DataBase Connectivity - otwarte łącze baz danych, interfejs pozwalający programom łączyć
się z systemami zarządzającymi bazami danych. Jest to API niezależne od języka
programowania, systemu operacyjnego i bazy danych. Standard ten został opracowany przez
SQL Access Group we wrześniu 1992 roku. W skład ODBC wchodzą wywołania wbudowane
w aplikacje oraz sterowniki ODBC. W systemach bazodanowych typu klient-serwer (np.
MySQL, Oracle lub PostgreSQL) sterowniki dają dostęp do silnika baz danych, natomiast w
programach dla komputerów osobistych sterowniki sięgają bezpośrednio do danych.
Mechanizm ODBC współpracuje zarówno z bazami obsługującymi język SQL, jak
i nieobsługującymi go - w tym ostatnim przypadku język SQL jest przekładany na natywny
język bazy danych.
MySQL wspiera język polski, wspiera i obsługuje standard OpenGIS, jest w nim możliwa
replikacja baz, a także transakcje [T. Converce, J. Park, 2001].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
19
2.2. Serwer obliczeniowy
Serwery obliczeniowe, to są osobne maszyny projektowane pod architekturę systemów, która
ma zapotrzebowanie na dużą moc obliczeniową. Dzięki stosowaniu osobnej maszyny
serwerowej zasoby systemowe oraz sprzętowe tej dedykowanej maszyny są alokowane
specjalnie pod obliczenia i nie obciążają pracy pozostałych składowych systemu.
W kontekście PLM nazwa „serwer obliczeniowy” jest na wyrost, ale określenie w ten sposób
miejsca, gdzie wykonywane są skrypty pracujące na danych i wykonujące obliczenia pozwoli
z góry założyć skalowalność systemu.
Na serwerze obliczeniowym PLM jest umieszczona również witryna WWW, za pomocą
której użytkownik korzysta z systemu. WWW nie musi się znajdować na tym samym
serwerze, ale mając na uwadze prędkość i bezawaryjność systemu, a także łatwość
w rozwiązywaniu problemów technicznych została tam umieszczona.
2.2.1. Witryna WWW
Strona internetowa to sposób prezentacji informacji w sieci Internet, który przyjmuje postać
powiązanych między sobą dokumentów HTML. Dokument HTML zawiera w sobie treści,
a także znaczniki HTML, odpowiedzialne za wyświetlenie treści merytorycznych
w przeglądarce. Strony WWW możemy podzielić na statyczne oraz dynamiczne.
Statyczne
,
to takie, które zawierają tylko kod HTML i po stronie serwera, jak i po stronie
klienta, wyglądają identycznie. Serwer, gdy dostaje żądanie o taki dokument po prostu wysyła
je do okna przeglądarki.
Strona WWW dynamiczna
,
to taka, która oprócz HTML zawiera wbudowane inne
technologie. Termin „dynamiczna” określa wszystkie technologie, które wychodzą poza kod
HTML. Może ona zawierać kody innych języków skryptowych, np. takich jak: PHP,
JavaScript, a także języka CSS. Wszystkie te technologie można podzielić na te, które
wykonują się po stronie serwera i te, które wykonują się po stronie klienta.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
20
Dynamika po stronie klienta, to wszystkie zabiegi, które ożywiają stronę, czyli pojawiające
się i znikające elementy strony, przewijające się nagłówki oraz inne elementy oparte np.
o technologię JavaScriptu, Flash, czy aplety Java. Ponieważ wykonywane są po stronie
klienta, wykorzystują zasoby lokalnych komputerów użytkownika. Dzięki temu skraca się
czas oczekiwania na stronę z serwera.
Po stronie serwera, dynamika jest związana z tworzeniem stron na bieżąco, czyli wtedy, kiedy
strona jest wyświetlana. Np. strona napisana w PHP jest generowana na serwerze
w momencie kiedy serwer dostanie prośbę o jej wyświetlenie. W ten sposób czas jej
wyświetlenia nieco wydłuża się, a do okna przeglądarki jest wysyłany już kod HTML.
Dobrym tego przykładem jest zamieszczenie na stronie daty, która będzie generowana w PHP
i będzie uaktualniana każdorazowo w trakcie jej ładowania. W przypadku strony statycznej
data byłaby wpisana „na sztywno” i nie byłaby każdorazowo uaktualniania.
2.2.2. Dokument HTML
Dokumenty HTML
,
to są pliki, z których składają się strony WWW. Pisane są zgodnie
z konkretnymi zasadami języka HTML. Pliki HTML można edytować w dowolnym edytorze.
Dokument HTML składa się z dwóch podstawowych części: nagłówka - czyli informacji na
temat kodowania, języka, słów kluczowych, opisu strony i tytułu zawartych w znaczniku
<HEAD></HEAD> oraz ciała dokumentu, czyli właściwej treści, która jest zawarta
w znaczniku <BODY></BODY>. Poszczególnym elementom składowym, które są widoczne
na stronie internetowej odpowiadają HTML znaczniki, które je wyświetlają. Np. do
zamieszczenia grafiki używamy znacznika <IMG>, do nagłówków <H1>,<H2>, a do linków
<a>.
Obecnie zasadami tworzenia dokumentów HTML kieruje zespół W3C, stawiając sobie za cel
ujednolicenie sposobu interpretacji kodu przez wszystkie dostępne przeglądarki. Cała
struktura dokumentu HTML jest budowana na zasadzie drzewa, a reguły jakie obowiązują
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
21
przy tworzeniu tej struktury obejmuje standard ustanowiony przez W3C dla Obiektowego
Modelu Dokumentu, czyli DOM (Document Object Model).
Organizacja World Wide Web Consortium, w skrócie W3C, zajmuje się formułowaniem
standardów dotyczących tworzenia i przesyłania WWW. To W3C zrobiła krok do
ujednolicenia sposobu wyświetlania stron przez różne przeglądarki i tym samym postawiła
rozwój WWW na inne tory.
Wg W3C DOM dokument to drzewiasty zbiór węzłów. Węzeł może być elementem, ciągiem
tekstu, komentarzem, itp. Każdy węzeł może mieć jednego rodzica, dowolną ilość braci
i, jeśli jest elementem, dowolną ilość dzieci.
2.2.3. Document Object Model
DOM, to sposób przedstawienia dokumentu. Jest to zestaw metod i pól, które umożliwiają
odnajdywanie, zmienianie, usuwanie i dodawanie elementów [http://www.w3.org].
DOM W3C jest podzielony na dwie części. Pierwsza, podstawowa (ang. core), to ogólny
sposób reprezentowania dokumentów XML. Przedstawia dokument jako drzewo zawierające
węzły (ang. node). Każdy węzeł może być elementem, fragmentem tekstu, komentarzem,
instrukcją preprocesora (np. dołączonym fragmentem PHP) albo encją.
Drugą częścią DOM W3C jest typowy dla przeglądarek DOM HTML. Jest to zestaw metod
ułatwiających tworzenie dynamicznych stron oraz zapewniających kompatybilność wstecz
z wcześniejszym prostym DOM. Głównym, globalnym obiektem w DOM HTML jest
Window, czyli okno przeglądarki. W tym obiekcie przechowywane są wszystkie globalne
zmienne i funkcje. W nim jest także obiekt document, który reprezentuje całą stronę XHTML.
Do każdego elementu DOM można się odnieść jeżeli element posiada on nazwę lub id.
W przeciwnym wypadku można się odnosić również po nazwach znaczników
[http://www.w3.org].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
22
Na rysunku 3 zaprezentowany jest przykład dokumentu XHTML, a poniżej przykłady metod
odnoszenia się do poszczególnych elementów dokumentu DOM.
Rys.3.
Przykład dokumentu XHTML.
Na ostatnim poziomie zagnieżdżenia w zaprezentowanej strukturze dokumentu jest
zamieszczony obrazek „przykład.gif”. Do tego elementu można się odwołać na wiele
sposobów:
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
23
1) Za pomocą odniesień bezpośrednich:
- document.getElemetById(‘test_image’); - odnosimy się bezpośrednio do elementu
graficznego;
- document.getElemetById(‘test_image’).src – odnosimy się do ścieżki
do pliku , który
chcemy wyświetlić. Dzięki temu możemy modyfikować ścieżkę, a znacznik <img> traktować
jako kontener dla wymiennych grafik.
2) Możemy się odnieść do nadrzędnego elementu obrazka, który jest dla niego rodzicem.
- document.getElementById(‘top’); - w ten sposób możemy dostać się do zawartości
elementu <div>, w którym się znajduje się obrazek. Używając funkcji JavaScript innerHTML
możemy podmienić zawartość tego elementu na dowolną inną, np. zastąpić obrazek tekstem
w taki sposób:
dokument.getElementById(‘top’).InnerHTML = ‘zastępujemy tekstem obrazek’;
Wówczas, kodem wynikowym będzie kod HTML pokazany na rysunku poniżej.
Rys.4.
Przykład kodu wynikowego po zastosowaniu InnerHTML.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
24
Wszystkie powyższe przykłady pokazały, w jaki sposób można odnieść się za pomocą
JavaScript do węzłów, które posiadają id. Id w strukturze dokumentu XHML powinno być
unikatowe, dlatego takie odwołanie daje nam stuprocentową pewność, że trafimy w ten
element, o który nam chodziło.
Istnieje jednak alternatywny sposób odwoływania się do węzłów, wymagający trochę więcej
pracy i dobrej znajomości kodu. Sposób ten jest wrażliwy na wszelkie zmiany w kodzie,
ponieważ nawet drobne mogą spowodować błędy i pobieranie nie tego elementu, o który nam
chodziło. Są jednak i pozytywne aspekty - jest to dobra metoda, kiedy potrzebujemy pobrać
np. wszystkie elementy typu <table> i w tym samym czasie wszystkie modyfikować.
Robi się to w następujący sposób:
document.getElementByTagId(‘table’); - za pomocą funkcji getElementByTagId pobierane są
wszystkie elementy typu < table> .
Aby móc skorzystać
,
z któregoś konkretnego elementu
,
który pobraliśmy, musielibyśmy to
wszystko wcześniej zapisać do zmiennej:
var tab = document.getElementByTagId(‘table’);
Teraz, mając to w zmiennej,
,
odwołanie do poszczególnej tabeli wyglądałoby następująco:
tab[0].style.display = ‘none’; - np. wyłączenie pokazywania tabelki o indeksie zero;
tab[0].style.backGround = ‘Gfx/przykład.gif’ – nadanie tła graficznego do tabeli o indeksie 1;
Tabele są poindeksowane zgodnie z kolejnością występowania w dokumencie.
Podsumowując powyższe - witryna WWW, czyli interface systemu, jest to dokument HTML,
w którym są osadzone mechanizmy napisane w innych językach skryptowych. W przypadku
Systemu PLM, oprócz JavaScript, jest to język PHP.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
25
2.2.4. J
ę
zyk PHP
Język napisany przez programistów i dla programistów sieci WWW. Darmowy, prężnie
rozwijający się w ciągu ostatnich lat język programowania, stosunkowo prosty do nauczenia
się. PHP jest językiem skryptowym, wbudowanym w HTML lub działający osobno, jako
samodzielne pliki binarne i jego działanie jest transparentne dla użytkownika. Maszyna
skryptowa PHP jest wbudowana w serwer WWW i skrypty są wykonywane w pierwszej
kolejności, ponieważ są po stronie serwera.
PHP jest częścią nierozłączną oprogramowania serwerów. Zazwyczaj instaluje się „zestawy”,
czyli serwer WWW, serwer bazodanowy oraz PHP, a najczęściej wykorzystywanym tego
typu oprogramowaniem są Apache z PHP i MySQL. Są to rozwiązania darmowe,
powszechnie wykorzystywane i dobre.
Składnia języka PHP jest podobna do języka programowania strukturalnego C.
W przeciwieństwie do języka predefiniowanych znaczników HTML, tutaj można deklarować
dowolne zmienne i dowolnie je wykorzystywać. Analizator składni najpierw przetwarza
zagnieżdżone w kodzie dokumentu sekcje PHP, a dopiero potem wyświetlana jest strona
w przeglądarce.
PHP dobrze współpracuje z innymi produktami. Przykładami takich produktów są
najpopularniejsze bazy danych, współprace z takimi protokołami jak: IMAP, POP3 oraz
LDAP. Od PHP4 jest dodana obsługa języka Java oraz rozproszonej architektury
COM/COBRA, co pozwala na tworzenie aplikacji o wielowarstwowej architekturze. W PHP5
poszerzono te możliwości jeszcze o dodanie biblioteki graficznej, a także unowocześnienie
sposobów obsługi języka XML z uwzględnieniem DOM.
PHP oczywiście nie jest jedynym językiem skryptowym w ten sposób wykorzystywanym, ale
jest najbardziej popularny ze względu na względną prostotę użycia [T. Converce, J. Park,
2001]
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
26
Aby zagnieździć PHP w kodzie HTML plik musi nosić rozszerzenie *.php, w przeciwnym
wypadku serwer nie wykona poleceń, które są napisane w PHP. Do korzystania z zasobów
bazy danych stosowany jest język SQL. PHP dostarcza narzędzia, które umożliwiają
połączenie z bazą danych, natomiast aby wydobyć potrzebne dane, zapytania należy
skierować w języku SQL. W tym celu są wykorzystywane takie funkcje PHP, które
wprowadzają kod SQL do bazy danych.
To, w jaki sposób SQL, PHP oraz HTML są ze sobą „splecione” ilustruje rysunek 5.
W Pollution Level Monitorze skrypty napisane w PHP są odpowiedzialne za dobranie
najbliższych stacji, pobranie wartości parametrów wymaganych przez użytkownika
i wygenerowanie wynikowego pliku XML, który pozwala na przeniesienie danych do
systemu GIS.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
27
Rys.5.
Przykład zagnieżdżenia w HTML kodów języków PHP i SQL.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
28
2.2.5. CSS – Kaskadowe arkusze stylów
CSS to język, który opisuje sposób prezentacji stron WWW. Pisząc w CSS stosuje się
dyrektywy. Każdy element można ustawić w osobnym stylu, a także można pisać style
globalne. W stylach ustawia się czcionki, kolory, wielkości, odstępy itd. CSS ułatwia
pozycjonowanie elementów na stronie [E. A. Meyer, 2005].
Dzięki CSS dokumenty HTML stały się bardziej przejrzyste. Można wcielać w życie o wiele
ś
mielsze projekty graficzne, a także kod HTML został odseparowany od swojej prezentacji.
Wspólne style CSS dla serwisu i konsekwentne korzystanie z nich ułatwią modyfikację
i wprowadzanie zmian we wszystkich podstronach serwisów, natomiast w przypadku
czystego HTML należałoby w każdym dokumencie dokonywać ręcznych poprawek.
.
Obecnie powszechnie używany i w miarę podobnie interpretowany przez większość
przeglądarek jest CSS2. CSS3 jest dopracowywany, ale jeszcze minie sporo czasu do
momentu, w którym deweloperzy zaczną go stosować powszechnie. Wiąże się to
z dopracowaniem interpreterów styłów w przeglądarkach.
Dla piszącego strony internetowe dużym problemem jest dopasowanie stylów tak, aby
prezentowane treści były identyczne wizualnie w każdej przeglądarce. Praca ta wymaga
dużego doświadczenia i pisząc witryny zazwyczaj pisze się pod dwie najpopularniejsze
przeglądarki. Popularność przeglądarek zależy od kraju. Jest kilka produktów wiodących,
takich jak: Internet Explorer, FireFox Mozilla, Opera, Safari i Konqueror, ale preferencje
użytkowników się różnią.
Obecnie wszystkie przeglądarki udostępniają wiele pożytecznych narzędzi zarówno dla
programistów, jak i dla zwykłych wymagających użytkowników. Jeżeli, jeszcze 2 lata temu
można było powiedzieć, że Mozilla Firefox wiodła prym wśród webmasterów, to teraz
w większości przeglądarek są narzędzia do analizy kodu, struktury DOM i wówczas kwestią
przyzwyczajenia jest,
,
z którego produktu korzystamy.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
29
W Polsce dane statystyczne mówią, że 60% użytkowników pracuje na IE (Internet Explorer),
38% korzysta z Mozilli Firefox, a pozostałe 2% są współdzielone między inne produkty
alternatywne. [http://www.ranking.pl]
2.2.6. XML - Extensible Markup Language
XML, to skrót z języka angielskiego Extensible Markup Language, co w wolnym
tłumaczeniu oznacza Rozszerzalny Język Znaczników. Jest to oficjalny
,
formalny język, który
pozwala na strukturalizowanie dowolnych danych w zrozumiały sposób. XML nie zależy od
platformy, dlatego jest bardzo wygodnym narzędziem do przenoszenia danych między
różnymi systemami [http://www.w3c.org/XML/1999/XML-in-10-points.pl.html].
Za popularyzację XML jest odpowiedzialny rozwój Internetu, a wraz z nim systemy
o rozproszonej architekturze, gdzie dane przenoszone z jednego systemu lub podsystemu do
innego, są zapisywanie w pliku XML. Przykładowy dokument XML ilustruje rysunek 6.
Rys.6.
Przykład dokumentu XML.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
30
Dokument rozpoczyna się instrukcją sterującą, która zawiera informacje o wersji standardu
XML
,
z jakim jest zgodny, oraz o sposobie kodowania znaków. Korzeniem dokumentu jest
element o nazwie książka-telefoniczna. Ma on przypisany jeden atrybut o nazwie kategoria
i wartości bohaterowie książek. Korzeń jest rodzicem dwóch innych elementów, oba mają tę
samą nazwę osoba i przypisany atrybut o nazwie charakter. Każdy z elementów o nazwie
osoba jest rodzicem dla trzech innych elementów o nazwach imię, nazwisko i telefon, które
zawierają konkretne dane w formie węzłów tekstowych (tekst pomiędzy odpowiednimi
znacznikami otwierającym i zamykającym). Element o nazwie telefon w dwunastym wierszu
dokumentu jest pusty (nie ma żadnych potomków), a znacznik otwierający jest jednocześnie
znacznikiem
zamykającym.
Zapis
<telefon/>
jest
równoznaczny
zapisowi
<telefon></telefon>. W trzecim wierszu dokumentu znajduje się komentarz [Wikipedia –
Wolna Encyklopedia, 2008].
W ten sposób można przenieść dane między dowolnymi systemami. Aby importować dane do
docelowego systemu stosowane są tzw. „parsery”, czyli skrypty pracujące nad plikami XML,
przetwarzające dane do postaci zrozumiałej dla systemu, w którym mają zostać wykorzystane.
Dla przykładu w języku PHP zostały dodane funkcje parsujące dokumenty XML między
innymi
takie
jak:
xml_parse(),
xml_get_error_code(),
xml_error_string(),
xml_get_current_line_number(), xml_get_current_column_number()
i xml_get_current_byte_index(), ale jest ich więcej. Powodem częstego wykorzystywania
tych funkcji jest spopularyzowanie w 2006 roku technologii AJAX opartej o język JavaScript,
która pozwala na dynamiczne odpytywanie bazy. Dane zwracane przez AJAX są właśnie w
postaci plików XML. Każda dobrze napisana aplikacja, czy to webowa, czy też desktopowa
zgodnie z dzisiejszymi standardami ma możliwość importu/eksportu danych do/z plików
XML.
2.2.7. KML- Keyhole Markup Language
Język KML (ang. Keyhole Markup Language) jest zgodny z gramatyką i formatem pliku
języka XML. Służy do modelowania i zapisywania takich obiektów geograficznych jak:
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
31
punkty, linie, obrazy, wielokąty oraz modele wyświetlane w programie Google Earth,
serwisie Google Maps i w innych aplikacjach. Języka KML można używać do udostępniania
miejsc i informacji innym użytkownikom tych aplikacji.
Plik KML jest przetwarzany przez program Google Earth w sposób podobny do tego, w jaki
pliki HTML i XML są przetwarzane przez przeglądarki internetowe. Podobnie jak język
HTML, KML ma strukturę opartą na tagach z nazwami i atrybutami służącymi do
wyświetlania obiektów w określony sposób. Tym samym program Google Earth jest
przeglądarką plików KML [http://code.google.com].
Plik KML jest plikiem XML, tylko z dodatkową specjalną deklaracją o tym, że to jest format
czytany przez Google Earth. W budowie niczym się nie różni od zwykłego pliku XML tylko
jest budowany zgodnie z wymaganiami programu GE. Wymagania te dotyczą nazw tagów
oraz formatów informacji w nich zawartych.
Dane o tym jak prawidłowo przygotować plik pod GE znajdują się bezpośrednio na stronie
internetowej produktu [http://code.google.com/apis/kml/documentation]. Przykład nagłówka
pokazany na rysunku 7.
Rys.7.
Przykład nagłówka KML.
Jak widać na powyższym rysunku, w nagłówku takiego pliku są dwie deklaracje: XML
i KML.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
32
2.3. Webgis jako interfejs u
ż
ytkownika
Interfejsem w Pollution Level Monitor jest strona internetowa zamieszczona pod adresem
http://gamma.fsi.pl/DragonMGR/. Do interakcji z użytkownikiem jest wykorzystane
narzędzie WebGIS – Google Maps.
W tym rozdziale na początku jest wprowadzenie do tematyki systemów GIS, a następnie
podrozdział o WebGIS, którego celem jest zawężenie obszernego tematu systemów
informacji geograficzne, do tych dostępnych w Internecie.
2.3.1. GIS - Geographic Information System
GIS, w języku angielskim rozwija się jako Geographic Information System, co w tłumaczeniu
na język polski oznacza System Informacji Geograficznej. Jest to system informacyjny,
służący do wprowadzania, gromadzenia, przetwarzania oraz wizualizacji danych
geograficznych. To program umożliwiający nakładanie map tematycznych np. dróg, rzek,
użytkowania gruntów i innych dla umożliwienia prowadzenia analiz. Celem, w jakim zostały
stworzone takie systemy, jest wspomaganie procesu decyzyjnego, rozwiązywanie problemów
ś
rodowiska.
GIS jest zarówno systemem bazodanowym z możliwością przechowywania przestrzennie
odniesionych danych, jak i źródłem funkcji do przetwarzania tych danych [Star, Estes, 1990].
Przykładowym programu GIS jest Autocad Map 3D 2009. Jest to rozbudowane narzędzie,
które posiada duże możliwości, a przede wszystkim duży wachlarz udogodnień związanych
ze współpracą z relacyjnymi bazami danych [http://usa.autodesk.com/]. Jest to narzędzie
płatne.
W Internecie można znaleźć wiele przykładów oprogramowania GIS. Systemów informacji
geograficznej jest dużo zarówno darmowych jak i odpłatnych i zainteresowanie nimi nie
spada. dzieje się tak dlatego, iż obecnie duży rozwój przeżywają systemy wykorzystujące GIS
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
33
jako swoje części składowe. Przykładem takiego systemu jest również system Pollution Level
Monitor, który korzysta z narzędzi Google Earth oraz Google Maps. O wyborze tych
komponentów przesądziły takie czynniki jak: dostępność darmowej wersji, łatwość w
obsłudze i łatwy dostęp do oprogramowania.
2.3.2. WebGIS
W Internecie możemy spotkać wiele systemów mapowych, które są mniej lub bardziej
zaawansowane, tzn. dają różny zestaw możliwości pracy nad nimi. Zasadniczy podział można
zrobić wprowadzając dwa pojęcia: Web Map
i WebGIS.
Web Map - Każda mapa zaprezentowana w sieci WWW jest nazywana Webmap. Może nią
być nawet zeskanowany fragment papierowej zwykłej mapy. Bardziej zaawansowane mapy,
które pozwalają na interakcję z użytkownikiem, posiadające funkcje podobne do prostych
programów GIS nazywane są WebGIS.
WebGIS – bardziej zaawansowane funkcjonalnie Web Mapy posiadające, przede wszystkim,
możliwości mierzenia odległości oraz narzędzia do zaawansowanego wyszukiwania [Hachler,
Allgower, Weibel, 2003]. Narzędzie Google Maps, wykorzystywane w Systemie PLM jest
jednym z darmowych przykładów WebGIS dostępnych w sieci [K.Piszczek, 2007].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
34
3. Struktura oraz realizacja programu
Państwowego Monitoringu Środowiska
W tym rozdziale znajduje się opis zadań Programu Państwowego Monitoringu Środowiska,
jego struktura organizacyjna, założenia, a także cele działania poszczególnych instytucji
odpowiedzialnych za środowisko. Pokazana została hierarchia urzędów powołanych do
gromadzenia i przetwarzania danych o zanieczyszczeniach, a także zaprezentowane
narzędzia, które im do tego służą.
3.1. Organizacja monitoringu powietrza w Polsce
Państwowy Monitoring Środowiska jest systemem pomiarów, ocen stanu środowiska oraz
analizą wpływu różnych czynników, w tym presji będących wynikiem działalności człowieka.
Zadania PMŚ realizowane są w ramach struktury opartej na modelu DPSIR, czyli
w rozwinięciu: Driving forces, Pressures, State, Response - co w tłumaczeniu na język polski:
Czynniki sprawcze, Presje, Stan, Oddziaływanie, Przeciwdziałania. Jest ona stosowana przez
Komisję Europejską, Organizację Współpracy Gospodarczej i Rozwoju (OECD), Europejską
Agencją Środowiska do sporządzania ocen zintegrowanych oraz ocen skuteczności polityki
ekologicznej. Struktura ta pozwala na sprawne generowanie kompleksowej, opartej na
badaniach, analizach i ocenach informacji o środowisku, zarówno dla potrzeb społeczeństwa
jak i administracji rządowej, samorządowej oraz instytucji międzynarodowych [WWW WIOŚ
Mazowieckie].
Kategorie informacji zostały ujęte w trzech blokach: bloku-presje, bloku-stan oraz bloku-
oceny i prognozy różniących się pod względem funkcji jakie pełnią w systemie. Rysunek 8
pokazuje jak bloki PMŚ ze sobą współpracują i jaki mają zakres zastosowania.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
35
Rys.8.
Struktura Państwowego Monitoringu Środowiska [WWW WIOŚ Mazowieckie]
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
36
W ramach bloku - presje są pozyskiwane i gromadzone informacje o źródłach i ładunkach
substancji odprowadzanych do środowiska, a w szczególności informacje o emisjach
pozyskiwane z systemu administracyjnego, statystyki publicznej oraz wytwarzane przez
Inspekcję Ochrony Środowiska.
Podstawowym blokiem w systemie PMŚ jest blok - stan, obejmujący działania związane
z pozyskiwaniem, gromadzeniem, analizowaniem i upowszechnianiem informacji
o poziomach substancji i innych wskaźników charakteryzujących stan poszczególnych
elementów przyrodniczych. W oparciu o dane zgromadzone w ramach tego bloku
wykonywane są oceny dla poszczególnych komponentów. Programy pomiarowo-badawcze
realizowane są w ramach niżej wymienionych podsystemów:
•
monitoring jakości powietrza,
•
monitoring jakości wód powierzchniowych i podziemnych
•
monitoring jakości gleby i ziemi,
•
monitoring hałasu,
•
monitoring pól elektromagnetycznych.
Informacje gromadzone w ramach bloków presje i stan zasilają blok ocen i prognoz,
w ramach którego są wykonywane zintegrowane oceny i prognozy stanu środowiska, a także
analizy przyczynowo-skutkowe. Te analizy wiążą istniejący stan środowiska z czynnikami,
które go kształtują, który ma swoje źródło w społeczno-gospodarczej działalności człowieka.
System monitoringu środowiska obsługują specjalne urzędy tworzące hierarchiczną strukturę
(rys.9). Zaczynając od najwyższej instancji Inspektoratu Ochrony Środowiska, poprzez
Wojewódzkie Inspektoraty oraz ich delegatury powiatowe [WWW WIOŚ Mazowieckie].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
37
Rys.9.
Struktura Państwowego Monitoringu Środowiska. Instytucje [WWW WIOŚ
Mazowieckie].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
38
Inspekcja Ochrony
Ś
rodowiska [http://www.gios.gov.pl]
Główny Inspektor Ochrony Środowiska, kierujący działalnością Inspekcji Ochrony
Ś
rodowiska jest centralnym organem administracji rządowej powoływanym i odwoływanym
przez Prezesa Rady Ministrów. Główny Inspektor Ochrony Środowiska przy pomocy
Głównego Inspektoratu Ochrony Środowiska oraz wojewodowie przy pomocy
wojewódzkich inspektorów ochrony środowiska, jako kierowników wojewódzkich inspekcji
ochrony środowiska wykonują zadania Inspekcji. Wojewódzkie Inspektoraty Ochrony
Ś
rodowiska koordynują działania wykonywane w ramach PMŚ na terenie województwa.
Opracowują projekty oraz koordynują tworzenie przez podmioty gospodarcze programów
monitoringu lokalnego.
Podstawowe zadania Inspekcji Ochrony Środowiska to kontrola przestrzegania przepisów
prawa o ochronie środowiska, badanie stanu środowiska, w ramach programu Państwowego
Monitoringu Środowiska oraz przeciwdziałanie poważnym awariom. Ich realizacja odbywa
się, między innymi, poprzez:
•
kontrolę przestrzegania przepisów o ochronie środowiska i racjonalnym użytkowaniu
zasobów przyrody,
•
kontrolę przestrzegania decyzji ustalających warunki użytkowania środowiska,
•
udział w postępowaniu dotyczącym lokalizacji inwestycji,
•
udział w przekazywaniu do eksploatacji obiektów, które mogą pogorszyć stan
ś
rodowiska, oraz urządzeń chroniących środowisko przed zanieczyszczeniem,
•
kontrolę eksploatacji urządzeń chroniących środowisko przed zanieczyszczeniem,
•
podejmowanie decyzji wstrzymujących działalność prowadzoną z naruszeniem
wymagań związanych z ochroną środowiska, lub naruszaniem warunków korzystania
ze środowiska,
•
współdziałanie w zakresie ochrony środowiska z innymi organami kontrolnymi,
organami ścigania i wymiaru sprawiedliwości oraz organami administracji publicznej,
obrony cywilnej, a także organizacjami społecznymi,
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
39
•
organizowanie i koordynowanie Państwowego Monitoringu Środowiska, prowadzenie
badań jakości środowiska, obserwacji i oceny jego stanu oraz zachodzących w nim
zmian,
•
opracowywanie
i
wdrażanie
metod
analityczno-badawczych
i
kontrolno-
pomiarowych,
•
inicjowanie działań tworzących warunki zapobiegania poważnym awariom oraz
usuwania ich skutków i przywracania środowiska do stanu właściwego,
•
uzgadnianie decyzji o warunkach zabudowy i zagospodarowania terenu dla inwestycji
szczególnie szkodliwych dla środowiska i zdrowia ludzi.
3.2. Stacje monitoringu
Stacje monitoringu to narzędzia pozyskiwania informacji o środowisku. Wojewódzkie
Inspektoraty Ochrony Środowiska odpowiedzialne są za gromadzenie danych z monitoringu
i publikację ogólnodostępnych raportów [WWW WIOŚ Mazowieckie].
Stacje mogą być kontenerowe stacjonarne lub mobilne osadzone na tle miejskim, wiejskim
bądź produkcyjnym, wykonujące monitoring automatyczny, 24-godzinny. Są one
rozmieszczone na terenie całego kraju, jest ich zazwyczaj około 15 na województwo plus
jednostki niestacjonarne – busy pomiarowe, które pozwalają na dokonywanie pomiarów
w dowolnym terenie. Wyposażone są w aparaturę pomiarową:
analizator SO2, analizator
NOx, analizator pyłu zawieszonego, mierniki parametrów meteorologicznych: prędkość
i kierunek wiatru, wilgotność i temperatura. Rozmieszczone są w różnych, co do rodzaju
zabudowy i charakteru osady strefach i dokonują okresowych pomiarów monitorowanych
parametrów środowiska. Pomiary są wykonywane co godzinę i gromadzone w głównym
komputerze na stacji [WWW WIOŚ Mazowieckie].
Na rysunkach 10 i 11 jest pokazana przykładowa stacja pomiarowa z zewnątrz i wewnątrz.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
40
Parametry mierzone na stacjach
- Parametry zanieczyszczenia powietrza:
W zależności od przestrzennego zagospodarowania obszaru tj. lokalizacji zakładów,
koncentracji źródeł niskiej emisji, intensywności ruchu samochodowego stan powietrza może
się różnić. Poziom zanieczyszczenia jest analizowany na podstawie pomiarów: dwutlenku
siarki, dwutlenku azotu, tlenków azotu, tlenku węgla, ozonu, pyłu zawieszonego PM10.
- Parametry meteorologiczne:
Pomiar parametrów meteorologicznych pozwala na przeprowadzenie prognoz wartości stężeń
zanieczyszczeń. Parametry mierzone na stacjach to: kierunek wiatru, prędkość wiatru,
temperatura powietrza, wilgotność względna, promieniowanie całkowite, ciśnienie
atmosferyczne, opad atmosferyczny [WWW WIOŚ Mazowieckie].
Rys.10.
Stacjonarna stacja monitoringu powietrza w Trzebini
Rys.11.
Aparatura pomiarowa wykorzystywana w stacjach monitoringu
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
41
4. Pollution Level Monitor
Ten rozdział zawiera dokładny opis działania stworzonego w ramach prezentowanej pracy
magisterskiej, autorskiego systemu Pollution Level Monitor i składa się z dwóch części: opisu
ogólnej koncepcji działania systemu oraz szczegółów dotyczących jego implementacji.
4.1. Ogólna koncepcja PLM
W tym rozdziale zaprezentuję ogólna koncepcję działania systemu bez wgłębiania się w
szczegóły dotyczące implementacji. Pokażę sposób wykorzystania opisanych wcześniej
technologii, zaprezentuje architekturę oraz zasymuluję obieg danych w systemie.
Charakterystykę Pollution Level Monitora zacznę od rysunku 12, na którym są przedstawione
wszystkie komponenty PLM, a także kierunki przepływu danych. Podrozdziały opisują
system zgodnie z kolejnością: stacje pomiarowe, baza danych, serwer obliczeniowy,
użytkownik.
Rys.12.
Schemat działania systemu PLM.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
42
4.1.1. Stacje monitoringu powietrza
Obieg danych w systemie PLM zaczyna się od wykonywania pomiarów, czyli pozyskiwania
danych za pomocą rozbudowanej infrastruktury automatycznych stacji pomiarowych.
Wchodzą one w skład ogólnego systemu ochrony środowiska i realizują zadania ściśle
określone przez program, za który odpowiedzialny jest Państwowy Monitoring Środowiska.
Ich pracę zapewniają organizacje odpowiedzialne za monitoring, czyli wszystkie urzędy
należące do struktury PMŚ.
Dane ze stacji są publikowane w raportach zamieszczanych na stronach internetowych
Wojewódzkich Inspektoratów Ochrony Środowiska konkretnych województw. Stąd, ręcznie
zostały wpisane do bazy danych systemu PLM.
4.1.2. Serwer bazy danych PLM
Na serwerze bazy danych przechowywane są dane o stacjach pomiarowych oraz pomiarach
na nich wykonanych.
Obiekt POMIAR zawiera dane o poniższych parametrach powietrza:
•
CO[µg/m3] – tlenek węgla,
•
NO[µg/m3] – tlenek azotu,
•
NO2[µg/m3] – dwutlenek azotu,
•
NOx[µg/m3] – mieszanina tlenków azotu,
•
Ozon[µg/m3] – tritlen (jedna z odmian alotropowych tlenu),
•
PM10[µg/m3] - pył zawieszony PM10, czyli drobne cząstki o średnicy ziaren
mniejszej niż 10µm,
•
SO2[µg/m3] – dwutlenek węgla,
•
Kierunek wiatru[°],
•
Prędkość wiatru[m/s].
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
43
Oprócz wartości parametrów, szczegóły pomiaru zawierają też dane pomocnicze, istotne
z punktu widzenia przydatności pomiarów:
•
Data – dzień, którym wykonano pomiary;
•
Godzina pomiaru – godzina, o której wykonano pomiar.
Obiekty STACJI POMIAROWYCH składają się z danych takich jak:
•
lokalizacja,
•
współrzędne geograficzne,
•
otoczenie zewnętrzne (np. tło miejskie, wiejski, produkcyjne…),
•
charakter stacji (stacjonarna czy mobilna),
•
jakiemu województwu podlega,
•
kody krajowe i międzynarodowe stacji.
Na rysunku 12 bazę danych, jak i inne komponenty, celowo przedstawiłam jako osobne części
składowe systemu z tego względu, iż są to podzespoły systemu które mogą być osobno
konfigurowane i rozwijane w zależności od potrzeb w przyszłości.
4.1.3. Serwer obliczeniowy
Ze względu na cel opracowania uniwersalnego i skalowalnego narzędzia serwer obliczeniowy
również stanowi osobny podzespół systemu PLM. Pracują na nim skrypty odpowiedzialne za
obliczenia oraz interakcję z użytkownikiem. Zarówno w tym przypadku, jak i w przypadku
modułu bazodanowego, ważne jest potraktowanie ich jako odrębnych części działających
niezależnie. Takie podejście pozwoli już od samego początku zadbać o skalowalność systemu
na przyszłość.
System pobiera pomiary z trzech najbliższych stacji, interpoluje wartości dla podanej
lokalizacji, a efektem wynikowym jest dokument XML, czyli plik przygotowany do importu
danych do systemów GIS. Dokładnie formatem tego pliku XML jest *.KML ze względu na
wykorzystanie Google Earth w PLM, ale o tym dalej. Algorytmy mogą być dowolne.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
44
Wszystko zależy od konkretnego celu, jakiemu mają służyć dane wynikowe. Mogą to być
działania od najprostszego pobrania danych z bazy do modelowania konkretnych zjawisk.
4.1.4. Interfejs systemu
Interfejsem
systemu
jest
strona
internetowa
dostępna
pod
adresem
http://gamma.fsi.pl/DragonMGR/.
Rys.13.
Interfejs Pollution Level Monitor.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
45
Po wpisaniu adresu do przeglądarki pojawi się witryna Pollution Level Monitor.
Na wejściowej stronie znajduje się wbudowane narzędzie Web Map – Google Maps,
a poniżej formularz. Za pomocą mapy użytkownik podaje interesującą go lokalizację, a do
formularza wpisuje swój adres e-mail, na który zostanie przysłany plik *.KML. W tym pliku
zawarte są interpolowane parametry środowiska charakterystyczne dla lokalizacji, którą
wybrał. Plik *.KML uruchamia się w programie Google Earth.
Po kliknięciu dalej pojawią się wyniki interpolacji w postaci tabeli z wartościami. Każdej
komórce odpowiada interpolowany parametr. Oprócz tego jest podana data, godzina, a także
dokładna lokalizacja użytkownika (rysunek 14,15).
Rys.14.
Wynik działania PLM - tabela z interpolowanymi wartościami parametrów.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
46
Rys.15.
Wynik działania PLM - tabela z interpolowanymi wartościami parametrów
(przybliżenie).
Dlaczego Google Earth?
Google Earth to WebGIS, przedstawiający kulę ziemską jako trójwymiarowy globus, na którą
nakładane są zdjęcia lotnicze oraz różnego rodzaju dane przestrzenne, informacje
geograficzne i turystyczne. Aplikacja występuje w wersji bezpłatnej jak i również płatnych:
Plus i Pro.
Do podstawowych funkcji systemu należą:
nawigacja 3D, pozwalająca na pełną interakcję z globem, dowolne przybliżenie,
oddalanie, możliwości zmiany kąta patrzenia.
wyszukiwanie konkretnych miejsc według nazw, pod warunkiem że dane te są
opracowane i dostępne dla Googla.
wielowarstwowość prezentowanych danych, pomiary odległości między punktami,
obliczanie ścieżek, tworzenie zaznaczeń obszarów
Dane wykorzystywane w Google Earth są te same, co w Google Maps. Oczywiście mowa
tutaj o zdjęciach lotniczych oraz mapach dróg. GE dodatkowo oferuje bardzo dużą ilość
warstw tematycznych, powiększanych z dnia na dzień.
GE spełnia wszystkie wymagania postawione przy budowie Pollution Level Monitor jakie ma
spełniać końcowy system GIS. Jest to WebGIS posiadający o wiele bardziej zaawansowane
funkcje do przetwarzania danych mapowych niż Google Maps, ponieważ pozwala na ich
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
47
analizę. GE Posiada wersje darmową, jest stosunkowo prosty w obsłudze i ogólnodostępny. Z
tych względów PLM korzysta z Web Map jako z lokalizatora użytkownika, a do pracy z
danymi wynikowymi już z Google Earth.
4.2. Budowa systemu
W tym rozdziale opisuję „krok po kroku” budowę systemu PLM. W opisie zawarłam
szczegóły implementacyjne, a także zaprezentowałam obieg danych w systemie.
Jako części składowe do budowy systemu wykorzystałam:
•
Bazę danych MySQL w wersji 5.0.45.
•
System CMS FSite
•
Google Maps
•
Język PHP 5.2.6.
•
Google Earth
Baza danych oraz system zarządzania treścią zostały udostępnione na potrzeby tej pracy
magisterskiej przez firmę FSI – Fabrykę Stron Internetowych. CMS FSite został użyty do
administracji bazą danych, a także do zarządzania treścią na witrynie WWW.
Do interakcji z użytkownikiem wykorzystano narzędzie Web Map - Google Maps, które
umożliwia wprowadzenie do systemu interesującej go lokalizacji.
Za pomocą języka PHP został zaimplementowany systemu CMS Fsite. W nim także są
napisane algorytmy wykonujące obliczenia potrzebne do interpolacji danych pomiarowych
oraz przygotowywany jest mail wysyłany do użytkownika. Poszczególne części witryny są
generowane poprzez skrypty PHP, a wszystkie dokumenty korzystają z jednego,
wcześniej
przygotowanego, pliku CSS.
Google Earth, to program WebGIS, który został wykorzystany do prezentacji danych
wynikowych będących efektem pracy Pollution Level Monitor.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
48
4.2.1 „CMS-FSite”
System CMS FSite jest systemem zarządzania treścią dostarczonym przez firmę FSI. Fabryka
Stron Internetowych Sp. z o. o. udostępniła swój produkt nieodpłatnie, dla potrzeb
prezentowanej pracy dyplomowej. System FSite łączy w sobie zaawansowaną funkcjonalność
i szybkość działania rozbudowanych systemów CMS. Działa on w oparciu o serwer WWW
obsługujący język PHP oraz serwer baz danych MySQL.
Ogólna charakterystyka systemu FSite:
•
Administracja stroną WWW przez przeglądarkę internetową (Internet Explorer,
Firefox)
•
Intuicyjna edycja tekstów i administracja plikami umieszczanymi w serwisie WWW
•
Wymiana danych z innymi aplikacjami
•
Dowolna liczba wersji językowych serwisu
•
Wbudowane w system dokładne statystyki odwiedzalności stron
•
Optymalizacja dla wyszukiwarek, współpraca z Google Sitemaps
•
Newsletter oraz mailing z rozbudowanymi statystykami
•
Hosting na dedykowanych pod system CMS serwerach
FSite jest bardzo rozbudowanym narzędziem, na którym FSI opiera wszystkie swoje
realizacje, poczynając od prostych stron wizytówek, aż do ogólnopolskich portali
informacyjnych i sklepów. System jest stabilny, a jego interfejs należy do intuicyjnych, przez
co budowanie zaawansowanych narzędzi jest stosunkowo łatwe. Produkt ten spełnia
oczekiwania co do pojemności, szybkości obsługi, a także wygody użytkownika
w administrowaniu bazą.
Pollution Level Monitor korzysta z przestrzeni bazodanowej na serwerach FSI oraz
wykorzystuje CMS FSite jako swój system zarządzania treścią.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
49
4.2.2. Dane wykorzystywane przez system
System PLM dysponuje danymi pozyskanymi ze stron internetowych Wojewódzkich
Inspektoratów Ochrony Środowiska. Są to dane o stacjach pomiarowych oraz pomiary
parametrów powietrza na nich wykonanych. Niniejszy rozdział opisuje obieg danych
w systemie PLM.
4.2.2.1.Pozyskiwanie danych
Wszystkie urządzenia pracujące na stacji pomiarowej są wyposażone w modemy, za pomocą
których łączą się z centralnym komputerem. Centralne komputery gromadzą pomiary ze
wszystkich urządzeń na stacji i wysyłają raporty do bazy danych Wojewódzkich
Inspektoratów Ochrony Środowiska. Inspektoraty przetwarzają te dane i gromadzą na swoje
potrzeby, a ponad to są odpowiedzialne za udostępnianie ich w postaci ogólnodostępnych
raportów [WWW WIOŚ Mazowieckie].
Dane wejściowe do systemu PLM pochodzą z raportów opublikowanych na stronach
internetowych Wojewódzkich Inspektoratów Ochrony Środowiska. System PLM nie ma
możliwości dynamicznego importu, a także nie stosuje technik web harvestingu, dlatego
przeniesienie danych wymagało ręcznego przepisywania z tabelek, w których raporty są
zamieszczone na stronach.
Na potrzeby Pollutin Level Monitor aby zasymulować działanie rozwiązania, które system
proponuje, a przede wszystkim aby zaprezentować pomysł, dane zostały ręcznie wpisane do
bazy w takim formacie, w jakim by trafiłyby do niego z ew. importów. Mimo iż system nie
posiada modułu automatycznego zasilania danymi, to baza jest tak zaprojektowana, aby móc
taki moduł w dowolnej chwili uruchomić.
Dane pochodzą z raportów pomiarowych ze stacji z kilku województw: Podkarpackie,
Łódzkie, Kujawsko - Pomorskie, Mazowieckie i Wielkopolskie. O tym ograniczeniu należy
pamiętać przy korzystaniu z systemu. Dane, które zostały przeniesione do PLM, są
wyselekcjonowanymi danymi zamieszczonymi na stronach internetowych wojewódzkich
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
50
inspektoratów. W ten sposób zostały pozyskane: adresy stacji, położenie geograficzne,
informacje o wartościach mierzonych, opis tła terytorialnego i najbliższego otoczenia,
podstawowe informacje o terenach przylegających, kody stacji międzynarodowy i krajowy
oraz typ stacji. Dane pochodzą z 15 lipca 2008 roku.
4.2.2.2. Przechowywanie danych
W Systemie PLM została wykorzystana relacyjna baza danych MySQL w wersji 5.0.45.
Serwer bazodanowy, zarówno jak i panel administracyjny wraz z systemem zarządzania
treścią, został nieodpłatnie dostarczony przez firmę FSI – Fabryka Stron Internetowych Sp.
z o. o.
W tym rozdziale znajdują się opisy tabel bazy danych, a przy nich informacje krytyczne
z punktu widzenia działania systemu PLM. Dokładny opis części składowych obiektów
przechowywanych w bazie danych oraz ich organizacja pozwoli zrozumieć strukturę danych
Pollutin Level Monitora.
4.2.2.3. Organizacja danych w bazie - opis poszczególnych tabel
Baza danych, na której działa System PLM składa się z 29 tabel. Tabele zostały
automatycznie utworzone przez działające skrypty CMS FSite, w momencie tworzenia
nowego serwisu w panelu administracyjnym Fsita.
Rysunek 14 prezentuje spis wszystkich tabel, z których składa się serwis WWW zbudowany
pod CMS „FSite”. Standardowo FSI nie zakłada dostępu użytkownika do bazy danych, ale na
potrzeby napisania tego rozdziału został wgrany na konto FTP program phpMyAdmin, który
służy do zarządzania bazą MySQL.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
51
Rys.16.
Lista tabel w bazie Systemu PLM (Program phpMyAdmin).
Dalej znajduje się opis wszystkich tabel istotnych w działaniu systemu PLM. Kolejność ich
opisu jest zachowana taka, jaka jest widoczna na rysunku 16.
Tabela „Config”
Zawiera ogólne ustawienia bazy. Tutaj znajdują się informacje dotyczące stosowanego
w bazie kodowania oraz inne informacje używane przez wszystkie tabele znajdujące się bazie.
Tabele z prefiksem „Object”
Po tabeli „Config” na liście prezentowanej na rysunku 16 znajdują się tabele z prefiksem
„Object_”. Wszystkie te tabele dotyczą informacji o istniejących obiektach przechowywanych
w systemie. Są to najważniejsze dane przechowywane w bazie z punktu widzenia architektury
Systemu PLM. CMS „Fsite” pozwala tworzyć dowolne rodzaje obiektów poprzez dobieranie
komponentów przystosowanych do przechowywania różnego rodzaju treści i plików, dlatego
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
52
rodzajów obiektów zakładanych w systemie może być wiele. Informacje o obiektach, a także
dane do nich należące gromadzone są w poniższych tabelach. Ze względu na relacyjny model
danych każda tabela zawiera inne dane.
Poniższy spis tabel zawiera opis tylko tych, które są używane w PLM.
1) Objects_Object -
tabela, która przechowuje podstawowe informacje o obiektach
istniejących w bazie. Znajdują się tutaj dane obiektów każdego rodzaju.
Rys.17.
Tabela „Objects_Object” (Program phpMyAdmin).
Do podstawowych informacji o obiektach zaliczane są takie dane jak:
•
ID obiektu, czyli unikatowe ID, które posiada każdy obiekt znajdujący się w bazie
i jest ono w tej tabeli także kluczem podstawowym zwiększanym automatycznie. Typ
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
53
tego pola to „bigint”, czyli big integer, przeznaczający 8 bajtów do zapisania liczb
rzeczywistych.
•
ObjectCategory, czyli kategoria obiektu. Typ tego pola to „bigint”.
W CMS FSite jest możliwość zakładania dowolnego rodzaju obiektów, czyli modeli
danych określających konkretne byty, przechowywane w bazie w sposób
uporządkowany. W momencie tworzenia rodzaju obiektów, informacje o nich są
gromadzone w tabeli o nazwie „Object_ObjectCategory” i każda taka kategoria
posiada
unikatowe
ID.
To
właśnie
ID,
nadane
kategorii
w
tabeli
„Object_ObjectCategory”
identyfikuje
kategorię,
do
której
należy
obiekt
przechowywany w tabeli „Objects_Object”. W Systenie PLM są dwa rodzaje
obiektów: pomiar i stacja.
•
Created - jest to data i godzina utworzenia obiektu w bazie. Pole jest uzupełniane
tylko raz w momencie tworzenia obiektu i nie podlega zmianie przez panel
administracyjny. Typ tego pola to „datetime”, czyli jeden z formatów do
przechowywania dat.
•
Modified - jest to cecha obiektu, która przechowuje datę i godzinę ostatniej
modyfikacji obiektu. Data ta jest aktualizowana za każdym razem, kiedy użytkownik
systemu aktualizuje dane o tym obiekcie przez panel administracyjny i wykonuje
polecenie zapisu dokonanych zmian. Typ tego pola to „datetime”.
•
Options – jest to wartość sumy binarnej, która określa dodatkowe własności obiektu
typu: widoczność i aktywność używanych jako pomocnicze flagi stawiane obiektom.
Typ tego pola to „int”, czyli integer, z języka angielskiego to liczba rzeczywista. Typ
ten przeznacza 4 bajty na przechowanie liczby.
•
Identity – jest to pole zawierające identyfikator tekstowy danego obiektu. Jest to
wartość nadawana unikatowo i każdy obiekt może być po niej zidentyfikowany
alternatywnie do identyfikacji po ID. Typ tego pola to „varchar(64)”. Wartość pola
domyślnie nie jest wymagana, ale to zależy od implementowanych mechanizmów
pracujących na bazie. Np. w PLM jest to pole krytyczne i wymagane.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
54
2) Object_Objeck2Language – tabela, która łączy obiekty z numerami języków. Każdy język
skonfigurowany w systemie również posiada swoje ID i jest przechowywany w osobnej
tabeli. Jeżeli witryna jest wielojęzyczna, to ten sam obiekt może istnieć we wszystkich
językach równocześnie. System PLM posiada tylko wersję polską, dlatego w tej tabeli
wszystkim rekordom w kolumnie „Language” odpowiada wartość 1. (patrz rysunek 18)
Rys.18.
Tabela „Object_Objeck2Language” (Program phpMyAdmin).
Pola tabeli „Object_Object2Language”:
•
Object - pole zawierające ID obiektu. Typ pola to bigint(20).
•
Language - pole zawierające ID języka. Typ pola to bigint(20).
•
Name – pole zawierające nazwę obiektu. Typ pola to varchar(255).
3) Object_Object2PropertyValue – tabela, w której są przechowywane wartości
poszczególnych cech obiektu. Tutaj znajdą się cechy, których wartości zostały uzupełnione
podczas tworzenia danego obiektu, np. wartości pomiarów konkretnych parametrów
zanieczyszczenia, współrzędne położenia geograficznego i inne pola odpowiadające
uzupełnionym cechom dla istniejących w bazie obiektów. Wartości tych cech są powiązane
z ID obiektu, do którego należą.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
55
Widok tej tabeli nie może być opublikowany ze względu na chronioną jej zawartość przez
firmę FSI Sp. z o.o.
4) Objects_ObjectCategory – zawiera informacje o istniejących rodzajach obiektów. Każdy
rodzaj posiada swoje unikatowe ID. ID nadane w tej tabeli wykorzystywane jest do
grupowania obiektów w wyżej opisanej tabeli „Objects_Object”. Poniżej, na rysunku 19 jest
pokazany widok „Objects_ObjectCategory” z programu phpMyAdmin.
Rys.19.
Tabela „Objects_ObjectCategory” (Program phpMyAdmin).
Pola tabeli „Objects_ObjectCategory”:
•
ID – automatycznie inkrementowana wartość pola. Typ pola to bigint(20).
•
RootPropertiesGroup – identyfikator nadrzędnej grupy cech. Grupą cech może być
zbiór cech jednego rodzaju obiektu lub jednego rodzaju działów. Możliwość tworzenia
rozbudowanej
struktury
cech
obiektów,
to
jedna
z
charakterystycznych
funkcjonalności CSM „FSite”, która go wyróżnia. Typ pola to bigint(20).
•
Name - nazwa kategorii obiektu. Typ pola to varchar(64).
Tabele z prefiksem „Site_”
Kolejną grupą są tabele z prefiksem „Site_”, odpowiedzialne za konfigurację struktury
działów oraz języków serwisu zakładanego w CMS „FSite”. Zawierają informacje o cechach
działów, o skonfigurowanych językach, a także relacje między obiektami a działami
w przypadku wykorzystywania możliwości dopisywania do działów. Dopisywanie do działów
funkcjonuje na zasadzie sortowania obiektów, które mają się pojawiać na konkretnych
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
56
podstronach serwisu. System PLM nie wykorzystuje tych możliwości „FSite”, dlatego nie jest
konieczne dokładne opisywanie tych tabel.
Tabele z prefiksem „Stat”
Ostatnią grupą tabel są tabele z prefiksem „Stat_” i zawierają dane statystyczne
o odwiedzinach na stronie. System PLM nie prowadzi statystyk odwiedzin, dlatego te tabele
też nie zostały opisane.
Powyżej została przedstawiona architektura typowo relacyjnej bazy danych, na której został
oparty mechanizm działania Pollution Level Monitor. Mimo to, że sam CMS jest napisany
w PHP obiektowym i „FSite” zmusza do obiektowego myślenia, to patrząc tylko na strukturę
bazy jest to relacyjna baza danych.
Pracując na bazie danych jednak nie pracujemy na niej bezpośrednio. Prace konfiguracyjne,
a także dostęp do danych możliwe są do przeprowadzenia przez panel CMS „FSite”. Nieco
inaczej dane te prezentują się w panelu administracyjnym. Łatwiej jest zorientować się
o przynależności cech do swoich obiektów, a obiektów do działów. Działanie panelu
administracyjnego CSM FSite jest opisane w następnym podrozdziale.
4.2.2.4. Panel administracyjny CMS FSite
Pracując na systemie CMS FSite pozostaje dla nas transparentna ilość tabel, które
w rzeczywistości są w bazie danych, a dane o obiektach i działach sprawiają wrażenie jakby
były przechowywane w osobnych tabelach. Dzięki dopasowaniu identyfikatorów FSite łączy
ze sobą odpowiednie dane przechowywane w różnych tabelach i przedstawia je w postaci
logicznego podziału na konkretne rodzaje. Dzięki temu bez trudu można korzystać
z informacji o obiektach oraz działach nie zagłębiając się w rzeczywistą strukturę bazy.
Główne menu dostępnych opcji znajduje się na górze ekranu i wygląda tak jak to jest
pokazane na rysunku 20.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
57
Rys.20.
Główne menu panelu CMS FSite.
Wszystkie ustawienia, o których pisałam w poprzednich rozdziałach opisując architekturę
bazy są wykonalne z poziomu panelu administracyjnego, przez co ich wykonanie nie należy
do czynności trudnych ani czasochłonnych. Do tych ustawień należą: konfiguracje języków
i krajów, konfiguracja tekstów wielojęzycznych, rodzaje działów oraz struktura.
Na potrzeby Systemu PLM został skonfigurowany tylko jeden rodzaj działów o nazwie „txt”
i dysponuje takimi cechami jak: treść i plik. (Patrz rysunek 21). Założone działy tekstowe są
widoczne na pasku górnego menu na stronie WWW Pollution Level Monitor
(
http://gamma.fsi.pl/DragonMGR
).
Rys.21.
Lista cech działów rodzaju „txt” (Panel administracyjny CMS FSite).
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
58
Taki zestaw cech pozwala na edytowanie treści tekstowych na wszystkich podstronach,
a także wgrywanie dodatkowych plików na serwer w celu wykorzystania ich w konkretnym
dziale. To mogłyby być dodatkowe grafiki do zamieszczenia śródtekstowo w treści, materiały
do pobrania lub inne pliki.
Kolejną dostępną opcją jest wyświetlenie struktury, czyli hierarchii działów utworzonych
w serwisie. Drzewko podstron można edytować dowolnie, dodając nowe poddziały, działy
nadrzędne itd. Strukturę serwisu PLM ilustruje rysunek 22.
Rys.22.
Struktura serwisu Systemu PLM (Panel administracyjny CMS FSite).
Następnie, idąc dalej w dół po liście górnego menu FSita jest zakładka „Rodzaje obiektów”.
Po wyborze tej opcji będą widoczne wszystkie typy obiektów skonfigurowane na potrzeby
systemu. Aby zasięgnąć szczegółowych informacji, należy kliknąć w wybrany typ i otworzy
się karta szczegółów danego rodzaju obiektu. Do informacji szczegółowych o obiektach
należą, przede wszystkim, zbiory założonych pod nie cech (patrz rysunek 23 i 24).
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
59
Rys.23.
Lista cech obiektu „Pomiar” (Panel administracyjny FSite).
Rys.24.
Lista cech obiektu „Stacja” (Panel administracyjny FSite).
Pozostały jeszcze dwie opcje do wyboru z listy: „Pomiary” i „Stacje”. Wybierając którąś
z nich wyświetli się lista z odfiltrowanymi rekordami z tabeli „Object_Object”, według
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
60
numerów kategorii obiektów. Wybierając „Pomiary” wyświetlą się wszystkie pomiary
zgromadzone w bazie. Analogicznie stanie się w przypadku „Stacji”.
Po wybraniu z górnego menu któregoś rodzaju obiektu widok listy będzie taki, jaki jest
pokazany na rysunkach 25 i 26. Na liście są zebrane informacje podstawowe o obiektach,
czyli: nazwa, identyfikator, widoczność, aktywność i ID obiektu.
Rys.25.
Lista obiektów rodzaju „Pomiary” (Panel administracyjny FSite).
Rys.26.
Lista obiektów rodzaju „Stacje”. (Panel administracyjny FSite).
Każdy obiekt posiada dane szczegółowe umieszczone w cechach. Cechy, czyli atrybuty
obiektów wraz z ich wartościami są widoczne po „wejściu” do danego obiektu. To ilustrują
rysunki 27 oraz 28.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
61
Rys.27.
Dane szczegółowe obiektu typu „Pomiar” (Panel administracyjny FSite).
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
62
Rys.28.
Dane szczegółowe obiektu typu „Stacja” (Panel administracyjny FSite).
4.2.2.5. Relacja „pomiar-stacja”. Szczegóły dotycz
ą
ce cech obiektów
Pozostało omówić dokładnie cechy obiektów pomiar i stacja oraz przyjrzeć się, w jaki sposób
te obiekty są ze sobą powiązane. Ten rozdział opisuje każdą cechę obiektów osobno
i wyjaśnia do czego są one potrzebne z punktu widzenia działania Pollution Level Monitora.
Obiekt „Pomiar”
•
ID – identyfikator obiektu, liczba zwiększająca się automatycznie w miarę dodawania
nowych rekordów;
•
Name – nazwa obiektu;
•
Identity – jest to unikatowa nazwa obiektu. Dla wygody wpisywałam takie same
wartości jak w polu Name;
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
63
Aby automatycznie tworzyć unikatowe identyfikatory napisałam funkcję, która buduje
łańcuchy tekstowe w formacie: data/godzina/kod_krajowy_stacji. Funkcja jest
zaimplementowana w skryptach PHP.
Format ten jest czytelny dla administratora bazy danych, ale przede wszystkim
uniemożliwia powstanie powtórzeń. Próbkowanie powietrza jest wykonywane jeden
raz w ciągu godziny na każdej stacji, dlatego połączenie takich danych gwarantuje
unikatowe nazwy dla każdego pomiaru w bazie.
Przykładem takiej nazwy jest:
16-07-2008/23:00/KpBydgBlota – określa nazwę pomiaru wykonanego 16 lipca
o godzinie 23:00 na stacji pomiarowej o kodzie krajowym KpBydgBlota.
•
Data, Godzina – czas, którym zostały pomierzone parametry powietrza;
•
CO2,NO,NO2,NOx,Ozon,SO2,PM10,Kierunek,Prędkość
–
wartości
liczbowe
pomierzonych parametrów;
•
Stacja – to klucz obcy, identyfikator stacji, na której został ten pomiar wykonany.
Obiekt „Stacja”
•
ID – identyfikator obiektu, liczba zwiększająca się automatycznie w miarę dodawania
nowych obiektów;
•
Name – nazwa obiektu;
•
Identity – jest to unikatowa nazwa obiektu. Tutaj wykorzystuję krajowy kod stacji.
•
Międzynarodowy kod stacji, Krajowy kod stacji – dane pozyskane z opisów stacji
pomiarowych, zamieszczonych na stronach internetowych Wojewódzkich Instytutów
Ochrony Środowiska. Są to unikatowe identyfikatory nadawane stacjom na terenie
Polski. Nazwy te najczęściej składają się z pierwszych liter nazw województw,
pierwszych liter miejscowości i pierwszych liter bądź skrótów ulic, przy których są
zlokalizowane. Np. KpBydgBlota – gdzie:
o
Kp – województwo kujawsko-pomorskie
o
Bydg – miasto Bydgoszcz
o
Blota – dzielnica lub ulica, na której jest ustawiona stacja.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
64
W przypadku nazewnictwa stacji mobilnych do nazwy najczęściej jest jeszcze
dołączany numer oraz kod „Mob”, od „mobilna”.
•
Typ stacji –typy stacji zależą od tego, w jakich warunkach dokonują pomiarów.
Warunki te określa rodzaj zabudowy lub uprzemysłowienie terenu. Typy najczęściej
spotykane to: miejski, wiejski, przemysłowy, lub nieokreślony dla stacji mobilnych;
•
Adres, województwo – dane tekstowe;
•
Długość, Szerokość - współrzędne położenia geograficznego pozyskane z informacji
o stacjach ze stron WWW WIOŚ. W bazie są przechowywane w formacie tekstowym
ze spacjami, bez dodatkowych znaków minut i sekund, po to, aby skrypt, który
przygotowuje plik importu dla Google Earth mógł przeliczyć to na jednostki, którymi
się posługuje GE.
Relacja między obiektami typu „Pomiar”, a obiektami typu „Stacja” jest relacją typu „wiele
do jeden”. Polami wiążącymi te dane są identyfikatory stacji pomiarowych, wpisywane do
pola „Stacja” w obiekcie „Pomiar”(patrz rysunek 29).
Rys.29.
Relacja między obiektami typu „Pomiar”, a obiektami typu „Stacja”.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
65
4.2.3. Interpolacja parametrów powietrza
Podstawowym zadaniem systemu jest oszacowanie parametrów powietrza w dowolnym,
wskazanym przez użytkownika punkcie. Do określenia tych wartości wykorzystywane są
punktowe pomiary ze
stacji WIOŚ z kilku województw.
Ten rozdział opisuje obliczenia zastosowane w Systemie PLM do interpolacji parametrów
zanieczyszczenie środowiska. Znajduje się tutaj także opis metody interpolacji zastosowanej
w Systemie PLM.
Korzystając z Pollution Level Monitora, użytkownik wybiera interesującą go lokalizację.
Robi to za pomocą wbudowanego narzędzia Google Maps. Kliknięciem w punkt na mapie
zostają wprowadzone dane położenia geograficznego do formularza. Oprócz podania
współrzędnych, użytkownik wprowadza swój adres e-mail, a następnie musi przycisnąć
przycisk „dalej”.
Kolejne kroki działania PLM:
•
System otrzymuje położenie geograficzne użytkownika;
•
Znajduje 3 najbliżej usytuowane stacje pomiarowe;
•
Pobiera pomiary parametrów powietrza wykonane w bieżącej godzinie;
•
Interpoluje wartości każdego parametru metodą odwrotnych odległości;
•
Wysyła do użytkownika e-mail z tabelką, w której są interpolowane parametry
powietrza charakterystyczne dla jego lokalizacji, a także załączony plik KML. Plik ten
zawiera dane o położeniu użytkownika, trzech najbliższych stacjach oraz wartości
poszczególnych parametrów pomierzonych na tych konkretnych stacjach.
4.2.3.1. Dane do interpolacji
Wszystkie obiekty stacji pomiarowych, znajdujące się w bazie danych, posiadają cechy
położenia geograficznego przeniesione w takiej samej formie, w jakiej były udostępnione na
stronach internetowych WIOŚ. Dane te były przedstawione w formacie „stopnie, minuty,
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
66
sekundy dziesiętne”, czyli np. 52° 12' 12''. Google Earth korzysta z notacji „stopnie
dziesiętne”, dlatego potrzebna była konwersja współrzędnych. Przy zapisywaniu
współrzędnych do bazy pozbawiłam je wszystkich znaków specjalnych, a zamiast nich
użyłam spacji, dodatkowo, jeżeli współrzędna miała postać krótszą od zapisu „stopnie,
minuty, sekundy”, to brakujące miejsca uzupełniałam zerami, np. 52 00 00.
Podczas działania algorytm tworzy tablicę $odleglosci, w której zapisuje odległości punktu
położenia użytkownika od wszystkich stacji znajdujących się w bazie. Następnie tablica ta
jest sortowana od najmniejszej wartości do największej. Trzy pierwsze elementy tablicy, to są
właśnie najbliższe stacje pomiarowe, z których wyniki są brane pod uwagę. Krok ten ilustruje
fragment kodu źródłowego pokazanego na rysunku 30.
Rys.30.
Tworzenie podręcznej tablicy $odległości.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
67
Współrzędne pobierane z bazy w tej pętli (rysunek 30) na bieżąco są przeliczane na formaty
GE za pomocą funkcji Przelicz();, która jako parametr otrzymuje zmienną $coordinate
(rysunek 31). Zmienna $coordinate otrzymuje rekord pobrany wcześniej z bazy.
Rys.31.
Funkcja Przelicz().
4.2.3.2. Pobieranie pomiarów
W poprzednim kroku zostały znalezione trzy najbliższe stacje pomiarowe. W tym kroku
system pobiera z bazy danych wykonane na tych stacjach pomiary z bieżącej godziny.
Do bazy kierowane jest odpowiednie zapytanie, a następnie są tworzone osobne tablice dla
każdego mierzonego parametru. Kluczem do tych tablic są ID stacji pomiarowych skąd te
pomiary pochodzą. Dzięki temu, efektem końcowym działania tej części algorytmu są tablice
o takiej postaci:
$CO[49] = 251,89
$NOx[49] = 22,18
$CO[21] = 234,67
$NOx[21] = 6,19
$CO[37] = 260,21
$NOx[37] = 13,67
Np.: $CO[49] = 251,89, co oznacza, że na stacji o ID=49 wartość CO wynosiła 251,89.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
68
4.2.3.3. Interpolacja
Zadanie interpolacji możemy sformułować następująco:
W przedziale [a,b] mamy danych n+1 różnych punktów x
0
,x
1
,...,x
n
(węzły interpolacji) oraz
wartości funkcji y=f(x) w tych punktach f(x
0
)=y
0
,f(x
1
)=y
1
,...,f(x
n
)=y
n
. Znaleźć funkcję F(x),
która w węzłach interpolacji ma te same wartości co f(x) i przybliża f(x) w punktach [Orkisz,
2005].
Metoda odwrotnych odległo
ś
ci
W systemie PLM interpolacja jest wykonywana metodą odwrotnych odległości. Metoda ta
opiera się na założeniu, że wpływ obserwacji w punkcie pomiarowym na dowolny punkt jest
odwrotnie proporcjonalny do odległości dzielącej dany punkt obliczeniowy od stacji
pomiarowej. Odległość jest współczynnikiem wagowym wpływu poszczególnych stacji
pomiarowych na wartość rozkładanego przestrzennie parametru. Im bardziej punkt
pomiarowy jest oddalony od punktu obliczeniowego, tym bardziej jego wpływ maleje
[http://www.iigw.pl].
Wzory na obliczenie wartości średniej parametru dla podanej lokalizacji:
Pi – wielkość parametru pomierzona na i-tym posterunku pomiarowym;
wi – waga i-tego posterunku pomiarowego;
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
69
WAG – miara wag odległości stacji pomiarowych;
Li – odległość i-itego posterunku od miejsca położenia użytkownika;
[http://www.iigw.pl]
Na początku algorytm oblicza wartość WAG. Dokonuje tego sumując wartości z tablicy
$odleglości, dla trzech pierwszych elementów, już po jej posortowaniu. Następnie dla
każdego posterunku są obliczane wagi za pomocą funkcji Licz_wage_stacji($L,$WAG), która
otrzymuje pod zmienna $L odległość stacji od punktu położenia użytkownika i wcześniej
wyliczoną zmienną $WAG (rysunek 32).
Rys.32.
Funkcja Licz_wage_stacji().
Wagi stacji są przechowywane w tablicy $w, w której kluczami są ID stacji, tak samo jak
w przypadku tablicy $odległosci i tablic wszystkich parametrów. Zapamiętanie danych w tak
przygotowanych tablicach umożliwia wykonanie ostatniego kroku w pętli, która jest pokazana
na rysunku 33.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
70
Rys.33.
Interpolacja metodą odwrotnych odległości w pętli foreach.
W kodzie pokazanym na powyższym rysunku na początku są ustawiane wartości średnie
wszystkich parametrów na zero w celu umożliwienia późniejszego wykorzystania tych
zmiennych w pętli bez wygenerowania błędu PHP. Pętla foreach, którą tutaj zaprezentowano
wykorzystuje wspólne klucze we wszystkich tabelach pomocniczych i w każdym kroku dla
wszystkich parametrów jednocześnie wykonuje przemnażanie wag przez wartość parametru
pomierzonego na danej stacji, a następnie dodaje ten wynik do wcześniej zapamiętanej
wartości średniej parametru.
Po zakończeniu działania tej pętli pod zmiennymi $CO_sr, $NO_sr, $NO2_sr, $Nox_sr,
$Ozon_sr, $PM10_sr, $SO2_sr, $Kierunek_sr, $V_sr przechowywane są wartości średnie
pochodzące z interpolacji parametrów metodą odwrotnych odległości.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
71
4.2.4. Interfejs u
ż
ytkownika
Witrynę WWW możemy traktować jako przykład interfejsu użytkownika. Wchodząc na
stronę domyślnie zostanie wywołana ta, na której mieści się formularz. Użytkownik w celu
skorzystania z Pollution Level Monitor musi podać swoją lokalizację używając
wbudowanego narzędzia Web Map - Google Maps oraz wpisać swój adres e-mail.
Interpolacja zostanie wykonana po naciśnięciu „dalej”.
4.2.4.1. Narz
ę
dzie Google Maps
Mapa wykorzystana w systemie PLM, jest zewnętrznym narzędziem firmy Google. Obsługa
jej jest bardzo prosta. Przesuwając mapę, znajdujemy na niej dowolny punkt. W celu
przybliżania lub oddalania korzystamy ze scrolla na myszy lub robimy to za pomocą
kontrolek zamieszczonych na mapie. Dla jeszcze dokładniejszego rozpoznania swojej
lokalizacji można uruchomić funkcję podglądu satelitarnego, wciskając na panelu mapy
przycisk „Satelita” (patrz rysunek 34). Przy każdym kliknięciu w mapę ustawiany jest
znacznik, a jego współrzędne automatycznie wpisywane są do formularza.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
72
Rys.34.
Kontrolki do sterowania widokiem w Google Maps.
Do osadzenia mapy w witrynie Systemu PLM została wykorzystana funkcja load() napisana
w języku JavaScript. Do obsługi zdarzenia „click” użyto funkcji addListener() ze zbioru
funkcji Gevent, należących do Google Maps API (patrz rysunek 35). „Zdarzenie click”, to
reakcja, która następuje po kliknięciu na mapę, czyli pojawienie się współrzędnych położenia
geograficznego w odpowiednich polach formularza.
Aby móc skorzystać na stronie z tego narzędzia firmy Gogle, należało wygenerować API
Key. Aby to zrobić należy zapoznać się z wymogami Google i zaakceptować warunki przy
rejestracji. Klucz otrzymuje się dla konkretnej domeny lub podkatalogu na serwerze. Po
wygenerowaniu tego klucza należy we wszystkich dokumentach, gdzie ma być wykorzystana
mapa dodać wpis w nagłówku strony, który jest pokazany na rysunku 35.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
73
Rys.35.
Google Maps API Key wklejany do nagłówka pliku HTML.
Podany tutaj API Key został wygenerowany dla ścieżki
http://gamma.fsi.pl/DragonMGR/
i tylko pliki z tej lokalizacji mogą korzystać z narzędzi Google Maps z takim kluczem.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
74
Rys.36.
Funkcje do osadzenia Google Maps na stronie prywatnej stronie WWW.
W
deklaracji
body
musimy
dodać
inicjację
mapy:
<body
onload=”load()”
onunload=”GUnload()”>. Funkcja load() (patrz rysunek 36) jest wywoływana w momencie
ładowania się strony. To obsługuje zdarzenie „onload” znacznika <body>. W momencie
ładowania mapy odnajdywany jest węzeł o id „map”, do którego jest następnie ta mapka jest
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
75
osadzana. To jest „kontener” (nomenklatura JavaScript) o wielkości 600px na 500px, węzeł,
do którego wgrywana jest mapa (patrz rysunek 37).
Rys.37.
Kontener do osadzenia mapy na stronie WWW.
4.2.4.2. Formatowanie maila do u
ż
ytkownika
Po uzupełnieniu formularza na stronie i przyciśnięciu „dalej” na ekranie pokazuje się tabelka
z interpolowanymi danymi dla podanej lokalizacji przez użytkownika. Pojawienie się tego
komunikatu oznacza także, że pod podany przez użytkownika adres został wysłany mail
z taką samą tabelką oraz plikiem *.KLM.
Skrypt przygotowujący treść maila jest uruchamiany po interpolacji parametrów. Na początku
formatuje tabelę HTML z wynikami, a następnie tworzy plik KML, który wysyła
w załączniku. W pliku KML są zebrane wszystkie dane do wyświetlenia w GIS i składa się on
z poniżej przedstawionych elementów:
1. Punkt, który użytkownik podał jako lokalizację (rysunek 38).
Rys.38.
Przykład kodu pliku KML. Ustawianie znacznika punktu.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
76
2. Linie łączące trzy najbliższe stacje pomiarowe z podaną lokalizacją po to, aby było widać
skąd pochodzą dane i jakie to są odległości (rysunek 37). Linie są generowane w pętli dla
każdej stacji, która była brana pod uwagę podczas interpolacji.
Rys.39.
Przykład kodu pliku KML. Rysowanie linii.
3. W punktach, w których znajdują się stacje są także do nich dodane opisy, które tworzy
pętla w kodzie pokazanym na rysunku 40.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
77
Rys.40.
Przykład kodu pliku KML. Tworzenie punktu z opisem.
Wszystkie wyżej opisane komponenty są przygotowywane przez skrypt tak, aby stanowiły
jedną logiczną całość dla interpretera programu Google Earth, dlatego znajdują się
w znaczniku <Folder></Folder>. W ten sposób ograniczany konkretny zbiór danych.
Folder dodatkowo zawarty jest w znaczniku <Document></Document>, wymaganym
w składni plik KLM (rysunek 41). W obrębie jednego dokumentu może znajdować się kilka
folderów. W przeglądarce GE są one wtedy widoczne jako osobne porcje danych.
Rys.41.
Przykład kodu pliku KML. Struktura pliku.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
78
4.2.5. Import pliku KML do programu Google Earth
Aby uruchomić plik KML nadesłany do użytkownika mailem należy mieć zainstalowaną
aplikację Google Earth oraz aktywne łącze internetowe. Wystarczy otworzyć plik i dane,
które on zawiera
pokażą się na mapie. Lokalizację wybraną przez użytkownika symbolizuje
ż
ółta przypinka, a od niej odchodzą linie łączące stacje pomiarowe, z których dane
o wartościach parametrów powietrza były brane pod uwagę (rysunek 42).
Po lewej stronie okna interfejsu GE (patrz rysunek 43) znajduje się okienko z widokiem
przeglądanych przez nas plików. Sterowanie widokiem jest możliwe za pomocą odznaczania
i zaznaczania tych plików, załadowanych wcześniej do programu. Naciskając na „plus” obok
nazwy pliku, rozwija się lista folderów, a następnie klikając przy nazwie folderu rozwija się
lista elementów w nim zawartych. Klikając w nazwy tych elementów zaświetlamy opisy na
mapie.
Rys.42.
Przykład widoku pliku wynikowego otwartego w programie Google Earth.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
79
Rys.43.
Google Earth. Widok okna programu.
Widok mapy można dostosować do własnych potrzeb oraz wygody korzystając z licznych
wbudowanych funkcji służących do tego np. włączanie siatki, dostosowywanie okien mapy,
włączanie okien podręcznych, zoom itd.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
80
5. Podsumowanie
Udostępnianie danych o zanieczyszczeniach środowiska to jedno z podstawowych zadań
Programu Państwowego Monitoringu Środowiska. Na dzień dzisiejszy szeroki dostęp do
takich danych mają tylko instytucje ściśle związane z ochroną środowiska. Z punktu widzenia
zwykłego użytkownika nie istnieje narzędzie, które by pomagało takie informacje pozyskać
i przedstawić w zrozumiałej dla przeciętnego człowieka formie.
System PLM – Pollution Level Monitor przedstawia dane o parametrach środowiska
w czytelny i zrozumiały sposób. Dostarcza informacji o wartościach zanieczyszczeń w
dowolnej lokalizacji, którą wskaże użytkownik, bez konieczności wykonywania
specjalistycznych obliczeń.
System PLM rozwiązuje problem, z którym zetknęłam się jako zwykły użytkownik sieci -
dostępność do danych o stanie zanieczyszczenia środowiska. Informacje dostępne w sieci to
raporty godzinowe, dzienne, tygodniowe lub miesięczne zamieszczone w postaci tabelek na
stronach
internetowych
Wojewódzkich
Inspektoratach
Ochrony
Ś
rodowiska.
Zanieczyszczenia jednak nie poddają się podziałom administracyjnym i w celu wyciągnięcia
wniosków potrzebne są dane, które podają informacje o zanieczyszczeniach mających wpływ
na obszar, w którym użytkownik tego potrzebuje.
U podstaw idei leży informowanie na bieżąco o stanie środowiska dowolnego użytkownika
bazując na interakcji z nim. Pomysłów na wykorzystanie może być jednak wiele. System
PLM może być komponentem systemów bardziej rozbudowanych, gdzie odpytanie mogłoby
być realizowane bez interakcji z użytkownikiem, ale może też się rozwijać autonomicznie.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
81
Jednym z ciekawszych pomysłów na zastosowanie Systemu PLM jest wykorzystanie go do
generowania plansz poglądowych w celu przeprowadzania analiz. Graficzne przedstawienie
wartości jest najskuteczniejszym podejściem do zagadnienia analizy zjawisk.
Zestaw narzędzi wykorzystanych do budowy systemu PLM jest zbiorem ogólnodostępnych
i darmowych narzędzi. Jest to punkt przecięcia się wielu technologii informatycznych, które
dzisiaj już są powszechnie znane i wykorzystywane w różnych dziedzinach, jednak ich
połączenia dają o wiele większe pola możliwości. Budując rzeczywisty system dedykowany,
narzędzia te mogą być dowolnie zastępowane bardziej zaawansowanymi i profesjonalnymi
z dziedziny inżynierii środowiska.
Punkty w systemie, które można rozwijać i usprawniać:
•
Sposób, w jaki dane trafiają do systemu.
W systemie PLM zostało przyjęte założenie, że dane o wartościach pomierzonych
parametrów zostały wcześniej wpisane do bazy. Ten proces można zautomatyzować,
aby systemy sterowania stacjami pomiarowymi przekazywały wyniki pomiarów
bezpośrednio do systemu PLM. Wówczas znacznie przyśpiesza się proces aktualizacji
danych w bazie.
Problem automatyzacji procesu pobierania danych można rozwiązać conajmniej na
dwa sposoby. Jeden, to bezpośrednia integracja Systemu PLM z systemem
gromadzenia danych na stacjach pomiarowych na zasadzie regularnych eksportów
i importów raportów. Drugi, to web harvesting, nie wymagający integracji, a co za
tym idzie, zapisu w ustawach o rozpowszechnianiu takich danych. Tego typu
rozwiązania istnieją i zostały opisane [Kasiński, 2007].
•
Pobranie danych o lokalizacji.
Na razie użytkownik podaje ją ręcznie wyszukując na mapie i klikając w odpowiedni
punkt. Podążając za rozwojem przenośnych urządzeń można zrobić dynamiczną
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
82
lokalizację urządzenia, oraz automatyczne podanie danych geolokalizacyjnych
użytkownika do systemu za pomogą GPS.
•
Dane pochodzące z raportów dziennych.
To jest celowe ograniczenie systemu wynikające z założenia zbudowania systemu
opartego na ogólnodostępnych danych oraz narzędziach, a w raportach ze stron WIOŚ
tylko takie raporty są opublikowane. Można dodać możliwości wykorzystywania
raportów rocznych, miesięcznych i tygodniowych, jeżeli będzie do nich dostęp.
•
Pomiary, które są przechowywane w bazie danych PLM są pomiarami godzinowymi.
Wynika to z rodzaju danych udostępnionych na stronach internetowych wojewódzkich
WIOŚ. To założenie można zmienić.
•
Stosowany algorytm do interpolacji.
Zastosowana do interpolacji metoda odwrotnych odległości miała posłużyć jedynie
jako przykład. Jej miejsce mogą zająć bardziej złożone algorytmy. Unowocześnienia
i dopracowywanie nowych algorytmów, dopisywanie nowych funkcjonalności do
modelowania rozprzestrzeniania się zanieczyszczeń to zabiegi wskazane do rozwoju
systemu.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
83
6. Wnioski
Na dzień dzisiejszy zwykły użytkownik sieci nie ma łatwego dostępu do danych o stanie
ś
rodowiska. Jedynie ma możliwość przeglądania raportów opublikowanych na stronach
internetowych Wojewódzkich Inspektoratów Ochrony Środowiska. Dane podane w tej postaci
są dla przeciętnego człowieka niezrozumiałe.
Do analizy kondycji środowiska nie mogą istnieć sztuczne podziały, tzn. danych zebranych ze
stacji pomiarowych nie możemy rozpatrywać w odniesieniu do krajowych podziałów
administracyjnych, a w taki sposób niestety są one udostępniane publicznie.
Program Państwowego Monitoringu Środowiska zakłada szerzenie wiedzy o stanie
ś
rodowiska. Obecnie do tych danych mają dostęp tylko pracownicy ochrony środowiska.
Możliwości poszerzania programów oraz rozwoju polityki ochrony środowiska leżą jednak
w jak najszerszej publikacji tych danych, w rozpowszechnianiu ich i przekazywaniu do
użytku publicznego. Im bardziej wzrośnie poziom wiedzy ludzi na temat emisji
zanieczyszczeń w ich pobliżu, tym bardziej zdopinguje ich to do działań, które będę miały na
celu ochronę środowiska.
Zbudowanie funkcjonalnego systemu usprawniającego pozyskiwanie oraz interpretację
danych o stanie środowiska - to umiejętne połączenie wybranych technologii
informatycznych.
Koszt stworzenia pomocniczych systemów typu PLM jest niewielki. Istnieje wiele narzędzi
darmowych i łatwych do zaimplementowania. Narzędzia typu Google Maps i Google Earth
można wykorzystać jako składowe bardziej funkcjonalnie zaawansowanych systemów niż
Pollution Level Monitor.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
84
System PLM charakteryzuje się skalowalnością oraz dużymi możliwościami rozwoju, dzięki
zastosowaniu CMS FSite, ale to nie jedyny CMS, który można zastosować. W sieci
dostępnych jest kilka o podobnych możliwościach, np. TYPO3, Mambo, Joomla.
Pollution Level Monitor to przede wszystkim model dydaktyczny, którego pierwszorzędnym
celem jest pokazanie, że brakuje takiego systemu, nie jest on trudny do zrealizowania, a na
pewno byłby pomocny.
Anna Bielutin
Praca Magisterska
Pollution Level Monitor – interaktywna wizualizacja parametrów środowiska
z wykorzystaniem Google Maps i Google Earth
85
7. Spis ilustracji
Rys.1.
Technologie i standardy wykorzystane w systemie PLM............................................ 9
Rys.2.
Przykład hierarchicznej bazy danych......................................................................... 12
Rys.3.
Przykład dokumentu XHTML. .................................................................................. 22
Rys.4.
Przykład kodu wynikowego po zastosowaniu InnerHTML....................................... 23
Rys.5.
Przykład zagnieżdżenia w HTML kodów języków PHP i SQL. ............................... 27
Rys.6.
Przykład dokumentu XML......................................................................................... 29
Rys.7.
Przykład nagłówka KML. .......................................................................................... 31
Rys.8.
Struktura Państwowego Monitoringu Środowiska [WWW WIOŚ Mazowieckie].... 35
Rys.9.
Struktura Państwowego Monitoringu Środowiska. Instytucje [WWW WIOŚ
Mazowieckie]. .......................................................................................................................... 37
Rys.10.
Stacjonarna stacja monitoringu powietrza w Trzebini .......................................... 40
Rys.11.
Aparatura pomiarowa wykorzystywana w stacjach monitoringu ......................... 40
Rys.12.
Schemat działania systemu PLM........................................................................... 41
Rys.13.
Interfejs Pollution Level Monitor.......................................................................... 44
Rys.14.
Wynik działania PLM - tabela z interpolowanymi wartościami parametrów. ...... 45
Rys.15.
Wynik działania PLM - tabela z interpolowanymi wartościami parametrów
(przybliżenie). .......................................................................................................................... 46
Rys.16.
Lista tabel w bazie Systemu PLM (Program phpMyAdmin). ............................... 51
Rys.17.
Tabela „Objects_Object” (Program phpMyAdmin).............................................. 52
Rys.18.
Tabela „Object_Objeck2Language” (Program phpMyAdmin)............................. 54
Rys.19.
Tabela „Objects_ObjectCategory” (Program phpMyAdmin). .............................. 55
Rys.20.
Główne menu panelu CMS FSite. ......................................................................... 57
Rys.21.
Lista cech działów rodzaju „txt” (Panel administracyjny CMS FSite). ................ 57
Rys.22.
Struktura serwisu Systemu PLM (Panel administracyjny CMS FSite)................. 58
Rys.23.
Lista cech obiektu „Pomiar” (Panel administracyjny FSite)................................. 59
Rys.24.
Lista cech obiektu „Stacja” (Panel administracyjny FSite)................................... 59
Rys.25.
Lista obiektów rodzaju „Pomiary” (Panel administracyjny FSite). ...................... 60
Rys.26.
Lista obiektów rodzaju „Stacje”. (Panel administracyjny FSite). ........................ 60
Rys.27.
Dane szczegółowe obiektu typu „Pomiar” (Panel administracyjny FSite). .......... 61
Rys.28.
Dane szczegółowe obiektu typu „Stacja” (Panel administracyjny FSite). ............ 62
Rys.29.
Relacja między obiektami typu „Pomiar”, a obiektami typu „Stacja”. ................. 64
Rys.30.
Tworzenie podręcznej tablicy $odległości. ........................................................... 66
Rys.31.
Funkcja Przelicz().................................................................................................. 67
Rys.32.
Funkcja Licz_wage_stacji()................................................................................... 69
Rys.33.
Interpolacja metodą odwrotnych odległości w pętli foreach................................. 70
Rys.34.
Kontrolki do sterowania widokiem w Google Maps............................................. 72
Rys.35.
Google Maps API Key wklejany do nagłówka pliku HTML. .............................. 73
Rys.36.
Funkcje do osadzenia Google Maps na stronie prywatnej stronie WWW............ 74
Rys.37.
Kontener do osadzenia mapy na stronie WWW.................................................... 75
Rys.38.
Przykład kodu pliku KML. Ustawianie znacznika punktu.................................... 75
Rys.39.
Przykład kodu pliku KML. Rysowanie linii. ........................................................ 76
Rys.40.
Przykład kodu pliku KML. Tworzenie punktu z opisem. ..................................... 77
Rys.41.
Przykład kodu pliku KML. Struktura pliku........................................................... 77
Rys.42.
Przykład widoku pliku wynikowego otwartego w programie Google Earth. ....... 78
Rys.43.
Google Earth. Widok okna programu. .................................................................. 79
8. Literatura
Prawo ochrony środowiska (Dz. U. Nr 62, poz. 627).
K. Subieta: Słownik terminów z zakresu obiektowości. Akademicka Oficyna Wydawnicza
PLJ, 1999.
T. Converce, J. Park: PHP 4. Biblia. Helion, 2001.
R.Szczepanek: Materiały dydaktyczne z zajęć „Bazy danych”. Rok akad. 2005/2006.
Edgar F.Codd: The relational model for database management.
Menlo Park,
California,1990.
Marcin Kasiński : Praca magisterska „WebHarvesting” – alternatywna metoda integracji
danych meteorologicznych. Politechnika Krakowska,2007.
E. A. Meyer: CSS według Erica Meyera. Sztuka projektowania stron WWW. Helion, 2005
Paweł Leszek: Moje SQL. Tips&Trics - PC World Computer. Artykuł z 1.04.2001
(http://www.pctips.pl/artykuly/9672/Moje.SQL.html).
Star, Estes: Geographic informa tion systems: an introduction. 1990.
P.Józwik, M.Mazur: Obiektowe bazy danych - przegląd i analiza rozwiązań. 2002.
Robert Budzyński: Wstęp do technologii baz danych. Rok 1998, Uniwersytet Warszawski.
Hachler, Allgower: Online Visualization Of Spatial Data. Praca pod kierunkiem
Dr.Allgower B., Prof. Dr. Weibel R., Departament of Geographu, University of Zurych, 2003.
R. Stones, N. Mattew: Bazy danych i MySQL. Od podstaw. Helion, 2003.
9. Internet
WWW WIOŚ Mazowieckie
http://wios.warszawa.pl
Wikipedia – Wolna Encyklopedia
http://pl.wikipedia.org
W3C – Word Wide Web Consortium
http://www.w3.org
Ranking.pl
http://ranking.pl
Google Code
http://code.google.com
Google Maps
http://maps.google.com
KML Documentation
http://earth.google.com/kml
IIGW - PK
http://www.iigw.pl
AutoCAD 3D
http://usa.autodesk.com
Główny Inspektorat Ochrony Środowiska
http://www.gios.gov.pl