ul. Warszawska 24, 31-155 Kraków tel/fax (+48 12) 628 20 41 e-mail: [email protected] 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
KRAKÓ W 2008
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-F Site ”
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 x0,x1,...,xn (węzły interpolacji) oraz
wartości funkcji y=f(x) w tych punktach f(x0)=y0,f(x1)=y1,...,f(xn)=yn . 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