.. _mapcache:

*****************************************************************************
MapCache 1.6.1
*****************************************************************************

:Author: Thomas Bonfort
:Contact: tbonfort at terriscope.fr

MapCache is a server that implements tile caching to speed up
access to WMS layers. The primary objectives are to be fast and easily deployable,
while offering the essential features (and more!) expected from a tile caching
solution.

.. toctree::
   :maxdepth: 1

   install
   config
   services
   seed
   caches
   formats
   dimensions
   http
   featureinfo
   proxying
   sources
   tile_assembling
   locks
   coverage

.. seealso::
  `MapCache presentation slides at FOSS4G2011 <http://www.slideshare.net/tbonfort/modgeocache-mapcache-a-fast-tiling-solution-for-the-apache-web-server>`__


Features
-----------------------------------------------------------------------------

* services WMS, WMTS, TMS, VirtualEarth/Bing and Google Maps requests:
  :ref:`mapcache_services`
* ability to respond to untiled WMS requests by merging tiles from the cache or
  forwarding them to the WMS source: :ref:`mapcache_tile_assembling`
* responds to WMS/WMTS :ref:`GetFeatureInfo <mapcache_featureinfo>` requests
  (forwarded to source service)
* :ref:`KML <mapcache_kml>` superoverlay generation
* data provided by WMS backends (GDAL supported sources planned)
* cache types:

  * :ref:`Disk <mapcache_cache_disk>`
  * :ref:`SQLite <mapcache_cache_sqlite>`
  * :ref:`Memcached <mapcache_cache_memcache>`
  * :ref:`Tiled TIFFs <mapcache_cache_tiff>`
  * :ref:`REST (S3, Azure, Google) <mapcache_cache_rest>`
  * :ref:`Riak <mapcache_cache_riak>`
  * :ref:`Combined caches <mapcache_cache_meta>`
  * :ref:`Berkeley DB <mapcache_cache_bdb>`

* configurable metatiling
* on-the-fly tile merging for combining multiple tiles into a single image
* image post-processing (recompression and quantization) when arriving from a
  backend
* interprets and produces cache control headers: Last-Modified,
  If-Modified-Since, Expires
* multithreaded :ref:`seeding utility <mapcache_seed>` that can seed
  specific zoom levels or specific areas (e.g. seed levels 0 to 12 of all
  tiles intersecting Colorado)
* ability to add a custom watermark on stored tiles
* produces a CGI/FastCGI executable for use with webservers other than Apache
* configurable symbolic linking of blank tiles to save disk space
* configurable error reporting: plain HTTP error code, textual message, or
  empty (blank) image
* ability to specify vendor parameters or dimensions to be forwarded to the WMS
  backend (and to build a cache that takes these parameters into account):
  :ref:`mapcache_dimensions`

