Difference between revisions of "Konstruktion von Diagrammen mit dem UMN MapServer 5.0"

From OSGeo
Jump to navigation Jump to search
Line 29: Line 29:
 
     …
 
     …
 
     CLASS
 
     CLASS
  NAME "Text" # Erläuterung bzw. Name des Kreissektors, der in der Legende erscheint
+
      NAME "Text" # Erläuterung bzw. Name des Kreissektors, der in der Legende erscheint
  STYLE
+
      STYLE
      SIZE [Attributname]  # gibt an, aus welcher Spalte der Attributtabelle die Sachdaten zur Erzeugung der Sektorengrößen benutzt werden sollen
+
    SIZE [Attributname]  # gibt an, aus welcher Spalte der Attributtabelle die Sachdaten zur Erzeugung der Sektorengrößen benutzt werden sollen
      COLOR r g b # Farbe, mit der der Kreissektor gefüllt wird
+
    COLOR r g b # Farbe, mit der der Kreissektor gefüllt wird
          OUTLINECOLOR r g b # wenn angegeben, wird eine Umrandungslinie um den Kreissektor gezeichnet
+
        OUTLINECOLOR r g b # wenn angegeben, wird eine Umrandungslinie um den Kreissektor gezeichnet
          WIDTH w # Breite der Umrandungslinie in Pixel, wenn OUTLINECOLOR spezifiziert wurde
+
        WIDTH w # Breite der Umrandungslinie in Pixel, wenn OUTLINECOLOR spezifiziert wurde
          OFFSET a b # ’a’ gibt die Anzahl der Pixel an, um die der Kreissektor nach außen verschoben werden soll, bei ’b’ muss auch ein Wert angegeben werden, der aber ignoriert wird
+
        OFFSET a b # ’a’ gibt die Anzahl der Pixel an, um die der Kreissektor nach außen verschoben werden soll, bei ’b’ muss auch ein Wert angegeben werden, der aber ignoriert wird
        END
+
      END
 
     END
 
     END
 
     CLASS
 
     CLASS
Line 45: Line 45:
  
 
Im STYLE-Block kann bei SIZE auch ein fester Wert angegeben werden. Mindestens zwei CLASS-Blöcke sind erforderlich, um die Diagramme zu erzeugen.
 
Im STYLE-Block kann bei SIZE auch ein fester Wert angegeben werden. Mindestens zwei CLASS-Blöcke sind erforderlich, um die Diagramme zu erzeugen.
 +
 +
Beispiel eines LAYERs mit Kreissektorendiagrammen:

Revision as of 14:39, 3 May 2008

Dieses Dokument erläutert die dynamische Konstruktion von Kreissektoren- und Balkendiagrammen im UMN MapServer 5.0.

Diese Anleitung setzt Grundkenntnisse in UMN MapServer-Anwendungen und dem Erstellen einer Map-Datei voraus.

Einleitung

Seit der Version 5.0 existiert mit dem neuen Layertyp CHART eine komfortable Möglichkeit automatisch Kreissektoren- oder Balkendiagramme auf der Basis von Sachdaten zu erzeugen. Dieser Layertyp ist auf punkt-, linien- und flächenhaften Daten anwendbar. I.d.R. werden Balken- und Kreissektorendiagramme in der thematischen Kartographie nur auf Punkt- und Flächenobjekten angewandt. Es lassen sich nun recht einfach thematische Karten vom Typ Standortdiagrammkarte und Flächendiagrammkarte erzeugen. Bei linienhaften Objekten können quantitative Attributwerte über verschiedene Linienbreiten dargestellt werden. Dies ergibt eine Liniendiagrammkarte. Zur Erstellung der Diagramme werden Vektordaten mit dazugehörigen Sachdaten in einer Attributtabelle verwendet.

Unterstützte Bibliotheken

Der Layertyp CHART wird im UMN MapServer von der GD- und der AGG-Bibliothek unterstützt. Die Ausgabe mittels AGG bietet jedoch eine qualitativ bessere Darstellung, besonders bei Kreisdiagrammen aufgrund des generellen Antialiasing. Eine Ausgabe der Diagramme in anderen Formaten, wie PDF, SWF oder SVG, die mit anderen Bibliotheken erstellt werden, ist nicht möglich.

Bild

Kreissektorendiagramme

Diagramme werden in einem gesonderten LAYER vom Typ CHART erzeugt. Der Diagramtyp und die Diagrammgröße werden über PROCESSING-Parameter bestimmt. Für jeden Kreissektor im Diagramm wird ein CLASS-Block angelegt. Im dazugehörigen STYLE-Block wird dann mit SIZE [Attributname] auf den jeweiligen Wert in der Attributtabelle verwiesen. Mit diesem Wert wird dynamisch die Größe (der Winkel) des entsprechenden Kreissektors erzeugt.

Folgende Übersicht erläutert den Aufbau näher:

LAYER
   TYPE CHART
   PROCESSING "CHART_TYPE=PIE" # Diagrammtyp, voreingestellt ist PIE für Kreissektorendiagramme
   PROCESSING "CHART_SIZE=30" # Größe (Durchmesser) der Diagramme in Pixel
   …
   CLASS
     NAME "Text" # Erläuterung bzw. Name des Kreissektors, der in der Legende erscheint
     STYLE
    	SIZE [Attributname]  # gibt an, aus welcher Spalte der Attributtabelle die Sachdaten zur Erzeugung der Sektorengrößen benutzt werden sollen
    	COLOR r g b # Farbe, mit der der Kreissektor gefüllt wird
        OUTLINECOLOR r g b # wenn angegeben, wird eine Umrandungslinie um den Kreissektor gezeichnet
        WIDTH w # Breite der Umrandungslinie in Pixel, wenn OUTLINECOLOR spezifiziert wurde
        OFFSET a b # ’a’ gibt die Anzahl der Pixel an, um die der Kreissektor nach außen verschoben werden soll, bei ’b’ muss auch ein Wert angegeben werden, der aber ignoriert wird
     END
   END
   CLASS
       …
   END
   …
END

Im STYLE-Block kann bei SIZE auch ein fester Wert angegeben werden. Mindestens zwei CLASS-Blöcke sind erforderlich, um die Diagramme zu erzeugen.

Beispiel eines LAYERs mit Kreissektorendiagrammen: