Geospatial – News

Publikation von MapServer 6.4

19 September 2013

MapServer ist ein bewährter Open Source Kartenserver mit ausgezeichneter Performanz und weitreichenden kartographischen Darstellungsmöglichkeiten. Die Berücksichtigung der OGC-Normen erlaubt die Integration in Service-orientierte Architekturen, wie zum Beispiel das MapFish Geoportal. MapServer wird von einer breiten Entwicklungs- und User-Community unterstützt.

Das MapServer Entwicklungsteam hat eine neue Version von MapServer publiziert. In diesem Artikel werden die neuen Funktionen von MapServer 6.4 vorgestellt. Die nachfolgenden Punkte wurden als RFC (Request for Change) den Entwicklern von MapServer vorgelegt. Die Liste der Korrekturen und Verbesserungen ist relativ umfangreich, so dass hier lediglich eine Übersicht der wichtigsten Neuerungen vorgestellt wird:

Camptocamp bietet Schulungen firmenübergreifende oder interne Schulungen an, um Sie auf den neuesten Stand von MapServer zu bringen. Sprechen Sie uns auch bezüglich Supportmöglichkeiten an!

Rendering von Vektorkonturen

MapServer kann nun ein DEM in Vektoren rendern. Die Funktionalität ist ähnlich wie beim Vektor-Feld: eine neuer CONNECTIONTYPE namens CONTOUR muss hinzugefügt werden, analog zum UVRASTER welcher letztes Jahr dazu kam. Der Parameter PROCESSING erlaubt die Definition verschiedener Sub-Prozesse: Der Attributname (CONTOUR_ITEM, optional) zur Anzeige der Label, das Intervall zwischen zwei Linien (CONTOUR_INTERVAL) und eine Liste zur Ausgabe von festen Höhenwerten (CONTOUR_LEVELS).

Ein Beispiel aus dem RFC:

 

LAYER NAME "my_contour_layer"
  TYPE LINE
  STATUS DEFAULT
  CONNECTIONTYPE CONTOUR
  DATA /mnt/data/raster/grib/dem.grib
  PROCESSING "BANDS=1"
  PROCESSING "CONTOUR_ITEM=elevation"
  PROCESSING "CONTOUR_INTERVAL=0,25000:5" # interval of 5 for scales
  of 25000 or less
  PROCESSING "CONTOUR_INTERVAL=25000,500000:10" # interval of 10 for
  scales in the 25000 to 500000 range
  PROCESSING "CONTOUR_LEVELS=500000,0:10,25,50,100" # explicit list
  of levels for scales of 500000 and up
  LABELITEM "elevation"
  CLASS
    STYLE
      WIDTH 2
      COLOR 255 0 0
    END
    LABEL
      ...
    END
  END

Speicherung von MapServer Objekten als String

Dies erlaubt die Transformation von Objekten im Mapfile zu einer Zeichenkette innerhalb von MapScript. Diese Entwicklung ergänzt den RFC 31.

Geo-Transformation von Layern

Seit Version 6.0 erlaubte MapServer gewisse Änderungen der Geometrien vor dem Rendering. Diese wurden im STYLE-Objekt angegeben. Wenn der Benutzer jedoch mehrere STYLE Objekte definiert hatte, ergab dies einen relevanten Einfluss auf die Performanz. Mit der neuen Version ist es nun möglich, die Umwandlung auf Ebene des LAYER-Objekts zu setzen. Die Transformation bezieht sich auf alle CLASS-Objekte.

Drei neue Operationen wurden dazugefügt:

  • simplify: Vereinfachung über den Douglas-Peucker-Algorithmus in GEOS
  • simplifypt: Vereinfachung mit Erhalt der Topologie mittels GEOS
  • generalize: Generalisierung

Aktivierung und Deaktivierung von OGC-Service publizierten Ebenen über eine IP-Liste

Mehrere Parameter können im METADATA-Objekt definiert werden, sei es auf Ebene WEB, sei es auf Ebene LAYER. Dies erlaubt die Aktivierung bzw. Deaktivierung von OGC Services oder eines template-basierten Zugangs über eine Liste von IP-Adressen, welche im Mapfile oder in einem Textfile definiert sind.

Glätten von Geometrien

Diese Funktionalität erlaubt den Gebrauch des Wertes smoothsia im Parameter GEOMTRANSFORM des LAYER-Objekts. smoothsia glättet die Geometrien, ohne diese unbedingt zu vereinfachen. Übrigens: Falls Ihre Ebenen zu viele Punkte aufweisen (zu grosse Auflösung), wird die Ausgabe keine guten Resultate liefern. In diesem Fall können Sie die Funktion simplifypt vor dem Glätten gebrauchen: GEOMTRANSFORM (smoothsia(simplifypt([shape], 10))).

Verwaltung von Listen in EXPRESSION

Wenn man die Daten nach Attributen filtert, können nun mehrere Werte in einer Liste übergeben werden. Zum Beispiel kann damit eine identische Ausgabe für verschiedene Strassentypen erreicht werden, wie in diesem Beispiel mit OSM-Daten:

LAYER
  ...
  CLASSITEM "type"
  CLASS
    EXPRESSION {primary,secondary}
    ...
  END
END

Verwaltung der zeitlichen Dimension in der Tiles-Definition in MapCache Tilesets

MapCache ist Teil des MapServer Projekts. Es erlaubt die Erzeugung eines Tiles-Caches zur Optimierung der Performanz. Der Parameter TIME wird nun unterstützt und erlaubt die Erzeugung verschiedener Tile-Caches in Abhängigkeit des TIME-Parameters. MapServer unterstützt seit einiger Zeit bereits WMS-T Dienste (WMS mit einer Option TIME).

Verwaltung von SVG Symbolen für Linux-Betriebssysteme

Bereits seit einigen Versionen werden SVG-Symbole in MapServer unterstützt. Die dazu benutzte Bibliothek stellte jedoch Probleme beim Unix-Systemen. Eine neue Bibliothek kann nun benutzt werden, und gleichzeitig wird die Kompabilität zu verschiedenen Systemen beibehalten. Die Unterstützung der SVG-Symbole ist dadurch auch mit den Unix-Systemen kompatibel.