Zobrazovacie služby, máme Zobrazovacie služby, máme radi keď sú rýchle.radi keď sú rýchle.
Ako zrýchliť a integrovať Vaše Ako zrýchliť a integrovať Vaše zobrazovacie služby a nie len to!zobrazovacie služby a nie len to!
Peter MozolíkPeter Mozolík
Slovenská agentúra životného prostrediaSlovenská agentúra životného prostredia
INSPIRE požiadavky na výkonnosť INSPIRE požiadavky na výkonnosť zobrazovacích služiebzobrazovacích služieb
Kritéria kvality služby:
• Výkonnosť: počiatočná odpoveď ≤ 5 sekúnd (GetMap, 470 kB napr. 800x600 px 8bit farba)
• Kapacita: 20 požiadaviek / 1 sekunda
• Dostupnosť: 99% času
Ako funguje mapový server (1)Ako funguje mapový server (1)
WMS request (požiadavka) na WMS request (požiadavka) na zobrazenie mapyzobrazenie mapy
http://server.org/wms?service=WMS&version=1.3.0&request=GetMap&layers=<zoznam_vrstiev>&crs=<kod_sur_systemu>&bbox=<suradnice_vyrezu>&width=<sirka_obr>&height=<vyska_obr>&format=<format_vystupu>
Ako funguje mapový server (2)Ako funguje mapový server (2)
Dlaždice a gridy (dlaždicové Dlaždice a gridy (dlaždicové pyramídy)pyramídy)
WMS GetMap požiadavky (requesty) sú príliš variabilné na to aby ich bolo možné kešovať, to preto, že existuje prakticky nekonečné množstvo kombinácii parametrov (layers, bbox, srs, height, width, …) tejto WMS operácie.
Je nutné obmedziť prípustné požiadavky GetMap -> koncept gridu (tile pyramid) ktorý je definovaný: veľkosťou dlaždice, referenčným súradnicovým systémom, mierkovými úrovňami (resp. úrovňami rozlíšenia), pravouhlým geografickým výrezom (bbox) a počiatkom gridu.
Štandardy pre dlaždicované Štandardy pre dlaždicované zobrazovacie službyzobrazovacie služby
OSGEO WMS-C• GetCapabilities odpoveď rozšírená o ďalšie metaúdaje o dlaždiaciach
• GetMap požiadavka rozšírená o ďalší parameter tiled=true
OSGEO TMS• Jednoduché web rozhranie, založené na koncepte predpísanej
adresárovej štruktúry pre ukladanie dlaždíc
• http://server.org/tms/<layer_name_srs>/<x>/<y>/<z>
OGC WMTSRelatívne najkomplikovanejší štandard, je však východiskový napr. aj pre
INSPIRE
INSPIRE a dlaždicované INSPIRE a dlaždicované zobrazovacie službyzobrazovacie služby
Technical Guidance for the implementation of INSPIRE View Services v 3.1
- kapitola 5: INSPIRE Profile of WMTS 1.0.0
– mapuje operácie INSPIRE zobrazovacej služby na operácie WMTS (Get View Service Metadata -> GetCapabilities; Get Map -> GetTile)
– definuje TileMatrixSet pre dlaždicované INSPIRE zobrazovacie služby
- príloha A: rieši aj použitie WMS-C
InspireCRS84QuadInspireCRS84Quad
- zabezpečuje interoperabilitu dlaždicovaných zobrazovacích služieb tým že explicitne stanovuje množinu prípustných rozlíšení a jeden súradnicový systém
- zabezpečuje interoperabilitu dlaždicovaných zobrazovacích služieb tým že explicitne stanovuje množinu prípustných rozlíšení a jeden súradnicový systém
- parametre:
CRS: CRS:84
Tiling origin: (-180, 90)
Extent: (-180, 180); (-90, 90)
Tile height: 256 px
Tile width: 256 px
Úrovne rozlíšenia: 18 úrovní (0,70312500000 … 0,000005364418029785) v stupňoch na pixel
Limity dlaždicovaných služiebLimity dlaždicovaných služieb
• Cache invalidation (zneplatnenie cache)
• Podpora štandardov pre dlaždicované služby a to ako na strane serverov tak aj na strane klientov
• Problém s duplicitnými popismi (labels) v mapách – úplne riešiteľný problém iba v spolupráci so zdrojovou službou
• Náročnosť na úložný priestor
Hľadanie vhodného riešeniaHľadanie vhodného riešenia
Kritéria:
- podpora dlaždicových štandardov
- lacné avšak kvalitné riešenie (najlepšie s otvoreným kódom)
- hladké nasadenie v našom prostredí
- okrem výkonnosti sme hľadali aj ďalšiu pridanú hodnotu
Dospeli sme k riešeniu, ktoré predstavuje integračnú komponentu infraštruktúry zobrazovacích služieb použiteľnú v rôznych prostrediach a na rôznych organizačných úrovniach (organizačná, rezortná, národná)
Mapproxy základné infoMapproxy základné info
• Vývoj zastrešuje nemecká spoločnosť Omniscale GmBH & Co. KG
• Vyvinutý v Pythone (kompatibilné s Python 2.6, 2.7)
• Uvoľnený pod slobodnou licenciou Apache Software License 2.0
• Beží pod Linux, Windows, Mac OS …
• Mapproxy je proxy server pre priestorové údaje (ich grafické zobrazenie). Umožňuje zrýchlenie (kešovanie) prístupu k mapám existujúcich mapových služieb.
MapproxyMapproxy
Reorganizovanie existujúcej Reorganizovanie existujúcej štruktúry mapových služieb a ich štruktúry mapových služieb a ich vrstievvrstiev
• Premenovať vrstvy (INSPIRE názvoslovie)• Preskupiť vrstvy (aj z viacerých nezávislých
zdrojov)• Doplniť metaúdaje (Capabilities)• To všetko bez nutnosti zasahovať do
konfigurácie zdrojových služieb
Zjednotenie štýlovania vrstiev z Zjednotenie štýlovania vrstiev z viacerych zdrojovviacerych zdrojov
Zjednotenie štruktúry FeatureInfo z Zjednotenie štruktúry FeatureInfo z viacerých WMS zdrojovviacerých WMS zdrojov
Konfigurácia mapproxyKonfigurácia mapproxy
• Celá konfigurácia je obsiahnutá v jednom konfiguračnom súbore – mapproxy.yaml
• Jednoduchý konfiguračný formát YAML• mapproxy.yaml obsahuje 6 častí
– Services– Layers– Caches– Grids– Sources– Globals
Konfigurácia mapproxyKonfigurácia mapproxy
Services (Služby)Services (Služby)
Výber a konfigurácia podporovaných web Výber a konfigurácia podporovaných web rozhraní (metaúdaje, srs … )rozhraní (metaúdaje, srs … )
• OGC WMS (1.0.0 – 1.3.0) + OSGeo WMS-C OGC WMS (1.0.0 – 1.3.0) + OSGeo WMS-C rozšírenierozšírenie
• OSGeo TMS 1.0.0OSGeo TMS 1.0.0• OGC KML 2.2OGC KML 2.2• OGC WMTS 1.0OGC WMTS 1.0• DEMODEMO
Layers (Vrstvy)Layers (Vrstvy)
Konfigurácia publikovaných vrstiev Konfigurácia publikovaných vrstiev prostredníctvom konfigurovaných rozhraní.prostredníctvom konfigurovaných rozhraní.
Pre každú vrstvu: Názov (Title), Identifikátor Pre každú vrstvu: Názov (Title), Identifikátor (Name), Zdroj (Source), Vnorené vrstvy (Name), Zdroj (Source), Vnorené vrstvy (Layers) (Layers)
Je možné nastaviť obmedzenia podporovaných Je možné nastaviť obmedzenia podporovaných mierok (resp. rozlíšení) pre jednotlivé vrstvy.mierok (resp. rozlíšení) pre jednotlivé vrstvy.
Sources (Zdroje)Sources (Zdroje)
Mapproxy umožňuje ako zdroje používať:Mapproxy umožňuje ako zdroje používať:• WMS (1.0.0 – 1.3.0)WMS (1.0.0 – 1.3.0)• Tiles (TMS 1.0.0, ArcGISCache)Tiles (TMS 1.0.0, ArcGISCache)• MapserverMapserver• MapnikMapnik
CachesCaches
Cache môže vystupovať ako zdroj pre vrstvy.Cache môže vystupovať ako zdroj pre vrstvy.
Pre každú “cache”: Pre každú “cache”: SourcesSources (Zdroje), (Zdroje), FormatFormat (Formát obrázkov), (Formát obrázkov), WatermarkWatermark (Vodoznak), (Vodoznak), GridsGrids (Mriežky – dlaždicové schémy), (Mriežky – dlaždicové schémy), nastavenia týkajuce sa usporiadania nastavenia týkajuce sa usporiadania filesystémufilesystému
Podporuje funkciu obdmezdenia duplicitných Podporuje funkciu obdmezdenia duplicitných dlaždíc.dlaždíc.
Grids (Mriežky – dlaždicové Grids (Mriežky – dlaždicové schémy)schémy)
Grid definuje množinu všetkých prípustných Grid definuje množinu všetkých prípustných dlaždíc. Typicky sa používajú rovnaké gridy dlaždíc. Typicky sa používajú rovnaké gridy pre viaceré “cache”.pre viaceré “cache”.
Pre každý Grid: SRS (súradnicový systém), Pre každý Grid: SRS (súradnicový systém), tile_size (veľkosť dlaždice), res (zoznam tile_size (veľkosť dlaždice), res (zoznam podporovaných rozlíšení), bbox (geografické podporovaných rozlíšení), bbox (geografické ohraničenie)ohraničenie)
Deployment (Nasadenie)Deployment (Nasadenie)
Mapproxy implementuje jednoduchý web server Mapproxy implementuje jednoduchý web server určený na testovacie účely.určený na testovacie účely.
Mapproxy je možné do produkčného prostredia Mapproxy je možné do produkčného prostredia nasadiť 2 spôsobmi:nasadiť 2 spôsobmi:
• FastCGI FastCGI • Embedded (napr. Apache → WSGI modul)Embedded (napr. Apache → WSGI modul)
Deployment (Nasadenie) -Deployment (Nasadenie) -Apache + WSGI modulApache + WSGI modul
Ďalšie zaujímavé vlastnostiĎalšie zaujímavé vlastnosti
- seeding (pregenerovanie dlaždíc)- seeding (pregenerovanie dlaždíc)
- coverages (geografické ohraničenie - coverages (geografické ohraničenie aktualizácie dlaždíc)aktualizácie dlaždíc)
- watermark (vodoznak)- watermark (vodoznak)
- online reprojekciu (knižnica proj4)- online reprojekciu (knižnica proj4)
NedostatkyNedostatky
Počas nášho zatiaľ krátkeho používania sme Počas nášho zatiaľ krátkeho používania sme narazili na niektoré nedostatky:narazili na niektoré nedostatky:
• Chýba web uživateľské rozhranieChýba web uživateľské rozhranie• Generovanie “Capabilities” nie je možné Generovanie “Capabilities” nie je možné
dostatočne ovplyvniťdostatočne ovplyvniť• Chýba nástroj na doplňovanie chýbajúcich Chýba nástroj na doplňovanie chýbajúcich
dlaždícdlaždíc• Neuspokojivé možnosti konfigurácie Neuspokojivé možnosti konfigurácie
vodoznaku v “cache”vodoznaku v “cache”
Iné podobné produktyIné podobné produkty
GeoWebCache (LGPL), OpenGeoGeoWebCache (LGPL), OpenGeo
TileCache (BSD), MetaCartaTileCache (BSD), MetaCarta
Ďakujem za pozornosť.
http://geo.enviroportal.skhttp://inspire.gov.sk
http://www.enviroportal.skhttp://www.sazp.sk