instytut inśynierii i gospodarki wodnejholmes.iigw.pl/~rszczepa/dyplomy/2181_anna_bielutin.pdfanna...

of 90 /90
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 K RAKÓW 2008

Author: others

Post on 08-Mar-2021

1 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

  • 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

    oraz ciała dokumentu, czyli właściwej treści, która jest zawarta

    w znaczniku . 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 , do nagłówków ,, a do linków

    .

    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 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 , 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 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 jest równoznaczny zapisowi

    . 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.