Difference between revisions of "Neuerungen des UMN MapServers 5.0"

From OSGeo
Jump to navigation Jump to search
 
(18 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Mapfile==
 
==Mapfile==
  
Mittlerweile ist es möglich, dass Labelbeschriftungen dynamisch aus einem Wertefeld generiert warden. Dieses funktioniert über „SIZE [meingroessenfeld]“  
+
Siehe auch: http://trac.osgeo.org/mapserver/browser/branches/branch-5-0/mapserver/MIGRATION_GUIDE.TXT
 +
 
 +
Mittlerweile ist es möglich, dass Labelbeschriftungen dynamisch aus einem Wertefeld generiert werden. Dieses funktioniert über „SIZE [meingroessenfeld]“  
  
 
Eine Anbindung an eine PostGIS-Datenbank z.B. , welche in einer Tabelle die Spalte „groesse“ mit unterschiedlichen Integerwerten beinhaltet, produziert dann über folgende Mapfile-Angaben:
 
Eine Anbindung an eine PostGIS-Datenbank z.B. , welche in einer Tabelle die Spalte „groesse“ mit unterschiedlichen Integerwerten beinhaltet, produziert dann über folgende Mapfile-Angaben:
Line 36: Line 38:
 
OPACITY zu verwenden.
 
OPACITY zu verwenden.
 
Anstelle von MINSCALE,SYMBOLSCLALE etc. wird empfohlen MINSCALEDENOM bzw. SYMBOLSCALEDENOM zu nutzen (DENOM steht für „denominator“, zu Deutsch: „Nenner“; somit soll verdeutlicht werden, dass sich der Wert z.B. MINSCALEDENOM 24000 auf den Nenner-Wert des Maßstab 1:24000 bezieht).
 
Anstelle von MINSCALE,SYMBOLSCLALE etc. wird empfohlen MINSCALEDENOM bzw. SYMBOLSCALEDENOM zu nutzen (DENOM steht für „denominator“, zu Deutsch: „Nenner“; somit soll verdeutlicht werden, dass sich der Wert z.B. MINSCALEDENOM 24000 auf den Nenner-Wert des Maßstab 1:24000 bezieht).
 +
 +
Neu ist zudem der Parameter PRIORITY im LABEL-Bereich. Mit diesem kann festgelegt werden, welches Label (sogar bezogen auf Attribute) mit welcher Priorität gezeichnet werden soll.
 +
 +
Im MapServer sind mittlerweile die DEBUGGING-Möglichkeiten gestiegen. Waren früher nur die Parameter DEBUG ON/OFF möglich,
 +
so geht jetzt DEBUG 0, DEBUG 1, DEBUG 2,........DEBUG 5.
 +
Je höher die Zahl desto mehr Informationen.
 +
Bei der Versionsabfrager über ./mapserv -v (z.B.) erscheint nun kein SUPPORTS=DEBUG mehr. Der Debug-Modus ist nun per se aktiviert.
 +
Ein "enable-Debug" beim konfigurieren ist nur für Fehlermeldungen während des kompilierens notwendig.
 +
 +
 +
===Diagramme (Layertypus Chart)===
 +
 +
Seit Version 5.0 kann man im MapServer den Layertypus CHART setzen, welcher für Diagramme zuständig ist.
 +
 +
Siehe dazu auch: http://mapserver.gis.umn.edu/docs/howto/dynamic-charting
 +
 +
Ein einfaches Beispiel:
 +
 +
LAYER
 +
  NAME        'chart'
 +
  TYPE        CHART
 +
  STATUS    DEFAULT
 +
    PROCESSING "CHART_TYPE=pie"
 +
    PROCESSING "CHART_SIZE=30"
 +
        CONNECTIONTYPE postgis     
 +
  CONNECTION 'blablabla'
 +
  DATA 'the_geom from landkreis'
 +
  CLASS
 +
    NAME "Bevölkerung 0-18"
 +
    STYLE
 +
      SIZE [bev_0_18]
 +
      COLOR 220 0 0
 +
        END
 +
  END
 +
CLASS
 +
    NAME "Bevölkerung 19-30"
 +
    STYLE
 +
      SIZE [bev_19_30]
 +
    COLOR 0 0 220
 +
    END
 +
  END
 +
  END
 +
 +
Ergibt z.B. das (hier fiktive Werte):
 +
 +
 +
[[Image:torte.png|Tortendiagramm]]
 +
 
 +
Durch das Setzen des Parameters 
 +
 +
PROCESSING "CHART_TYPE=BAR"
 +
 +
erhält man dann auch Balkendiagramme
 +
 +
[[Image:balken.png|Balkendiagramm]]
  
 
==Symbolfile==
 
==Symbolfile==
Line 60: Line 117:
 
Der Grund ist, dass es in der Vergangenheit immer wieder zu Verwechselungen mit dem STYLE-Parameter im CLASS-Bereich des Mapfiles kam.
 
Der Grund ist, dass es in der Vergangenheit immer wieder zu Verwechselungen mit dem STYLE-Parameter im CLASS-Bereich des Mapfiles kam.
  
==STYLING/SYMBOLOGY==
+
==Styling/Symbology==
  
 
In MapServer 5.0 ist es jetzt auch möglich, dass PIXMAP-Symbole entlang einer Linie gezeichnet werden und durch den GAP-Parameter ein Zwischenraum deklariert wrid (mit TrueTypeFonts ging das ja auch zuvor schon).
 
In MapServer 5.0 ist es jetzt auch möglich, dass PIXMAP-Symbole entlang einer Linie gezeichnet werden und durch den GAP-Parameter ein Zwischenraum deklariert wrid (mit TrueTypeFonts ging das ja auch zuvor schon).
Line 67: Line 124:
  
 
In früheren MapServer-Versionen war es auf mehr oder minder umständlichem Wege bereits möglich im CGI-Modus Parameter des Mapfiles zu verändern.
 
In früheren MapServer-Versionen war es auf mehr oder minder umständlichem Wege bereits möglich im CGI-Modus Parameter des Mapfiles zu verändern.
In Version 5 ist dieses vereinfacht worden, es lassen sich nun ganze Bereich austauschen.
+
In Version 5 ist dieses vereinfacht worden, es lassen sich nun ganze Bereiche austauschen.
  
 
Beispiel für Veränderung der Maßstabsleiste:
 
Beispiel für Veränderung der Maßstabsleiste:
Line 91: Line 148:
 
Um OGC-WMS-Konformität zu erzeugen werden nun die von der OGC terminierten Parameter auch verpflichtend vom UMN erwartet.
 
Um OGC-WMS-Konformität zu erzeugen werden nun die von der OGC terminierten Parameter auch verpflichtend vom UMN erwartet.
 
Ein Aufruf der Art von:
 
Ein Aufruf der Art von:
  http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/umnkursII/wms_wfs/wms_ogc/wms_server.map&SERVICE=WMS&Request=GetMap&VERSION=1.1.1&layers=landkreis_wms,punktdaten_wms&BBOX=3430000,5899000,3490000,5953000&FORMAT=image/png&width=400&height=400&STYLES=,,
+
  http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/umnkursII/
 +
wms_wfs/wms_ogc/wms_server.map&SERVICE=WMS&Request=GetMap&VERSION=1.1.1&
 +
layers=landkreis_wms,punktdaten_wms&BBOX=3430000,5899000,3490000,5953000&
 +
FORMAT=image/png&width=400&height=400&STYLES=,,
  
 
würde also eine Fehlermeldung produzieren, weil der SRS-Parameter fehlt.
 
würde also eine Fehlermeldung produzieren, weil der SRS-Parameter fehlt.
 +
 +
==AGG-Rendering==
 +
 +
MapServer arbeitet jetzt mit der AGG-Rendering-Bibliothek.
 +
 +
Siehe dazu: http://mapserver.gis.umn.edu/docs/howto/agg-rendering-specifics
 +
 +
Die deutschsprachige Übersetzung dieses Dokumentes stammt von [[User:Kai Behncke | Kai Behncke]].

Latest revision as of 09:29, 26 January 2008

Mapfile

Siehe auch: http://trac.osgeo.org/mapserver/browser/branches/branch-5-0/mapserver/MIGRATION_GUIDE.TXT

Mittlerweile ist es möglich, dass Labelbeschriftungen dynamisch aus einem Wertefeld generiert werden. Dieses funktioniert über „SIZE [meingroessenfeld]“

Eine Anbindung an eine PostGIS-Datenbank z.B. , welche in einer Tabelle die Spalte „groesse“ mit unterschiedlichen Integerwerten beinhaltet, produziert dann über folgende Mapfile-Angaben:

LABEL
TYPE TRUETYPE
FONT 'arial'
SIZE [groesse]
COLOR 0 0 0
END

z.B. folgende Karte:


Größenangaben aus Tabelle generiert

In 5.0 funktionieren die LAYER- Parameter LABELANGLEITEM und LABELSIZEITEM nicht mehr, genauso wenig wie die STYLE-Parameter ANGLEITEM und SIZEITEM.

Nicht nur für Labelgrössen können Werte aus einem Tabellenfeld gelesen werden. Dieses funktioniert nun auch im STYLE-Bereich für folgende Parameter:

ANGLE, COLOR, OUTLINECOLOR, SIZE, SYMBOL

bzw. im Label-Bereich für

ANGLE, COLOR, OUTLINECOLOR, SIZE, FONT, PRIORITY

Farbangaben können mittlerweile nicht nur in RGB (z.B. 220 0 0) sondern auch hexadezimal angegeben werden (z.B. #ff00ff).

Einige Parameter scheinen früher oder später ausgetauscht zu werden. So wird im empfohlen im Layerbereich nicht mehr den Parameter TRANSPARENCY sondern ab jetzt OPACITY zu verwenden. Anstelle von MINSCALE,SYMBOLSCLALE etc. wird empfohlen MINSCALEDENOM bzw. SYMBOLSCALEDENOM zu nutzen (DENOM steht für „denominator“, zu Deutsch: „Nenner“; somit soll verdeutlicht werden, dass sich der Wert z.B. MINSCALEDENOM 24000 auf den Nenner-Wert des Maßstab 1:24000 bezieht).

Neu ist zudem der Parameter PRIORITY im LABEL-Bereich. Mit diesem kann festgelegt werden, welches Label (sogar bezogen auf Attribute) mit welcher Priorität gezeichnet werden soll.

Im MapServer sind mittlerweile die DEBUGGING-Möglichkeiten gestiegen. Waren früher nur die Parameter DEBUG ON/OFF möglich, so geht jetzt DEBUG 0, DEBUG 1, DEBUG 2,........DEBUG 5. Je höher die Zahl desto mehr Informationen. Bei der Versionsabfrager über ./mapserv -v (z.B.) erscheint nun kein SUPPORTS=DEBUG mehr. Der Debug-Modus ist nun per se aktiviert. Ein "enable-Debug" beim konfigurieren ist nur für Fehlermeldungen während des kompilierens notwendig.


Diagramme (Layertypus Chart)

Seit Version 5.0 kann man im MapServer den Layertypus CHART setzen, welcher für Diagramme zuständig ist.

Siehe dazu auch: http://mapserver.gis.umn.edu/docs/howto/dynamic-charting

Ein einfaches Beispiel:

LAYER
 	NAME         'chart'
 	TYPE        CHART
 	STATUS     DEFAULT
   	PROCESSING "CHART_TYPE=pie"
   	PROCESSING "CHART_SIZE=30"
        CONNECTIONTYPE postgis      
 	CONNECTION 'blablabla'
 	DATA 'the_geom from landkreis'
 	CLASS
   	NAME "Bevölkerung 0-18"
   	STYLE
     	SIZE [bev_0_18] 
     	COLOR 220 0 0
        END
 	END
	CLASS
   	NAME "Bevölkerung 19-30"
   	STYLE
     	SIZE [bev_19_30] 
   	COLOR 0 0 220
   	END
 	END
 END

Ergibt z.B. das (hier fiktive Werte):


Tortendiagramm

Durch das Setzen des Parameters

PROCESSING "CHART_TYPE=BAR"

erhält man dann auch Balkendiagramme

Balkendiagramm

Symbolfile

Im Symbolfile wird empfohlen den STYLE-Parameter durch „Pattern“ zu ersetzen, also von nun an z.B.

# Streitige Grenze,OS 0235
SYMBOL
Name 'linie_6_1'
TYPE VECTOR
POINTS
1 1
2 1
2 2
1 2
1 1
END
PATTERN
17
2
END
END

Der Grund ist, dass es in der Vergangenheit immer wieder zu Verwechselungen mit dem STYLE-Parameter im CLASS-Bereich des Mapfiles kam.

Styling/Symbology

In MapServer 5.0 ist es jetzt auch möglich, dass PIXMAP-Symbole entlang einer Linie gezeichnet werden und durch den GAP-Parameter ein Zwischenraum deklariert wrid (mit TrueTypeFonts ging das ja auch zuvor schon).

URL

In früheren MapServer-Versionen war es auf mehr oder minder umständlichem Wege bereits möglich im CGI-Modus Parameter des Mapfiles zu verändern. In Version 5 ist dieses vereinfacht worden, es lassen sich nun ganze Bereiche austauschen.

Beispiel für Veränderung der Maßstabsleiste:

...&map.scalebar=UNITS+MILES+COLOR+121+121+121+SIZE+300+2&...

PHP/Mapscript

Auch hier gibt es einige Umbenennungen. Der Parameter für die Layertransparenz heißt nun „Opacity“. Parameter, welche „scale“ enthalten (symbolscale, maxscale, etc.), erhalten nun die Endung „denom“ , also z.B. symblscaledenom, maxscaledenom etc. Der Parameter „style“ des SymbolObjects heisst jetzt pattern. “Stylelength”, “setStyle()” und “getStyleArray()” warden in patternlength, setPattern() and getPatternArray() umbenannt. layer.getShape(int tileindex, int shapeindex) ändert sich in layer.getFeature(int shapeindex [, int tileindex = -1]). class.getExpression() and layer.getFilter() sollten durch class.getExpressionString() bzw. layer.getFilterString(= ersetzt warden.

OGC WMS

In der Vergangenheit brauchte man bei WMS-Aufrufen in Verbindung mit dem UMN nicht alle von der OGC vorgeschriebenen Parameter aufrufen. Siehe dazu auch:

http://www.selbstverwaltung-bundesweit.de/mapserver/anleitungen/wms_wfs_anleitung.pdf (S.9-10)

Um OGC-WMS-Konformität zu erzeugen werden nun die von der OGC terminierten Parameter auch verpflichtend vom UMN erwartet. Ein Aufruf der Art von:

http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/htdocs/umnkursII/
wms_wfs/wms_ogc/wms_server.map&SERVICE=WMS&Request=GetMap&VERSION=1.1.1&
layers=landkreis_wms,punktdaten_wms&BBOX=3430000,5899000,3490000,5953000&
FORMAT=image/png&width=400&height=400&STYLES=,,

würde also eine Fehlermeldung produzieren, weil der SRS-Parameter fehlt.

AGG-Rendering

MapServer arbeitet jetzt mit der AGG-Rendering-Bibliothek.

Siehe dazu: http://mapserver.gis.umn.edu/docs/howto/agg-rendering-specifics

Die deutschsprachige Übersetzung dieses Dokumentes stammt von Kai Behncke.