Grafické formáty jsou standardy, které popisují, jak se mají ukládat grafická
data a slouží k jejich přenosu, organizování a k prohlížení. Takových formátů
je velké množství. Prakticky každá firma, která vyvíjí nějaký software pro
práci s grafikou, používá svůj interní firemní formát. Nás budou zajímat
především ty, které se staly standardy, a které mají vztah k problematice
webové kartografie.
V zásadě se dají grafické formáty rozdělit na:
vektorové grafické formáty
rastrové (bitmapové) grafické formáty
V každé z těchto skupin jsou grafické informace uloženy jiným způsobem.
1.1 Vektorové formáty
Vektorová data jsou uložena ve formě matematických objektů. Jsou definovány
základní objekty — body, přímky, polygony a nejrůznější druhy křivek.
Vektorové formáty umí oproti rastrovým ukládat také textové řetězce. Kromě
rovinných objektů mohou vektorová data popisovat i objekty prostorové — bod
v prostoru, rovinu, prostorovou křivku. Vektorová data obsahují specifikaci
objektů (o který objekt se jedná) a jeho atributy (barva, tloušťka čáry,
rozměry)
Klady:
paměťová úspornost
přesná definice matematických objektů
možnost transformace objektů (otočení, posun, prodloužení)
jednoduchý převod do bitmapy
Zápory:
není vhodné pro složité předlohy a fotografie, kde jsou prioritní barvy
1.1.1 SVG (Scalable Vector Graphics)
Popis formátu
SVG je vektorový grafický formát založený na XML a je často označován za
technologii pro 21. století. Je vyvíjen pod záštitou konsorcia W3C a
spolupracují na něm firmy jako IBM, Microsoft, Apple, Xerox, Hewlett-Packard,
Netscape, Corel, Adobe, Macromedia, ad.
Díky této podpoře má SVG před sebou slibnou budoucnost. Formát SVG lze i
komprimovat (a často se tak děje) pomocí algoritmu Gzip. Vznikají tak soubory
ve formátu SVGZ, které mají menší datový objem. Další práce s SVG jako s
čitelným formátem je však možná až po dekomprimaci.
Vlastnosti
Otevřený formát
SVG není formátem jedné firmy. Specifikace standardu je volně dostupná na
internetu a může se k ní vyjadřovat široké komunita.
Základem je XML
Tato vlastnost nabízí formátu SVG široké možnosti. Je lehce čitelný pro výrobce
softwaru i pro uživatele a snadno zpracovatelný odpovídajícími aplikacemi. Také
můžeme formát provázat s dalšími standardy založenými na XML.
Malý objem souborů
SVG je formát vektorový a z toho plyne, že soubory budou oproti bitmapové
grafice zabírat méně místa v paměti. Rychlost stahování grafiky po internetu je
pro uživatele s pomalejším připojením důležitá.
Velikost obrázku
Vektorová grafika neztrácí kvalitu při zvětšování, jak je tomu u bitmapové
grafiky. Tato vlastnost se dá využít například pro potřeby webových prezentací.
Nebude již záležet na tom, jaké používáme rozlišení monitoru. Grafika se nám
vykreslí vždy do plné velikosti bez ztráty kvality.
Použití stylů
Pomocí kaskádových stylů můžeme jednoduše definovat a měnit barvy čar, výplní,
fonty písem apod.
Čitelný formát
SVG je čitelné, není kódované. I bez grafického prostředí je každý schopen
vytvořit grafiku textovými značkami na principu XML.
Podpora webových prohlížečů
Interní podporu formátu SVG má zatím Opera a Mozzila (pozor ne FireFox). MS
Internet Explorer již tradičně pokulhává. Uživatelé tohoto prohlížeče mají
zatím k dispozici plug-in Adobe SVG Viewer.
SVG editory
Editory se dají rozdělit do dvou skupin:
SVG používají jako svůj nativní formát
Amaya
[99] je open-source editor a je vyvíjen samotným
konsorciem W3C. Je vhodný pro vývojáře a experimentátory. K dispozici je pro
uživatele Windows i Unixu. Tento editor funguje zároveň i jako webový
prohlížeč. Amaya umožňuje přímo editovat zdrojový kód. Pro testování jsem používal verzi Amaya 9.2.1.
WebDraw
[100] od společnosti Jasc běží zatím jen na platformě
Windows. Nabízí kromě množství editačních funkcí také možnost animace.
Editory umožňující export a import do SVG
Giganti počítačové grafiky, Adobe [81] a Corel [80] vyvíjejí
speciální software pro vektorovou grafiku. Konkrétně se jedná o Adobe
Illustrator a Corel Draw, a oba umožňují export i import SVG grafiky.
Z produktů Shareware a Freeware je to Mayura [101] pro Windows a pro
platformu Unix jsou to například aplikace Sketch [102] a Gill [103].
Corel Draw
umožňuje jak import tak export svg grafiky. Tento produkt
jsem využíval při testování výstupní svg grafiky z konvertoru vtx2svg, viz.
příloha. Konkrétně se jednalo o Corel Draw 12.
Základní struktura dokumentu
Jednotlivé atributy elementu svg jsou nastaveny jen pro příklad.
Základní elemty:
svg — základní element
rectangle — obdélník
circle — kruh
ellipse — elipsa
line — jednoduchá čára
polyline — lomená čára
polygon — mnohoúhelník
text
Základni element: svg
Může existovat v samostatném souboru nebo jako zde uvnitř XML dokumentu. Další
elementy se píší mezi značky
Atributy:
width — šířka kreslícího plátna
height — výška kreslícího plátna
viewBox — umožňuje změnu souřadnicového systému (virtuální souřadnice) — grafika se přizpůsobí velikosti okna
preserveAspectRatio — lze měnit proporciálně deformaci souřadnic
Element rect
Definuje rovnoběžný obdélník s atributy:
x, y, width, height se zřejmým významem (x, y je levý horní roh)
Atribut strokedefinuje barvu obrysu, stroke-width
šířku obrysu a fill barvu výplně.
Element circle
Vykreslí kruh se středem cx a cy a poloměrem r.
Znovu můžeme nastavovat šířku obrysu, barvu obrysu a barvu výplně.
Element ellipse
Vykreslí elipsu se středem cx a cy a dvěma poloměry
rx a ry. Uvádím zde ještě způsob transformace prvku, která se
dá použít pro libovolný element. Translate udává posun ve směru x a y
a rotate úhel rotace ve stupních.
Element line
Jednoduchou čáru definují 2 páry souřadnic.
Element polyline
Počáteční bod, lomové body a poslední bod lomenné čáry se zapisují do
atributu points. Střídavě jsou zapisovány souřadnice x a y.
Element polygon
Uzavřený mnohoúhelník definován lomovými body stejně jako polyline.
Element text
pokus
Atrubity jsou zcela zřejmé. Poloha textu je vztažena k účaří prvního znaku.
1.1.2 VML (Vektor Markup Language)
Popis formátu
VML je starší formát než SVG, ale slouží ke stejnému účelu — k popisu
vektorové grafiky. Firma Microsoft nechtěla čekat na standardizaci SVG a
vyvinula vlastní formát.
Vlastnosti
Formát je čitelný, základem je XML
Použití CSS stylů
Při změně rozlišení nedochází ke zkreslení grafiky
Objekty nejsou propojeny, vystupují samostatně. Využití například přitvorbě klikacích map nebo animací.
Vlastnosti jsou v podstatě rovnocenné s formátem SVG, ale VML se dnes již
nepoužívá.
Podpora webových prohlížečů
VML je výhradní formát firmy Microsoft. Podporu má jen v prohlížeči Internet
Explorer 5 a vyšší verze. To znamená, že v jiných webových prohlížečích
(Mozzila, Opera …) se žádná grafika nezobrazí. To je také jeden z důvodů,
proč je tento jazyk v podstatě již mrtvý.
Podpora VML v jiných aplikacích
VML podporují především produkty firmy Microsoft (MS Office), ale můžeme se s
jeho podporou setkat také například u softwaru AutoCAD Map 2004.
Základní struktura dokumentu
< xml:namespace ns="urn:schemas-microsoft-com:vml" prefix="v"/>
...
Jednotlivé elementy se píší před značku
Element line
Element polyline
Element roundrect
Jednotlivé atributy elemntů udávám již bez vysvětlení.
Mezi další elementy patří: rect (obdélník), curve (kubická Besierova křivka)
nebo shape (tvar)
1.1.3 SHP (ShapeFile)
Popis formátu
SHP je vektorový formát firmy ESRI (Environmental Systems Research
Institute) [66], který byl poprvé představen v programu ArcView 2 začátkem
devadesátých let. SHP popisuje vektorovou grafiku. Objekty (bod, linie, plocha)
jsou uloženy ve formě vektorových souřadnic klíčových bodů.
{Shapefile sestává ze hlavního souboru (.shp), indexového souboru (.shx) a databázové
tabulky (.dbf) (dBASE table). Hlavní soubor je záznamový soubor. Každému
záznamu se připisuje typ objektu se seznamem klíčových (lomových) bodů. V
indexovém souboru se přiřazuje počátek záznamů v hlavním souboru, protože délka
záznamů je různá v důsledku rozdílného počtu klíčových bodů. Databázová tabulka
obsahuje atributy objektů ve stejném pořadí, jak jsou zaznamenány v hlavním
souboru.
Tato struktura je velice jednoduchá a specifikace shapefile
je lehce dostupná. To přispělo k oblíbenosti tohoto formátu.
Vlastnosti
Není čitelný, ale kódovaný
Otevřený formát
Není to standard, je to firemní formát. Přesto je velmi oblíbený a
rozšířený
Podpora formátu v aplikacích
Samozřejmá je podpora v aplikacích firmy ESRI. Dále formát SHP
podporuje OCAD (export, import) — aplikace pro tvorbu map, program
TOPOL, Autodesk MapGuide. Zeměměřický úřad poskytuje data ZABAGED ve formátu
ShapeFile.
1.1.4 WebCGM (Computer Graphics Metafile)
Popis formátu
CGM je formát pro vektorovou a pro složenou vektorovou a rastrovou grafiku. Byl
definován v roce 1987 a je určen zejména pro technické výkresy. Cílem formátu
WebCGM je jeho snadná publikace na webu (bez nutnosti konverze). Specifikace
formátu WebCGM byla zveřejněna v roce 1999 a její revize byla provedena v roce
2001.
Vlastnosti
Je to standard (ISO/IEC 8632:1999) W3C (World Wide Web Consortium) pro
2D vektorovou grafiku na webu.
Je to otevřený formát, specifikace je volně dostupná.
Využívá ho např. server GeoMedia WebMap (Intergraph)
1.1.5 SWF (Flash)
Popis formátu
SWF je grafický formát, který je určen zejména pro vektorovou grafiku
na webu. Je zaměřen především na animace. Umí však pracovat i s grafikou
bitmapovou. Počátky Flashe spadají do období kolem roku 1994. Nejednalo se však
o flash, jak ho známe dnes, ale o jeho předchůdce SmartSketch, který byl
založen na programovacím jazyce JAVA. Ta však nevyhovovala nárokům na rychlost
a spolehlivost, a proto se od ní odstoupilo. V roce 1995 se objevují první
zásuvné plug-iny pro webové prohlížeče a SmartSketch byl přejmenován na
FutureSplash Animator.
V roce 1996 kupuje software FutureSplash
Animator firma Macromedia a vzniká produkt Macromedia Flash 1.0.
Vlastnosti
Stejně tak, jako pro každý vektorový formát, platí i pro flash výhoda
malého objemu dat.
Je to firemní formát, ale jeho specifikace není tajná
a lze ji stáhnout na webových stránkách Macromedia [25].
Je to formát binární a tedy nečitelný.
Podpora formátu v aplikacích
Plug-in pro podporu flash je implementován v IE od verze 5 a Netscape
od verze 4.7. Pro přehrávání SWF slouží volně dostupný Flash Player. K tvorbě
flashových animací se užívá programové prostředí Macromedia Flash. Nyní je
tento program součást produktu Studio 8 od Macromedia. V oblasti interaktivních
map bude určitě Flash vytlačován novým otevřeným formátem SVG.
1.1.6 GML (Geography Markup Language)
Popis formátu
GML je jazyk pro modelování, přenos a uchování geografických informací založený
na jazyku XML. Byl vyvinut konsorciem OpenGIS. Dnes se používá zejména v
kombinaci s SVG (dříve i s VML) . GML obsahuje geografická data a SVG popisuje,
jak se budou data zobrazovat.
Vlastnosti
Formát GML je čitelný a lehce editovatelný
Je založený na XML
To poskytuje možnost ověření neporušenosti údajů a integrace s jinými XML
aplikacemi.
Pracuje na prohlížečích bez potřeby dalšího softwaru.
Soubor GML je klientem přijat a překreslen v prohlížeči do formy mapy. Pro
překreslení objektů se používá většinou SVG. Pokud prohlížeč podporuje SVG je
mapa v prohlížeči zobrazena bez jakéhokoli softwaru (např. plug-in od Adobe).
Použití stylů
GML obsahuje jen geografická data (poloha a rozměry objektů, jejich typ a
atributy). Neobsahuje ale žádné informace, jak se mají data zobrazovat. To
umožňuje použití stylů, který nám popisuje, jak se jednotlivé typy objektů
zobrazí.
Kontrola nad obsahem
GML poskytuje jednoduchou filtrační funkci, kdy můžeme zrušit zobrazování
některých typů objektů (železniční tratě, domy apod.). Toto filtrování lze
provést ještě před odesláním dat uživateli, což může zrychlit datový přenos.
1.2 Bitmapové formáty
Bitmapa je dvourozměrné pole obrazových elementů — pixelů. Každý
pixel je definovaný svou polohou a jeho atributem je barva. Dalším atributem
může být průhlednost — transparence (alfa), která se uplatní při skládání
více bitmap přes sebe. Složením těchto pixelů vzniká obraz.
Existují dva způsoby, jak vyjádřit barvu pixelu:
Přímé vyjádření
Absolutní vyjádření barevného odstínu pixelu podle barevného modelu (RGB,
CMYK, …)
Nepřímé vyjádření
Barva pixelu je vyjádřena odkazem na tabulku barev (paletu). Výhodou je úspora
místa při ukládání dat, pokud se obraz skládá jen s několika barevných
odstínů (schematické obrázky)
S atributy souvisí pojem bitová hloubka. Je to počet bitů k vyjádření všech
atributů jednoho pixelu. Bitová hloubka násobená počtem pixelů nám udává
velikost nezkompresovaného souboru.
Bitová hloubka 1 — monochromatický obraz
Bitová hloubka 8 — obraz v šedé škále (např. u formátu GIF to ale může být odkaz na paletu)
Bitová hloubka 24 — barevný obraz
Bitová hloubka > 24 — barevný obraz + další atributy
Klady:
velmi dobře popisují předlohy z reálného světa — fotografie —velké
množství barev
lépe popisují složité předlohy
Zápory:
špatně pracují s liniemi
úpravami dochází k datovým ztrátám
při zvětšování obrazu se zhoršuje kvalita
1.2.1 GIF (Graphics Interchange Format)
Popis formátu
GIF byl vyvinut firmou CompuServe v roce 1987 — GIF87. Používá se
zejména pro obrázky s čárovými objekty s menším počtem barev. GIF podporuje 8-
bitovou grafiku — jen 256 barev. Jednu barvu můžeme nastavit jako
průsvitnou (transparentní) — pouze u verze GIF89a. Tato verze již také
umožňuje prokládanou grafiku (obrázek se zobrazí celý, v horší kvalitě, a
postupně se zaostřuje). Formát GIF používá bezztrátovou kompresi. Lze vytvářet
i animované GIFy.
Formát GIF je dnes chráněný patentem, a to je také
jeden z důvodů proč se přechází k volně šiřitelnému formátu PNG.
Vlastnosti
8-bitová grafika = 256 barev
transparence (průsvitnost) jedné barvy (až u verze GIF89a)
prokládaná grafika
komprese bezztrátová
1.2.2 JPEG (Joint Photographics Experts Group)
Popis formátu
JPEG je vlastně špatné označení tohoto formátu, které se ale obecně
užívá. Správně se jedná o formát JFIF (JPEG File Interchance Format) a JPEG je
jen název komprese, kterou využívá. Přesto jsem se nakonec rozhodl, že zde
tento formát označím pod názvem JPEG.
JPEG je rastrový formát určený
především pro fotografie a obrázky. Pod názvem formátu se skrývá i název
skupiny, která se stará o vývoj a standardizaci formátu JPEG. Formát byl
standardizován normou ISO v roce 1990. Podporuje 24-bitovou grafiku, informaci
o barvě ukládá v RGB složkách — každou ze tří barev reprezentuje 8 bitů.
Využívá ztrátovou kompresi. Nepodporuje transparentní obrázky (průhlednost
zvolené barvy), ani animace.
Vlastnosti
24-bitová grafika = 16,7 milionů barev
nepodporuje transparence
nepodporuje progresivní načítání
komprese ztrátová
JPEG 2000
Novější verze formátu (*.jp2 nebo *.jpc). Přechází na jiný typ komprimační
metody (z diskrétní kosinové transformace na diskrétní vlnovou). Ta vede k
lepšímu kompresnímu poměru kvalita/velikost. Nový formát je také více odolný
chybám. Změníte-li jediný byte, obrázek se buď nenačte nebo to povede k totální
destrukci obrazu. Podporuje i neztrátovou kompresi a progresivní metodu
načítání (nečte obrázek celý a postupně se zvyšuje jeho kvalita). Další
možností je využití různých barevných módů. Starší JPEG podporuje jen RGB.
Podpora prohlížečů je prakticky nulová — jen s externím plug-inem.
24 — 48-bitová grafika
nepodporuje transparence
progresivní načítání
komprese ztrátová i neztrátová
1.2.3 PNG (Portable Network Graphics)
Popis formátu
PNG je jediný standardizovaný formát pro rastrovou webovou grafiku. Konsorcium
W3C vydalo jeho specifikaci v roce 1996. Je označován za nástupce formátu GIF.
Podporuje 32-bitovou grafiku, transparenci a více typů prokládání. Využívá
bezztrátovou kompresi — a to několik typů. Animované obrázky nelze tvořit.
Vlastnosti
24 — 48-bitová grafika
transparence
více typů prokládání
komprese bezztrátová
1.2.4 TIFF (Tagged Image File Format)
Popis formátu
TIFF patří mezi nejstarší bitmapové formáty. První verze byla zveřejněna v roce
1987, poslední verze — šestá — v roce 1992. Formát TIFF je produktem
firmy Aldus, kterou odkoupila společnost Adobe. TIFF je vhodný formát pro
oblasti, kde je zapotřebí co nejvěrnější prezentace obrazu. Jedná se tedy o
formát bezztrátový. Tato vlastnost je vykoupena velkým datovým objemem souborů.
Zajímavou vlastnosti TIFFu je možnost vícestránkového obrazového dokumentu.
Vlastnosti
1 — 64-bitová grafika
komprese bezztrátová i neztrátová (JPEG komprese)
firemní formát, ale jeho specifikace je k dispozici zdarma [26]
MrSID je speciální grafický formát pro uchovávání a zobrazování dat s
extrémně vysokým rozlišením. Využívá obdobné komprimační algoritmy jako
JPEG2000. Má však tu výhodu, že nevykreslí celý obraz najednou, ale pouze výřez
v závislosti na použitém zoomu. Tím je možné prohlédnout si obraz i na méně
výkonném počítači.
Formát MrSID vyvinula firma LizardTech začátkem
90. let na zakázku vlády USA a FBI pro potřeby záznamů otisků prstů.
Vlastnosti
vysoký poměr komprese — 100:1 (u ostatních formátů 30 — 50:1)
dekomprimuje se pouze výřez
Oblíbenost tohoto výjimečného formátu potvrzuje firma ESRI [66],
která formát MrSID zvolila jako nativní formát pro ArcGIS 8.1.
MrSID podporuje také AutoDesk Map od verze 5, Topol nebo MicroStation V8. Pro
prohlížení souborů sid lze použít oficiální prohlížeč MrSID GeoViewer
nebo si nahrát plug-in do grafického prohlížeče (například do IrfanView). Pro
webové prohlížeče existuje plug-in LizardTech Express View Browser, který však
podporuje jen Netscape 7+ a Internet Explorer 5.5+.