Mendelova univerzita v Brně Provozně ekonomická fakulta
Vizualizace realtimových dat ve virtuální realitě Bakalářská práce
Vedoucí práce: Ing. David Procházka, Ph.D.
Pavel Tuček
Brno 2011
Zde je zadání práce
Na tomto místě bych chtěl poděkovat svému vedoucímu za podnětné připomínky, odborné rady a metodické vedení při psaní této bakalářské práce a své rodině za podporu při studiu.
Prohlašuji, že jsem práci vytvořil samostatně za použití zdrojů, které uvádím na závěr v seznamu použité literatury.
Brno 15. 5. 2011
....................................................
5
Abstract TUČEK, P. Visualization of realtime data in virtual reality. Bachelor thesis. Brno, 2011 Bachelor thesis describes possibilities how to visualize real time data in virtual reality. Research possibilities of publications of this data, available formats on internet, real time data processing and its visualization. This thesis describe visualization of real time data using vGeo from Mechdyne in virtual reality.
Keywords real time data, visualization, vGeo, virtual reality
Abstrakt TUČEK, P. Vizualizace realtimových dat ve virtuální realitě. Bakalářská práce. Brno, 2011 Bakalářská práce popisuje možnosti způsobů vizualizace realtimových dat ve virtuální realitě. Průzkum možností publikace a dostupných formátů realtimových dat na internetu, jejich zpracování a vizualizace. Seznamuje čtenáře s vizualizací realtimových dat v laboratoři virtuální reality pomocí programu vGeo od firmy Mechdyne.
Keywords realtimová data, vizualizace, vGeo, virtuální realita
6
OBSAH
Obsah 1 Úvod a cíl práce 1.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Cíl práce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Teoretická část 2.1 Typy realtimových dat . . . . . . Obrázky . . . . . . . . . . . . . . RSS . . . . . . . . . . . . . . . . GeoRSS . . . . . . . . . . . . . . KML . . . . . . . . . . . . . . . . CSV . . . . . . . . . . . . . . . . 2.2 Vybrané zdroje realtime dat . . . NWS . . . . . . . . . . . . . . . . Modis . . . . . . . . . . . . . . . Realtime data ze sociální sítí . . . 2.3 Příklady využití realtimových dat Předpovědi počasí . . . . . . . . . Předpovědi v ekonomice . . . . . Varování před tornády . . . . . . Varování před záplavami . . . . . 2.4 Vizualizace realtimových dat . . . Google Earth . . . . . . . . . . . NASA World Wind . . . . . . . . 3D Drill View KM . . . . . . . . vGeo . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
8 8 8 10 10 10 10 12 14 17 18 18 19 19 20 20 20 20 21 21 22 22 23 24
3 Metodika 26 3.1 Vyhledání vhodného zdroje dat . . . . . . . . . . . . . . . . . . . . . 26 3.2 Vytvoření skriptu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Vytvoření kofiguračního souboru . . . . . . . . . . . . . . . . . . . . . 26 4 Vlastní práce 4.1 Získání, import a konverze dat . . . . . . . . . . 4.2 Nastavení virtuálního světa ve vGeo . . . . . . . Nastavení času (TIME DEF) . . . . . . . . . . Nastavení souřadného systému (COORD DEF) Grafické objekty . . . . . . . . . . . . . . . . . . Nastavení GOBS . . . . . . . . . . . . . . . . . 4.3 Vytvoření animace . . . . . . . . . . . . . . . . Souřadný systém . . . . . . . . . . . . . . . . . Časová nastavení . . . . . . . . . . . . . . . . . Grafické objekty . . . . . . . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
27 27 27 28 30 32 38 39 39 39 40
7
OBSAH
Nastavení animace . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5 Závěr
43
6 Literatura
44
Přílohy
47
A Příklad VBS
48
B Příklad skriptu Perl
49
C Screenshot z aplikace
50
1
ÚVOD A CÍL PRÁCE
1 1.1
8
Úvod a cíl práce Úvod
Pojem informace můžeme považovat za stejně starý, jako lidstvo samotné. Vždy byla a bude pro člověka jeho neodmyslitelným společníkem stejně jako její zpracování. Oblast zpracování dat sahá hluboko do historie. Dříve jsme data zpracovávali především zpětně, což se postupem času ukázalo značně nevýhodné především z důvodu, že samotná data byla v okamžiku jejich zpracování už dost neaktuální, čímž ve většině případů ztrácela svou hodnotu. S postupem času byl kladen stále větší důraz na rychlost přenosu informací a dat a především jejich aktuálnost. Všechny tyto požadavky splňují realtimová data. Z tohoto důvodu je už v současné době řada programů, která umí s takovými daty pracovat a překládat je uživatelům v přijatelné podobě. Čím aktuálnější data jsou a čím rychleji jsou k dispozici, tím pro nás mají větší význam. Největší význam pro nás mají zřejmě tehdy, pokud zachraňují lidské životy, což je v současné době plné zemětřesení a jiných katasrof velice aktuální téma. Čím dříve totiž máme údaje o blížící se katastrofě k dispozici, tím více životů můžeme zachránit. Na tomhle principu jsou založeny systémy varovaní před tornády a velkými mořskými vlnami, jejichž sondy neustále zasílají nová a nová data o stavu vodní hladiny, stejně jako satelity zasílající snímky pohybů oblačnosti nebo sondy zaznamenávající pohyby zemské kůry. Všechna tato zařízení odesílají své údaje v reálném čase na počítače vědců a odborným pracovníků, kteří čtyřiadvacet hodin denně sledují dění na naší planetě, aby mohli poslat včasné varování. Dalším dobrým příkladem využití realtimových dat, kde právě aktuálnost dat je důležitým faktorem, by mohlo být z oblasti dopravy. Existuje celá řada serverů, která shromažďuje údaje o nehodách na pozemních komunikacích, hustotě dopravě ve městech, sjízdnosti a stavu pozemních komunikací a další omezení. Tyto údaje poté předkladá řidičům i ostatním, kterým jsou určitě ku pomoci a mohou se tak vyhnout zácpě ve městě nebo neočekávanému užavření vozovky apod. Neméně důležitou oblastí využití realtimových dat je také oblast meteorologie, které pomocí satelitů a meteorologických stanic poskytují údaje o počasí na celém světě, které se poté využívají k předpovědím počasí, letecké dopravě a všude, kde je pořeba. Tyto data můžeme získat v různých podobách a z různých zdrojů podle toho, co právě potřebujeme a zajisté je tento přístup velkým krokem vpřed.
1.2
Cíl práce
Cílem této práce je prozkoumat metody publikování realtimových dat na internetu, rychlost jejich přenosů, strukturu a způsoby uložení a prozkoumat možnosti jejich zobrazení v Laboratoři virtuální reality. Ke splnění tohoto cíle povedou kroky jako výběr vhodného zdroje realtimových dat, vytvoření potřebných konverzních nástrojů pro jejich zobrazení v Laboratoři virtuální reality, seznámení čtenáře s do-
1.2
Cíl práce
9
stupnými nástroji vhodnými pro vizualizaci realtimových dat, srovnání jejich výhod a nevýhod, seznámení s programem vGeo od firmy Mechdyne a možnostmi vizualizace dat pomocí tohoto nástroje. V poslední řadě pak vytvoření interaktivního stereoskopického modelu zobrazujícího zvolená data za pomoci programu vGeo instalovaného v Laboratoři virtuální reality.
2
TEORETICKÁ ČÁST
2
10
Teoretická část
Realtimová data jsou data, jako každá jiná. Můžeme je na internetu najít v různých podobách, přes data v textové podobě, obrázky, čísla, až po data ve speciálních formátech. Z nejznámějších bych jmenoval např. KML, RSS, CSV nebo geoRSS. Jediným rozdílem oproti datům, které máme někde uloženy na disku je, že jsou tato data publikována v reálném čase na různých internetových serverech nebo jiným způsobem. Tyto servery potom využívají v dnešní době již různorodé aplikace. Ať už jde o data o počasí, dopravě či jiná geodata, přináší zpracování realtimových dat do této oblasti nový rozměr. Především oblast zpravodajství a meteorologie je na realtime datech v dnešní době již zcela závislá.
2.1
Typy realtimových dat
V této kapitole si představíme několik hlavních formátů, ve kterých můžeme realtimová data najít. Liší se jak ve způsobu publikování, struktuře, tak i v následném přístupu k nim a v jejich zpracování. Obrázky Jedná se pravděpodobně o nejjednodušší způsob publikace, jak z pohledu publikace, tak z pohledu zpracování. Data v těchto formátech se využívají ve všech odvětvích, kde můžeme s realtimovými daty příjít do styku. Nejznámější a nám nejbližší oblastí, kterou sledujeme každý den je oblast meteorologie. Data zasílaná ze satelitů na meteorologické servery poté můžeme vidět jako animaci oblačnosti na obloze, různé srážkové modely a podobně. Většina těchto dat je volně dostupná z meteorologických serverů NASA, USGS, Českého hydrometeorologického úřadu a dalších. Tato data jsou nejčastěji k dispozici ve formátech gif a jpg a jejich dostupnost ze serverů je nejvýše s hodinovým zpožděním oproti současnému stavu. RSS RSS 1 je zkratka, která znamená Rich Site Summary. Jedná se o informační zdroje, které dokáží automaticky uživatele upozorňovat na nové zprávy, přidané informace a další novinky. Původně tento formát sloužil pouze k předávání aktuálních novinek mezi jednotlivými servery, které takto velmi jednoduše mohly odkazovat na aktuální články na jiných serverech. Patří do rodiny XML formátů určených pro čtení novinek na webových stránkách a obecněji syndikaci obsahu. Technologie RSS umožňuje uživatelům Internetu přihlásit se k odběru novinek z webu, který nabízí RSS zdroj (RSS feed, též RSS kanál, RSS channel). Tento zdroj se většinou vyskytuje na stránkách, kde se obsah mění a přidává velmi často (například zpravodajské servery). Čtečky RSS si tento soubor dokáží automaticky ve zvolených časových intervalech stahovat 1
http://rss.com
2.1
Typy realtimových dat
11
Obr. 1: Satelitní snímek oblohy
a upozorňovat uživatele na změny, které se v souboru objevily od poslední kontroly. Aby nedocházelo ke zbytečnému zahlcování serverů požadavky na RSS, neměl by být interval kontroly kratší než 60 minut. Technicky vzato není na celém principu RSS nic složitého. Zpravodajský server, který chce své RSS nabízet, musí jen na svůj web umístit soubor, který v předem stanovené struktuře obsahuje výtah z nabízených informací. Tento výtah se pak automaticky aktualizuje. Informace jsou posílány jako XML soubor nazývaný RSS zdroj, webový zdroj, RSS stream, RSS feed nebo RSS kanál (Bureš, 2003). Z následující ukázky je patrné, že nejde o nijak složitý zápis. Dokument začíná informací o verzi XML a ve formátu RSS 2.0 je na nejvyšší úrovni uzavřen do elementu rss, do kterého je vnořen element channel, dále informace o elementu channel dokumentu (v příkladu se jedná o elementy title, link, description, language, pubDate, lastBuildDate), informace o jednotlivých položkách jsou vnořovány do elementu item. Mezi povinné elementy patří pouze rss (element nejvyšší úrovně, povinně obsahuje informaci o verzi RSS, která je umístěna v atributu version), channel (obsahuje informace a další vnořené elementy), title (obsahuje jméno kanálu v lidsky čitelné podobě), link (obsahuje URL dané webové stránky) a description (obsahuje popis daného RSS) (Bureš, 2003). RSS je v podstatě prostý textový XML dokument. Způsob jeho vytvoření je pouze v rukou autora. RSS je možné tvořit v libovolném textovém editoru nebo
2.1
Typy realtimových dat
12
může být práce přenechána strojům, které RSS dokument vygenerují automaticky (například pomocí PHP z databáze). Pak už jen stačí vystavit na web adresu RSS kanálu. Výhodou tohoto způsobu prezentace dat je rychlost jejich přenosu a také jejich aktuálnost (Bureš, 2003). xml version = " 1.0 " ? > < rss version = " 2.0 " xmlns:geo = " http: // www . w3 . org /2003/01/ geo / wgs84_pos # " xmlns:dc = " http: // purl . org / dc / elements /1.1/ " xmlns:eq = " http: // earthquake . usgs . gov / rss /1.0/ " xmlns:georss = " http: // www . georss . org / georss / " > < channel > < title > USGS Earthquake ShakeMaps title > < description > List of ShakeMaps for events in the last 30 days description > < link > http: // earthquake . usgs . gov / link > < dc:publisher >U . S . Geological Survey dc:publisher > < pubDate >Sun , 16 Jan 2011 13 :11:02 +0000 pubDate > < item > < title > 5.3 - BANDA SEA title > < description > < p > Date: Sun , 16 Jan 2011 11 :59:53 UTC < br / > Lat / Lon: -6.5601/128.982 < br / > Depth: 223.5 p > ]] > description > < link > http: // earthquake . usgs . gov / eqcenter / shakemap / global / shake / c00013m1 / link > < pubDate >Sun , 16 Jan 2011 12 :59:40 +0000 pubDate > < geo:lat > -6.5601 geo:lat > < geo:long > 128.982 geo:long > < dc:subject >5 dc:subject > < eq:seconds > 1295179193 eq:seconds > < eq:depth > 223.5 eq:depth > < eq:region > global eq:region > item > chanel > rss >
GeoRSS Klasické RSS, jak už bylo řečeno výše, publikuje data pouze v textové podobě. Co ale když chceme publikovat data, která jsou vztažena k nějakému určitému místu? Jak bychom taková data mohli do RSS dostat? Odpovědí je geoRSS, které vzniklo rozšířením klasického RSS a přináší několik nových elementů, které nesou informaci o místu, ke kterému se data vztahují. Tato data jsou spojena s textem, čísly a obrázky publikovanými v RSS feed. To znamená, že klasiké RSS feed může v sobě ještě navíc obsahovat ještě data označující místo, ke kterému jsou data z původního RSS vztažena, jako je například předpověď počasí v dané oblasti. V současné
2.1
Typy realtimových dat
13
době existují tři způsoby, jak v geoRSS uchovávat informace o umístění. Jsou to W3C (world wide web consorcium version), Simple GeoRSS a Pro GeoRSS(GML). Každý je otrochu odlišný, avšak žádný z nich se zatím nepovažuje za formální standart (Media Wiki, c2010a). W3C Geo W3C Geo, také označovaný jako „geo:lat/geo:lonÿ podle tagů. Podporuje uchování informace o určitém místu pouze pomocí přímek, mnohoúhelníků, boxů a vyvýšenin. Vše je založeno na principu GML (Geography Markup Language), výslovně vybraného k tomu, aby usnadnil programátorům implementaci a další použití. Simple GeoRSS stanovuje pravidla, který souřadnicový systém je používán : WGS84, šířka-délka nebo použití dekadických stupňů (Fun with GeoRSS, c2010b). < geo:Point > < geo:lat > 55.701 geo:lat > < geo:long > 12.552 geo:long > geo:Point >
Simple GeoRSS Simple GeoRSS rozšiřuje možnosti uchování informací oproti W3C. Informace o místu, můžeme uchovávat nejen pomocí bodů, ale také pomocí přímek, mnohoúhelníků, boxů a vyvýšenin. V příkladu je naznačena možnost publikování informace pomocí polygonu. < georss:polygon > 45.256 -110.45 46.46 -109.48 43.84 -109.86 45.256 -110.45 georss:polygon >
GeoRSS GML GML2 neboli Geography Markup Language je komplexní a rozsáhlý jazyk. Jedná se o jazyk založený na gramatice jazyku XML, určený pro modelování, přenos a ukládání geografických informací. Poskytuje různorodé objekty pro popis krajiny, včetně jejích vlastností, souřadného systému apod. V příkladu vidíme ukázku týkající se zěmětřesení. V hlavičce opět uvedena verze xml, dále pak nadpis, podnadpis, odkaz na stránky, jméno autora a samotné informace o zemětřesení, opět název, odkaz na stránky, identifikátor, datum zveřejnění a souřadnice pomocí bodové reprezentace (GML, c2011c). xml version = " 1.0 " encoding = " utf -8 " ? > < feed xmlns = " http: // www . w3 . org /2005/ Atom " xmlns:georss = " http: // www . georss . org / georss " xmlns:gml = " http: // www . opengis . net / gml " > < title > Earthquakes title > < subtitle > International earthquake observation labs subtitle > 2
http://www.opengeospatial.org/standards/gml
2.1
Typy realtimových dat
14
< link href = " http: // example . org / " / > < updated > 2005 -12 -13 T18:30:02Z updated > < author > < name > Dr . Thaddeus Remor name > < email > tremor@quakelab . edu email > author > < id > urn:uuid:60a76c80 - d399 -11 d9 - b93C -0003939 e0af6 id > < entry > < title >M 3.2 , Mona Passage title > < link href = " http: // example . org /2005/09/09/ atom01 " / > < id > urn:uuid:1225c695 - cfb8 -4 ebb - aaaa -80 da344efa6a id > < updated > 2005 -08 -17 T07:02:32Z updated > < summary > We just had a big one . summary > < georss:where > < gml:Point > < gml:pos > 45.256 -71.92 gml:pos > gml:Point > georss:where > entry > feed >
KML KML3 je zkratka pro Keyhole Markup Language a je dalším přírůstkem do rodiny XML. Je souborovým formátem pro modelování a ukládání geografických funkcí, jako jsou body, čáry, obrázky, polygony, a modely pro zobrazení v aplikaci Google Earth, Google Maps a dalších aplikacích. V Google Earth je soubor KML zpracován podobným způsobem jako HTML a XML soubory v internetovém prohlížeči. KML je možné použít ke sdílení míst a informace s ostatními uživateli těchto aplikací. Můžete najít například soubory KML v galerii KML a Google Earth stránek, které popisují zajímavé funkce a místa. Nejjednodušší KML dokumenty jsou takové, u kterých nemusíme vytvářet ani modifikovat žádné KML v textovém editoru, elementy, určující polohu místa, jako jsou značky míst (placemarks), překryvné vrstvy (ground overlays), cesty (paths) a mnohoúhelníky (polygons) jsou přístupné přímo z programu Google Earth (Google, c2011d). Placemarks Placemarks jsou jedním z nejvíce využívaných elementů v Google Earth. Označují nějakou pozici na zemském povrchu. Nejjednodušší značky obsahují pouze element
, který specifikuje umístění značky. Sám uživatel může určit označení a jméno značky. Struktura takového dokumentu (viz níže) obsahuje XML záhlaví, které je vždy na prvním místě KML souboru a nesmí před ní následovat žádné mezery ani jiné znaky. Dále obsahuje specifikaci označení místa (specifikace tvaru nebo funkce, která místo popisuje). 3
http://code.google.com/intl/cs/apis/kml/
2.1
Typy realtimových dat
15
Tělo samotné značky poté obsahuje dva elementy. Prvním z nich je jméno, použité jako označení značky, druhým je popis, který se objeví při označení značky. Posledním prvkem je značka , která specifikuje pozici na zemském povrchu, má povinné parametry délka, šířka a volitelný parametr nadmořská výška. xml version = " 1.0 " encoding = " UTF -8 " ? > < kml xmlns = " http: // www . opengis . net / kml /2.2 " > < Placemark > < name > Simple placemark name > < description > Attached to the ground description > < Point > < coordinates > -122.0822035425683 ,37.42228990140251 ,0 coordinates > Point > Placemark > kml >
Ground overlays Překryvná vrstva umožní překrýt vždy nějakou část terénu pro znázornění různých situací. Povinný element obsahuje odkaz na soubor ve formátu jpg, který je samotným překryvným obrázkem. Ukázka následujícího kódu demonstruje erupci sopky Etna v roce 2001. Můžeme si všimnout, že soubor žačíná stejným způsobem, jako předchozí příklad. Pozice překryvné vrstvy je řízena elementem . Hraničními hodnotami jsou severní, jižní zeměpisná šířka a východní, západní zeměmisná délka. Ukázka používá jako překryvný obrázek soubor ve formátu jpg, avšak Google Earth podporuje také formáty bmp, gif, tiff, tga a png formáty. < kml xmlns = " http: // www . opengis . net / kml /2.2 " > < Folder > < name > Ground Overlays name > < description > Examples of ground overlays description > < GroundOverlay > < name > Large - scale overlay on terrain name > < description > Mount Etna erupting on 06.13.2001. description > < Icon > < href > http: // code . google . com / apis / kml / document / etna . jpg href > Icon > < LatLonBox > < north > 37 .91904 192681 665 north > < south > 37 .46543 388598 137 south > < east > 15 .35832 653742 206 east > < west > 14 .60128 369746 704 west > < rotation > -0.1556640799496235 rotation > LatLonBox > GroundOverlay > Folder >
2.1
Typy realtimových dat
16
kml >
Paths Paths jsou dalším způsobem jak definovat data. V KML se vytváří elementem . Uživatel si také může zvolit barvu a tloušťku čáry. Implementace je obdobná, jako v předchozích případech. Obsahují navíc elementy , <extrude>, , které ovlivňují vizualizaci dat. Tag definuje, jakým způsobem jsou vyjádřeny výšky, <extrude> definuje protažení tvaru geometrie k zemskému porvchu a definuje, do jaké míry lze rozdělit dlouhé linie na kratší části tak, aby co nejlépe kopírovaly povrch Země. xml version = " 1.0 " encoding = " UTF -8 " ? > < kml xmlns = " http: // www . opengis . net / kml /2.2 " > < Document > < name > Paths name > < description > Examples of paths . Note that the tessellate tag is by default set to 0. If you want to create tessellated lines , they must be authored ( or edited ) directly in KML . description > < Placemark > < name > Absolute Extruded name > < description > Transparent green wall with yellow outlines description > < styleUrl ># y el l o wL i n eG r e en P o ly styleUrl > < LineString > < extrude >1 extrude > < tessellate >1 tessellate > < altitudeMode > absolute altitudeMode > < coordinates > -112.2550785337791 ,36.07954952145647 ,2357 -112.2549277039738 ,36.08117083492122 ,2357 -112.2552505069063 ,36.08260761307279 ,2357 -112.2564540158376 ,36.08395660588506 ,2357 -112.2580238976449 ,36.08511401044813 ,2357 -112.2595218489022 ,36.08584355239394 ,2357 -112.2608216347552 ,36.08612634548589 ,2357 -112.262073428656 ,36.08626019085147 ,2357 -112.2633204928495 ,36.08621519860091 ,2357 -112.2644963846444 ,36.08627897945274 ,2357 -112.2656969554589 ,36.08649599090644 ,2357 coordinates > LineString > Placemark > Document > kml >
2.1
Typy realtimových dat
17
Polygons Posledním způsobem zobrazení dat v jednoduchých KML dokumentech jsou mnohoúhelníky. S jejich pomocí můžeme vytvořit jednoduché budovy a jiné tvary. Liší se opět několika elementy. V elementu je definována hranice polygonu tvořená výčtem souřadnicově určených bodů. Takto můžeme vytvořit souvislou plochu. Pokud je zapotřebí složitější konstrukce, můžeme oblast přesněji definovat pomocí souřadnic vnějšího okraje a vnitřního okraje . xml version = " 1.0 " encoding = " UTF -8 " ? > < kml xmlns = " http: // www . opengis . net / kml /2.2 " > < Placemark > < name > The Pentagon name > < Polygon > < extrude >1 extrude > < altitudeMode > relativeToGround altitudeMode > < outerBoundaryIs > < LinearRing > < coordinates > -77.05788457660967 ,38.87253259892824 ,100 -77.05465973756702 ,38.87291016281703 ,100 -77.05315536854791 ,38.87053267794386 ,100 coordinates > LinearRing > outerBoundaryIs > < innerBoundaryIs > < LinearRing > < coordinates > -77.05668055019126 ,38.87154239798456 ,100 -77.05542625960818 ,38.87167890344077 ,100 -77.05485125901024 ,38.87076535397792 ,100 coordinates > LinearRing > innerBoundaryIs > Polygon > Placemark > kml >
CSV CSV, anglicky Comma-Separated Values, je formát pro data oddělená čárkami. Jedná se o jednoduchý souborový formát určený pro výměnu tabulkových dat. Soubor ve formátu CSV se skládá z řádků, ve kterých jsou jednotlivé položky odděleny čárkou. Hodnoty položek mohou být také uzavřeny do uvozovek, což umožňuje, aby text položky obsahoval čárku. Pokud text položky obsahuje uvozovky, jsou zdvojeny. Jelikož se v některých jazycích, včetně češtiny, čárka používá v číslech jako oddělovač desetinných míst, existují varianty, které používají jiný znak pro oddělování položek než čárku, nejčastěji středník, případně tabulátor (taková varianta
2.2
Vybrané zdroje realtime dat
18
se pak někdy označuje jako TSV, Tab-Separated Values). Variantu se středníkem (ale stále pod názvem CSV) používá např. Microsoft Excel v české verzi Microsoft Windows (řídí se oddělovačem zadaným v Místním a jazykovém nastavení). Díky jednoduchosti, nenáročnosti a čitelnosti i bez specializovaného software se tento formát používá pro výměnu informací mezi různými systémy. Především se tento formát používá pro meteoroligocká a hydrologická data. Ke stejnému účelu se dnes používá i modernější a univerzálnější (ale složitější) formát XML.
2.2
Vybrané zdroje realtime dat
V dnešní době kolem nás obíhá nepřeberné množství družic a satelitů, které každou hodinu generují obrovské množství dat. Existuje celá řada stránek a různorodých aplikací, které realtimová data zprostředkovávají. Ve většině případů se jedná o různé zpravodajské servery a stránky organizací, které se zpracováním různých údajů zabývají, servery, na nichž se ukládají družicové snímky a spousta soukromých, veřejnosti nepřístupných serverů, která uchovávají data pro věděcké účely. Co se týká českých zdrojů realtimových dat, určitě by bylo vhodné jmenovat stránky české geologické služby (geofond), která poskytuje jak bezplatná, tak placená data ve vektorové i rastrové podobě. Dále pak stránky vodohospodářského informačního portálu Ministerstva zemědělství ČR, který poskytuje data bezplatně v textové i obrazové podobě, stránky ČVUT, poskytující bezplatná geodata ve formátu xml a html. Ze světových zdrojů pak zajisté stránky NASA, NWS, Modis a již výše zmíněných serverů ukládajících satelitní snímky jako Eumetsat a další. NWS Národní meteorologická služba (NWS) 4 shromažďuje informace o počasí ze stanic po celém světě. Využívá přibližně 4000 stanic na celém světě, ze kterých získává data. Tyto informace o počasí jsou shromažďovány, analyzovány, a uloženy do lokální databáze v Národní laboratoři pro obnovitelné zdroje energie (NREL) 5 . Údaje jsou k dispozici každému prostřednictvím internetu a e-mailu. NWS poskytuje gigabity dat ke zpracování v přístupném indexovaném databázovém formátu. Aktuální formát dat o počasí, která přichází do NWS, je velmi nepřehledný, proto byl vytvořen program na pořízení dat pro jejich zjednodušení. O data si můžete zažádat prostřednictvím e-mailu. Poté, co je vaše žádost o data doručena na server v příslušném formátu a s příslušnými parametry, vám systém tato data zašle. Pokud došlo k chybě ve formátu e-mailu, pak uživatel obdrží e-mail se správným formátem uvedeným v těle. Nejsou-li k dispozici údaje o místě které uživatel hledá, pak obdrží e-mail o tom, že data pro zadané místo nebyla nalezena. K jiné chybě může dojít, pokud zadáte špatný předmět do e-mailu. Pokud požadovaná data uživatel neobdrží do 8 hodin, je potřeba požádat o data znovu. Při žádosti o data program vyhledá 4 5
http://weather.gov/ http://nrel.gov/
2.2
Vybrané zdroje realtime dat
19
stanici ze seznamu, který podrobně popisuje parametry stanice, jako je zeměpisná délka, zeměpisná šířka, a časový posun podle greenwichského času (GMT). Výstupy dat o počasí jsou k dispozici ve dvou formátech. Jsou to hodnoty oddělené čárkami (CSV) a mezinárodní údaje o počasí pro energetické výpočty (IWEC) (National Weather Service, 2011). Modis MODIS 6 (Moderate Resolution Imaging Spectroradiometer) je klíčovým nástrojem Terra a Aqua satelitů. Jedná se o veřejně dostupný katalog s real-time daty ze stránek USGS. Data jsou publikovány převážně ve formátu CSV, XML a KMZ. MODIS hraje zásadní roli v rozvoji ověřených, globálních, interaktivních modelů Země schopných předpovědět globální změny a pomoci politikům při vytváření správného rozhodnutí týkajícího se ochrany životního prostředí. Data jsou také využívána vědci z různých oborů v oceánografii v biologii, a atmosférických vědách. Jednou z jedinečných vlastností MODIS je jeho přímý přenos dat. Kromě ukládání dat pro pozdější využití umí také zpracovat právě získaná data, která si může zdarma stáhnout kdokoliv s patřičným vybavením a softwarem. Realtime data ze sociální sítí Tento způsob získávání realtimových dat můžeme označit za nejnovější. Před nedávnem představil Google vyhledávání v realném čase, to znamená, že mezi běžnými výsledky při hledání se zobrazí také zprávy z Twitteru 7 , Facebooku 8 nebo MySpace 9 (Čížek, 2009). Tyto sociální sítě jsou v dnešní době stále více populární a koluje v nich každou minutou obrovské množství informací o tom, kdo kam šel až po to, kde se co stalo, což může být velice užitečné. Můžeme si to opět demonstrovat na příkladu zemětřesení. V určitém místě dojde například k otřesům a osoba, která se zrovna na tomto místě nachází, o tom hned napíše na Facebook nebo Twitter a údaj o otřesech je okamžitě k dispozici, zatímco data ze sondy, které zpracovává počítač, mohou dorazit až během několika následujících minut. V takovém případě může každá minuta zachránit stovky či tisíce lidských životů. Získávání realtimových dat ze sociálních sítí je založeno na klasickém principu vyhledávání informací na internetu (Janovský, 2011). Tento způsob má však své nedostatky. Při běžném vyhledávání se totiž nejdříve zobrazují informace, které mají nejvíce zpětných odkazů a považují se tak za nejspolehlivější. Odkazy na články, které informace obsahují, se však vytvoří až za nějaký čas a ne okamžitě, jak by bylo potřeba. To má poté za následek to, že pokud je nějaká informace přidaná nedávno, bude až někde na konci seznamu. Twitter tento problém dokáže částečně vyřešit. Podle počtu přečtení, celkového počtu zpráv a zveřejněných článků může 6
http://modis.gsfc.nasa.gov/ http://twitter.com 8 http://facebook.com 9 http://myspace.com 7
2.3
Příklady využití realtimových dat
20
být vytvořen seznam autoritativních uživatelů. Po přepracování, úpravě algoritmu vyhledávání na internetu a zařazení této metody, by mohlo být do budoucna vyhledávání realtimových dat velice efektivní.
2.3
Příklady využití realtimových dat
Předpovědi počasí K předpovídání špatného počasí se rovněž využívají realtimová data. V dnešní době se počasí předpovídá s pomocí meteorologických radarů, družic a balónů. Z družicových snímků, pohybu oblačnosti a poklesů tlaku se předpovídá vznik bouře, případně její směr. S použitím realtimových dat se staly předpovědi rychlejší a přesnější. Realtimový tří-dimenzionální systém k vizualizaci počasí je novinkou v oblasti předpovídání počasí, využívanou NWT, která zlepší aktuálnost a přesnost předpovědi bouří, jejich tvorby, cesty a možné dopady těchto bouří. Výzkumníci pod vedením Georgia Institute of Technology vyvíjejí počítačový systém založený na prohlížení, průzkumu a analýze velkého objemu vypozorovaných dat. Data zahrnují informace z radarových stanic, náročného softwaru k detekci počasí, modely počasí ve vysokém rozlišení, informace z geografických informačních systémů, satelitní snímky a letecké fotografie. Tyto zdroje poskytují nejen informace o počasí, ale také údaje o terénu, stavebních místech a dokonce i lidské činnosti, jako je hustota dopravy. Všechna tato data jsou sloučena v platformě s názvem VGIS 10 (Virtuální geografický informační systém), dříve vyvinutého výzkumnými pracovníky. Tento systém zlepší předpovědi počasí v mnoha způsobech. V konečném důsledku budou meteorologové schopni činit rozhodnutí rychleji a přesněji a bude zdrojem dat pro analytiky a ostatní výzkumné pracovníci (UniSci, 2001). Předpovědi v ekonomice Také v ekonomice nachází realtimová data své uplatnění. S jejich pomocí odborníci předpovídají nominální HDP, cenový index, firemní zisky, reálné HDP, jeho složky a nespočet měsíčních obchodních ukazatelů, jako jsou úrokové sazby a index spotřebitelských cen. Predikce se provádí pomocí složitých výpočtů, modelů a existuje celá řada metod, jejichž podrobnému popisu bychom mohli věnovat pár následujících stran (Croushore, 2010). Varování před tornády Tornáda usmrtí každoročně tisíce lidí na celém světě. Čím rychleji umíme předpovědět místo a čas ve kterém tornádo udeří, tím více lidských životů můžeme zachránit. Vedci zkoumají chování tornád více než 30 let. Za tuto dobu již existuje celá řada pozorovacích technologií. Základním stavebním kamenem pro varovaní a předpovědi tornád je radar WSR-88D a Doplerův radar (UniSci, 2001). Radar dokáže pořídit 10
http://gis.com/
2.4
Vizualizace realtimových dat
21
snímky vertikálního střihu větru v supercellách bouří, což vědcům umožňuje předpověďět případný směr a rychlost větru v tornádu. Data se zpracovávají v meteorologických stanicích, které musí být dostatečně vybaveny po hardwarové stránce a umožní tak provádět složité výpočty potřebné pro předpovědi. Budoucnost předpovědí tornád jsou numerické modely, které budou zahrnovat všechny enviromentální procesy, z nichž tornáda vznikají a urychlí tak jejich předpovídání (Vijayakumar, 2008). Varování před záplavami Předpovídání povodní v reálném čase je jedním z nejúčinnějších opatření v oblasti ochrany před povodněmi. Pro formulování předpovědi povodní v reálném čase, jsou pozorované meteorologické toky dat přenášeny na předpovědní stanice prostřednictvím různých prostředků datové komunikace, ke kterým patří telefon, bezdrátové sítě a telemetrie stanic apod. Shromážděná meteorologická data v reálném čase jsou pak používány v kalibrovaném a ověřeném modelu předpovídání povodní v realném čase, předpovědi povodní, průtoku vody apod. Struktura modelu by měla být jednoduchá a neměla by mít příliš vstupních požadavků, avšak současně musí být předpovídané povodně co nejpřesnější. Existují různé typy předpovědních modelů povodní v reálném čase (Nester, 2010). Tyto typy je možné rozdělit na deterministické modely, stochastické a statistické modely, nejnovější Umělé neuronové sítě (ANN) a Fuzzy logic techniques. Povodňová centra v Indii používají odlišné předpovědní modely založené na dostupnosti meteorologických a hydrologických dat, výpočetních zařízeních, která jsou k dispozici na předpovědní stanici a času požadovaného pro předpověď. Novější techniky, jako je NS a fuzzy logika jsou v současné době vyvíjeny a testovány výzkumnými pracovníky. Matematické modely byly vyvinuty buď na základě fyzikálních úvah, nebo na základě statistické analýzy k odhadu povodně z malých i velkých rozměrů povodích. Stávající modely předpovídání povodní jsou velmi datově specifické a komplexní. Na rozdíl od matematických modelů, které vyžadují přesnou znalost všech přispívajících proměnných, fuzzy logikka nabízí pružnější, méně závislé na znalosti proměnných k modelování povodňových procesů (Nester, 2010).
2.4
Vizualizace realtimových dat
Vizualizace realtimových dat je převedení dat v různých fotmátech do nějaké námi přijatelné podoby, ze které snadno a rychle zjistíme požadované informace. Obrazová data se většinou podílejí na tvorbě různých animací a předpovědních modelů, data ve formátu RSS pak hlavně v textové podobě. Hlavními a nejvíce použivanými nástroji v této oblasti jsou aplikace Google Earth 11 , NASA World Wind 12 a vGeo 13 11
http://google.com/earth/index.html http://worldwind.arc.nasa.gov/java/ 13 http://mechdyne.com/vgeo.aspx 12
2.4
Vizualizace realtimových dat
22
od firmy Mechdyne. Zásadní rozdíl mezi těmito nástroji je znatelný na první pohled. Zatímco Google Earth a určité moduly Nasa World Wind jsou zcela zdarma a k jeho používání si stačí stáhnout a nainstalovat příslušné součásti, vGeo je profesionální nástroj, za jehož licenci si musíme zaplatit. Google Earth Jak už je z názvu patrné, jedná se o program vyvinutý společností Google a v dnešní době zaznamenává značný rozvoj i do řad méně zkušených uživatelů. Výše již bylo řečeno, že je tento program k dispozici bezplatně. Poskytuje uživateli trojrozměrnou vizualizaci Země, která integruje, organizuje a zveřejňuje data o počasí, dopravě, umožní vám prozkoumat geografické informace. Podporuje výše zmíněný formát KML, umí zobrazit prostorové modely budov a spoustu jiných užitečných věcí. Podpora přístupu založeného na prohlížeči 2D nyní umožňuje pomocí rozhraní API služby Mapy Google také integrovat geografická prostorová data do webových aplikací. Tato data může zobrazit libovolný uživatel bez ohledu na klientský software. Data o oblačnosti a srážkách jsou stahovány ze serverů Eumetsat jako obrazové snímky, ty se pak v překryvné vrstvě zobrazují přímo nad povrchem virtuální Země. Dále můžete využít například zobrazení informací GPS v reálném čase. Stačí připojit přenosný počítač k zařízení GPS, nastavit příslušné parametry a informace vám budou přímo v průběhu cesty zobrazovány v programu Google Earth. Můžete si také prohlížet historické snímky, data vizualizované vždy pomocí nějakého odkazu přímo nad místem, ke kterému se data vztahují, a další informace. Výhodou je bezplatná licence a snadné ovládání, nevýhodou pak malé množství podporavaných formátů a malá možnost customizace (Google, 2011). NASA World Wind NASA World Wind je aplikace velice podobná Google Earth. Jedná se o nástroj pro vizualizaci leteckých snímků ze serverů NASA a USGS ve vysokém rozlišení, určený pro uživatele osobních počítačů, zaměřený spíše na oblast USA. Poskytuje jednoduchý přístup ke galeriím s geoprostorovými daty jako jsou NASA’s Earth Science Gateway catalog 14 a Naval Research Laboratory’s Geospatial Information Database (GIDB )15 . Stejně jako Google Earth umožňuje uživatelům podívat se na jakékoliv místo Zemi. Dále zobrazuje měsíc, hvězdnou oblohu a planety sluneční oblohy, které si může uživatel otáčet a přibližovat si je. Program má dále přístup k serverům s WMS daty a umí je také zobrazit. Další zajímavou součástí je analytická vrstva, která demonstruje vizuální reprezentaci skalárních hodnot přes mřížku zeměpisné polohy. Zobrazuje úhrn srážek, výškové modely a další data určená k analýzám. Dále umožnuje zobrazovat místa, kde došlo k zemětřesení, kreslit trasy, zobrazovat 3D modely, animace, popisky a obrázky 14 15
http://esg.gsfc.nasa.gov/ http://dmap.nrlssc.navy.mil/dmap/
2.4
Vizualizace realtimových dat
23
Obr. 2: Ukázka aplikace Google Earth
k vybraným místům, umí stereoskopicky zobrazovat povrch Země a další data, takže se s použitím 3D brýlí může uživatel co nejvíce přiblížit realitě, což je velkou výhodou. K dalším výhodám určitě patří bezplatnost vybraných modulů. 3D Drill View KM Dalším vizualizačním nástrojem, který stojí za zmínku je 3D Drill View KM 16 . Jedná se o profesionální 3D vizualizační software, který poskytuje výkonné prostředky pro inženýry a geology k vizualizaci, analýze a interpretaci dat v reálném čase. Umožňuje zobrazovat geologické 3D modely k analýzám s použitím nejnovějších technologíí. Pomocí tohoto nástroje můžete získat přístup k obrovským úložištím dat včetně OpenWorks 17 a SeisWorks 18 , která umí v reálném čase aktualizovat. Nabízí jedinečnou schopnost konfigurace, díky které se dokáže přizpůsobit potřebám každého uživatele. Umožňuje spolupráci vědců z rozlišných oborů, čímž přispívá k rychlejšímu a přesnějšímu řešení daného problému. Výhodou je propracovaná schopnost 3D vizualizace, konfigurovatelnost, možnost aktualizace dat samotným programem, nevýhodou je vysoká cena (Haliburton, 1997). 16
http://www.halliburton.com/ps http://www.halliburton.com/ps/ 18 http://www.halliburton.com/ps 17
2.4
Vizualizace realtimových dat
24
Obr. 3: Ukázka z aplikace NASA World Wind
vGeo vGeo je zkratkou pro Virtual Global Exploder and observatory. Jedná se o vizualizační nástroj určený pro dnešní vědce, inženýry a analytiky, čelící výzvě efektivní interpretace a vizualizace dat, který slouží ke zlepšenému vnímání komplexních informací. Se schopností vnést spoustu odlišných typů dat do jedné komplexní vizualizace umožnuje data srovnávat a doplňovat navzájem. Pohledy a výsledky takto získané analýzy mohou být zcela odlišné než interpretace jednotlivých tipů dat zvlášť. Přeměněnými prvotními daty do reálné trojrozměrné animované grafiky pomáhá, jak specialistům, tak i bězným uživatelům, pochopit a analyzovat data, získat nové pohledy na data a pracovat rychleji. Je flexibilní v typech dat, které je možné do vGeo importovat, zobrazovacích systémech, které podporuje, možnostech nastavení a konfigurace za běhu. vGeo bylo původně vyvinuto oceánografy, kteří byli nespokojení s nástroji umožňujícími zobrazit různá časově závislá trojrozměrná data. Během svého studia zjistili, že 3D vizualizace dat významně pomohla porozumět složitým procesům. S využitím lidského mozku a jeho schopnosti rozpoznat datové vzory v trojrozměrné barevné animaci odhaluje vlastnosti a vztahy, které by mohli jinak zůstat bez povšimnutí. Přesahuje mnoho běžných vizualizačních balíků a umožňuje uživatelům
2.4
Vizualizace realtimových dat
25
práci se stejnými soubory dat na různorodých sytémech, laptopech, počítačích, pracovních stanicích a laboratořích virtuální reality. Vstupní zařízení mohou tvořit klávesnice, myši, tackery pohybu a další. V podstatě podporuje jakékoliv zařízení se softwarem podporovaným VRCO. Konstrukce virtuálního světa ve vGeo zahrnuje přetvoření nezpracovaných dat do grafických objektů, které poté mohou být zobrazeny. Jak již bylo řečeno, podporuje velké množství formátů (GIS formáty, gif, jpg, hdf, mm5, . . . ) a také různé grafické objekty jako jsou barvy, povrchy, pláty, znaky a pohybující se modely. Tento proces převádí komplexní informaci do forem, kterým můžeme instinktivně porozumět. Mezi hlavní a klíčové vlastnosti, proč si k vizualizaci dat vybrat právě vGeo, patří tedy flexibilita, interaktivní navigace, dynamické rozhraní nástrojů a prezentační schopnosti. Nevýhodou je potom placená licence (Mechdyne, 2009).
Obr. 4: Ukázka aplikace vGeo
3
METODIKA
3
26
Metodika
Počáteční částí práce je seznámení se s formáty realtimových dat, možnostmi jejich publikování a příklady jejich využití v praxi. Realizace praktické části vizualizace realtimových dat se skládá ze tří klíčových částí. V první části bude potřeba vyhledat vhodný zdroj realtimových dat s ohledem na formáty podporované programem vGeo, poté vytvořit skript, který zajistí stažení dat z vhodného zdroje a konverzi dat pro program vGeo. V posledním kroku budé poté potřeba vytvořit konfigurační soubor, který z pořízených dat vytvoří animaci s využitím stereoskopické projekce v laboratoři virtuální reality.
3.1
Vyhledání vhodného zdroje dat
Vyhledání vhodného zdroje dat pravděpodobně ovlivní strukturu celé praktické části práce. Bude potřeba dobře zvážit, jakou podobu realtimových dat zvolíme. Každá má totiž své výhody a nevýhody, jak bylo popsáno výše a liší se také v obtížnosti zpracování. Budeme proto vybírat formát, který bude kompatibilní v programem vGeo, abycom předešli konverzi dat, poté co takový zdroj vyhledáme, bude potřeba prozkoumat možnosti pořízení dat z vybraného zdroje a opět se budeme snažit vybrat co nejjednodušší.
3.2
Vytvoření skriptu
Než se pustíme do vytváření skriptu, bude potřeba zvážit, jaký programovací jazyk použijeme. Vzhledem k tomu, že vytvořená aplikace bude vytvořena v operačním systému Windows XP, bude pro vytvoření skriptu pravděpodobně nejvhodnější programovací jazyk Perl. Hlavní úlohou skriptu bude zajistit stažení dat z vybraného zdroje s ohledem na způsob jejich publikování, případně tato data nějakým způsobem konvertovat a připravit je ke zpracování programem vGeo.
3.3
Vytvoření kofiguračního souboru
Při vytváření konfiguračního souboru bude opět potřeba zohlednit formát vybraných dat. Poté z velkého množství možností vybrat nejvhodnější variantu pro vizualizaci dat, nastavení času, souřadného systému, grafických objektů a ostatních nastavení virtuálního světa. Nakonec nastavit jednotlivé parametry animace a upravit časování.
4
VLASTNÍ PRÁCE
4
27
Vlastní práce
Praktická část této práce spočívá ve vytvoření stereoskopické projekce, ve výše popsaném specializovaném vizualizačním nástroji vGeo v Laboratoři virtuální reality. Po spuštění programu se nám v animaci promítne série snímků s aktuálním stavem oblačnosti nad povrchem Evropy, se kterým můžeme manipulovat podle libosti.
4.1
Získání, import a konverze dat
Po zvážení jednotlivých způsobů publikování a zpracování dat byla pro demostraci vizualizace vybrána realtimová data v obrazové podobě, přesněji satelitní snímky oblohy Evropy ze stránek Eumetsat. Jde o nejlépe zpracovatelný formát, při použití zvoleného nástroje. Pro jejich automatizované získávání z internetu při spuštění programu vGeo byl vytvořen skript v programovacím jazyce Perl, který získá z internetu aktuální satelitní snímky, se kterýma se poté dále pracuje a uloží je do složky, která je zdrojem dat pro vGeo. Dále bude vytvořen VBS 19 skript, který data přejmenuje do požadované podoby. V programu může být využito pěti typů dat. Jedná se o mřížky, pohybující se datové množiny, úsečky, sestavy objektů s gemotrií a GIS data. Mřížky mohou být definovány pomocí jednorozměrné, dvourozměrné nebo trojrozměrné spleti bodů, která může být závislá nebo nezávislá na čase. Pohybující se množiny definují cestu senzoru a mohou obsahovat data tímto senzorem naměřená. Sestavy objektů s geometríí jsou obrázky, modely, slidy a jiná grafika, která byla vytvořena jinou aplikací a vGeo ji umožňuje zobrazit. GIS data obsahují mřížky, shapefiles 20 a obrázky vztažené k určitému místu. Pokud se dostaneme do situace, že vGeo nějaký formát nepodporuje nebo zjistíme, že je nevhodný, můžeme snadno zvolit jiný nebo námi zvolený formát převést na standardní formát. To však v našem případě nehrozí, protože používáme satelitní snímky oblohy. Problém konverze dat nám tedy nehrozí.
4.2
Nastavení virtuálního světa ve vGeo
Než začneme cokoliv řešit nebo upravovat je potřeba vedět, že ke správnému fungování programu jsou potřeba dvě věci. První z nich je složka data, ze které jsou načítány jednotlivé modely, obrázky, textury. Tato složka je zdrojem dat pro program. Druhou neopomenutelnou součástí je konfigurační soubor, který obsahuje věškeré nastavení a modifikace v prostředí vGeo. Je zde uložen souřadnicový a časový systém a také zdroje dat. Tento soubor je uložen jako text ASCII, musí existovat pro každý virtuální svět, má příponu .vgeo a můžeme ho buď sami vytvořit pomocí značek, klíčových slov a proměnných nebo vygenerovat přímo z uživatelského rozhraní programu. 19 20
Visual basic script Formát vektorových dat
4.2
Nastavení virtuálního světa ve vGeo
28
Poté, co máme získaná data ve formátu, které vGeo podporuje, přejdeme k sestavení samotného konfiguračního souboru. Ještě před tím si ale představíme základní uživatelské rozhraní programu vGeo, které obsahuje šest tlačítek. Jsou to tlačítka animation play, animation pause, gob builders, definition builder panel, demo, exit. Co se týká prvních dvou, je již z názvu patrné, že slouží ke spoustění a zastavení námi vytvořené animace. Pomocí tlačítka gob builder se dostaneme do rozhraní pro vytváření grafických objektů ve virtuálním světě vGeo. Tlačítko definition builder panel slouží k definování a nastavení zvolených dat, tlačítko demo spouští ukázku virtuálního světa a tlačítko exit samozřejmě ukončuje program. Nyní se můžeme podívat na to, jakým způsobem se vytváří samotný virtuální svět. K dispozici máme šest různých typů definičních entit k přesné specifikaci. Jsou to : • foundational definitions • data source definitions • graphical objects definitions • supporting definitions • interface definitions • auxiliary definitions Definují základní atributy virtuálních světů, jako jsou místo, čas a souřadnicový systém. Data source definition definují import datových zdrojů a počítají také s jejich modifikací. Graphical object definitions definují grafické zobrazení dat. Supporting definitions definují atributy jako barvy, tabulky barev atd., využívané v graphical object definition. Interface definition potom zahrnuje definice uživatelského rozhraní, jako je nástrojový panel, tlačítka a další. Nakonec auxiliary definitions definují hlavní atributy virtuálních světu, jako je barva pozadí, centra rotace a mnoho dalších. Každý konfigurační soubor obsahuje tagy, klíčová slova a parametry, jak už bylo řečeno výše. Musí být zadáván ve přesně specifikovaném tvaru, kde platí určitá pravidla. Na prvním místě je vždy tag následovaný požadovanými parametry a klíčovými slovy. Tyto komponenty kofiguračního souboru jsou od sebe odděleny jednou či více mezerami a dohromady tvoří jeden příkaz. Tagy a klíčová slova jsou psány velkými písmeny a záleží také a přesně specifikovaném pořadí parametrů za tagy a klíčovými slovy. Každý nový příkaz musí začínat na novém řádku. Následující příklad ukazuje, jak by vypadal příkaz, který umožní zobrazení červeného textu. Dalšími prvky, které nesmí v definici virtuálního světa chybět jsou nastavení času a souřadného systému. FONT_TEXT muj Coord1 Time 2.0 vGeoRed " TEXT " PLACEMENT 1.0 1.0 1.0
Nastavení času (TIME DEF) Nastavení času se provádí pomocí klíčového slova TIME DEF a udavá, kdy a na jak dlouho bude daný objekt ve virtuálním světě zobrazen. Každý objekt musí mít přiřazeno nastavení času. Více objektů může využívat jednoho nastavení nebo může
4.2
Nastavení virtuálního světa ve vGeo
29
mít každý objekt své. To už záleží na potřebách uživatele. Definice se řídí stejnými pravidly, jako u konfiguračního souboru. Na prvním místě je tag označující, že jde o definici času, následovaný povinnými parametry nazev, start, konec a typ. V ukázce můžeme vidět obecný zápis definice. TIME_DEF nazev start konec typ
Prvním parametrem definice je nazev. Jedná se o textový řetězec, který udává název daného nastavení času a pomocí kterého můžeme toto nastavení přiřazovat jednotlivým objektům. Parametry start a konec udávají start a konec animačního cyklu. Hodnoty jsou zapsány v podobě desetinného čísla v rozmezí 0.0 až 1.0, kde právě 0.0 až 1.0 je doba trvání celého cyklu. Pokud chceme například objekt zobrazit od půlky animačního cyklu do konce, nahradíme hodnotu 0.0 hodnotou 0.5. Pro zobrazení statického objektu, který má být vidět po celou dobu, použijeme následující zápis. TIME_DEF Staticky 0 1 DATA_RANGE 0 1 USER
Posledním a nejdůležitějším parametrem je typ, který specifikuje, jestli budou jednotlivé kroky animace udávány v kalendářních nebo datových jednotkách. • CAL RANGE • DATA RANGE Klíčové slovo CAL RANGE udává kroky animace v kaledářních jednotkách a má specifický tvar. CAL_RANGE yrS monS dayS hrS minS secS yrE monE dayE hrE minE secE
Povinné parametry yrS, monS, dayS, hrS, minS a secS udávají čas začátku animačního cyklu ve tvaru rok, měsíc, den, hodina, minuta, vteřina. Rok musí být hodnota větší než 101, měsíc v rozsahu 1 až 12, den 1 až 31, hodina 0 až 23, minuta 0 až 59 a vteřina rovněž 0 až 59. Parametry yrE, monE, dayE, hrE, minE a secE ve stejném tvaru a se stejnými přípustnými hodnotami potom udávají konec cyklu. Klíčové slovo DATA RANGE udává kroky animace v datových jednotkách. DATA_RANGE dataStart dataKonec dataJednotky
Parametry dataStart a dataKonec jsou dvě reálná čísla definující počátek a konec animace v datových jednotkách, které udává parametr dataJednotky. Tento parametr může obsahovat klíčová slova : • SECOND nebo S • MINUTE nebo MINUTES • HOUR, HOURS nebo H • DAY, DAYS nebo D • MONTH • YEAR nebo YEARS • USER TIME nebo USER
4.2
Nastavení virtuálního světa ve vGeo
30
Tato klíčová slova blíže specifikují datové jednotky, které mohou být udávány podle pořadí ve vteřinách, minutách, hodinách, dnech, měsících, rocích nebo uživatelem definovaných jednotkách. Nastavení souřadného systému (COORD DEF) Definice a nastavení souřadného systému je stejně jako definice a nastavení času jedním ze základních stavebních kamenů virtuálního světa vGeo. Každý objekt, který chceme zobrazit, musí mít jasně definovaný souřadný systém. Definice souřadného systému se opět řídí stejnými pravidly, které jsou popsány výše u popisu konfiguračního souboru. Obsahuje povinné a volitelné parametry. Na prvním místě zápisu definice se nachází opět textový řetězec, který označuje název námi definovaného souřadného systému, pomocí kterého můžeme v konfiguračních souborech na tento souřadný systém odkazovat a přiřazovat jej různým objektům. COORD_DEF Nazev xMin xMax xVal yMin yMax yVal zMin zMax zVal SrfTyp
V ukázce zápisu definice můžeme vidět, že název souřadného systému následují parametry xMin, xMax, yMin, yMax, zMin, zMax, které definují rozsah každé z os a parametry xVal, yVal, zVal, které udávají, v jakých jednotkách bude rozsah osy definován. Přípustné hodnodnoty rozsahů os jsou dány použitím daných jednotek. Jednotky osy X mohou být definovány těmito klíčovými slovy : • LONGITUDE nebo také LON • DEGS EAST • KILOMETERS • METERS • FEETS • MILES • NAUTICAL MILES • USER LONGITUDE a DEGS EAST jsou téměř totožné zapisy. Obě klíčová slova udávají jednotky ve stupních, liší se jen v rozsahu hodnot. Zatímco LONGITUDE má rozsah 0 až 360, DEGS EAST má rozsah -180 až 180. Klíčová slova KILOMETERS, METERS, FEETS, MILES a NAUTICAL MILES udávají jednotky v kilometrech, metrech, stopách, mílích a námořních mílích. Nesmí být záporné. Poslední klíčové slovo USER udává jednotky, které si uživatel sám definoval v externím textovém souboru. Jednotky osy Y mohou být definovány stejnými klíčovými slovy, jako u osy X, jen s tím rozdílem, že místo klíčového slova LONGITUDE je zde LATITUDE nebo také LAT a rozsah hodnot není 0 až 360, ale mění se na -90 až 90. DEGS EAST se mění na DEGS NORTH. U osy Z je definice jednotek opět shodná s definicí jednotek osy X, nemůžeme už však použít klíčová slova LONGITUDE a DEGS EAST, objevují se zde však dvě nová klíčová slova MILIBARS a PASCAL. Jak název napovídá první z nich udává jednotky v milibarech, druhá v pascalech. Opět nemohou být záporné.
4.2
Nastavení virtuálního světa ve vGeo
31
SrfTyp pomocí dalších klíčových slov blíže definuje rámec souřadného systému. Jsou to : • GEODETIC nebo také SPHERICAL • EQUIRECTANGULAR nebo také GENERIC • MERCATOR • TRANSVERSE MERCATOR • UTM • LAMBERT CONFORMAL CONIC • POLAR STEREOGRAPHIC • NG RECTANGULAR • SRF Přípustné hodnoty u těchto parametrů jsou velice podobné jako u předchozích. SRF je uživatelem definovaná specifikace souřadného systému, takže přípustné hodnoty závisí na uživateli. U GEODETIC jde o geoprostorové zobrazení, které definuje pozici na Zemi vzhledem k osám. Osa x je ve stupních měřená vzhledem k nultému poledníku, osa y ve stupních měřena vzhledem k rovníku a osa z zastupuje nadmořskou výšku měřenou v metrech nebo milibarech. Toto zobrazení využívá systému WGS-84. Při použití EQUIRECTANGULAR využíváme geoprostorového kartézského zobrazení. Jednotky osy x definují vzdálenost od nultého poledníku v metrech nebo stupních, jednotky osy y definují vzdálenost od rovníku rovněž v metrech nebo stupních a jednotky osy z vzdálenost od hladiny moře v metrech nebo milibarech. U klíčových slov MERCATOR, LAMBERT CONFORMAL CONIC, TRANSVERSE MERCATOR, UTM, POLAR STEREOGRAPHIC využíváme stejného typu zobrazení i přípustných hodnot jako u EQUIRECTANGULAR, liší se jen způsob výpočtu a určení polohy. NG RECTANGULAR používá narozdíl od předchozích zobrazení, které není geoprostorové. Vzdálenosti v tomto zobrazení jsou měřeny od počátku každé z os. Přípustným jednotkami jsou lineární hodnoty (metry, kilometry, stopy nebo uživatelem definované jednotky). SRF je uživatelem definovaný souřadný systém. Mezi volitelné parametry patří klíčová slova : • Z MAGNIFY • SCALE • POSITION • ORIENT • OUTLINE ON • NON NAVIGATED • ASPECT RATIO Z MAGNIFY se využívá při použití geoprostorového souřadného systému, kde je obvykle vertikální osa mnohonásobně menší než horizontální osa a použítím tohoto klíčového slova můžeme poměr těchto os změnit. U souřadných systémů, které nejsou geoprostorové, dosáhneme podobného efektu použitím klíčového slova ASPECT RATIO. Klíčovým slovem SCALE můžeme měnit velikost souřadného systému.
4.2
Nastavení virtuálního světa ve vGeo
32
Pomocí POSITION můžeme nastavit střed souřadného systému na vybranou pozici, ORIENT změní orientaci os a pomocí OUTLINE ON zobrazíme okraje souřadného systému. Při použítí NON NAVIGATED nebudeme moci pohybovat s dříve pohyblivými objekty ani se přesunovat pomocí myši. Grafické objekty Jak již bylo řečeno v úvodu, program vGeo nabízí nepřeberné množství možností jak a co ve virtuálním světě zobrazit. Ať už jsou to jednoduché objekty, jako obrázky, texty, trojrozměrné modely, různé typy křivek a bodů, tak je také možné zobrazit animace, pohybující se modely, vektory a další. Grafické objekty jsou základní stavební jednotkou virtuálního světa, definují jaký typ objektu a s jakými vlastnostmi bude ve virtuálním světě použit. Zápis definice je vždy ve tvaru, kde je na prvním místě klíčové slovo označující daný typ objektu, následované příslušnými parametry, které se často opakují, ale také se mohou u různých objektů lišit. Typy grafických objektů jsou následující : • COLOR SLICE • COLT FILE • CONTOUR SLICE • DIGITAL CLOCK • FONT TEXT • GIS IMAGE • GIS LINES • GIS POINTS • GLYPHS • IMAGE SEQ • ISOSURFACE • MONO COLOR • MOVS MODEL • POLY LINE • SIMPLE IMAGE • SIMPLE MOVIE • STATIC MODEL • SURFACE • TERRAPAGE • TOPO • TOPO LINES • TOPO CONTOURS • VECTORS Vzhled k velkému množství grafických objektů a jejich nastavení, si blíže popíšeme jen ty nejdůležitější.
4.2
Nastavení virtuálního světa ve vGeo
33
DIGITAL CLOCK DIGITAL CLOCK je klíčovým slovem, které definuje grafický objekt hodiny, které můžeme využít například při animacích a jiných projektech, kde je viditelná časomíra potřebná. DIGITAL_CLOCK jmeno format casDef barva
Povinnými parametry jsou jmeno, které následuje za klíčovým slovem DIGITAL CLOCK a jednoznačně definuje jméno hodin vyjádřené textovým řetězcem, dále parametr format, který definuje formát, parametr casDef, který definuje použití již vytvořené definice času a poslední povinný parametr barva, který obsahuje již definovanou barvu.
Obr. 5: Ukázka digitálních hodin
COLT FILE Grafický objekt definovaný pomocí COLT FILE je dále později využíván u dalších grafických objektů. Jedná se totiž o definici určité škály barev, kterou chceme používat. COLT_FILE jmeno nazevSouboru log10 ln
Povinnými parametry jsou jmeno a nazevSouboru, označující jméno definice škály barev, pomocí kterého se potom na tento objekt odkazujeme a název souboru ve kterém jsou specifikované požadované barvy. Volitelnými parametry jsou log10 a ln, které definují paletu barev za použití dekadického logaritmu nebo přirozeného logaritmu. Přípustnými hodnotami jsou pouze hodnoty ze spektra barev.
4.2
Nastavení virtuálního světa ve vGeo
34
FONT TEXT Pokud chceme ve virtuální světě zobrazit nějaký popisek, název, doplňující informace nebo jakýkoliv jiný text využijeme grafického objektu FONT TEXT, který umožní zobrazení požadovaného textu u kterého můžeme měnit barvu, velikost, umístění i zarovnání. FONT_TEXT skupina sourSys nastCas velikost barva text
Povinnými parametry u této definice jsou skupina, sourSys, nastCas, velikost, barva a text, které určují název GOB, ke které má být text přiřazen, název existujícího souřadného systému a nastavení času, velikost písma, barva písma a nakonec požadovaný text. Volitelnými parametry jsou klíčová slova PLACEMENT X Y Z, TRANSFORM jmeno, FLAT, FONT, JUSTIFY. První dvě blíže specifikují umístění textu. Přípustnými hodnotami X, Y a Z je rozsah hodnot v použitém souřadném systému, parametr jmeno u klíčové slova TRANSFORM potom obsahuje jméno grafického objektu, který určuje rotaci, pozici a rozsah hodnot pro umístění textu. Parametr FLAT převede trojrozměrný text do dvojrozměrné podoby, aby byl čitelnější u popisků, FONT určuje řez písma, přípustné hodnoty jsou NORMAL, BOLT nebo ITALIC. Poslední volitelný parametr JUSTIFY určuje horizontální zarovnání textu na střed, k levému nebo pravému okraji souřadného systému. Přípustmými hodnotami jsou CENTER, LEFT, RIGHT.
Obr. 6: Ukázka textu
COLOR SLICE Dalším jednoduchým grafickým objektem je dvojrozměrná barevná plocha definovaná pomocí klíčového slova COLOR SLICE. Dokáže vykreslit danou plochu urči-
4.2
Nastavení virtuálního světa ve vGeo
35
tými barvami či odstíny barev a využívá se například k zobrazení teploty povrchu nebo množství srážek v daném místě. COLOR_SLICE skupina zdrojDat var colt
Povinnými parametry jsou skupina, zdrojDat, var a colt. Parametr skupina obsahuje textový řetězec označující název existující GOB, do které chceme objekt přiřadit. Parametr zdrojDat, jak už název napovídá, obsahuje umístění souboru se zdrojovými daty pro vykreslení barevné plochy. Var obsahuje textový řetězec, který obsahuje název existujícího variabilního objektu a parametr colt název existujícího objektu s tabulkou používaných barev.
Obr. 7: Ukázka color slice
STATIC MODEL Pokud budeme chtít zobrazit trojrozměrný statický nebo pohybující se model, použijeme klíčové slovo STATIC MODEL. Povinnými parametry jsou skupina, sourSys, nastCas, model a transform. První tři parametry, stejně jako u předchozích příkladů, přižazují grafický objekt do určité skupiny, přiřazují mu existující souřadný systém a nastavení času. Pod parametrem model se skrývá název existujícího trojrozměrného modelu, který jsme vytvořili v nějakém jiném programu a který chceme zobrazit. Podporovanými formáty jsou soubory programu open inventor, binární soubory SGI, soubory OpenFLT a soubory aplikace 3D StudioMax a podobných. Mně osobně se při zobrazování trojrozměrných modelů nejvíce osvědčil formát .vrlm, který neměl problém ani se zobrazením texturovaných objektů. Posledním povinným parametrem je transform, které zase stejně jako v předchozím
4.2
Nastavení virtuálního světa ve vGeo
36
případě obsahuje jméno grafického objektu, který určuje rotaci, pozici a rozsah hodnot pro umístění objektu. Volitelným parametrem je MOVEABLE. Tento parametr, jak už název napovídá, označí model jako pohyblivý a je poté možné měnit jeho umístění přímo ve virtuálním světě. Obecný zápis definice ukazuje následující příklad. STATIC_MODEL skupina sourSys nastCas model transform MOVEABLE
Obr. 8: Ukázka statického 3D modelu
IMAGE SEQ Pomocí klíčového slova IMAGE SEQ vytvoříme sekvenci snímků, která nám poslouží při animaci snímků oblohy. Povinné parametry jsou stejné jako u předchozího. Chybí tady pouze parametr obraz, místo kterého je zde parametr list. IMAGE_SEQ skupina sourSys nastCas list x y z x y z x y z styl MONOCOLOR jmeno MOVEABLE
Jedná se o zvláštní typ parametru, který tvoří soubor s příponou .list, ve kterém je přesně definováno časové rozmístění jednotlivých snímků v animaci v rámci animačního cyklu. Soubor je ve tvaru, kdy na prvním místě je název obrázku nebo slidu, na místě druhém potom klíčové slovo CAL RANGE nebo DATA RANGE podle toho, zda bude pro načasování snímků použito kalendářních nebo datových jednotek, stejně jako u nastavení času. Na posledním místě je potom u jednotlivých snímků čas začátku a konce zobrazení příslušného snímku. Příklady použití CAL RANGE a DATA RANGE pro načasování snímků můžete vidět v následujícím příkladu.
4.2
37
Nastavení virtuálního světa ve vGeo
DATA_RANGE Snimek_1 . jpg 0 .35 Snimek_2 . jpg .35 .75 Snimek_3 . jpg .75 1 CAL_RANGE data / animace / obr_1 . jpg data / animace / obr_2 . jpg data / animace / obr_3 . jpg data / animace / obr_4 . jpg
2011 2011 2011 2011
1 1 1 1
26 26 27 28
1 0 0 23 59 23 59 23 59
2011 1 0 2011 0 2011 0 2011
26 23 59 0 1 27 23 59 0 1 28 23 59 0 1 29 23 59 0
SIMPLE IMAGE Dalším grafickým objektem je dvojrozměrný obrázek, který do virtuálního světa vložíme pomocí klíčového slova SIMPLE IMAGE. Povinnými parametry jsou skupina, sourSys a nastCas, které jsou jsou shodné s předchozími příklady a dále parametry obraz, skupina souřadnic x y z a styl. Parametr obraz obsahuje název obrázku, který chceme zobrazit ve formátu GIF, JPEG, SGI RGB a RGBA. Pro dosažení co nejlepších výsledků zobrazení je dobré používat obrázky o velikosti mocniny dvou (128, 256, 512 . . . ). Skupina parametrů obraz určuje pozici textu v souřadném systému pomocí reálných čísel a poslední parametr styl udává, jakým způsobem bude obrázek zobrazen. Obrázek může překrývat podkladovou vrstvu (klíčové slovo DECAL), může nahradit podkladovou vrstvu (klíčové slovo REPLACE), obrázek s průhledností se smísí s podkladovou vrstvou (klíčové slovo BLEND) nebo je obrázek a jeho barvy upraven podkladovou vrstvou (klíčové slovo MODULATE). Volitelnými parametry jsou MONOCOLOR jmeno, pomocí kterého můžeme měnit barvu podkladové vrstvy pro obrázek a MOVEABLE, pomocí kterého označíme obrázek jako pohyblivý, stejně jako v předchozím případě. SIMPLE_IMAGE skupina sourSys nastCas obraz x y z x y z x y z styl MONOCOLOR jmeno MOVEABLE
Obr. 9: Ukázka obrázku
4.2
Nastavení virtuálního světa ve vGeo
38
VECTORS Pokud budeme chtít zobrazit směr proudění, ať už vzduchu nebo čehokoliv jiného, uděláme to pomocí grafického objektu VECTORS. K zobrazení směru nám pomohou tři typy ukazatelů, které mohou být orientované jakýmkoliv směrem. VECTORS skupina zdroj delka typ barva
Povinnými parametry jsou skupina, jako u předchozích, dále zdroj, delka, typ a barva. Tyto parametry určují zdojový soubor s daty, délku vektoru, typ ukazatele a barvu.
Obr. 10: Ukázka vektoru
Nastavení GOBS Všechny grafické objekty ve virtuálním světě vGeo se dají rozdělit do různých skupin a jednotlivé části virtuálního světa můžeme zobrazovat a skrývat, podobně jako když při vytváření 3D modelu rozdělíme model do vrstev. Rozdělení virtuálního světa do vrstev se provádí pomocí klíčového slova GOB GROUP. GOB_GROUP nazev objekt1 objekt2
V takto vytvořené skupině se může nacházet jeden či více grafických objektů. Zápis definice obsahuje povinný parametr nazev, který jednoznačně určuje název skupiny a dále seznam již definovaných grafických objektů, který ma daná skupina obsahovat. V ukázce uvedené níže můžeme vidět vytvoření skupiny s názvem podklad, která obsahuje obrázek a na něj umístěný 3D model.
4.3
Vytvoření animace
39
GOB_GROUP podklad model obrazek
V konfiguračním souboru můžeme také definovat, které skupiny objektů mají být zobrazeny hned po spuštení, pomocí klíčového slova GOBS ON. Na první místě definice je opět klíčové slovo GOBS ON následováno názvem jedné až N skupin, které mají být zobrazeny. Ostatní skupiny bodou zobrazeny až po jejich zapnutí uživatelem. GOBS_ON skupina1 skupina2
4.3
Vytvoření animace
Poté, co jsme se seznámili s nastavením času, souřadného systému a vytváření grafických objektů, můžeme se pustit do vytvoření samotné animace. Amimace bude obsahovat popisky a samotnou sekvenci obrázků. Rovněž bude potřeba vytvořit dvě různá nastavení času pro objekty zobrazené po celou dobu animace a pro měnící se objekty. Co se týče souřadného systému, postačí nám jedinné nastavení s rozdílnou polohou objektů. Do takto připraveného virtuálního světa přidáme požadované grafické objekty, které v souřadném systému správně rozložíme. Souřadný systém Jelikož nevytváříme žádný model, který by striktně vyžadoval použití geoprostorového souřadného systému, můžeme využít parametru NG RECTANGULAR. Přesnou pozici jednotlivých grafických objektů určíme parametrem POSITION x y z, kde x, y a z je poloha na osách. Jelikož nepoužíváme geoprostorové zobrazení musí být jednotky lineární. Můžeme ještě doplnit parametr SCALE, pomocí kterého si případně můžeme měnit velikost. Zápis vytvořeného souřadného systému potom vypadá takto (všechny parametry budou v konfiguračním souboru samozřejmě na jednom řádku) : COORD_DEF Coord_anim 0 1 USER 0 1 USER 0 1 USER NG_RECTANGULAR POSITION 1 5 5 SCALE 1.0
Tento souřadný systém použijeme u všech grafických objektů, bude se nám měnit jenom název a pozice, aby byl zápis čitelný. Časová nastavení Jak už bylo řečeno, budeme potřebovat dvě časová nastavení pro grafické objekty. Pro ty, které budou zobrazeny po celý čas využijeme parametru allTime a typ časového nastavení využívající datových jednotek DATA RANGE. Zápis definice bude vypadat následovně : TIME_DEF allTime 0 1 DATA_RANGE 0 1 USER_TIME
Vzhledem k tomu, že jsme u statických objektů využili nastavení času s použitím datových jednotek, bude se nastavení času pro animaci lišit jenom v názvu. Mohli
4.3
Vytvoření animace
40
bychom použít v obou případech také kalendářních jednotek, v tomto případě je to však zcela zbytečné. Grafické objekty V samotné vizualizaci se budou nacházet dva grafické objekty. Bude to popisný text a sekvence snímků. Co se týče popisného textu, bude se jednat o dvojrozměrný text bílé barvy. Nepoužijeme trojrozměrný text, protože je ve virtuální realitě hůře čitelný. Ještě před vytvořením popisků pomocí klíčového slova FONT TEXT musíme vytvořit bílou barvu pomocí definice MONOCOLOR a b c d, kde a, b, c, d jsou hodnoty červené, zelené a modré barvy plus hodnota alfa v rozmezí od 0 do 255. Po vytvoření bílé barvy můžeme vytvořit samotné popisky. Název práce bude tvořen bílým textem o velikosti 1, jméno autora rovněž bílá barva a text o velikosti 0,5. Zápis v konfiguračním souboru vGeo bude celý na jednom řádku a bude vypadat takto : FONT_TEXT autor Coord2 allTime 0.5 white autor : Pavel Tuček PLACEMENT 0.50 1.25 -0.03 ORIENTXY FLAT JUSTIFY CENTER FONT NORMAL
Obr. 11: Popisky
Druhým grafickým objektem je sekvence satelitních smínků. Jak už víme z předchozích odstavců, vytváří se sekvence klíčovým slovem IMAGE SEQ a k jejímu fungování ještě potřebujeme vytvořit soubor s příponou .list, kde bude definováno přesné načasování jednotlivých snímků a typ časového nastavení. V tomto případě použijeme časové nastavení využívající datových jednotek, takže na prvním místě
4.3
41
Vytvoření animace
souboru bude klíčové slovo DATA RANGE. V sekvenci použijeme 24 snímků, které rovnoměrně rozložíme do celého animačního cyklu, to znamená pomocí desetinných čísel v intervalu od 0 do 1 tak, aby na konec zobrazení snímku plynule navazoval začátek následujícího snímku a animace byla plynulá. Po implementaci všech těchto požadavků vypadá soubor .list takto : DATA_RANGE ../ data / snimek_1 . jpg 0 .04 ../ data / snimek_2 . jpg .04 .08 ../ data / snimek_3 . jpg .08 .12 . . . ../ data / snimek_23 . jpg .88 .92 ../ data / snimek_24 . jpg .92 1
Poté, co byl vytvořen soubor s načasováním smínků, můžeme vytvořit samotnou animaci, kterou ještě označíme klíčovým slovem MOVEABLE, abychom s ní mohli pohybovat : IMAGE_SEQ imageSeq slideCoord stormTime seq . list 0 1 0 DECAL MOVEABLE
0 1 1
1 1 0
Obr. 12: Animace
Nastavení animace Nastavení animace už je jen drobnou úpravou vytvořeného projektu. O několi odstavců výše jsme si řekli, že v programu vGeo existuje tlačítko Animation play,
4.3
Vytvoření animace
42
pomocí kterého spouštíme animaci. Tu však zatím ještě spouštět nebudeme. Standartně totiž bývá čas animace nastaven na 30 vteřin, což by při použití 24 snímků způsobilo nerovnoměrný přechod snímků, proto tuto hodnotu musíme přenastavit. Klikneme na tlačítko Tools na ovlácím panelu a zvolíme Animation.Tím vyvoláme nabídku nastavení animace.
Obr. 13: Ovládací panel
V Prvním kroku přenastavíme délku animačního cyklu na 48 vteřin, aby každý snímek byl zobrazen 2 vteřiny. V dalším kroku zaškrtneme políčko Forward, aby animace začínala od prvního snímku. V posledním kroku můžeme zaškrtnout políčko Loop, pokud chceme aby animace běžela stále dokola a potom už jenom tlačítko On/off nebo Animation play pro spuštění animace.
Obr. 14: Panel nastavení animace
5
5
ZÁVĚR
43
Závěr
S ohledem na zadání práce, byly prozkoumány formáty realtimových dat a metody jejich publikování na Internetu. Byly prozkoumány možnosti zobrazování realtimových dat v prostředí Laboratoře virtuální reality, vybrán vhodný zdroj realtimových dat, vytvořen vhodný konverzní nástroj pro jejich zobrazení a nakonec také vytvořen interaktivní stereoskopický model zobzazující zvolená data. Jako nejvhodnější zdroj byla zvolena obrazová data oblohy. Byl vytvořen skript v programovacím jazyce Perl, který umožnil stažení vybraných dat, jejich následné rozbalení z archcivu, což v operačním systému Windows XP nebylo tak jednoduché, jak se zpočátku zdálo. Skrip dále umožnil přesunutí rozbalených dat do složky se zdrojovými daty pro program vGeo, smazal stará data a přejmenoval nová data do potřebné podoby. Dále byl tento skript rozšířen do podoby, aby provedl všechny úkony a následně spustil program vGeo za účelem co největšího zjednodušení pro uživatele aplikace. Byly prozkoumány možnosti vytváření animací v programu vGeo a vytvoření animace požízených dat oblohy, ve kterém je možné nastavit časování jednotlivých snímků. Cíl práce se tedy podařilo splnit. Celé práce je koncipována jako návod, který dalším uživatelům programu vGeo značně zjednodušší vytváření vlastních animací v programu vGeo. Popisuje grafické objekty ve virtuálním světě a všechna potřebná nastavení. Po jednoduché úpravě skriptu zjednodušší zejména načítání různých realtimových dat bez dalších modulů. Do budoucna by bylo vhodné prozkoumat možnosti běhu aplikace v operačním systému Linux, který by zajisté zjednodušil manipulaci s daty. Dále případné rozšíření aplikace o zobrazování další typů realtimových dat podle potřeb uživatele, například z dopravy či jiných sektorů.
6
6
LITERATURA
44
Literatura
Media Wiki GeoRSS Simple. [online] c2010a. [cit. 23. 11. 2010] Dostupné z WWW: . GeoRSS Simple. [online] 2010. [cit. 23. 11. 2010] Dostupné z WWW: . Fun with GeoRSS. [online] c2006b. [cit. 23. 11. 2010] Dostupné z WWW: . GML. [online] c2011c. [cit. 23. 11. 2010] Dostupné z WWW: . KML Tutorial. [online] 2011. [cit. 23. 11. 2010] Dostupné z WWW: . Google O jazyce KML. [online] c2011d. [cit. 20. 11. 2010] Dostupné z WWW: . Kryl M. Kde bere Google Earth data. [online] 2007. [cit. 18. 11. 2010] Dostupné z WWW: . Procházka D. Google Earth, svět na dlani. [online] 2005. [cit. 18. 11. 2010] Dostupné z WWW: . Krčmář P. Google Earth, a přece se točí. [online] 2006. [cit. 19. 11. 2010] Dostupné z WWW: . Google Google Earth. [online] 2011. [cit. 20. 11. 2010] Dostupné z WWW: . Bureš J. Co je RSS. [online] 2003. [cit. 20. 11. 2010] Dostupné z WWW: . Mechdyne Quick start demo guide. [online] 2009. [cit. 20. 11. 2010] Dostupné z WWW: . Mechdyne Reference manual. [online] 2009. [cit. 20. 11. 2010] Dostupné z WWW: . Mechdyne Track users manual. [online] 2009. [cit. 20. 11. 2010] Dostupné z WWW: . Mechdyne User guide. [online] 2009. [cit. 20. 11. 2010] Dostupné z WWW: .
6
LITERATURA
45
Federal reserve bank of Philadelphia Real-time data set for macroeconomics. [online] 2011. [cit. 20. 11. 2010] Dostupné z WWW: . UniSci Real-Time System To Improve Forecasts Of Bad Weather. [online] 2001. [cit. 20. 11. 2010] Dostupné z WWW: . Vijayakumar N. Real-time storm detection and weather forecast. Earth science informatics, volume 1, number 2, s. 49-57, Dostupné z WWW: . Nester T. Real time flood forecasts for fhe Danube fributaries. [online] 2002 [cit. 20. 11. 2010] Dostupné z WWW: . Pandolfi C. Real time flood forecasting and management for the Han River. Scientific procedures applied to the planning, design and management of water, number 147, s. 6-12, Dostupné z WWW: . Croushore D. Forecasting with real-time macroeconomic data. Handbook of economic forecasting, edition 1, volume 1, number 1, s. 17, Dostupné z WWW: . Campbell Scientific Avalanche forecasting. Campbell Scientific, number 022, s. 4-6, Dostupné z WWW: . Kanamori Hiroo Real-time seismology and earthquake. NATURE, volume 390, s. 461-464, Dostupné z WWW: . Haliburton 3D Drill View KM. [online] 2011. [cit. 20. 11. 2010] Dostupné z WWW: . Argonit Visual basic script. [online] 2011. [cit. 23. 11. 2010] Dostupné z WWW: . Václavík J. Perl. [online] 2011. [cit. 23. 11. 2010] Dostupné z WWW: . Čížek J. Vyhledávání v reálném čase. [online] 2011. [cit. 23. 11. 2010] Dostupné z WWW: http://www.zive.cz/clanky/google-spousti-vyhledavani-v-realnem-case/ sc-3-a-150047/default.aspx. Janovský D. Vyhledávače. [online] 2011. [cit. 23. 11. 2010] Dostupné z WWW: .
6
LITERATURA
46
NWS Internet Services Team National weather service. [online] 2011. [cit. 23. 11. 2010] Dostupné z WWW: .
Přílohy
A
A
PŘÍKLAD VBS
48
Příklad VBS
Dim fso , f , sf , sfl , folder , file , filelist , counter , stary , novy path = " c: \ pavel \ desktop \ europe_vgeo \ data " Set fso = CreateObject ( " Scripting . FileSystemObject " ) Set f = fso . GetFolder ( path ) Set sf = f . SubFolders Set wshshell = CreateObject ( " WScript . Shell " ) For Each folder in sf counter = 1 Set sfl = fso . GetFolder ( folder ) set filelist = sfl . Files For Each file in filelist stary = file novy = folder . path & " \ " & folder . Name & Right ( " 0000 " & CStr ( counter ) ,4) & " . " & Right ( stary ,3) fso . MoveFile stary , novy counter = counter + 1 Next wshshell . Run ( " C: \ pavel \ desktop \ europe_vgeo \ config \ main . vgeo " ) Next
B
PŘÍKLAD SKRIPTU PERL
B
49
Příklad skriptu Perl
#!/ usr / bin / perl use H T T P : : R e q u e s t : : C o m m o n qw ( GET HEAD ); use LWP::UserAgent ; my $ dagent = LWP::UserAgent - > new ;
$ dagent - > agent ( " Mozilla /8.0 " ); $ request = HEAD ’ http: // oiswww . eumetsat . org / IPPS / html / MSG / PRODUCTS / MPE / CENTRALEUROPE / IMAGESDisplay /24 FramesMPE - CENTRALEUROPE . zip ’; $ response = $ dagent - > request ($ request ); print $ response - > content_type (); $ request = GET ’ http: // oiswww . eumetsat . org / IPPS / html / MSG / PRODUCTS / MPE / CENTRALEUROPE / IMAGESDisplay /24 FramesMPE - CENTRALEUROPE . zip ’; $ response = $ dagent - > request ($ request , " obloha . rar " ); if ( $ response - > is_success ) { print " File download ... [ ok ]\ n " ; } else { print " File download ... [ failed ]\ n " ; } $z $x $y $a
= = = =
’" c: \ users \ pavel \ desktop \ europe_vgeo \ data \ obl " ’; ’" c: \ windows . old \ program files \ winrar " ’; ’" c: \ windows . old \ program files \ winrar \ obloha . rar " ’; ’" c: \ users \ pavel \ desktop \ europe_vgeo \ data \ prejmenuj . vbs " ’;
system system system system system
" del / F / Q $ z " ; " move obloha . rar $ x " ; " winrar . lnk x obloha . rar *.* $ z " ; " del / F $ y " ; " cscript $ a " ;
C
C
SCREENSHOT Z APLIKACE
Screenshot z aplikace
Obr. 15: Screenshot z aplikace
50