1 SERVEROVÁ ŘEŠENÍ RozRozšíšířřeneníí serverovserverovéé aplikaceaplikace pomocpomocíí CGICGI 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 RozRozšíšířřeneníí serverovserverovéé aplikaceaplikace pomocpomocíí CGICGI DATABÁZE CGI APLIKACE virtuální GIF/PNG soubor RozRozšíšířřeneníí serverovserverovéé aplikaceaplikace pomocpomocíí CGICGI 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 KombinovanKombinovanáá serverovserverováá aplikaceaplikace 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 KombinovanKombinovanáá serverovserverováá aplikaceaplikace 2 ServerovServerovéé aplikace: UMNaplikace: UMN MapServerMapServer Laboratoř geoinformatiky a kartografie * UMN znamená University of Minnesota (ve spolupráci s NASA) * open source software * 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 ServerovServerovéé aplikace: UMNaplikace: UMN MapServerMapServer ServerovServerovéé aplikace: UMNaplikace: UMN MapserverMapserver 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/ ServerovServerovéé aplikace: UMNaplikace: UMN MapserverMapserver Laboratoř geoinformatiky a kartografie ServerovServerovéé aplikace: UMNaplikace: UMN MapserverMapserver 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 ServerovServerovéé aplikace: UMNaplikace: UMN MapserverMapserver Laboratoř geoinformatiky a kartografie * příklad MapFile 3 ServerovServerovéé aplikace:aplikace: GeoServerGeoServer 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 ServerovServerovéé aplikace:aplikace: GeoServerGeoServer Laboratoř geoinformatiky a kartografie * kombinace GeoServeru a Google map ServerovServerovéé aplikace:aplikace: GeoServerGeoServer 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 ServerovServerovéé aplikace:aplikace: GeoServerGeoServer 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 GeoServerGeoServer Laboratoř geoinformatiky a kartografie ServerovServerovéé aplikace:aplikace: MapServerMapServer aa GeoServerGeoServer 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) 4 ServerovServerovéé aplikace:aplikace: MapServerMapServer aa GeoServerGeoServer Laboratoř geoinformatiky a kartografie ServerovServerovéé aplikace:aplikace: MapServerMapServer aa GeoServerGeoServer Laboratoř geoinformatiky a kartografie ServerovServerovéé aplikace:aplikace: MapServerMapServer aa GeoServerGeoServer 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 ServerovServerovéé aplikace: ESRI mapovaplikace: ESRI mapovéé serveryservery Laboratoř geoinformatiky a kartografie ServerovServerovéé aplikace: ESRI mapovaplikace: ESRI mapovéé serveryservery Laboratoř geoinformatiky a kartografie ServerovServerovéé aplikace: ESRI mapovaplikace: ESRI mapovéé serveryservery 5 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/ ServerovServerovéé aplikace:aplikace: GeoMediaGeoMedia WebMapWebMap * 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 ServerovServerovéé aplikaceaplikace ­­ ppřřííklady firem vklady firem v ČČRR Laboratoř geoinformatiky a kartografie Architektura serveruArchitektura 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ů WebovWebováá publikace geodatpublikace geodat -- optimalizaceoptimalizace 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 * .... WebovWebováá publikace geodatpublikace geodat -- optimalizaceoptimalizace Laboratoř geoinformatiky a kartografie tiling dithering WebovWebováá publikace geodatpublikace geodat -- optimalizaceoptimalizace Laboratoř geoinformatiky a kartografie 6 * 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 WebovWebováá publikace geodatpublikace geodat -- AJAXAJAX Laboratoř geoinformatiky a kartografie API klientskAPI klientskéé ččáásti mapových serversti 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 OpenLayersOpenLayers * 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 OpenLayersOpenLayers Laboratoř geoinformatiky a kartografie