next up previous contents index
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. 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:

\includegraphics[width=0.8\textwidth]{web-mapping/demo-html.eps}

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 >


next up previous contents index
Nächste Seite: ,,Layer für Rasterdaten Aufwärts: Erstellung der MapServer - Vorherige Seite: demo_init.html   Inhalt   Index
Heiko Kehlenbrink 2002-04-18