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.
- 2013-03-22: 3rd anniversary of MapProxy
- 2012-12-05: New MapProxy 1.5.0 release
- 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
FOSSGIS 2013 in Rapperswil, Switzerland
We are at the german FOSSGIS conference from 12-14. June 2013 in Rapperswil, Switzerland. We hope to see you there.
FOSS4G 2013 in Nottingham, UK
We are also at the FOSS4G conference from 17.-21. September 2013 in Nottingham, UK. We hope to see you there.
Features of MapProxy
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
- 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
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.
GetFeatureInforequests with optional XSL transformations
- limit sources to polygon areas
- convert WMS versions and image formats
- support for non-image raster data like DEMs
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)
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:
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
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
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
Below is an OpenLayers client that shows an OpenStreetMap WMS behind a MapProxy installation. For a full-screen demo visit: osm.omniscale.de