140 likes | 274 Views
Tile caching og WMTS Et boost til performance. Morten Lindegaard Kort & Matrikelstyrelsen. Agenda. Baggrund, buzzwords og begreber WMTS (Web Map Tiling Service) Testtjeneste i Kortforsyningen Afrunding. Tiling – opkridtning af banen.
E N D
Tile caching og WMTS Et boost til performance Morten Lindegaard Kort & Matrikelstyrelsen
Agenda Baggrund, buzzwords og begreber WMTS (Web Map Tiling Service) Testtjeneste i Kortforsyningen Afrunding
Tiling – opkridtning af banen • Webtjenester med kort kan kaldes i forud definerede måleforhold og i en forud defineret rudeopdeling (tiles) • Rudeopdelingen er defineret i et tiling-skema • I stedet for at definere et kortudsnit med boundingbox, bredde og højde, udpeger man en tile ved at angive • måleforhold • række • søjle • Det kan udnyttes af servere til bedre performance • Tiles kan være dannet på forhånd • Gode muligheder for caching
Tilgange til tiling – forespørgsler • Google Maps, Bing Maps, World Wind, … • WMS-C • Web Mapping Service – Cached • OSGeo • Udvidelser og begrænsninger af WMS, der gør det muligt for en server at cache tiles • Forespørgsler i WMS-syntaks med vendor specific parameter • TMS • Tile Map Service • OSGeo • REST interface • Fx http://tms.kms.dk/1.0.0/skaermkort/L11/1700/3400.jpg • WMTS • På vej til at blive en standard • OGC • Inspireret af eksisterende fremgangsmåder
WMS, WMS-C, TMS, WMTS, … cache WMS WMS WMS Tile caching • Tiles og caching kombineres ofte • Ved pre-seeding kan man populere cachen med tiles for udvalgte områder • GeoWebCache kan fx benyttes i denne opsætning
Prægenererede tiles WMS-C, TMS, WMTS, … server Niveau 0 Niveau 1 Niveau 2
WMTS – Web Map Tiling Service • OGCs bud på en standard for tilede tjenester • Tre mulige måder at tilgå WMTS-servere på: • KVP • REST • SOAP • Mht. interoperabilitet sigter man mod: • Klienter understøtter KVP og REST • Servere understøtter KVP eller REST • Operationer i WMTS: • GetCapabilities • GetTile • GetFeatureInfo
WMTS – Web Map Tiling Service • WMTS med KVP ligner traditionel WMS med KVP • Man udpeger en tile med parametrene TileMatrixSet, TileMatrix, TileRow og TileCol i stedet for SRS, boundingbox, width og height • GetCapabilities-svaret beskriver mulige værdier af parametrene • Layer med style, format og tile matrix set • Rudeopdelingen er fastlagt i et tile matrix set • Tile matrix set -the geometry of the tiled space • Et tile matrix set indeholder tile matricer • En tile matrix svarer til et zoomniveau • En tile matrix har • Bredde (MatrixWidth) • Højde (MatrixHeight) • Måleforhold (ScaleDenominator) • Origin (TopLeftCorner) • Tilestørrelse (TileWidth og TileHeight)
Forespørgsler • Eksempel på WMTS-forespørgsel:http://kortforsyningen.kms.dk/topo_skaermkort_test?service=WMTS&version=1.0.0&request=GetTile&layer=dtk_hillshade&style=default&format=image/jpeg&tilematrixset=View1&tilematrix=L04&tilerow=14&tilecol=16…
Etablering af WMTS i Kortforsyningen • Webbaserede klienter benytter allerede tiling, men tilgår traditionelle WMS-servere • Idé: Bedre performance for rastertjenester ved at levere prægenererede tiles • Vi startede med at se på muligheder for caching • GeoWebCache • TileCache.org • Vi havde samtidig et ønske om at benytte allerede genererede tiles • Egenudviklet WMTS-server
Distribution af prægenererede tiles WMTS • Brugerstyring og validering i det eksisterende switchboard-lag • Back-end server med WMTS servlet Niveau 0 Niveau 1 12 niveauer 17 mio tiles Niveau 2 …
Testtjenesten topo_skaermkort_test • WMTS-syntaks • Tile-version af skærmkortet • Capabilities • ETRS89 UTM zone 32, EPSG:25832 • 12 zoomniveauer • 256 pixels * 256 pixels • Hillshading • Ingen GetFeatureInfo • Tilgås med KVP via kortforsyningen.kms.dk • Understøttes allerede af webapplikationer • CBkort • VisKort
Igangværende arbejde • Performancetest • Det ser lovende ud • WMS-forespørgsel med svartid på ca. 70 ms • WMTS-forespørgsel med svartid på ca. 15 ms • Dimensionering • Pt. én testserver • Dublerede servere • Fejlhåndtering – exceptions efter standard • Kartografi • Tiling-skema