Membuat Mapscript
Mapscript merupakan salah satu extensi PHP yang digunakan untuk menggenerate gambar peta dari mapserver.Pertama kita buat mapscrip sendiri dengan nama demp.map dengan isi
#
# Map Demo
#
MAP
NAME ITASCA
STATUS ON
SIZE 600 600
EXTENT 388107.634400379 5203120.88405952 500896.339019834 5310243.30613897
UNITS METERS
SHAPEPATH "data"
IMAGECOLOR 255 255 255
IMAGETYPE PNG
WEB
TEMPLATE "map.html"
IMAGEPATH "/home/chroot/bandungq/home/bandun.gq/public_html/tmp/"
IMAGEURL "/tmp/"
END
LAYER
NAME DEMOLAYER
TYPE POLYGON
STATUS DEFAULT
DATA ctybdpy2
CLASS
STYLE
OUTLINECOLOR 128 128 128
COLOR 225 225 185
END
END
METADATA
WMS_TITLE "DEMO TAKEN FROM ITASCA"
WMS_ABSTRACT "DEMO TAKEN FROM ITASCA"
WMS_SRS "EPSG:26915"
END
END
END # Map File
Yang perlu diperhatikan pertama kali adalah di dalam blok WEB
[...]
WEB
TEMPLATE "map.html"
IMAGEPATH "/home/chroot/bandungq/home/bandun.gq/public_html/tmp/"
IMAGEURL "/tmp/"
END
[...]
TEMPLATE : merupakan file html berisi mapserver template yang akan dikeluarkan menjadi tampilan dari file mapscript yang kita jalankan apabila salah nama atau file tersebut tidak ada akan muncul error IMAGEPATH : merupakan folder tempat gambar statis hasil pembacaan mapscript,pastikan folder ini ada dan dapat hak akses untuk menulisnya (chmod 777 atau pastikan tidak read-only), jika tidak ada folder dan hak akses untuk menulis di folder tersebut maka akan muncul error seperti ini. yang artinya server tidak dapat menuliskan hasil output pembacaan mapscript ke folder tersebut dengan nama file tersebut.
Mapserver Template
Buat file map.html yang akan kita isi Mapserver template, apabila masih kosong akan berisi error
Kita akan mencoba mengisi map.html dengan
<!-- MapServer Template -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head>
<title>MapServer Template Sample</title>
</head>
<body>
MapServer Template Sample<br>
<!-- The central form the application is based on. -->
<form method="GET" action="[program]">
<!-- CGI MapServer applications are server stateless in principle,
all information must be "stored" in the client. This includes
some basic settings as below.
The example is based on the pan and zoom test suite:
http://maps.dnr.state.mn.us/mapserver_demos/tests36/ -->
<input type="hidden" name="map" value="[map]">
<input type="hidden" name="imgext" value="[mapext]">
<input type="hidden" name="imgxy" value="149.5 199.5">
<input type="hidden" name="program" value="[program]">
<input type="hidden" name="htmlroot" value="[htmlroot]">
<input type="hidden" name="map_web" value="[map_web]">
<!-- A table for minimal page formatting. -->
<table border=0 cellpadding=5>
<tr>
<!-- First column: Map and scale bar -->
<td align=center>
<!-- The map -->
<input type="image" name="img" src="[img]"
style="border:0;width:300;height:400">
<br>
<!-- The scale bar-->
<img src="[scalebar]" alt="Scale Bar">
</td>
<!-- Second column: Zoom direction, Legend and Reference -->
<td valign=top>
<!-- Zoom direction -->
<b>Map Controls</b><br>
Set your zoom option:<br>
<select name="zoom" size="1">
<option value="2" [zoom_2_select]> Zoom in 2 times
<option value="1" [zoom_1_select]> Recenter Map
<option value="-2" [zoom_-2_select]> Zoom out 2 times
</select>
<br>
<!-- Legend -->
<b>Legend</b><br>
<img src="[legend]" alt="Legend"><br><br><br><br>
<!-- Reference map -->
<input type="image" name="ref" src="[ref]"
style="border:0;width:150;height:150">
</td>
</tr>
</table>
</form>
</body>
</html>
Maka akan tampil map dari mapserver template yang akan kita jalankan.