About
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 is a tile cache solution, but also offers many new and innovative features like full support for WMS clients.
MapProxy is actively developed and supported by Omniscale, it is released under the Apache Software License 2.0, runs on Unix/Linux and Windows and is easy to install and to configure.
News
- 2012-05-15: New MapProxy 1.4.0 release
- 2012-01-13: New MapProxy 1.3.0 release
- 2011-08-31: New MapProxy 1.2.0 release
- 2011-06-26: New MapProxy 1.1.1 release
- 2011-05-31: New MapProxy 1.1.0 release
Features of MapProxy
Tile cache
MapProxy is a tile server (WMS-C, TMS, WMTS, KML SuperOverlays).
It reads data from:
- WMS sources (1.0.0–1.3.0)
- TMS/WMTS sources
- Mapserver and Mapnik configurations
- any TileCache, Google Maps or Bing compatible source
Other features:
- cache data on filesystem, as MBTiles or inside CouchDB
- reproject WMS sources to other SRS
- stores identical images just once (e.g. ocean tiles)
- embed watermark in tiles
- merge multiple sources
- limit sources to polygon areas
- many more
WMS
MapProxy is also a full compliant WMS server and supports any WMS client (desktop and web).
It supports WMS responses from cached data:
- merges tiles and scales or reprojects images
- accelerates existing WMS 10 to 100 times
and cascaded WMS services:
- multi-threaded requests
- merges multiple sources
- adds transparency to opaque layers
- reprojects on-the-fly
It also supports combinations of cached and cascaded layers.
Other features:
-
respond to
GetLegendGraphicrequests -
cascade
GetFeatureInforequests with optional XSL transformations - limit sources to polygon areas
- convert WMS versions and image formats
- support for non-image raster data like DEMs
Seeding
You can pre-generate the tile cache for better performance – this is called seeding.
Some unique features:
- fine-grained control over the seed area with Shapefiles, PostGIS or WKT geometries
- multi-threaded requests, meta-tile splitting and image encoding
- optimized seeding strategy (to work with your database cache)
Authorization
MapProxy comes with a flexible authorization API that allows you to add fine-grained control over services and layers. You can even restict access of single layers to polygon extents:
Other features
You can use MapProxy to upgrade your SDI without touching your existing servers:
- offer projections that your sources do not support
- offer protocol versions and image formats that your sources do not support
- combine multiple layers and servers
- hide WMS servers
- add watermarks and attribution lines to the images
- etc.
MapProxy is standard compliant and works with the following open specifications:
- OGC WMS 1.0.0, 1.1.0, 1.1.1, 1.3.0
- OGC WMTS 1.0.0 (KVP and RESTful)
- OSGeo TMS 1.0.0
- OGC KML 2.2 SuperOverlays
Getting started
Curious? With the following four lines you can install MapProxy and all dependencies, create a new configuration and start MapProxy in development mode. After that you can visit http://localhost:8080/.
sudo aptitude install python-imaging python-yaml libproj0
sudo easy_install mapproxy
mapproxy-util create -t base-config ./
mapproxy-util serve-develop ./mapproxy.yaml
For detailed installation and configuration information read the documentation. Release information is available at the download page.
Demo
Below is an OpenLayers client that shows an OpenStreetMap WMS behind a MapProxy installation. For a full-screen demo visit: osm.omniscale.de