20. März 2012
„Aufwind durch Wissen“
1 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Workshop
Einführung in den MapServer
Toni Pignataro
Jörg Thomsen
20. März 2012
„Aufwind durch Wissen“
2 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Anatomie einer MapServer-Anwendung
20. März 2012
„Aufwind durch Wissen“
3 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
… und womit wir uns beschäftigen
20. März 2012
„Aufwind durch Wissen“
4 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Wo bekomme ich MapServer her?MapServer CGI Application
● MS Windows
– http://download.osgeo.org/osgeo4w/osgeo4w-setup.exe
– http://www.maptools.org → ms4w
● Linux
– siehe http://www.mapserver.org/download.html#binaries
● DebianGIS
● Enterprise Linux GIS
● FGS
● OpenSUSE
● UbuntuGIS
● OSGEO Live DVD
20. März 2012
„Aufwind durch Wissen“
5 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
MapServer CGI Application
● Hurra, er kann schon rum motzen!
● Aber ihm fehlen Informationen:
– Auf welche Geodaten soll er zugreifen?
– Wie soll die Karte aussehen?
– Das alles steht in der Konfigurationsdatei, der Mapdatei
20. März 2012
„Aufwind durch Wissen“
6 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Wir erinnern uns:
20. März 2012
„Aufwind durch Wissen“
7 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Das Mapfile besteht aus einzelnen Blöcken. Diese beginnen mit einem Schlüsselwort und werden mit einem „END“ abgeschlossen.
MAP…WEB
…END…LAYER
…CLASS
…END
ENDEND
Mapfile configuration
Grundlegender Aufbau der Mapdatei
20. März 2012
„Aufwind durch Wissen“
8 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Mapfile configuration Der Header
Der Header enthält für das gesamte Projekt gültige Angaben, die das Aussehen der Karte bestimmen.
MAP NAME 'schwalmtal'STATUS ON
PROJECTION'init=epsg:31466'
END
SIZE 450 320EXTENT 2516438.410 5671903.377 2519958.410 5674103.695UNITS metersSHAPEPATH 'data/'SYMBOLSET 'symbols/symbset.sym'FONTSET 'c:/ms4w/Apache/htdocs/schwalmtal/fonts/font.fnt'
…END
20. März 2012
„Aufwind durch Wissen“
9 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Die Web SektionDie WEB-Sektion definiert das Verhalten der Applikation und enthält die für OGC-konforme Anwendungen erforderlichen Metadaten.Definition von HTML-Templates (sofern benötigt)
WEBIMAGEPATH '/data/umn/umn_tmp/' #Speicherort für Temporäre DateienIMAGEURL 'http://localhost/umn_tmp/' #Speicherort für Temporäre Dateien
METADATAWMS_TITLE 'Schwalmtal'
WMS_ONLINERESOURCE 'http://server/cgi-bin/mapserv.exe?map=c:/data/demo.map'WMS__BBOX_EXTENDED 'true'WMS_SRS 'EPSG:31466 EPSG:31467 EPSG:4326 EPSG:31466'WMS_EXTENT '2516438 5671903 2519958 5674103'WMS_ACCESSCONSTRAINTS "none"WMS_FEATURE_INFO_MIME_TYPE 'text/html'WMS_ABSTRACT 'Beschreibung des Projektes Schwalmtal'OWS_ENABLE_REQUEST '*'
END END
Mapfile configuration
20. März 2012
„Aufwind durch Wissen“
10 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Die LayerMapfile configuration
● Im Layer werden Daten, Datentyp, Ausgestaltung, Beschriftung sowie eine Klassifizierung definiert.
● Es werden verschiedene Typen von Layern unterschieden – RASTER, POLYGON, LINE, POINT, ANNOTATION, CIRCLE, QUERY.
● Hierbei wird für jede Klasse ein eigenes "CLASS"-Objekt angelegt.
20. März 2012
„Aufwind durch Wissen“
11 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Die LayerMapfile configuration
LAYERNAME 'agricultur'STATUS ONTYPE POLYGONDATA agric # verweist auf die Datei agric.shp im data-Verzeichnis (im Header definiert)PROJECTION
'init=epsg:31466'ENDMETADATA
ows_title 'AnbauflächenENDCLASSITEM 'DANGER'CLASS
NAME ' alle Flächen'EXPRESSION /./ # alleSTYLE
COLOR 255 255 0OUTLINECOLOR 0 0 0
END # STYLE END # CLASS
END # LAYER
20. März 2012
„Aufwind durch Wissen“
12 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Schlüssel, Werte und KommentareMapfile configuration
● Feststehende Schlüsselworte ohne Anführungszeichen, z.B.
– STATUS ON
– TYPE POLYGON
● Variable Zeichenketten mit Anführungszeichen, z.B.
– NAME 'schwalmtal'
– CLASSITEM 'DANGER'
● Zahlenwerte ohne Anführungszeichen, z.B.
– COLOR 255 125 125
● Kommentare werden mit # eingeleitet
– Die gesamte Zeile ab dem Kommentarzeichen wird als Kommentar gewertet und vom MapServer nicht weiter beachtet
20. März 2012
„Aufwind durch Wissen“
13 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Ihr erster Mapfile
● osm_01.map
– Öffnen Sie die Datei mit einem Editor
– Laden Sie die Karte in ein GIS, z.B. QuantumGIS
CLASS NAME 'roads' STYLE WIDTH 4 COLOR 91 91 91 END END
20. März 2012
„Aufwind durch Wissen“
14 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Ihr erstes Mapfile
● Das geht noch etwas schöner
– Suchen Sie den Abschnitt 'STYLE …. END' und fügen die 4 Zeilen noch einmal direkt darunter ein
– Ändern im Sie die Linienbreite auf 6 und die Farbe auf 255 255 255
CLASS NAME 'roads' STYLE WIDTH 4 COLOR 91 91 91 END STYLE WIDTH 2 COLOR 255 255 255 END END
20. März 2012
„Aufwind durch Wissen“
15 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Ihr erster Mapfile● Jetzt fehlt noch die Beschriftung
– Das ist etwas aufwendiger, aber es gibt eine Vorlage: osm_02.map
– Sämtliche Beschriftungsoptionen finden Sie unter http://www.mapserver.org/de/mapfile/label.html
LABELITEM 'name'
CLASS …. LABEL FONT arial TYPE truetype SIZE 9 COLOR 0 0 0 OUTLINECOLOR 220 220 220 ANGLE follow POSITION cc FORCE false ANTIALIAS true PARTIALS true END
20. März 2012
„Aufwind durch Wissen“
16 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Ihr erster Mapfile
● Es gibt zahlreiche Parameter für die Beschriftung
– Was passiert, wenn Sie einige Parameter ändern? Versuchen Sie es:
ANGLE follow → ANGLE auto
FORCE false → FORCE true
PARTIALS true → PARTIALS false
Sämtliche Beschriftungsoptionen finden Sie unter http://www.mapserver.org/de/mapfile/label.html
20. März 2012
„Aufwind durch Wissen“
17 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Darstellung von Polygonen● Flächen werden fast genau so wie Linien dargestellt
– In der Layerdefinition ist der TYPE POLYGON (anstatt LINE)
– In der Style-Sektion bezeichnet COLOR die Füllfarbe
– Für die Farbe der Flächenbegrenzung gibt es das Schlüsselwort OUTLINECOLOR
Die Flächen finden Sie vorbereitet inosm_03.map
Laden Sie die Datei in den Editor unddie Karte ins GIS .
20. März 2012
„Aufwind durch Wissen“
18 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Klassifizierung
● Noch ist alles grün, erstellen wir nun eine gesonderte Klasse für die Gewässer
– Für die Klassifizierung benötigen wir ein Attribut nach dem klassifiziert werden soll → CLASSITEM 'type' (wobei type der Spaltenname der Attributetabelle ist)
– Innerhalb von CLASS wird mit dem Schlüsselwort EXPRESSION auf den Attributwert zugegriffen: EXPRESSION "forest" (Zeile 47)
– Die STYLE-Angaben innerhalb dieser Klasse gelten nun nur für Geometrien deren Attributwert in der mit dem CLASSITEM definierten Spalte der EXPRESSION entspricht, also
– für alle Objekte deren 'type' gleich 'forest' ist
– Um eine weitere Klasse hinzuzufügen, fügen sie dem LAYER einfach eine weitere Klasse hinzu
– Öffnen Sie osm_04.map im Editor
20. März 2012
„Aufwind durch Wissen“
19 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
KlassifizierungLAYER NAME 'natural' ... CLASSITEM 'type' CLASS NAME "type = forest" EXPRESSION "forest" ... END CLASS NAME "type = water" EXPRESSION "water" STYLE WIDTH 0.91 OUTLINECOLOR 85 0 255 COLOR 142 213 213 END LABEL ... END END
20. März 2012
„Aufwind durch Wissen“
20 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
20. März 2012
„Aufwind durch Wissen“
21 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Darstellung von Punkten
● Punkte werden fast genau so wie Linien und Polygone dargestellt
– In der Layerdefinition ist der TYPE POINT
– Wie ein Punkt dargestellt wird, wird über das SYMBOL definiert
– Als Symbol können MapServer-Symbole, TrueTypeFonts oder Rasterbilder genutzt werden
– http://mapserver.org/mapfile/symbol.html
– http://mapserver.org/mapfile/style.html
20. März 2012
„Aufwind durch Wissen“
22 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Darstellung von Punkten
SYMBOL TYPE VECTOR NAME ‘triangle‘
POINTS 0.5 0 1 1 0 1 0.5 0 END FILLED TRUEEND
0 1 2
1
2 CLASS NAME "pyramiden“ EXPRESSION “gizeh“ STYLE SYMBOL “triangle“ SIZE 8 MINSIZE 6 MAXSIZE 12 COLOR 255 0 0 OUTLINECOLOR 0 0 0 END END
20. März 2012
„Aufwind durch Wissen“
23 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Einbinden von Rasterdaten
LAYERNAME "DGK5"
TYPE RASTER DATA "raster/280926GS.tif" STATUS ON ...END
● Das Einbinden von georeferenzierten Rasterdaten ist einfach
– In der Layerdefinition ist der TYPE RASTER
– Logischerweise entfällt der Style- und Annotation-Block
– Die transparente Farbe kann definiert werden, es können sogar Frabwerte umdefiniert werden
– Es können auch Bild-Kataloge eingebunden werden
– Ein Bildkatalog kann mit gdaltindex erstellt werden: http://www.remotesensing.org/gdal/gdal_utilities.html
LAYER NAME “DGK5“ TILEINDEX "raster\index_dgk5.shp" TILEITEM "location" TYPE RASTER ...END
20. März 2012
„Aufwind durch Wissen“
24 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Es geht noch viel mehr
● MapServer als WFS
● Abfrage von Sachdaten (GetFeatureInfo) und deren Präsentation in individuellen html-Dateien
● Bereitstellung von Legenden (GetLegendGraphic)
● Datenbanken oder andere OWS als Datenquellen
● Bereitstellung verschiedener STYLES für denselben Layer
● Maßstabsabhängige Darstellungen
● Kreis- und Säulendiagramme in Karten
● Nutzung von Attributwerten für verschiedene Angaben im Mapfile (Farben, Winkel, Linienstärken, Schriftgrößen, …)
● ...
20. März 2012
„Aufwind durch Wissen“
25 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Zum Schluss noch ein paar Adressen
● Dokumentation: http://www.mapserver.org/
– Online
– Download als PDF
● Mailinglisten: http://www.mapserver.org/community/lists.html
– Users list (international, englisch):http://lists.osgeo.org/mailman/listinfo/mapserver-users
– Archiv:http://osgeo-org.1560.n6.nabble.com/
– Deutschsprachig:http://freegis.org/mailman/listinfo/mapserver-de
● Die Beispieldaten stammen von http://download.geofabrik.de
20. März 2012
„Aufwind durch Wissen“
26 / 23
MapServer WorkshopMapServer Workshop
Workshop Einführung in den UMN MapServer
Für Rückfragen stehen wir Ihnen gerne zur Verfügung:
Toni Pignataro
WhereGroup, Bonn
Jörg Thomsen
MapMedia, Berlin
Copyright: WhereGroup GmbH & Co. KG.