Nächste Seite: ,,Layer für Rasterdaten Aufwärts: Erstellung der MapServer - Vorherige Seite: demo_init.html Inhalt Index

#### demo_header.html

Weiter wird eine Datei demo_header.html benötigt, die aber nur den Text der Kopfzeile und die Grundfarbe zu generierenden Webseite enthält. Entsprechend kurz ist der eigentliche Text der Datei.

    freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > cat \
    demo_header.html

    <html>
    <head><title>MapServer Demo Interface</title></head>
    <body bgcolor=#FFFFFF>

Die wichtigeren Dateien sind die demo.html in der das eigentliche Aussehen der Webseite beschrieben wird und die demo.map die die Verbindungen zu den darzustellenden Daten definiert. Zuerst die demo.html die ein Template also ein Muster oder eine Schablone der Webseite beinhaltet.

    freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > cat demo.html

    <html>
    <head><title>MapServer Demo Interface</title></head>
    <body bgcolor=#FFFFFF>

    <center><h1>MapServer Demo Interface</h1></center>
    <hr>
    <form method=GET action="/cgi-bin/mapserver/mapserv">

    <center>
    <table border=2 cellpadding=10 width=100%>
    <tr>
    <td align=center>
    <INPUT NAME="img" TYPE="image" SRC="[img]" width=600 height=600></A><p>
    <img src="[scalebar]">
    </td>
    <td>

    <input type="submit" value="Refresh/Query"><p>

    <input type="radio" name="mode" value="browse" checked>
    <b>Browse map</b><br>
    <input type="radio" name="mode" value="query"> <b>Query feature</b><br>
    <input type="radio" name="mode" value="nquery">
    <b>Query multiple features</b>

    <hr>
    <center><a href="/scripts/mapserv?map=[map]&mapext=
    [minx]+[miny]+[maxx]+[maxy]
    &mode=nquery&[get_layers]">summarize</a></center>
    <hr>

    <p>
    <b>Select Layers to Display: </b><br>
    <select multiple name="layer" size=3>
    <option value="crater" [crater_select]> Craterlake
    <option value="craterluft" [craterluft_select]> Craterluft
    <option value="contour" [contour_select]> Cratercontour
    <option value="road" [road_select]> Road
    <option value="boundaryline" [boundaryline_select]> Boundaryline
    <option value="boundarypolyline" [boundarypolyline_select]>
    Boundarypolyline
    </select>

    <p>
    Zoom In <input type=radio name=zoomdir value=1 [zoomdir_1_check]>
    Pan <input type=radio name=zoomdir value=0 [zoomdir_0_check]>
    Zoom Out <input type=radio name=zoomdir value=-1 [zoomdir_-1_check]>
    <p>
    Zoom Size <input type=text name=zoomsize size=4 value=[zoomsize]>
    <p>

    <font size=+1><b>Legend</b></font><br><hr>
    <img src="[legend]"><hr>

    <p>
    <INPUT NAME="ref" TYPE="image" SRC="[ref]" border="0"></A><p>

    </td>
    </tr>
    </table>
    </center>

    <input type="hidden" name="imgxy" value="299.5 299.5">
    <input type="hidden" name="imgext" value="[mapext]">
    <input type="hidden" name="map" value="[map]">

    </form>

    <p><hr><p>

    </body></html>

    freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo >

Jede einzelne Zeile erklären zu wollen, würde den Rahmen diese Kapitels sicherlich sprengen, deshalb wird nur auf die Zeilen eingegangen, deren Editierung für diese MapServer Anwendung wichtig erscheinen. Zu nennen wären hier:

    <option value="crater" [crater_select]> Craterlake

Mit dieser Zeile wird ein ``Layer aus der demo.map Datei angegeben dessen Darstellung in Mapserver angewählt werden kann. Das ,,crater ist hierbei der Name des ,,Layers während ,,Craterlake der in MapServer erscheinende Name im Auswahlmenü ist. Betrachtet man die Datei demo.html im Browser ohne Bearbeitung durch das cgi - Skript, sähe sie so aus (Abb. 13.6). Um diese leere Schablone nun mit Daten zu füllen, wird vom Webserver, oder besser vom cgi - Skript, das der Webserver ausführt, die Datei demo.map gelesen und die dort angegebenen Daten in die demo.html eingetragen. Die demo.html für dieses Beispiel sieht folgendermaßen aus:

Abbildung 13.6: Ausgabe der demo.html Datei im Webserver

    freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo > cat demo.map

    # Start of map file
    NAME DEMO
    STATUS ON
    SIZE 600 600
    IMAGETYPE PNG
    EXTENT 550840.000000 4733028.000000 592070.000000 4775095.000000
    UNITS METERS
    SHAPEPATH "/usr/local/httpd/htdocs/mapserver/ms_demo/data/"
    IMAGECOLOR 255 255 255

    #LABELOVERLAP FALSE

    # Start of web interface definition
    WEB
      HEADER demo_header.html
      TEMPLATE demo.html
      MINSCALE 100
      MAXSCALE 1550000
      IMAGEPATH "/usr/local/httpd/htdocs/mapserver/tmp/"
      IMAGEURL "/mapserver/tmp/"
      LOG "/tmp/mapserver.log"
    END

    # Start of reference map
    REFERENCE
      IMAGE graphics/karte.png
    EXTENT 550840.000000 4733028.000000 592070.000000 4775095.000000
      SIZE 169 172
      STATUS ON
      COLOR -1 -1 -1
      OUTLINECOLOR 255 0 0
    END

    # Start of legend
    LEGEND
      KEYSIZE 18 12
      LABEL
        TYPE BITMAP
        SIZE MEDIUM
        COLOR 0 0 89
      END
      STATUS ON
    END

    # Start of scalebar
    SCALEBAR
      IMAGECOLOR 255 255 255
      LABEL
        COLOR 0 0 0
        SIZE SMALL
      END
      SIZE 350 5
      COLOR 255 255 255
      BACKGROUNDCOLOR 0 0 0
      OUTLINECOLOR 0 0 0
      UNITS KILOMETERS
      INTERVALS 5
      STATUS ON
    END

    # Start of layer definitions

    LAYER
      NAME karte
      TYPE RASTER
      STATUS ON
      DATA karte.tif
      OFFSITE 0
    END#LAYER

    LAYER
      NAME road
      TYPE LINE
      STATUS ON
      DATA roadsl

      CLASS
        NAME "Road"
        COLOR 255 0 0
      END
    END # Layer

    END # Map File

    freegis@xml-2:/usr/local/httpd/htdocs/mapserver/ms_demo >

Nächste Seite: ,,Layer für Rasterdaten Aufwärts: Erstellung der MapServer - Vorherige Seite: demo_init.html Inhalt Index