Date post: | 02-Dec-2014 |
Category: |
Documents |
Upload: | wisconsin-land-information-association |
View: | 6,374 times |
Download: | 1 times |
We Visualize Your World
Exploring Options for Map Caching
Tile Cache Creation & ManagementPresented By:Jeremy Holt, GIS Consultant
02/17/2011
Whachutalkinbout?What we’ll cover with this session:
• An Overview
• 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 OverviewWell, 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=Galhttp://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=zhttp://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
http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/13/2949/2018
Caching Overview
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
•Seeding
•Metatiling
•Tiling Schemes
•Image Types
•Transparency
•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 & ConceptsMetatiling
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
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).
How?
Consuming WMS and chopping it up into tiles
Stored in accessible directory to be returned to client
Application requests handled by cache utility
•Projection
•Location
•Tile size
•Image format
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.”
A Matrix
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:
•Cache directory•Name of service•Scale levels•Row•Column•Image
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
Web Applications
ArcGIS Desktop
Geoportals/Opendata
Your Neighbor
ResourcesLinks!
http://mapproxy.org/
http://tilecache.org/
http://geowebcache.org/
http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help
/index.html#/What_is_map_caching/00930000006m000000/
Links!
http://mapproxy.org/
http://tilecache.org/
http://geowebcache.org/
http://help.arcgis.com/en/arcgisserver/10.0/help/arcgis_server_dotnet_help
/index.html#/What_is_map_caching/00930000006m000000/
Thanks!Feel free to ask any questions or share
your own tips.
1-715-874-4397
1-888-WeDoGIS