1 API PRO MAPY JavaScript a API Laboratoř geoinformatiky a kartografie * JavaScript nemusí sloužit jen jako čistě klientská aplikace * v praxi často kombinace serverového řešení a klientské části pomocí API * první byl Google ­ JavaScriptovskéAPI již 2005 * v českém prostředí 2007 Seznam a Atlas Laboratoř geoinformatiky a kartografie, Masarykova univerzita JavaScript * Skript se píše mezi tagy * Vkládají se i do , ale i * Záleží podle účelu * Syntaxe tagu Laboratoř geoinformatiky a kartografie, Masarykova univerzita JavaScript vložený do stránky * Atribut language ­ název skriptovacího jazyka * Atribut type ­ typ skriptu ­ u našich webových map vždy text/javascript * Existují prohlížeče, které nemusí rozumět JavaScriptu je vhodné zapsat začátek skriptu * Prohlížeč by jinak vypsal skript jako normální text, takto ho bere jako komentář a neukáže ho Co je potřeba pro takovou vlastní mapu? Laboratoř geoinformatiky a kartografie * vygenerovat si klíč na domovské stránce API api.mapy.cz api.amapy.cz google.com/apis/maps * umístit základní JavaScriptovský kód na své stránky - nutno specifikovat na jaký element www stránky se má mapa navázat - velikost mapy pomocí parametrů zdrojového kódu nebo CSS * pokud se chce, přidat další funkcionalitu Funkcionalita: Seznam mapy Laboratoř geoinformatiky a kartografie * API v2.0 * nejslabší funkcionalita z této trojice (mapa, základní interakce, značky) * funkce i licenční podmínky nastaveny pro zobrazení mapy jako statického obrázku u kontaktu * limit 1000 na maximální počet zobrazení * pouze nekomerční využití * nejlepší podklady satelitních snímků i jiných map * nemožnost využívat všechny podklady portálu mapy.cz * propojení s IDOSem * obrovská návštěvnost portálu mapy.cz 2 Funkcionalita: Atlas mapy Laboratoř geoinformatiky a kartografie * nejnovější řešení, rychlejší v porovnání se Seznamem * funkcionalita navíc: podpora vykreslování vektorových tras, přidávání obsahu k bodům (např. fotografie, další mapy,...), více kartografických souřadných systémů, podpora scriptingu, nemovitosti * zdarma pro nekomerční využití * podpora případným komerčním aplikacím * nelze využít intranetově * oficiálně se pracuje na geokódování ­ ale nikde už delší dobu nejsou informace (vývojářAPI od Atlasu odešel) * kvalitní a kartograficky správnější podklady * možnost je všechny využívat v API Funkcionalita: Google mapy Laboratoř geoinformatiky a kartografie * nejstarší, ale nejvíce se dynamicky rozvíjející řešení * 2005 zveřejněno JavaScript API, 2008 Flash API * takřka žádná licenční omezení * omezení na 15 000 geokódovacích dotazů za den, věku autora na 21 let, publikaci na nevhodných stránkách * funkcionalita nesrovnatelně vyšší v porovnání s našimi mapovými servery: - geokódování - vyhledávání tras - vlastní mapy - přepočty souřadnic - export do Google Earth Funkcionalita: Google mapy Laboratoř geoinformatiky a kartografie * globální řešení nejhorší podklady pro ČR * výborná dokumentace * na rozdíl od ostatních poskytuje Wizard ­ jednoduchý průvodce na vytvoření Google Map * http://www.google.com/uds/solutions/wizards/mapsearch.html Specifická klientská mapová řešení: Zoomify Laboratoř geoinformatiky a kartografie * jednoduché HTML řešení mapové publikace * zdarma pro nekomerční využití * není XHTML validní * vytváří dlaždice na několik úrovní zoomu a skládá je do tabulky * funkcionalita: zoom, posun, aktualizace obrazu * převodník obrazu do dlaždic, prohlížeč * podpora HTML, JPEG, Flash * možnost exportu z Photoshopu do Zoomify Specifická klientská mapová řešení: Zoomify Laboratoř geoinformatiky a kartografie * pyramidování v případě zoomify http://www.zoomify.com/ http://oldmaps.geolab.cz/map_region.pl?z_height=70&lang=cs&z_width=0&z_new win=0&map_root=2vm&map_region=mo http://www.inmapy.cz/imgbig/lyz_area.htm Specifická klientská mapová řešení: Image mapy Laboratoř geoinformatiky a kartografie * obdoba principu Zoomify * určené pro nepravidelné areály * typický příklad: mapa správních celků * definice oblastí + jim přidělení akce * není závislé na serveru * akce se tak děje neprodleně Hlavní
město Praha Vysočina 3 SERVEROVÁ ŘEŠENÍ Rozšíření serverové aplikace pomocí CGI Laboratoř geoinformatiky a kartografie * mapová serverová řešení na Webu začínají v roce 1994 * společnost ImageMap vytváří protokol CGI (Common Gateway Interface) * umožňuje spustit soubor ze serveru a vložit jej do HTML kódu * možnost využití KVP (Key Value Pair) verze příkazu * po otazníku následuje příkaz, ampresand odděluje parametry * např. http://geoportal.cenia.cz?udelejToto¶metr1¶metr2 * možnost vracet polohu a přidat hyperlink * další využití ­ přístup k databázi, přizpůsobení informace na základě požadavku uživatele * u kartografie: možnost požádat o nejnovější mapy z DB a vizualizovat je jak uživatel požaduje Laboratoř geoinformatiky a kartografie Rozšíření serverové aplikace pomocí CGI DATABÁZE CGI APLIKACE virtuální GIF/PNG soubor Rozšíření serverové aplikace pomocí CGI Laboratoř geoinformatiky a kartografie * kartografická funkcionalita takového systému - od jednoduchých statických map - až po plně interaktivní webový atlas (jako např. http://atlas.nrcan.gc.ca/site/index.html) * výhody serverových řešení - jakýkoli webový prohlížeč - jakýkoli operační systém - nejsou potřeba nadstavby * nevýhody serverových řešení - vytížení serveru (jednoduché i složené SQL dotazy) - rychlost odpovědi Kombinovaná serverová aplikace Laboratoř geoinformatiky a kartografie * doposud prezentována oddělená klientská a serverová řešení * v praxi velmi často kombinace obou řešení * hlavní výhody: - vhodnější zapojení tlustých klientů - menší vytížení serveru * mapový server na sebe bere povinnosti CGI aplikace * proto umožňuje KVP příkazy * příkaz je zpracován mapovým serverem, exportován jako GIF/JPG/PNG a poslán klientovi * na straně klienta je pak např. JAVA aplikace vytvářející GUI Laboratoř geoinformatiky a kartografie DATABÁZE MAPOVÝ SERVER virtuální GIF/PNG soubor Java virtual machine mapa.class kód Java appletu Kombinovaná serverová aplikace 4 Serverové aplikace: UMN MapServer Laboratoř geoinformatiky a kartografie * UMN znamená University of Minnesota (ve spolupráci s NASA) * open source software, nyní pokračuje OSGeo (http://www.osgeo.org/) * postaven na projektech Shapelib, FreeType, Proj4, GDAL/OGR, aj. * kompilace na platformy Windows, Linux/Unix, MacOS * obsahuje MapScript = přístup k API (založeno na PHP, Perl, Python, Java) * podpora mnoha vektorových formátů (např. Shapefile, PostGIS, ArcSDE ­ v knihovně OGR) * podpora rastrových formátů (např. TIFF/GeoTIFF, EPPL7, JPG, GIF, ECW, ERDAS Imagine, ESRI Grid ­ v knihovně GDAL) * podpora souřadnicových systémů v Proj4 (vč. Křováka) http://mapserver.gis.umn.edu Laboratoř geoinformatiky a kartografie Serverové aplikace: UMN MapServer Serverové aplikace: UMN Mapserver Laboratoř geoinformatiky a kartografie * k mapovému serveru musí být připojena také databáze (UMN Mapserver má jako základní PostgreSQL ­ open source) * UMN MapServer nenabízí žádnou uživatelskou interaktivitu * nutná vizualizační nadstavba ­ jako např. CartoWeb (open source) - pouze obal (wrapper) pro přístup k UMN MapServeru , který se stará o vlastní vizualizaci - příklad na: http://mapserver.geogr.muni.cz/cartoweb/geokrima2.php * taková kombinace vykresluje rychlostí řádově desetiny vteřiny až vteřiny * možnost navržení vlastních vizualizačních nadstaveb ­ jako např. http://www.bnhelp.cz/ Serverové aplikace: UMN Mapserver Laboratoř geoinformatiky a kartografie Serverové aplikace: UMN Mapserver Laboratoř geoinformatiky a kartografie * základním konfiguračním mechanismem UMN MapServeru je MapFile - samotná mapa - výstupní formát - gridy - vrstvy - popisky - třídy - měřítko - dotazování mapy - legenda - spojení * vytvoření pomocí poznámkového bloku, ale také : - MapEdit http://www.dmsolutions.ca/technology/maplab.html - MapInfo Proffesional (rozšíření TYDAC) - ArcView 3.x, 8+ (extenze AveiN!) http://umn.mapserver.ch/index_en.php - Mapstorer http://www.mapstorer.org Serverové aplikace: UMN Mapserver Laboratoř geoinformatiky a kartografie * příklad MapFile 5 Serverové aplikace: GeoServer Laboratoř geoinformatiky a kartografie * novější open source alternativa UMN MapServeru * podpora DB PostGIS, ArcSDE, DB2, MySQL a Oracle * možnost kombinace s Google Maps * podpora Google Earth * založeno na Java (J2EE) servletu * postaven na Geotools ­ open source JAVA GIS Toolkit - tj. knihovna implementující OGC specifikace - standardní metody manipulace s prostorovými daty * rastrové podporované formáty: JPEG, GIF, PNG, TIFF, GeoTIFF * vektorové podporované formáty: SVG, PDF, KML, ShapeFile, DB Serverové aplikace: GeoServer Laboratoř geoinformatiky a kartografie * kombinace GeoServeru a Google map Serverové aplikace: GeoServer Laboratoř geoinformatiky a kartografie * na rozdíl od UMN MapServeru se dá lehce instalovat * vizualizace neprobíhá přes MapFile, ale přes SLD (Styled Layer Descriptor); specifikace OGC * SLD je založen na XML ­ SLD soubory mohou být použity pro jakýkoli WMS server podporující SLD Pomocí SLD lze vytvořit Serverové aplikace: GeoServer Laboratoř geoinformatiky a kartografie * ukázka SLD http://mapserver.geogr.muni.cz/wfs-t/honza/ http://mapserver.geogr.muni.cz/wfs-t/experiment/main.php?LNG=CZ GeoServer Laboratoř geoinformatiky a kartografie Serverové aplikace: MapServer a GeoServer Laboratoř geoinformatiky a kartografie * konfigurační možnosti MapFile mají oproti SLD nedostatky - chybějící částečná průhlednost všech typů symbolů (průhlednost 0 až 100 %) - nemožnost vložení vektorových symbolů (SVG) nebo alespoň rastrových symbolů s průhledností 0 až 100 % (PNG s alfakanálem) - nemožnost rotace figurálních symbolů - nedostatečné liniové vzorky - chybějící vícečarové nesymetrické symboly (vč. lemovek) 6 Serverové aplikace: MapServer a GeoServer Laboratoř geoinformatiky a kartografie Serverové aplikace: MapServer a GeoServer Laboratoř geoinformatiky a kartografie Serverové aplikace: MapServer a GeoServer Laboratoř geoinformatiky a kartografie Laboratoř geoinformatiky a kartografie * ESRI produkt ve třech verzích ­ ArcIMS, ArcGIS Server, ArcGIS Image Server * podporované platformy: Windows, Linux - jednoduchá instalace * tvorba uživatelských aplikací ve vývojových prostředích .NET, Java, AJAX, XML/SOAP, J2EE, C++,... * ArcIMS ­ základní mapový server: zpřístupňuje mapy, data, metadata * ArcGIS Server ­ navíc geoprocessing, geokódování, KML, mobilní podpora,... * ArcGIS Image Server ­ správa rastrových dat v souborech i DB Serverové aplikace: ESRI mapové servery Laboratoř geoinformatiky a kartografie Serverové aplikace: ESRI mapové servery Laboratoř geoinformatiky a kartografie Serverové aplikace: ESRI mapové servery 7 Laboratoř geoinformatiky a kartografie * produkt společnosti INTERGRAPH * ActiveCGM formát * obdobná funkcionalita jako u ESRI * řada aplikací v ČR ­ např. http://geoportal.cuzk.cz/wmsportal/ Serverové aplikace: GeoMedia WebMap * INmapy, http://www.inmapy.cz * HS RS, http://www.bnhelp.cz * GEPRO, http://www.gepro.cz * T-Mapy, http://www.t-mapy.cz * INTERGRAPH CS, http://www.intergraph.cz Serverové aplikace ­ příklady firem v ČR Laboratoř geoinformatiky a kartografie Architektura serveru Laboratoř geoinformatiky a kartografie Příprava geodat pro publikaci na webu ­ optimalizace výkonu, času odezvy, datových objemů, ... Následující kroky nejsou vždy nutné, ale minimálně některé z nich je pro zrychlení aplikace nutné provést * převedení do společného souřadnicového systému * import vektorových dat do prostorové relační databáze * reklasifikace vektorových dat, nastavení různých úrovní zobrazení pro různé kategorie a měřítka (dálnice, silnice 1. tř., ...) * vytvoření generalizovaných verzí vektorových dat pro rychlejší vykreslování * vytvoření prostorových indexů Webová publikace geodat - optimalizace Laboratoř geoinformatiky a kartografie * vytvoření indexů u atributových sloupců na základě kterých budou prováděny dotazy * vytvoření několika sad náhledů na rastrová data s menším rozlišením * rozřezání rastrových dat na dlaždice - tiling * snížení barevné hloubky u rastrů - dithering * .... Webová publikace geodat - optimalizace Laboratoř geoinformatiky a kartografie tiling dithering Webová publikace geodat - optimalizace Laboratoř geoinformatiky a kartografie 8 * moderní webové mapové aplikace využívají v nejvyšší možné míře AJAX (Asynchronous Javascript And XML) ­ Mapy.cz, Google Maps, ... * Základní výhoda - není nutné na vyžádání posílat celý HTML dokument, ale jen jeho části (např. rastrové dlaždice nebo geoprvky) * Nevýhody: Složitost designu, implementace, problematické uložení stavu Webová publikace geodat - AJAX Laboratoř geoinformatiky a kartografie API klientské části mapových serverů * server s WMS (ne localhost) ­ tlustý klient: bezproblémové připojení ­ tenký klient: nutno vytvořit klientskou aplikaci * klientská část jako samostatná aplikace * klientská část pomocí API * OpenLayers (http://openlayers.org) ­ nativní podpora GeoServeru Laboratoř geoinformatiky a kartografie OpenLayers * vložení skriptu (JavaScript) do libovolné webové stránky * původně vyvinuto společností MetaCarta * dnes čistý Open Source * základní myšlenka: odděluje data od nástrojů * snadná možnost napsání vlastních ­ WMS klientů ­ WFS klientů ­ WFS-T klientů Laboratoř geoinformatiky a kartografie OpenLayers Laboratoř geoinformatiky a kartografie