Publikace kartografických výstupů na WWW

Lucie Friedmannová, Karel Staněk
Katedra Geografie Přf MU Brno
Lucie@porthos.geoge.muni.cz,karst@porthos.geogr.muni.cz

Abstrakt
          Článek se zabývá v současné době nejjednodušším a nejkorektnějším prostředkem pro publikaci map na WWW - technologií ImageMap.

          V současné době se nabízí celá řada možností jak publikovat kartografické výstupy z GIS prostřednictvím internetu. Přístupy k řešení tohoto problému se značně liší a není možné jednoznačně odhadnout které z řešení se stane standardem, nebo se alespoň značně rozšíří. Společným rysem všech aplikací tohoto typu je snaha o hypergrafiku a interakci uživatele. Nízká nebo nulová, cena klientské aplikace je obvykle kompenzována extrémně vysokou cenou software tvůrce prezentace. Nicméně existuje i několik možností pro ty méně movité uživatele GIS, kteří chtějí publikovat mapy prostřednictvím internetu. Nejperspektivnějším řešením v této kategorii jsou interprety GIS datových souborů na bázi JAVY, ty ovšem dnes ještě nesplňují kartograficko-estetická kritéria a mohou v závislosti na kvalitě, JVM a PC, způsobit potenciálnímu uživateli jisté problémy. Generování a interpretace CGM, uznaného standardu pro vektorovou grafiku v HTML4, je stále u většiny wintel GIS docela dobrodružstvím a použití PDF něco stojí, i když zdaleka ne tolik co komerční webGIS řešení. A tak nejspolehlivějším a nejlevnějším prostředkem pro kartografickou tvorbu na WWW, v dané chvíli, t.j na konci roku 1998, zůstává archaická technologie ImageMap. Této technologii bude také věnován náš příspěvek.
          O technologii ImageMap již bylo patrně napsáno nepřeberné množství materiálů. Nicméně pro připomenutí, ImageMap tvoří HTML prvky IMG a MAP. IMG definuje odkaz na rastrový obraz, tj. GIF, JPEG nebo PNG, který zobrazí na HTML stránce ve zvoleném rozměru. V rámci souřadnic tohoto rozměru je možné pomocí asociovaného tagu MAP definovat plochy a jim odpovídající hyperlinky. Plocha může být definována buď polygonem, čtvercem nebo kruhem. HTML browser sleduje pohyb kurzoru v oblasti vymezené IMG tagem a při kliknutí identifikuje odpovídající MAP tvar a vyvolá jeho odkaz. V HTML dokumentu to vypadá následovně :

{img src="obrazek.gif" width=300 height=300 usemap="#map1"}
{map name="map1"}
{area href=odkaz1.html alt="les" shape=poly coords="0,0,20,20,14,11"}
{area href=odkaz2.html alt="louka" shape=rect coords="184,0,276,28"}
{/map}

          Jak je vidět jedná se o poměrně jednoduchou technologii. Je součástí standardu HTML 3.2 a je podporována prakticky všemi browsery. S jejím použitím jsou spojeny tři základní problémy. První je co nejsnazší převod dat z GIS do ImageMap formátu. Pravda, export mapy z displaje do některého z rastrových formátů je poměrně obvyklou součástí GIS. Jiná věc je HTML klasifikace příslušných geometrických tvarů, které nesou další informace. Jednou možností je definovat tyto tvary ručně. Není to až tak absurdní jak to vypadá, vezmeme li v úvahu přesnost pohybu myši, mohou být složité tvary prvků mapy zastoupeny podstatně jednoduššími objekty jako jsou kruhy nebo pravoúhelníky, jejichž definice není tak náročná. Nicméně při větším objemu prvků v mapě je tento postup téměř nepoužitelný. K výraznému zjednodušení přípravy ImageMap slouží speciální editory jako například yImager, Coolmap apod., které jednak umožňují interaktivní definici MAP prvků ale i automatické vytvoření MAP gridu. Přestože tyto editory tvorbu ImageMap zjednoduší, nereprezentují pro GIS uživatele velké usnadnění jejich WWW publikační činnosti. Tu přinášejí až GIS skripty generující požadované ImageMapy. My používáme pro tvorbu imagemap extenzi nad ArcView GIS, kterou jsme vytvořili inspirováni extenzí Steva Williamse, která je k dispozici v ArcScriptech. Vzhledem k tomu, že nám ne zcela vyhovovala vytvořili jsme extenzi vlastní. Naše extenze nám umožňuje nadefinovat rozsah ImageMapy, rozřezat obraz na díly, automatizovanou definici MAP tvarů , přiřazení jména a odkazu a generování série měřítek. Vytvoření obdobného skriptu není při znalosti odpovídajícího GIS makrojazyka a HTML velkým problémem.
          Druhý významný aspekt tvorby ImageMap je velikost rastrového souboru. Pro rychlé načítání je vhodné aby tento soubor byl menší než 10KB. U map to většinou znamená jednak jejich nařezání na více částí a použití vhodného barevného modelu. Právě barvy reprezentují třetí problém ImageMap tvorby.
          Každý tvůrce WWW stránky přirozeně touží po tom, aby se jeho data dostala k uživateli v takové podobě a kvalitě, v jaké se je sám rozhodne poskytnout. V tomto směru je limitován rozdílnostmi HW i SW běžně připojených k Internetu. Jsme nuceni mnohdy slevit z kvality dat abychom urychlili jejich přenos. Lidské oko sice může rozlišit až 400 000 různých barev a True Color displeje dokáží zobrazit více než 16 milionů odstínů, ale mezi uživateli Internetu je stále mnoho takových, kteří disponují adaptéry s možností zobrazit současně pouze 16 nebo 256 barev. V praxi se také lze setkat s černobílými výstupními zařízeními. 8bitová zařízení jsou však nejčastější. Ostatně u více bitových zařízení se zobrazováním barev většinou nemáme problémy. Každý tvůrce WWW stránek tedy může vybírat z několika milionů barev, ale zobrazit jich může pouze 256. Pokud navíc nechce ignorovat uživatele ostatních platforem (Windows x UNIX) sníží se počet použitelných barev o dalších 40 barev systémových. Konečný počet použitelných odstínů je tedy 216.
          Jak nejlépe naložit s tak omezeným počtem barevných odstínů? Z kartografického hlediska není situace zdaleka tak kritická. Oproti fotografiím je většina map barevně velmi chudá - běžné jsou zde velké plochy vyplněné jednou barvou. Na rozdíl od fotografie (či barevných reprodukcí) je naopak u map žádoucí, aby byly hranice mezi barevnými plochami a jednotlivými odstíny jasně rozlišitelné. Bohužel, systémová barevná tabulka bere více ohled právě na zobrazování fotografií. Barvy v ní jsou prakticky všechny v obdobné hodnotě jasu, což pochopitelně vůbec nevyhovuje, pokud potřebujeme barevný podklad mapy zobrazit ve tlumených odstínech, na nichž má být ještě ku příkladu popis. Jednou možností jak tento problém vyřešit je zvolit tzv. adaptivní paletu barev (Adaptive-palette).
          V browserech WWW lze prakticky použít k publikaci map bez dalších náležitostí (plug-in) dva formáty - JPEG a GIF. Jelikož JPEG se nehodí k ukládání grafiky u které je potřebné zachovat dobře rozpoznatelné hranice, nehodí se ani k ukládání a publikování map bez velké ztráty kvality. Formát GIF oproti tomu hranice velmi dobře zachovává a umožňuje i použití výše zmíněné adaptivní palety. V této "náhradní" paletě barev by měly být definovány všechny barvy, které budou na WWW stránce použity. Paleta je vždy vázána na konkrétní obrázek, bez ohledu na to, zda se jedná o mapu či nikoliv. WWW browsery mohou takovouto paletou nahradit původní paletu systémovou.
          Nevýhodou tohoto řešení je, že obrázek, respektive mapa, může být na stránce pouze jeden (a to bez log, pozadí a jiných vylepšení, která se běžně na WWW stránkách vyskytují). Pokud nám tedy opravdu záleží na kvalitě přenášeného obrazu, nezbývá nic jiného, než umístit mapy do samostatných souborů a se základní stránkou je prolinkovat.
          Druhou možností je mapu předem upravit. Napřed ovšem musíme vědět, jakým způsobem browser řeší problém barev, které de facto "nezná". Před tím, než začneme připravovat mapy pro publikaci na WWW, musíme porozumět alespoň základům, jak PC definuje a zobrazuje barvy. Již jsme mluvili o systémové paletě barev. Tyto barvy jsou v browseru definovány hexadecimálním kódem. Barevné těleso tvoří krychli, kde každá strana obsahuje 6 barev (celkem tedy magických 216) - týká se PC. Barvy jsou vedeny v RGB modelu a každá ze složek modelu nabývá hodnot 00, 33, 66, 99, CC, FF (v decimálním kódu pak 0, 51, 102, 153, 204, 255). Základní barvy jsou pak zapsány pod těmito kódy: červená - #FF0000, zelená - #00FF00, modrá - #0000FF. Vyskytne-li se obrázku či mapě jiná barva, než je uvedena v systémové paletě, může dojít ke dvěma situacím. Je-li "neznámá" barva blízká některé ze systémových, je prostě touto blízkou systémovou barvou nahrazena. Pokud se tato operace nepodaří, dochází k použití ditheringu.
          Dithering (rozptylování) vychází ze schopnosti lidského oka vytvářet z několika blízkých barevných paprsků vjem jediného paprsku, jehož barva je dána aditivním složením barev paprsků původních. Existuje několik metod ditheringu (náhodné rozptýlení, maticové rozptýlení). Obecně není vhodné nechat provedení ditheringu na koncovém zařízení (adaptéru uživatele Internetu), neboť výsledek většinou neodpovídá představám tvůrce WWW stránky. Bohužel soubory, kde je použito ditheringu jsou větší, pomaleji se přenášejí a texty někdy bývají hůře čitelné než tam, kde ditheringu použito není.
          Závěrem jen tolik. Možnosti publikování map prostřednictvím internetu procházejí bouřlivým rozvojem, který zatím nesměřuje k jednoznačnému cíli. Značné jsou aktivity kolem CGM, slibná nová 2D knihovna JAVY verze 2, Autodesk MapGuide a Adobe PDF ještě také neřekli své poslední slovo. Nicméně kdo chce okamžitě publikovat mapy na internetu pro toho je ImageMap nejjednodušším řešením.

Literatura :
1. http://www.w3c.org
2. Graphics: Netscape Color Tables, http://www.sun.com./styleguide, 1998.
3. Web Safe GIF Colors, Dithering a Ant-Aliasing, http://cyber-hawaii.com/hc/webmasters/netscape.colors.html.
5. Generating Colors in HTML, http://www.utexas.edu/learn/pub/colors, 1998.
6. Color Aware: From the printed page to the Web page, http://www.pantone.com/allaboutcolor
Poynton, Ch. (1998): Poynton's Color FAQ,, http://www.inforamp.net/~poynton/notes/colour_and_gamma