GISáček


Tvorba aplikace pro evidenci rybářských úlovků, využívající službu WWW

Karel Vlček
institut geoinformatiky
VŠB - Technická univerzita Ostrava 
tř. 17. Listopadu 
708 33 Ostrava - Poruba 
E - mail: vlkkar@centrum.cz

Abstract

This disseration is about dissemination of geographical information systems to the common people. Introduction explains visualisation of space datas in WWW. Recommended software equipment is selected as next. Following chapetr includes analysis of information system that was used as the base of WWW application for fishing trophies. This application enables interactive overview of fishing areas and tropies. All users can add own catches. The application is assigned to fishers and is useful as the fishing map of Northern Moravia and Silesia too.

Abstrakt

Tato diplomová práce je zaměřena na rozšiřování geografických informačních systémů mezi laickou veřejnost. V úvodu je vysvětlena problematika vizualizace prostorových dat v prostředí WWW. Následně je vybráno vhodné programové vybavení pro tvorbu aplikace, jenž má sloužit pro vizualizaci prostorových dat. V další části je zpracována analýza informačního systému, ze které následně vzešla aplikace pro evidenci rybářských úlovků, využívající službu WWW. Aplikace je určena především pro rybářskou veřejnost, která si může interaktivně zjišťovat informace o revírech a především úlovcích na těchto revírech. Uživatelé mají také možnost tyto úlovky zadávat. Také slouží jako mapová prohlížečka rybářských revírů na Severní Moravě a ve Slezsku.

Úvod

Informační systémy hrají v dnešní době významnou roli. Uživatelé těchto systémů si přejí co nejefektivněji využívat zdroje informací a co nejrychleji informace získávat. Využívání informačních systémů není jen doménou expertů na danou oblast, tedy např. manažerů, kteří se dle získaných informací rozhodují. Manažer požaduje maximalizaci využití zdrojů a naopak minimalizaci času k jejich získání. Zároveň musí někdo zdroje aktualizovat, aby jejich využívání bylo efektivní. Dnes jsou informační systémy vyhledávány i širokou veřejností, neboť informace získané z těchto systémů mohou uživatelům ušetřit čas, finance, atd. Tato diplomová práce se zabývá tvorbou informačního systému v prostředí internetu. Prostředí internetu je voleno kvůli přístupnosti pro co největší spektrum uživatelů. Implementace v prostředí internetu většinou neobtěžuje uživatele instalací nových produktů a je vesměs poskytována zdarma. Nejinak je to s aplikací, která vznikla v rámci této diplomové práce. Aplikace pro evidenci rybářských úlovků nepožaduje instalaci žádného podpůrného programu a je poskytována zdarma. Aplikace je praktickou ukázkou toho, že geografické informační technologie mohou být využívány téměř ve všech oborech. Tento systém by měl sloužit všem sportovním rybářům, ale mohou jej využívat i ostatní uživatelé. Měl by poskytovat informace o rybářských revírech, úlovcích na těchto revírech i s jejich lokalizací. O vyhledaném revíru jsou uživateli poskytnuty veškeré informace, které obsahuje Soupis revírů pro Severní Moravu a Slezsko, jehož vydavatelem je Český rybářský svaz (viz kapitola 3). Uživatel si bude moci vyhledat revír v zájmové oblasti a zjistit si úlovky na tomto revíru, a dle této informace se rozhodnout o své návštěvě zvoleného revíru. Taktéž se předpokládá, že uživatel zaeviduje svůj lov do tohoto systému, pokud navštíví nějaký revír a uloví rybu. Zájmovou oblastí je Severní Morava a Slezsko.

Postup zpracování

Stanovil jsem následující postup při zpracování diplomové práce:

  • studium problematiky publikace a vizualizace prostorových dat v prostředí WWW
  • volba programových prostředků
  • analýza a návrh informačního systému
  • navržení datového modelu
  • vytvoření databáze
  • naplnění databáze
  • tvorba informačního systému
  • testování aplikace
  • Český rybářský svaz

    V České republice jsou aktivity související se sportovním rybolovem organizovány Českým rybářským svazem. Mezi hlavní aktivity Českého rybářského svazu patří:

  • vykonávat rybářské právo ve smyslu zákona o rybářství
  • poskytovat služby pro organizační jednotky svazu a jeho členy včetně nákupu a distribuce rybích násad pro další produkci a pro zarybňování rybářských revírů
  • rozvíjet a popularizovat rybářský sport
  • Sportovním rybářstvím se zabývají 3% populace v České republice. V současné době se Český rybářský svaz skládá ze 7 územních svazů, pod které spadá 479 místních organizací. V místních organizacích je evidováno 216 221 dospělých členů a 49 889 členů ve věku od 8 do 18 let. Rybářské revíry v České republice tvoří 34 100 hektarů vodních ploch. Ročně se uloví více jak 3 751 tun různých druhů ryb. (Číselné údaje jsou vztažené k roku 2002.) Územní výbor pro Severní Moravu a Slezsko sdružuje přes 50 000 členů a to včetně mládeže. O hospodaření na rybářských revírech se podílí 60 místních organizací. Organizace pečují o 5 000 hektarů vodních ploch, a to jak pstruhových, tak i mimopstruhových.

    Popis použitých dat

    V diplomové práci jsem pracoval s vektorovými geotady, které mi vymezovaly prostorové rozmístění rybářských revírů. Dále jsem pracoval s popisnými údaji o revírech.

    Geodata

    Při rozhodování o vektorových zdrojích pro mapový výstup jsem chtěl využít vektorovou databázi ArcČR500, ale při jejím prohledání jsem zjistil, že tato databáze je neúplná. Neobsahovala některé vodní plochy v zájmové oblasti - Severní Morava a Slezsko. Další alternativou bylo použití vektorové databáze DMÚ200, nicméně ani tato databáze neobsahovala veškeré vodní plochy a vodní toky v zájmové oblasti. Z těchto dvou variant byla pro daný účel vhodnější vektorová databáze DMÚ200. Aby ji bylo možno použít, musel jsem vrstvy "Vodní toky" a "Vodní plochy" doplnit o chybějící elementy a atributy.
    Jako podklad pro doplňění chybějících dat jsem použil mapy Klubu českých turistů v měřítku 1:50 000, jenž byly již geometricky transformovány. Tyto mapy pokrývají celou zájmovou oblast. Pro digitalizaci chybějících vodních ploch jsem použil produkt ArcView GIS 3.2. Nově zdigitalizované plochy byly ukládány do vrstev "Vodní toky" a "Vodní plochy". Dále jsem pomocí ArcView rozdělil nebo naopak sloučil vodní toky tak, aby tvořily revír daný popisem v Rybářském řádu a soupisu revírů platném od 1.1.2003. Dle tohoto soupisu revírů byly oběma vrstvám dopsány nové atributy. Do nového sloupce "c_rev" bylo připsáno číslo revíru a do sloupce "id_pod" identifikátor lokality. Přes tyto identifikátory byla později připojena navazující popisná data Z vektorové databáze DMÚ200 jsem použil tyto vrstvy:
          · kraje
          · okresy
          · lesy
          · silnice
          · sídla
          · vodní plochy
          · vodní toky
    Dalším zdrojem byla publikace "Rybářské revíry Severní Moravy a Slezska"[1]. Z tohoto zdroje jsem čerpal informace o lokalizaci jednotlivých revírů na mapě.

    Navazující popisná data

    Z předchozího ročníkového projektu, v němž předmětem řešení byla aplikace pro vedení "Místní organizace v Rožnově pod Radhoštěm", jsem měl již hotovou databázi, která mimo jiné obsahovala tabulku s rybářskými revíry Severní Moravy a Slezska. Tato tabulka nese záznamy, jenž jsou uvedeny v "Rybářském řádu a soupisu revírů platném od 1.1.2003". Měl-li revír více lokalit, byla tato skutečnost zaznamenána v nové tabulce, jenž byla propojena s tabulkou "Revír" vazbou 1..N. Databáze byla ve formátu Microsoft Access. Pro účely této diplomové práce jsem použil tabulku se všemi lokalitami určenými k lovu ryb na Severní Moravě a ve Slezsku. Tabulku jsem vyexportoval do textového formátu, jednotlivé záznamy byly odděleny oddělovačem.
    Při řešení této diplomové práce nebylo nutné rozkládat revíry a lokality na nich vazbou 1..N, neboť práce pouze s jednou tabulkou byla v tomto případě efektivnější a pro potřeby aplikace dostačující. Tabulku s lokalitami jsem následně naimportoval do databázového systému MySQL pomocí SQL dotazu.

    Datový model

    Datový model relační databáze je popsán pomocí diagramu entit a vztahů.

    Obr č. 1 ER diagram databáze

    Vztah mezi tabulkou "Úlovek" a "Bod" je 1:1, a to z důvodu práce s výslednou aplikací. Tato vazba akceptuje požadavky dále navrženého řešení.

    Databáze "rybydb"

    Pro ukládání dat do databáze jsem zvolil databázový systém MySQL a v tomto prostředí jsem vytvořil tabulky pro ukládání dat. Tabulka s lokalitami určenými pro lov ryb byla tedy naimportována pod jménem Revir.

    Výběr programového vybavení

    Z práce vyplývá, že informační systém má fungovat v prostředí internetu, tedy bez lokálně uložených programových aplikací a dat. K řešení tohoto problému bylo nutno nejprve nalézt odpovídající technologie. Přehled softwarových produktů, které umožňují vytvoření a běh informačních systémů v prostředí WWW je detailně popsán v textu diplomové práce. Text je ke stažení na konci WWW stránky.

    Přehled zvoleného programového vybavení

    Webový server:      Apache, verze 1.3
    Skriptovací jazyk:      PHP, verze 4.0.6; JavaScript
    Mapový server:      MapServer 3.6, php-mapscript
    Databázový systém:      MySQL, verze 3.23
    Editace a digitalizace vektorových vrstev:      ArcView GIS 3.2

    Analýza a návrh informačního systému

    Pro analýzu systému jsem použil objektově orientovanou analýzu. Celý proces realizace produktu je při této analýze popsán jistými modely, jenž nám umožní lépe pochopit vyvíjený systém. K tomuto popisu jsem použil jazyka UML (Unified Modeling Language). "UML je jazyk umožňující specifikaci, vizualizaci, konstrukci a dokumentaci artefaktů softwarového systému" [2].

    Slovní specifikace požadavků

    Cílem práce je vytvořit informační systém, který bude sloužit k evidenci rybářských úlovků v prostředí internetu. Po systému je požadováno, aby byl schopen zobrazovat mapu revírů a měl možnost zobrazovat podrobné informace k vybranému revíru. Dále systém musí umožňovat vyhledávat revíry dle jeho čísla nebo názvu revíru. Informační systém musí být schopen předkládat uživateli podrobný přehled o úlovcích a to jak na jednotlivých revírech, tak i v rámci celého Severomoravského kraje. Uživatel může zadávat nový úlovek nebo vyhledávat informace o revíru či úlovcích. Pro práci s mapovým oknem musí být použity translokační nástroje, jako jsou zoom-in, zoom-out, pan, centrování, pohyb s mapou pomocí šipek. Pro práci s mapou je používán produkt MapServer z Minesoty. O údržbu by se měl starat administrátor informačního systému.  Informační systém by měl být navržen takovým způsobem, aby nebyla potřeba při jeho provozu používat komerční software.

    Byly stanoveny základní požadavky na informační systém:

      · evidovat jednotlivé úlovky na určitém revíru včetně jejich lokalizace a údajů o:
          - jménu lovce
          - e-mailu
          - datumu lovu
          - revíru, na němž se uskutečnil lov
          - popisu lovu
          - fotografii úlovku
      · zobrazovat mapu revírů a k ní příslušné informace
      · vytvořit translokační nástroje pro práci s mapou
      · zobrazit informace o revíru + možnost jeho lokalizace v mapě
      · zobrazit seznam úlovků k danému revíru + lokalizace úlovku
      · zobrazit fotografii k úlovku
      · zobrazit seznam všech úlovků na všech revírech

    Bližší popis je opět v textu diplomové práce, ke stažení na konci WWW stránky

    Model byznys procesů a doménový model

    Doménová analýza se nám snaží poskytnout pohled na objekty v informačním systému, jejich vztahy a chování. "Třída je popis množiny objektů majících společnou strukturu, chování, vztahy a sémantiku"[3]. Pro přehlednost a pochopení tříd uvádím jejich podrobnější textový popis - v textu diplomové práce.

    Obr č. 2 Doménový model

    Diagram aktivit

    Diagram aktivit slouží k popisu jednotlivých procesů a reprezentuje jejich stavy a přechody mezi nimi. Při vlastní tvorbě informačního systému jsem vypustil část přihlašování uživatele (login), jež je zde zaznamenána. Přihlašování uživatele by bylo vzhledem k účelu této aplikace poněkud zbytečné a mohlo by nejednoho uživatele odradit od jejího použití. Přihlašování jsem v tomto diagramu ponechal kvůli eventuálnímu rozšíření informačního systému.
    Více v textu diplomové práce.

    Model případů užití

    Případ užití neboli USE CASE slouží k vymezení toho, co existuje vně systému (v našem případě uživatel) a toho, co působí uvnitř systému - tj. to, co je systémem prováděno.
    Více v textu diplomové práce.

    Sekvenční diagramy

    Jedná se o diagramy, jenž sledují, jaké zprávy jsou mezi objekty zasílány z pohledu času.
    Více v textu diplomové práce.

    Diagram tříd

    Je to pohled na množinu tříd, rozhraní a jejich vzájemné vztahy. Tento diagram nám vyjadřuje statický pohled na systém.
    Více v textu diplomové práce.

    Diagram spolupráce

    Diagram spolupráce upřednostňuje při popisu komunikace mezi objekty topologii, tedy jejich rozložení a vzájemné spojení. Vychází ze sekvenčních diagramů. Diagram spolupráce jsem vytvořil jen pro zadávání nového úlovku.
    Více v textu diplomové práce.

    Stavový diagram

    Stavový diagram prezentuje životní cyklus objektu dané třídy z hlediska jeho stavů, přechodů mezi těmito stavy a událostmi, které je vyvolávají.
    Více v textu diplomové práce.

    Vlastní návrh informačního systému

    Informační systém je určen především pro rybářskou veřejnost, kterou zajímají informace o revírech Severní Moravy a Slezska a úlovcích na nich, ale také pro evidenci ulovených ryb na těchto revírech.
    Informační systém je spouštěn přes odkaz na úvodní stránce internetového prohlížeče, t.j. kvůli otevření informačního systému v novém, specificky definovaném okně. Je zde užit javascript, který spustí aplikaci bez tlačítkové lišty, lišty pro adresu a textového menu. Naopak spouští informační systém s posuvnými lištami, zjistí si rozlišení monitoru a podle toho otevře okno přes celou obrazovku, ale to není adekvátní s funkcí fullscreen. Vše je vidět ve zdrojovém kódu javaskriptu, jenž definuje nové okno.

    Ukázka zdrojového kódu
    - definice nového okna v internetovém prohlížeči:

    window.open(url,jmeno,'resizable=1,scrollbars=1,top=0, left=0, menubar=0, width='+ (screen.availWidth - 10)+', height=' + screen.availHeight)

    Grafické uživatelské rozhraní informačního systému je vytvořeno pomocí jazyku HTML, skriptů PHP a javaskriptu. V aplikaci jsou načítány soubory ESRI Shapefile, jenž zobrazují zájmové území (Severní Morava a Slezsko). Vrstva toků a vodních ploch je propojena s databází MySQL "rybydb". Aplikace je tvořena tabulkou, která rozděluje obrazovku na 6 základních částí a ty jsou všechny načteny do úvodní stránky.


    Obr č. 3 Vzhled aplikace - rybářský průvodce

    Funkce aplikace

    - vyhledávat informace o jednotlivých revírech - zobrazení informace na podkladě zadaného vyhledávacího znaku
    - vyhledávat informace o všech revírech - zobrazení informací, jenž jsou dány Soupisem revírů pro Severní Moravu a Slezsko pro rok 2003
    - vyhledávat informace o všech úlovcích - vypíše údaje o všech ulovených rybách na všech revírech
    - translokační operace - Zoom-in, Zoom-out, Zoom-all, pan, informace o revíru vybraného v mapě, pohyb s mapovým výstupem pomocí šipek
    - vyhledávat informace o úlovcích na revírech - údaj o rybách ulovených na jednotlivých revírech
    - vkládat nové údaje o lovu a úlovku
    - doplňkové funkce

    Vyhledávání informací o jednotlivých revírech

    Uživatel má možnost vyhledávat revír dle zadaných specifik. Buď zná číslo revíru (čísla), podle něhož si chce vyhledat informace, a nebo chce vyhledat revír za pomoci slova nacházejícího se v názvu revíru (jména). Vyhledávací hodnotu zadá do příslušné kolonky. Přepne vyhledávání dle čísla nebo dle jména a odešle pomocí tlačítka Hledej. Vstupní hodnota je porovnána s údaji v tabulce revir nacházející se v databázi "rybydb".

    Obr č. 4 Formulář pro vyhledávání revíru

    K výpisu informací je využíván PHP skript - soupis.php, jenž nám zobrazuje výsledek dotazu, který jsme zaslali. Je-li odeslaná hodnota nalezena, zobrazí se nová stránka s výpisem názvů revírů, jenž obsahují klíčová slova zadaná ve vstupním parametru. Není-li hodnota v databázi nalezena, je tato skutečnost taktéž sdělena uživateli.

    Obr č. 5 Formulář s vyhledanými revíry

    Na výpisu této stránky se můžeme dozvědět, kolik revírů bylo nalezeno dle stanoveného vyhledávacího klíče; v tomto případě se jedná o dva záznamy. Pod číslem revíru "473002" se nachází dva záznamy, tok Rožnovské Bečvy a Nádrž u Macečků na Horní Bečvě. Kromě čísla revíru a názvu revíru se zde ještě dozvíme lokalitu na revíru, pokud nějaká existuje, a dále katastrální území, ve kterém je lokalita soustředěna. Další informací je délka revíru u toků a rozloha u uzavřených lokalit. Je zde taktéž informace o revíru a omezení na tomto revíru. Vybraný revír je možno nechat vyhledat na mapě, k čemuž slouží tlačítko - v kolonce mapa. Tlačítko předá parametr hlavnímu skriptu. Skript prohledá vrstvu toky a voda a nalezne objekt, jenž má v poli "Id_pod" identickou hodnotu jako hodnota předaná HTTP protokolem. Skript přebere index daného objektu a pomocí knihovny PHP/Mapscriptu na daný objekt Map nastaví EXTENT pro zobrazení. Jakmile se nastaví nový rozsah zobrazovaného území, vygeneruje se obrázek, který je načten do aplikace.

    Obr č. 6 Mapové okno s nalezeným revírem

    Vyhledávání informací o všech revírech

    Princip této funkce je obdobný jako u funkce pro vyhledání specificky zadaného revíru. Při kliknutí na tlačítko "Zobraz revíry" se předá skritpu soupis.php parametr pro výpis všech revírů. Otevře se stejná stránka jako na Obr. 5 s tím rozdílem, že jsou zobrazeny všechny revíry nalezené v databázi, tedy 444 revírů a to včetně jejich lokalit. Revíry jsou zobrazovány po 30 záznamech na stránku. Ve spodní části jsou odkazy na následující revíry. Způsob zobrazení námi vybraného revíru je stejný jako u předchozí funkce.

    Vyhledávání informací o všech úlovcích

    Tato funkce umožní vypsat data o všech úlovcích na všech revírech. Ke spuštění slouží tlačítko (Obr. 7) umístěné na hlavní stránce aplikace. Tlačítko předá parametry skriptu celkul.php. Ten otevře novou stránku (Obr. 8) s chronologicky uspořádanými úlovky na všech revírech. Zde je možné prohlédnout si úlovky a lokalitu vybraného úlovku zobrazit na mapě. K zobrazení úlovku na mapě slouží opět tlačítko - v kolonce mapa.

    Obr č. 7 Formulář pro vyhledání všech úlovků

    Obr č. 8 Výpis informací s úlovky na všech revírech

    Hlavnímu skriptu jsou předány tři parametry. Číslo revíru, na němž došlo k úlovku; dle něj se nastaví poloha zobrazovaného území. Dále číslo, jenž představuje identifikátor úlovku; podle tohoto čísla se zobrazí daná příslušná data v pravé informační části aplikace (Obr. 13). Poslední předaný parametr udává identifikátor bodu, který se zobrazí na načtené mapě. Tady si můžeme všimnout, že všechny vrstvy nemusí být předem nadefinované v souboru MAPFILE. Modul PHP/Mapscript nám nabízí nástroje pro přidávání tématických vrstev přímo do mapové kompozice. Nemusí se jednat pouze o vektorové vrstvy ESRI Shapefile, ale může se jednat jako v tomto případě, o bodovou vrstvu s vykreslováním z databáze.

    Ukázka zdrojového kódu
    - definice nového okna v internetovém prohlížeči:

    $connection = mysql_connect($server,$uzivatel,$heslo) or die ("Spojení k databázi se nezdařilo.");
    $database = mysql_select_db("rybydb");
    $vypis_bodu = mysql_query("SELECT * FROM bod WHERE id_ul LIKE '$bodka'");
    $x_s = MySQL_Result($vypis_bodu, 0,"x_sour");
    $y_s = MySQL_Result($vypis_bodu, 0,"y_sour");
    $pointobj = ms_newPointObj();
    $pointobj->setXY($x_s,$y_s);
    $lineobj = ms_newLineObj();
    $lineobj->add($pointobj);
    $pointobj->free();
    $shapeobj = ms_newShapeObj(MS_SHAPE_POINT);
    $shapeobj->add($lineobj);
    $lineobj->free();
    $layerobj = ms_newLayerObj($map);
    $layerobj->set('type',MS_LAYER_POINT);
    $layerobj->set('status',MS_ON);
    $layerobj->addFeature($shapeobj);
    $classobj = ms_newClassObj($layerobj);
    $classobj->set('symbol',1);
    $classobj->set('size',20);
    $newColor = $map->addColor(255,0,0);
    $classobj->set("color", $newColor);

    Obr č. 9 Zobrazení úlovku v mapě

    Zobrazovací operace

    Pro práci s mapou je určena nástrojová lišta, která je umístěna nad mapovým oknem. Na nástrojové liště je umístěno 5 tlačítek pro obsluhu aplikace a měřítko pro aktuální mapový výřez.

    Obr č. 10 Nástrojová lišta pro práci s mapou

    První tlačítko je pro posun mapy "Pan". Uživatel vybere bod kliknutím do mapy. Na tento bod se nastaví střed nového zobrazeného mapového okna.
    Druhé tlačítko je pro zvětšení výřezu v mapě "Zoom-in". Uživatel kliknutím a tažením vytvoří výběrový obdélník. Na tento obdélník se nastaví nový zozsah zobrazovaného území, jenž se zobrazí v mapovém okně.
    Třetím tlačítkem je zmenšení mapy "Zoom-out", po jeho potvrzení a kliknutí do mapy se aktuální výřez na mapě trojnásobně oddálí.
    Po vybrání čtvrtého tlačítka se nastaví plný plošný rozsah zobrazovaného území "Full-extent", jenž je nastavena v MAPFILE souboru. Zobrazí se celá Česká republika.
    Páté tlačítko "Information" slouží ke zjišťování atributů u jednotlivých revírů. Klikne-li uživatel na revír určený k lovu, vypíší se informace o tomto revíru (Obr. 11). Pro výpis informací slouží část aplikace, kde se jednak vypisují informace o revírech a informace o úlovku na revíru.
    Při výpisu informace o revíru vidí uživatel tyto údaje: číslo revíru, název revíru, lokalitu, v k. ú. (katastrální území), délku (revíru), rozlohu (revíru), informace o revíru, omezení na revíru, úlovky na tomto revíru.

    Obr č. 11 Formulář s výpisem informací o revíru

    Vyhledávat informace o úlovcích na revírech

    Postup zjištění úlovku na revíru začíná stejnými kroky, jaké jsou popsány v předcházejících kapitolách (vyhledávání informací o revíru). Jakmile má uživatel před sebou vypsanou tabulku s informacemi o revíru, má možnost kliknout na tlačítko "Zobraz". Tímto tlačítkem je vyvolán PHP skript (Příloha 3), kterému je předáno číslo revíru, na němž chceme vidět úlovky. Otevře se okno s výpisem úlovku na daném revíru (Obr. 12).

    Obr č. 12 Výpis informací s úlovky na jednom revíru

    Pro lokalizaci úlovku v mapě slouží tlačítko v kolonce mapa. Po jeho potvrzení se postupuje stejně jako v kapitole 6.2.3 Vyhledávání informací o všech úlovcích. V informační části aplikace se místo informace o revíru zobrazí informace o úlovku (Obr. 13).

    Obr č. 13 Výpis informací o jednom úlovku

    Na tomto formuláři máme k dispozici tlačítko "Zobraz foto", po jeho potvrzení se otevře nové okno (Příloha 8) s fotografií úlovku, tedy pokud byla přiložena. Nové okno je otevíráno ve specifickém rozměru, jenž je dán výškou a šířkou fotografie. Tuto funkci nám poskytuje PHP knihovna php_gd.dll, která je určena pro práci s obrázky. Viz Příloha 1 (zjištění velikosti fotografie).

    Vkládání nových údajů o lovu a úlovku

    Pro vkládání nových záznamů do informačního systému slouží spodní část aplikace.

    Obr č. 14 Formulář pro zadávání nových úlovků

    Jedná se o formulář, který vyplňuje uživatel. Formulář se skládá z pěti povinných položek, které musí uživatel vyplnit. Jedná se o jméno lovce, e-mailovou adresu lovce, datum lovu, revír, na kterém uživatel lovil a popis lovu. Dále má uživatel možnost zadat nepovinný údaj, což je fotografie úlovku. Povinné údaje jsou ověřovány, a pokud uživatel nezadá jednu z těchto pěti povinných podmínek je mu tato skutečnost sdělena a musí údaj doplnit. O validaci a ukládání údajů do databáze se stará PHP skript uloz.php (Příloha 7). Pokud uživatel chce zadat fotografii k záznamu, musí kliknout na tlačítko "Procházet" čímž vyvolá dialogové okno, které jej vybízí k vybrání souboru s fotografií. u fotografie je ověřováno zda se jedná o soubor typu JPG či GIF, žádné jiné soubory nám skript nevezme. Dále je zde ověřována podmínka, jestli je soubor menší než 100 kB a zároveň nemá nulovou velikost. Jsou-li tyto podmínky dodrženy, soubor je nahrán na server do adresáře foto. Originální názvy fotografií jsou měněny a nahrazovány číselným názvem, jenž zaručuje jedinečnost, a tudíž nemůže dojít k přepisování souborů. Proběhne-li vše korektně, uživatel je informován výpisem informací. Pokud byla vložena fotografie, skript vypíše původní název fotografie, velikost souboru, typ souboru (zda se jedná o JPG či GIF), a především informuje uživatele, že fotografie byla v pořádku uložena na server. Dalším údajem, jenž se zobrazí uživateli je informace, že pro zakreslení místa lovu má kliknout do mapy. Posledním údajem je informace o úspěšném uložení do databáze. Pokud uživatel nevloží fotografii, je v tomto okně vypsána informace: "Nebyla vložena fotografie". Veškeré ostatní informace jsou stejné jako v předchozím případě. Uživatel v tomto okně musí kliknout na tlačítko "Zakresli bod". Po jeho stisknutí se volá hlavní skript. Před jeho zobrazením se ale uživateli opět připomene, že kliknutím do mapového okna se provede zakreslení místa lovu. Tato hláška je vyvolávána javaskriptem. V hlavním skriptu se mapové okno automaticky přiblíží na revír, jenž zadal rybář ve formuláři. Nyní uživatel klikne do mapového okna, čímž uložil do databáze x a y souřadnici místa úlovku.

    Doplňkové funkce

    Levá dolní část aplikace informuje uživatele o počtu připojených uživatelů, o optimalizovaném rozlišení aplikace a o tvůrci informačního systému. O výpis on-line uživatelů se stará PHP skript online.php (Příloha 4). Skript zjišťuje IP adresu uživatele, podle počtu různých IP adres vypíše počet uživatelů. V pravé spodní části je "mapka", která zachycuje celé území mapových zdrojů. Na ní je zobrazován bílý obdélník, který představuje území, jenž je přiblíženo v mapovém okně. Mapka tedy zlepšuje naši orientaci v hodně přiblíženém území v hlavním mapovém okně.

    Závěr

    Informační systém pro evidenci rybářských úlovků splňuje požadavky, které byly uvedeny v zadání diplomové práce. Výsledná aplikace byla testována za pomoci spolužáků a rybářů v mém blízkém okolí. Výsledkem testování bylo odladění systému a oprava drobných programových chyb. Po této drobné úpravě bylo opět provedeno testování, jehož výsledkem byly jen kladné reakce okolí na výslednou aplikaci.
    Problémy při realizaci se vyskytly v případě instalace všech softwarových komponent pro provoz aplikací, jenž umožňují prezentaci prostorových dat v prostředí www. Je třeba si dávat pozor na verze všech používaných komponent. U verze modulu PHP/Mapscript je vždy uvedeno, od které verze PHP je možno jej použít. Ne vždy je však tato skutečnost pravdivá. Většinou je modul PHP/Mapscript odladěn pro danou verzi PHP, ne však pro vyšší verze.
    Problém nastal také u popisu atributů v mapovém okně, které generoval mapový server. Tyto popisy neobsahovaly české znaky. Nepomohl ani převod do jiných kódovacích znakových sad. Řešení přinesla až konverze vstupních dat do Unicode, což je znaková sada. Světový standard kódování znaků Unicode Worldwide Character Standard zavedlo Unicode Consorcium jako systém kódování znaků určený pro podporu výměny, zpracování a zobrazování psaného textu v rozličných jazykových verzích moderního světa. Po převodu již bylo vše zobrazováno s českou diakritikou.
    Dalším eventuálním rozšířením aplikace by byla možnost celý informační systém rozvést o diskusní fóra, rady pro rybáře, předpověď počasí, atd. Avšak tato rozšíření již nejsou předmětem geografické složky informačního systému. Geografickým rozšířením by mohla být bodová vrstva nad každým revírem, přičemž by bod reprezentoval odkaz na fotografii z daného místa na revíru.
    Pro umístění informačního systému na internet by bylo nutno zakoupit příslušná vektorová data a provést zabezpečení aplikace.
    Tato diplomová práce by měla sloužit především jako šablona pro vytváření jednoduchých informačních systémů s možností prezentace vektorových dat a jejich obsluhy. Hlavní předností aplikace je možnost jejího provozování za pomocí "nekomerčního" programového vybavení.

    Literatura

    1. ŠTEFÁČEK, S.: Rybářský průvodce po nádržích a rybnících, nakladatelství Brázda, Praha 1996, ISBN 80-209-0259-7
    2. WILLIAMS, H. E. A LANE, D.: PHP a MySQL - Vytváříme webové databázové aplikace. 1. vyd. Praha : Computer Press, 2002. 530 s., ISBN 80-7226-760-4
    3. VONDRÁK, I.: Úvod do softwarového inženýrství, VŠB - Technická univerzita Ostrava, Ostrava 2002
    4. MapServer [online], Dostupný na WWW:
    5. Rybářský řád a soupis revírů platný od 1. 1. 2003, Český rybářský svaz - výbor územního svazu pro Severní Moravu a Slezska, Ostrava 2002
    6. GREER, T.: Intranety principy a praxe, Brno, Computer Press, 1999
    7. Apache [online], Dostupný na WWW:


    Text diplomové práce:  Otevřít




    Copyright (C) VŠB - TU Ostrava, Institut geoinformatiky, 2001-3. Všechna práva vyhrazena. 
    V případě, dotazů, komentářů, připomínek kontaktujte www-gis.hgf@vsb.cz
    Tato stránka byla naposledy aktualizována: 29.03.2006 16:16
    Stránky jsou optimalizovány pro Microsoft Internet Explorer v. 5.0 a vyšší.
    Jsou vytvářeny v programovém prostředí FrontPage 2003.

    NAVRCHOLU.cz