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 > |