We Visualize Your World Exploring Options for Map Caching Tile Cache Creation & Management Presented By: Jeremy Holt, GIS Consultant 02/17/2011
What we’ll cover with this session:
Caching Explained (briefly)
General Benefits of Map Caching
Some Caching Terms and Concepts
A Comparison of Available Tools
Mapproxy, Tilecache, GeoWebCache, ArcGIS Server
Functionality & Capabilities of Each
Summary & Conclusion
Choosing the Right Tool for the Job
Consuming and Utilizing Cached Mapservices
Caching Overview Well, what is map caching? What types of things can I cache? Got any Examples? http://mt0.google.com/vt/lyrs=t@126,r@145&hl=en&x=2018&y=2949&z=13&s=Gal http://ecn.t2.tiles.virtualearth.net/tiles/r0213331100212?g=637&mkt=en-us&lbl=l1&stl=h&shading=hill&n=z http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/13/2949/2018
What are some benefits of having a cached mapservice?
Lighten Browser load
Lighten Server load
Requests for small images rather than dynamic data rendering
Potential to improve performance
Caching Terms & Concepts
Projections / Reprojection
Caching Terms & Concepts Seeding Seeding is basically pre-rendering or dynamically creating map tiles based upon a defined extent or a geometry. Seeding actions can be scripted, generated on-the-fly (user requests) or manually created.
Caching Terms & Concepts Metatiling A metatile consists of several tiles combined into one larger tile . Pros: Avoid duplicating the labeling of features that span more than one tile Usually quicker for the WMS backend to generate one large image rather than many small ones Cons: Since the metatile is larger, it is slower to render than any individual tile Memory consumption
Caching Terms & Concepts Tiling Schemes Tiling schemes allow for definition of scale levels, tile size and sometimes coordinate system. Setting tiling schemes for ArcGIS Server vary greatly than the other options we will review.
Caching Terms & Concepts Image Types Cached map tiles can be created/requested in different image formats. Most commonly .png for transparency and .jpeg for imagery. Transparency Transparency is used for overlaying tiles on top of other tiles and for sliding/transitioning effects. Supported with .png. Also parameter in WMS request. Projections / Reprojection Most caches are created in a defined projection, but some utilities can reproject tiles (mapproxy).
Consuming WMS and chopping it up into tiles
Stored in accessible directory to be returned to client
Application requests handled by cache utility
Comparison of Caching Utilities
MapProxy MapProxy is an open source proxy for geospatial data. It caches, accelerates and transforms data from existing map services and serves any desktop or web GIS client. MapProxy works like a simple tile cache, but also offers many new and innovative features like full support for WMS clients. MapProxy is an open source technology used to create and serve up map caches. It is a middle-man between existing web map servers (like MapServer or GeoServer) and web map clients such as OpenLayers and GoogleEarth.
TileCache TileCache is an implementation of a WMS-C compliant server made available under the BSD license by MetaCarta. TileCache provides a Python-based WMS-C/TMS server, with pluggable caching mechanisms and rendering backends. In the simplest use case, TileCache requires only write access to a disk, the ability to run Python CGI scripts, and a WMS you want to be cached. With these resources, you can create your own local disk-based cache of any WMS server, and use the result in any WMS-C supporting client, like OpenLayers , or any TMS supporting client, like OpenLayers and worldKit .
GeoWebCache “ Maps are often static. As most mapping clients render WMS (Web Map Service) data every time they are queried, this can result in unnecessary processing and increased wait times. GeoWebCache optimizes this experience by saving (caching) map tiles as they are requested, in effect acting as a proxy between client (such as OpenLayers or Google Maps) and server (such as GeoServer, or any WMS-compliant server). As new maps and tiles are requested, GeoWebCache intercepts these calls and returns pre-rendered tiles if stored, or calls the server to render new tiles as necessary. Thus, once tiles are stored, the speed of map rendering increases many times, making for a more seamless user experience. GeoWebCache is one of the easiest ways to accelerate your WMS mapping server.”
So, ArcGIS Server already has Caching Tools… Single mapservice focus GUI / Geoprocessing options Tailored for esri APIs Compact Cache
Choose the Right Tool for the Job
All caching utilities are basically reading a mapservice, taking a snapshot of it and cutting it up into tiles defined by the user/tool. Once the tiles are created, they are stored in a directory structure similar to:
Name of service
This may change slightly based on what tool is doing the job, but typically tiles are sliced and stored around the grid-based system of level, row, column.
Utilizing Cached Services Web Applications ArcGIS Desktop Geoportals/Opendata Your Neighbor