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