MapProxy

Die Open-Source-Software MapProxy ist ein WMS- & Kachel-Proxy mit der Kartendienste, durch Vorgenerieren und Zwischenspeichern, beschleunigt und optimiert werden können.

MapProxy

News

Aktuelle Neuigkeiten, zum Beispiel über neue Versionen von MapProxy, finden Sie in unserem englischsprachigem Blog → .


Ausgewählte Funktionen Profitieren Sie von den vielfälltigen Einsatzmöglichkeiten von MapProxy

Kacheldienst

MapProxy ist ein vollständig kompatibler WMS-Server und unterstützt so jeden WMS-Client, egal ob Desktop- oder Webgis

  • WMS 1.0.0–1.3.0 (MapServer, GeoServer, etc.)
  • WMTS, TMS(TileCache, GeoWebcache, etc.)
  • Mapserver und Mapnik (direkt, ohne WMS)
  • jeder TileCache, Google Maps oder mit Bing kompatible Quellen
Weitere Funktionen:
  • speichern der Kacheln im Dateisystem, in MBTiles/SQLite, ArcGIS Compact Cache, S3, Riak, Redis oder CouchDB
  • einheitliche Bilder werden nur einmalig gespeichert (z.B. blaue Wasserkacheln)
  • hinzufügen von Wasserzeichen
  • umtransformieren von WMS und Kacheln in andere Projektionen
  • zusammenfassen von mehrere Quellen zu einem Dienst
  • beschränken von Quellen über eine Geometrie (z.B. durch ein Shapefile)
  • manipulation von Farbkanälen zur Erzeugung von Graustufen-, oder Falschfarbenbilder
  • und vieles mehr...

WMS

MapProxy ist ein vollständig kompatibler WMS-Server und unterstützt so jeden WMS-Client, egal ob Desktop oder Web. MapProxy unterstützt WMS Anfragen direkt oder aus dem Cache und kann:

  • GetMap Anfragen aus Kacheln erstellen und so eine Unterstützung für freies Zoomen und für jede Projektion ermöglichen
  • bestehende WMS zwischen 10 und 100 mal beschleunigen
Kaskadierte WMS Dienste:
  • mehrere Quellen zu einem Dienst zusammenfassen
  • Transparenz zu undurchsichtigen Layern hinzufügen
  • Karten in andere Projektionen umtransformieren
  • MapProxy unterstützt zudem die Kombination aus gecachten und zusammengefassten Layern.
Weitere WMS Funktionen:
  • Beantworten von GetLegendGraphic Anfragen
  • GetFeatureInfo Anfragen zusammenfassen und optional mit XSL transformieren
  • Quellen über eine Geometrie beschränken werden (z.B. durch ein Shapefile)
  • WMS Versionen aktualisieren und Bild-Formate konvertieren
  • Unterstützung für Rasterdaten z.B. DEM

Sicherheit

MapProxy kann als Sicherheitsschicht für vorhandene Kartendienste fungieren. So kann MapProxy gesamte WMS, aber auch einzelne Layer vor ungewollten Zugriffen schützen oder diese nur für bestimmte Nutzergruppen sichtbar machen.

Neben den Gesamtdaten kann die Sicherheitsschicht auch auf exakte Gebiete angewandt werden. So kann z.B. über ein Polygon definiert werden, auf welche Gebiete einzelne Benutzer zugreifen dürfen und auf welche nicht.

Die Sicherheitsschicht wurde als offene Schnittstelle entwickelt, damit sie an unterschiedlichste Nutzerdatenbanken angegliedert werden kann. Bereits bestehende Benutzerdatenbanken können so vom MapProxy verwendet werden.

MapProxy

Vorgenerieren

Das Vorgenerieren eines Caches wird auch Seeding genannt. Für das performante Anbieten von Kartendiesten sollten die Kacheln der Dienste vorgeneriert werden. MapProxy verfügt daher über einige einzigartige Funktionen:

  • fein einstellbare Beschränkung in welchem Bereich Karten vorgeneriert werden sollen durch die Angabe einer Geoemtrie als Shapefile, PostGIS oder im WKT-Format
  • optimierte Seeding Strategie

Weitere Funktionen

MapProxy kann auch dazu genutzt werden um Ihre GDI zu aktualisieren, ohne dass die bestehenden Server hierfür geändert werden müssen.

  • einfaches aber mächtiges Konfigurationsformat (YAML/JSON)
  • Demo-Anwendung basierend auf OpenLayers
  • mehrere WMS-Dienste in einer MapProxy-Instanz
  • Wasserzeichen und Copyrightzeilen einfügen
  • und vieles mehr...
MapProxy unterstützt folgende offene Standards:
  • 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

Installation

Neugierig geworden? MapProxy ist ganz einfach zu installieren.

Mit den Folgenden vier Befehlen können Sie MapProxy und alle benötigten Abhängigkeiten unter Linux (z.B. Ubuntu) installieren, eine Konfiguration erstellen und MapProxy im Entwicklermodus starten.

Ansclhießend können Sie das Ergebnis unter http://localhost:8080/ aufrufen.

sudo aptitude install python-imaging python-yaml libproj0
sudo pip install mapproxy
mapproxy-util create -t base-config ./
mapproxy-util serve-develop ./mapproxy.yaml