Vývoj
prohlížečky souborů formátu GDF
Pavel Šrámek
Institut geoinformatiky
VŠB - TU OSTRAVA
17.listopadu 15, 70833 Ostrava
Poruba
E-mail: pavel.sramek@centrum.cz
Abstract
This diploma work is about the application development to display
spatial data, saved in exchange format GDF. In the first part
is desribed standard GDF. In second part is described programme equipment, used
it for production of this application. Third part contains object
oriented analysis, which is service for better understanding to application
functions. Last part of this document contains detailed description of the
graphical user interface. The result application will be free procurrable for
use to all, interested in format GDF.
Absrakt
Tato
diplomová práce se zabývá vývojem aplikace sloužící k zobrazení prostorových
dat, uložených ve formátu GDF. V úvodní části je popsán standard GDF.
V dalších kapitolách je pak popsáno programové vybavení použité pro tvorbu
této aplikace, zpracovaná objektově orientovaná analýza, která slouží
k pochopení funkčností aplikace a následně popis funkcí aplikace. Výsledná
aplikace bude volně dostupná k použití pro všechny, kdo budou mít zájem ji
využít k práci s formátem GDF.
Vývoj aplikace, která by měla sloužit k zobrazení prostorových dat a jejich atributů, v dnešní době, kdy existuje velké množství programového vybavení poskytující vhodné nástroje vyvinuté k tomuto účelu, nutně vyvolává otázku, zda má vývoj této aplikace nějaký smysl.Odpověď na tuto otázku je však jednoznačná. Většina nástrojů, sloužících k práci s prostorovými daty, totiž vyžaduje poměrně velkou investici do tohoto programového vybavení. Navíc stále existují formáty a standardy, které jsou využívány v menší míře a proto nejsou těmito programovými prostředky podporovány. To je případ souborů formátu GDF, které není možné běžně používanými prostředky zpracovat. Standard GDF je výměnný formát, vyvinutý pro uchovávání informací vztahujících se k silničním sítím. Tento formát je využíván automobilové navigačními systémy AVL. Žádný z běžně dostupných programových prostředků sloužících k zobrazení prostorových dat a jejich atributů však práci s takto uloženými daty neumožňuje. Tato diplomová práce se tedy zabývá vytvořením aplikace, založené na volně dostupných programových prostředcích, která bude poskytovat nástroje pro zobrazení geometrické i popisné složky prostorových dat. Vytvořená aplikace bude poté dále volně dostupná pro všechny potenciální uživatele z řad odborníků i laické veřejnosti.
Geographic Data Files (GDF) standard byl navržen Evropskou agenturou pro standardizaci CEN, k uspokojení potřeb odborníků a organizací zabývajícími se vytvářením, spravováním a údržbou dat vztahujících se k dopravním sítím. Tento standard byl vytvořen, aby zlepšil schopnost zachytit geografické informace vztahujících se k silničním sítím. Tato zvýšená schopnost je dosažena použitím referenčního modelu, který uživateli nabízí prostředky pro uplatnění jeho požadavků a tvůrci na nich mohou definovat své produkty. Navíc standard usnadňuje výměnu informací, definicí jednotného referenčního modelu. Z tohoto pohledu se jedná o výměnný formát, který se vyhýbá problémům s kompatibilitou informačních toků. Předpokládá se, že důležitým použitím standardu bude spojení informací, uložených v již existujících databázích geografických dat, do jednoho komplexnějšího zdroje dat, která se vztahují k dopravním sítím.
Programovací
jazyk Java
OpenMap
Java Toolkit
OpenMap Java Toolkit je open source projekt vytvořený pomocí programovacího jazyka Java, sloužící pro vytváření aplikací pracujících s prostorovými daty. Architektura je založena na Java Beans. Hlavními komponentami jsou MapHandler ,MapBean a Layer Komponenty OpenMap využívají standardní Java třídy, které poskytuje Java 2. Aplikace založené na OpenMap tedy mohou být spouštěny na libovolné platformě podporující Java 2.
Vytvořená aplikace nabízí intuitivní uživatelské rozhraní. Rozmístění ovládacích prvků je voleno tak, aby mohl uživatel snadno a rychle využívat všechny obsažené nástroje. Je voleno podobně, jako u dalších nástrojů sloužících pro práci s prostorovými daty. Skládá se z nabídkové a nástrojové lišty, dále pak z nástroje pro práci s načtenými vrstvami, mapového okna a stavového řádku.
Obr.1 – grafické uživatelské rozhraní aplikace
Načítání záznamů ze souboru formátu GDF je hlavní částí celé aplikace. Je zajištěno třídou GDFReader. Tato třída umožňuje načítat postupně všechny záznamy, ale také vyhledat a načíst pouze záznam dle zadaného identifikátoru.
Zobrazení prostorových dat v mapovém okně zajišťuje komponenta OpenMap Java Toolkit MapBean. V tomto mapovém okně jsou vykresleny grafické prvky všech vrstev, které do ní byly vloženy. K zobrazení je pak použita některá z projekcí obsažená v OpenMap Java Toolkit. Vrstvy jsou zodpovědné za vytváření a zobrazení jejich prostorových dat. Pro zobrazení dat ze souboru formátu GDF byla tedy vytvořena třída GDFLayer, která získává data prostřednictvím instance třídy GDFDocument.
Ovládání zobrazovaných vrstev zajištěno komponentou LayersPanel, která slouží k ovládání vrstev přidaných do MapBean. Umožňuje volbu zda se má být daná vrstva zobrazena, či nikoli, změnu pořadí vrstev pro vykreslování, zobrazení uživatelských rozhraní vrstev, sloužících především pro změnu symbolů jednotlivých geoprvků.
Změnu vykreslení symbolu u jednotlivých geoprvků, tedy bodů, linii, polygonů umožňuje tlačítko umístěné v nástroji pro ovládání načtených vrstev. Změna atributů je prováděna vždy pro aktuálně vybranou vrstvu. Vyvolané dialogové okno je tvořeno dvěmi částmi. V první části vybíráme geoprvek u něhož chceme provést změnu. V druhé části je možné nastavit, zda budou geoprvky daného typu zobrazeny stejným symbolem, nebo zda budou rozděleny do tříd podle vybraného atributu a jednotlivým třídám poté vybrat symbol pro zobrazení. Dále je také možné jednotlivým geoprvkům přiřazovat symbol pro zobrazení individuálně. Zvolené nastavení symbolů geoprvků se projeví až po překreslení mapového okna. To dosáhneme pomocí tlačítka redraw, změnou měřítka mapy nebo jinou akcí, která vyvolá změnu zobrazení mapového okna.
Následující obrázek znázorňuje nástroj pro změnu symbolů jednotlivých typů geoprvků.
Obr.2 – Změna symbolů
geoprvků
Aplikace umožňuje bodovým dotazem zobrazit informace o vybraném geoprvku. Pomocí bodového dotazu, tedy kliknutím do mapového okna na příslušný geoprvek se vyvolá dialogové okno. V tomto dialogovém okně je zobrazena přehledná tabulka s výpisem atributů geoprvku. Tabulka obsahuje čtyři sloupce. V prvním je uveden kód atributu, ve druhém jeho popis, ve třetím hodnota atributu a ve čtvrtém pak odkaz na záznam, který obsahuje metadata vztahující se k danému atributu. Následující obrázek znázorňuje výsledek bodového dotazu na geoprvek.
Obr.3 – Dotazování na
atributovou složku geoprvků
Zobrazení popisků, které představují atributy jednotlivých geoprvků je velmi důležitou funkcí dávající nám ucelenější představu o zobrazované lokalitě. Jednotlivým typům geoprvků lze přiřadit atribut jehož hodnota se má zobrazit. K tomu nám slouží dialogové okno, které je vyvoláno kliknutím na příslušné tlačítko v nástrojové liště. Po zvolení atributu, který má být použit pro vykreslení a potvrzení tohoto výběru se provede překreslení mapového okna. Následující obrázek znázorňuje nástroj pro přidání popisků do mapového okna.
Obr.4 – Zobrazení
popisků geoprvků v mapovém okně
Vytvořená aplikace splňuje
všechny požadavky, které byly kladeny v zadání práce. Je vytvořena na
základě volně dostupných programových prostředků, rovněž všechny požadované
funkce jsou v aplikaci zabudovány. Navíc aplikace umožňuje ukládání
mapových výstupů do souborů formátů JPEG a GIF. Jelikož standard GDF slouží
k uchovávání prostorových dat vztahujících se k silničním sítím, bylo
by vhodné aplikaci dále rozšířit o síťové analýzy a další funkce, které by plně
využily velmi bohaté informace obsažené v souborech tohoto formátu.
Zvolená architektura umožňuje velmi snadno zobrazovat prostorová data
z různých datových zdrojů. Je zde tedy možnost současně načítat data
jiných formátů a tím vytvořit komplexnější aplikaci, která by dovolovala lépe
postihnout zájmovou oblast a vytvářet kvalitnější mapové výstupy. Další možnost
rozšíření využití aplikace pramení z toho pramení z toho, že při
vývoji byl zvolen programovací jazyk Java. Java je ve formě appletů velmi často
využívána v prostředí WWW. Existuje tedy možnost převést aplikaci do Java
appletu a používat ji jako mapový server.
Celý tento projekt slouží především jako studie na posouzení možnosti
využití „nekomerčních“ programových vybavení pro vývoj aplikace sloužící k zobrazování prostorových dat.
Z výsledku vyplývá, že aplikace vytvořené za pomocí těchto produktů mohou
být rovnocennou alternativou aplikacím,
vytvářených firmami jako je například ESRI, Intergraph a další.
[1]: VONDRÁK, I.: Úvod do softwarového inženýrství, VŠB – Technická univerzita Ostrava, Ostrava 2002
[2]: Eckel, B.: Myslíme v jazyku Java, 1. vyd. Praha : Grada Publishing spol. s.r.o, 2001. 432 s., ISBN 80-247-9010-6
[3]:
OpenMap[online].[cit.2004-02-28]. Dostupný
na WWW:<http://openmap.bnn.com>
[4]:
Java[online].[cit.2004-01-28]. Dostupný
na WWW:http://java.sun.com
[5]:
CEN: GDF-Geographic data files
version 3.0, CEN TC 278, Netherland, 1995.