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. 136). 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:
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 >
|