You are on page 1of 29

Web-GIS dengan MapServer

Web-GIS dengan MapServer (1)

A. Struktur File MAP


MapServer memerlukan (minimal sebuah) mapfile (berakhiran .MAP) yang
mendeskripsikan apa dan di mana sumber datanya, dan bagaimana cara (data)
tersebut harus ditampilkan. Selain itu di dalam file .MAP ini juga terkandung
mekanisme konfigurasi dasar untuk MapServer.

Ketentuan Penulisan untuk MapFile


1. Baris-baris teks atau angka yang berada di dalam file teks MapFile tidak bersifat
case-sentive.
2. Penulisan string yang berisi (campuran) beberapa karakter non-alphanumerik (di
luar karakter huruf dan angka) atau keywords milik MapServer harus diapit oleh
tanda petik. Sementara itu, disarankan agar semua string diapit oleh tanda petik
ganda ().
3. Setiap mapfile dapat digunakan untuk mendefinisikan maksimal 50 layer peta.
4. Penulisan string untuk path dilakukan secara absolut atau relatif terhadap lokasi
(sub-direktori) dimana mapfile yang bersangkutan berada. Sebagai tambahan,
file-file data dapat diletakkan relatif terhadap sub-direktori yang disebutkan
sebagai parameter SHAREPATH.
5. Susunan atau isi mapfile memiliki hirarki struktur dengan objek MAP
berkedudukan sebagai root. Sementara objek-objek yang lain berada di bawah
objek ini.
6. Pengguna dapat menyisipkan baris-baris komentar, di dalam mapfile dengan
cara mengawali komentar yang bersangkutan dengan tanda #.
7. Penulisan nama atribut (field) diapit oleh tanda kurung siku ([]). Sementara
nama atribut itu sendiri bersifat case-sensitive.

Objek-objek di dalam MapFile


1. Map
Mendefinisikan objek master (objek yang menyimpan semua objek lain yang berada
di dalamnya) milik mapfile yang bersangkutan. Selain itu, objek root ini juga
mendefinisikan objek dan pameter-parameter peta/aplikasi seperti halnya: config,

2012 Beni K.

[1]

Web-GIS dengan MapServer

datapattern, debug, status, units, size, extent, fontset, imagecolor, layer, legend, dan
lain sebagainya.
#
#Baris baris komentar untuk MAPFILE
#
MAP
...
...
END # Akhir MAP
2. Layer
Sering digunakan ini mendefinisikan layer-layer yang kemudian membentuk
tampilan peta dijitalnya. Layer-layer digambarkan sesuai dengan urutan
kemunculannya (penulisan) di dalam mapfile terkait. Dengan demikian, layer
pertama akan diletakkan di dasar sehingga tampilannya bisa tertutupi oleh
tampilan layer berikutnya. Sementara itu, layer yang terakhir (ditulis paling
bawah) akan muncul paling atas dengan menutupi layer-layer yang berada di
bawahnya.
#
#Baris baris komentar untuk MAPFILE
#
MAP
...
LAYER
...
END # Akhir definisi objek layer
...
END # Akhir MAP

3. Class
Mendefinisikan kelas-kelas tematik untuk suatu layer yang ditentukan. Oleh karena
itu, setiap layer, paling tidak, memiliki satu kelas. Ketika suatu layer memiliki lebih
dari satu kelas, maka keanggotaan kelas-kelasnya ditentukan oleh nilai-nilai terkait
(data values) beserta ekspresi yang digunakan untuk mengevaluasinya.

#
#Baris baris komentar untuk MAPFILE

2012 Beni K.

[2]

Web-GIS dengan MapServer

#
MAP
...
LAYER
...
CLASS
...
END

# Akhir definisi objek class

...
END # Akhir definisi objek layer
...
END # Akhir MAP

4. Label
Mendefinisikan label yang kemudian sering dipakai sebagai anotasi (atau teks)
unsur-unsur spasial. Label juga bisa digunakan sebagai symbol melalui
pemanfaatan berbagai font truetype.
#
#Baris baris komentar untuk MAPFILE
#
MAP
...
LAYER
...
CLASS
...
LABEL
...
END # Akhir definisi objek label
...
END # Akhir definisi objek class
...
END # Akhir definisi objek layer
...
END # Akhir MAP
5. Style
Menyimpan parameter-parameter simbol yang dipakai. Dengan adanya ojek ini,
setiap kelas dapat memiliki simbol dengan tipe, ukuran dan warna tersendiri.

2012 Beni K.

[3]

Web-GIS dengan MapServer

#
#Baris baris komentar untuk MAPFILE
#
MAP
...
LAYER
...
CLASS
...
STYLE
...
END # Akhir definisi objek style
...
LABEL
...
END # Akhir definisi objek label
...
END # Akhir definisi objek class
...
END # Akhir definisi objek layer
...
END # Akhir MAP

Membuat MapFile Pertama (Satu Layer)


1. Buat folder baru dengan nama latihan di direktori apps yang ada di dalam folder
ms4w (dalam contoh ini folder ms4w ada di driver D:, sehingga terdapat nanti
akan didapatkan path d:\ms4w\apps\latihan).
2. Kopikan data peta dan file pendukungnya ke dalam folder latihan tersebut,
sehingga didapatkan struktur file sbb:
D:\ms4w\apps\latihan\data
D:\ms4w\apps\latihan\list.txt
D:\ms4w\apps\latihan\map
D:\ms4w\apps\latihan\peta
D:\ms4w\apps\latihan\data\download
D:\ms4w\apps\latihan\data\dunia
D:\ms4w\apps\latihan\data\indonesia
D:\ms4w\apps\latihan\data\sumber_peta.txt
D:\ms4w\apps\latihan\data\download\fao_soil
D:\ms4w\apps\latihan\data\download\world
D:\ms4w\apps\latihan\data\download\fao_soil\seasestl.zip
D:\ms4w\apps\latihan\data\download\fao_soil\seaswel.zip
D:\ms4w\apps\latihan\data\download\world\world_countries_shp.zip
D:\ms4w\apps\latihan\data\download\world\world_countries_tab.zip
D:\ms4w\apps\latihan\data\dunia\shp

2012 Beni K.

[4]

Web-GIS dengan MapServer


D:\ms4w\apps\latihan\data\dunia\shp\countries
D:\ms4w\apps\latihan\data\dunia\shp\grid
D:\ms4w\apps\latihan\data\dunia\shp\point
D:\ms4w\apps\latihan\data\dunia\shp\world.dbf
D:\ms4w\apps\latihan\data\dunia\shp\world.sbn
D:\ms4w\apps\latihan\data\dunia\shp\world.sbx
D:\ms4w\apps\latihan\data\dunia\shp\world.shp
D:\ms4w\apps\latihan\data\dunia\shp\world.shx
D:\ms4w\apps\latihan\data\dunia\shp\world_wo_ind.dbf
D:\ms4w\apps\latihan\data\dunia\shp\world_wo_ind.shp
D:\ms4w\apps\latihan\data\dunia\shp\world_wo_ind.shx
D:\ms4w\apps\latihan\data\dunia\shp\countries\WorldCountries.dbf
D:\ms4w\apps\latihan\data\dunia\shp\countries\WorldCountries.prj
D:\ms4w\apps\latihan\data\dunia\shp\countries\WorldCountries.shp
D:\ms4w\apps\latihan\data\dunia\shp\countries\WorldCountries.shx
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid1.dbf
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid1.shp
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid1.shx
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid15.dbf
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid15.shp
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid15.shx
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid5.dbf
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid5.shp
D:\ms4w\apps\latihan\data\dunia\shp\grid\Grid5.shx
D:\ms4w\apps\latihan\data\dunia\shp\grid\readme.txt
D:\ms4w\apps\latihan\data\dunia\shp\grid\start.apr
D:\ms4w\apps\latihan\data\dunia\shp\grid\utmzones.dbf
D:\ms4w\apps\latihan\data\dunia\shp\grid\utmzones.shp
D:\ms4w\apps\latihan\data\dunia\shp\grid\utmzones.shx
D:\ms4w\apps\latihan\data\dunia\shp\grid\WLanden.dbf
D:\ms4w\apps\latihan\data\dunia\shp\grid\WLanden.shp
D:\ms4w\apps\latihan\data\dunia\shp\grid\WLanden.shx
D:\ms4w\apps\latihan\data\dunia\shp\point\readme.txt
D:\ms4w\apps\latihan\data\dunia\shp\point\start.apr
D:\ms4w\apps\latihan\data\dunia\shp\point\WLanden.dbf
D:\ms4w\apps\latihan\data\dunia\shp\point\WLanden.shp
D:\ms4w\apps\latihan\data\dunia\shp\point\WLanden.shx
D:\ms4w\apps\latihan\data\dunia\shp\point\Wpunten.dbf
D:\ms4w\apps\latihan\data\dunia\shp\point\Wpunten.shp
D:\ms4w\apps\latihan\data\dunia\shp\point\Wpunten.shx
D:\ms4w\apps\latihan\data\indonesia\raster
D:\ms4w\apps\latihan\data\indonesia\shp
D:\ms4w\apps\latihan\data\indonesia\tab
D:\ms4w\apps\latihan\data\indonesia\raster\geotiff
D:\ms4w\apps\latihan\data\indonesia\raster\tiff
D:\ms4w\apps\latihan\data\indonesia\raster\geotiff\ind_back_geo.tfw
D:\ms4w\apps\latihan\data\indonesia\raster\geotiff\ind_back_geo.tif
D:\ms4w\apps\latihan\data\indonesia\raster\geotiff\ind_back_geo.txt
D:\ms4w\apps\latihan\data\indonesia\raster\tiff\ind_back.tif
D:\ms4w\apps\latihan\data\indonesia\shp\ind_cities.dbf
D:\ms4w\apps\latihan\data\indonesia\shp\ind_cities.shp
D:\ms4w\apps\latihan\data\indonesia\shp\ind_cities.shx
D:\ms4w\apps\latihan\data\indonesia\shp\ind_provinces.dbf
D:\ms4w\apps\latihan\data\indonesia\shp\ind_provinces.shp
D:\ms4w\apps\latihan\data\indonesia\shp\ind_provinces.shx

2012 Beni K.

[5]

Web-GIS dengan MapServer


D:\ms4w\apps\latihan\data\indonesia\tab\ind_cities.dat
D:\ms4w\apps\latihan\data\indonesia\tab\ind_cities.id
D:\ms4w\apps\latihan\data\indonesia\tab\ind_cities.map
D:\ms4w\apps\latihan\data\indonesia\tab\ind_cities.tab
D:\ms4w\apps\latihan\data\indonesia\tab\ind_provinces.dat
D:\ms4w\apps\latihan\data\indonesia\tab\ind_provinces.id
D:\ms4w\apps\latihan\data\indonesia\tab\ind_provinces.ind
D:\ms4w\apps\latihan\data\indonesia\tab\ind_provinces.map
D:\ms4w\apps\latihan\data\indonesia\tab\ind_provinces.tab
D:\ms4w\apps\latihan\map\canada.map
D:\ms4w\apps\latihan\map\cities_query.html
D:\ms4w\apps\latihan\map\example2-1.html
D:\ms4w\apps\latihan\map\id_index.jpg
D:\ms4w\apps\latihan\map\Indonesia01.map
D:\ms4w\apps\latihan\map\Indonesia02.map
D:\ms4w\apps\latihan\map\keymap.png
D:\ms4w\apps\latihan\map\kota_query.html
D:\ms4w\apps\latihan\map\latihan01.html
D:\ms4w\apps\latihan\map\latihan01.map
D:\ms4w\apps\latihan\map\latihan01a.map
D:\ms4w\apps\latihan\map\latihan01b.map
D:\ms4w\apps\latihan\map\latihan01c.map
D:\ms4w\apps\latihan\map\latihan02.html
D:\ms4w\apps\latihan\map\latihan02.map
D:\ms4w\apps\latihan\map\latihan02a.map
D:\ms4w\apps\latihan\map\latihan02b.map
D:\ms4w\apps\latihan\map\latihan02c.map
D:\ms4w\apps\latihan\map\latihan02t.html
D:\ms4w\apps\latihan\map\latihan02z.html
D:\ms4w\apps\latihan\map\latihan03.html
D:\ms4w\apps\latihan\map\latihan03.map
D:\ms4w\apps\latihan\map\latihan03a.map
D:\ms4w\apps\latihan\map\latihan04.html
D:\ms4w\apps\latihan\map\latihan04.map
D:\ms4w\apps\latihan\map\latihan04a.map
D:\ms4w\apps\latihan\map\latihan05.html
D:\ms4w\apps\latihan\map\latihan05.map
D:\ms4w\apps\latihan\map\latihan06.map
D:\ms4w\apps\latihan\map\legend.html
D:\ms4w\apps\latihan\map\legend_orig.html
D:\ms4w\apps\latihan\map\legend_simple.html
D:\ms4w\apps\latihan\map\maplab01.map
D:\ms4w\apps\latihan\map\prop_query.html
D:\ms4w\apps\latihan\map\province_query.html
D:\ms4w\apps\latihan\map\query_kota.html
D:\ms4w\apps\latihan\map\query_prop.html
D:\ms4w\apps\latihan\peta\download
D:\ms4w\apps\latihan\peta\dunia
D:\ms4w\apps\latihan\peta\indonesia
D:\ms4w\apps\latihan\peta\sumber_peta.txt
D:\ms4w\apps\latihan\peta\download\fao_soil
D:\ms4w\apps\latihan\peta\download\world
D:\ms4w\apps\latihan\peta\download\fao_soil\seasestl.zip
D:\ms4w\apps\latihan\peta\download\fao_soil\seaswel.zip
D:\ms4w\apps\latihan\peta\download\world\MweGrid.zip

2012 Beni K.

[6]

Web-GIS dengan MapServer


D:\ms4w\apps\latihan\peta\download\world\MweHoogte.zip
D:\ms4w\apps\latihan\peta\download\world\MwePoints.zip
D:\ms4w\apps\latihan\peta\download\world\MwePop.zip
D:\ms4w\apps\latihan\peta\download\world\MweTimezone.zip
D:\ms4w\apps\latihan\peta\download\world\MwoCountries.zip
D:\ms4w\apps\latihan\peta\download\world\SweGrid.zip
D:\ms4w\apps\latihan\peta\download\world\SweHoogte.zip
D:\ms4w\apps\latihan\peta\download\world\SwePoints.zip
D:\ms4w\apps\latihan\peta\download\world\SwePop.zip
D:\ms4w\apps\latihan\peta\download\world\SweTimezone.zip
D:\ms4w\apps\latihan\peta\download\world\SwoCountries.zip
D:\ms4w\apps\latihan\peta\download\world\world_countries_shp.zip
D:\ms4w\apps\latihan\peta\download\world\world_countries_tab.zip
D:\ms4w\apps\latihan\peta\dunia\shp
D:\ms4w\apps\latihan\peta\dunia\shp\countries
D:\ms4w\apps\latihan\peta\dunia\shp\grid
D:\ms4w\apps\latihan\peta\dunia\shp\world.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\world.sbn
D:\ms4w\apps\latihan\peta\dunia\shp\world.sbx
D:\ms4w\apps\latihan\peta\dunia\shp\world.shp
D:\ms4w\apps\latihan\peta\dunia\shp\world.shx
D:\ms4w\apps\latihan\peta\dunia\shp\world_wo_ind.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\world_wo_ind.shp
D:\ms4w\apps\latihan\peta\dunia\shp\world_wo_ind.shx
D:\ms4w\apps\latihan\peta\dunia\shp\countries\WorldCountries.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\countries\WorldCountries.prj
D:\ms4w\apps\latihan\peta\dunia\shp\countries\WorldCountries.shp
D:\ms4w\apps\latihan\peta\dunia\shp\countries\WorldCountries.shx
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid1.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid1.shp
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid1.shx
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid15.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid15.shp
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid15.shx
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid5.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid5.shp
D:\ms4w\apps\latihan\peta\dunia\shp\grid\Grid5.shx
D:\ms4w\apps\latihan\peta\dunia\shp\grid\readme.txt
D:\ms4w\apps\latihan\peta\dunia\shp\grid\start.apr
D:\ms4w\apps\latihan\peta\dunia\shp\grid\UTMZONES.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\grid\UTMZONES.shp
D:\ms4w\apps\latihan\peta\dunia\shp\grid\UTMZONES.shx
D:\ms4w\apps\latihan\peta\dunia\shp\grid\WLanden.dbf
D:\ms4w\apps\latihan\peta\dunia\shp\grid\WLanden.shp
D:\ms4w\apps\latihan\peta\dunia\shp\grid\WLanden.shx
D:\ms4w\apps\latihan\peta\indonesia\raster
D:\ms4w\apps\latihan\peta\indonesia\shp
D:\ms4w\apps\latihan\peta\indonesia\tab
D:\ms4w\apps\latihan\peta\indonesia\raster\geotiff
D:\ms4w\apps\latihan\peta\indonesia\raster\tiff
D:\ms4w\apps\latihan\peta\indonesia\raster\geotiff\ind_back_geo.tfw
D:\ms4w\apps\latihan\peta\indonesia\raster\geotiff\ind_back_geo.tif
D:\ms4w\apps\latihan\peta\indonesia\raster\geotiff\ind_back_geo.txt
D:\ms4w\apps\latihan\peta\indonesia\raster\tiff\ind_back.tif
D:\ms4w\apps\latihan\peta\indonesia\shp\ind_cities.dbf

2012 Beni K.

[7]

Web-GIS dengan MapServer


D:\ms4w\apps\latihan\peta\indonesia\shp\ind_cities.shp
D:\ms4w\apps\latihan\peta\indonesia\shp\ind_cities.shx
D:\ms4w\apps\latihan\peta\indonesia\shp\ind_provinces.dbf
D:\ms4w\apps\latihan\peta\indonesia\shp\ind_provinces.shp
D:\ms4w\apps\latihan\peta\indonesia\shp\ind_provinces.shx
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_cities.dat
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_cities.id
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_cities.map
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_cities.tab
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_provinces.dat
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_provinces.id
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_provinces.ind
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_provinces.map
D:\ms4w\apps\latihan\peta\indonesia\tab\ind_provinces.tab

3. Buat sebuah mapfile sederhana yang pertama dengan nama latihan01.map di


bawah direktori latihan/map. Mapfile ini akan digunakan untuk menampilkan
sebuah layer (dalam hal ini layer Proponsi) peta di layar web browser.
# File: latihan01.map
MAP
NAME "Indonesia"
STATUS ON
EXTENT 92.5 -19.5 142.5 14.0
IMAGETYPE PNG
SIZE 450 300
SHAPEPATH "../data/indonesia/shp"
IMAGECOLOR 255 255 255
WEB
IMAGEPATH "/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
LAYER
NAME "Propinsi"
DATA "ind_provinces.shp"
STATUS DEFAULT
TYPE POLYGON
CLASS
COLOR 225 200 100
OUTLINECOLOR 0 0 0
2012 Beni K.

[8]

Web-GIS dengan MapServer

END
END
END
4. Keterangan Mapfile.
MapFile di atas terdiri dari 3 object, keterangannya adalah sebagai berikut sesuai
dengan urutan baris-barisnya:
a. Object MapFile tersebut memiliki objek Map dengan nama Indonesia.
b. File (sementara) yang dihasilkan oleh program CGI MapServer akan bertipe
PNG. Pengguna dapat memilih format lain yang didukung: misalnya JPG,
GIF, dan lain sebagainya.
c. Jangkauan atau batas-batas koordinat peta dijital hasil program CGI
MapServer (image) adalah (92.5 -19.5); (142.5 14.0), atau [Xmin, Ymin];
[Xmax, Ymax]. Nilai-nilai ini diambil atau dipilih dari (sebagian) cakupan peta
dijital (layer atau shapefile) aslinya.
d. Semua layer dibuat ON (dimunculkan).
e. Ukuran (file) citra (peta dijital raster) hasil program CGI MapServer ini dibuat
berukuran 450 [piksel horizontal] x 300 [piksel vertical].
f. Data spasial yang digunakan oleh MapFile ini berlokasi relative pada direktori
"..\data\indonesia\shp. Jika menggunakan alamat absolute maka ditulis
menjadi d:/ms4w/apps/latihan/data/indonesia/shp.
g. Warna inisialisasi atau latar-belakang untuk tampilan petanya (juga tampil
di dalam browser-nya) dibuat berwama putih (255 255 255).
h. Nama satu-satunya layer yang akan ditampilkan adalah Propinsi.
i. Nama shapefile yang digunakan sebagai layer District adalah
ind_provinces.shp.
j. Layer Propinsi ini berisi unsur-unsur spasial yang bertipe poligon.
k. Di dalam layer Propinsi ini hanya terdapat sebuah kelas untuk menyajikan
peta dengan warna (225 200 100) untuk isian unsur & wama hitam (0 0 0)
untuk garis pembatas unsur-unsur poligonnya.

Memunculkan Peta di Web Browser


Ketik pada URL web browser sebagai berikut:
http://localhost:8000/cgibin/mapserv.exe?map=/ms4w/apps/latihan/map/latihan01.map&mode=map

2012 Beni K.

[9]

Web-GIS dengan MapServer

Keterangan:
1. Penulisan string URL dituliskan tanpa spasi;
2. String http://locahost:8000/cgi-bin/mapserv.exe? digunakan untuk memanggil
program aplikasi CGI (MapServer) yang terdapat di server local (di sini Apache
berjalan pada nomor port 8000);
3. mapserv.exe?map=/ms4w/apps/latihan/map/latihan01.map,
adalah
nama
lengkap mapfile (lengkap berikut nama path-nya) yang akan digunakan oleh
program CGI sebagai dasar untuk menampilkan peta dijitalnya;
4. Karakter & (atau ampersand) digunakan sebagai tanda pemisah antar
parameter yang diberikan kepada program aplikasi CGI, dalam hal ini
MapServer);
5. Secara default yang akan ditampilkan adalah layer Propinsi karena property
dari layer diset DEFAULT. Untuk menampilkan layer lainnya (jika ada), dapat
ditambahkan
string
&layer=nama_layer_lainnya&mode=map.
Jika
menggunakan keyword Layers (sebagai pengganti Layer), pengguna dapat
menyebutkan beberapa layer yang akan di-ON-kan secara bersamaan dalam satu
satu baris dengan diselingi spasi di antara nama-nama layer-nya. Pada
MapServer versi 4.4 ke atas, pengguna dapat meng-ON-kan semua layer-nya
secara otomatis dengan memakai paramater LAYERS=all. Sementara yang
ledua, mode=map, akan menentukan mode operasi MapServer:
a. Browse: pembuatan peta (dan halaman) interaktif penuh. Ini merupakan
mode default,

2012 Beni K.

[10]

Web-GIS dengan MapServer

b. Query: pencarian unsur spasial (unsur yang terdekat) akan dipicu oleh event
Click di atas tampilan peta;
c. NQuery: pencarian unsur spasial (semua unsur yang memenuhi ketentuan)
yang juga dipicu oleh event Click di atas peta atau oleh selection box yang
didefinisikan sendiri oleh pengguna;
d. Map: peta (image) yang dihasilkan langsung dikirimkan ke client (browser)
tanpa terlebih dahulu disimpan di (sub) direktori image (sementara) yang
berasa di server-nya (server tidak menyimpan image sementara). Dengan
demikian, penggunaan parameter mode=map" akan menyebabkan pengguna
dapat melihat tampilan peta yang bersangkutan tanpa menghasilkan
halaman HTML. Sementara itu, penggunaan parameter mode=browse"
memerlukan file template.

Menampilkan Layer lainnya


Sekarang akan ditambahkan satu layer lagi (ind_cities.shp) berisi lokasi kotakota besar di Indonesia. Untuk menampilkan lokasi kota, akan ditambahkan
simbol, pada contoh ini lingkaran. Untuk dapat menggunakan simbol, harus
ditentukan file yang berisi definisi symbol. Misalkan file symbol diletakaan di
folder etc dengan nama symbols.sym, maka dipanggil dengan perintah berikut:
SYMBOLSET ../etc/symbols.sym

Edit file latihan01.map dan simpan dengan nama latihan02.map. Kemudian


sisipkan definisi objek LAYER berikut di bawah definisi layer ind_provinces.shp:
LAYER
NAME "Kota"
DATA "ind_cities.shp"
STATUS DEFAULT
TYPE POINT
CLASS
NAME "kota1"
SYMBOL 7
SIZE 8
COLOR 255 0 0
END
END

2012 Beni K.

[11]

Web-GIS dengan MapServer

Dari definisi layer di atas, layer ind_cities.shp akan digambarkan menggunakan


simbol dengan nomor indeks 7 dari file symbols.sym yang terdapat pada folder
etc. Simbol tersebut adalah lingkaran, sesuai dengan definisi pada file
symbols.sym seperti di bawah ini:
Symbol
Name 'circle'
Type ELLIPSE
Filled TRUE
Points
1 1
END
END
Isi lengkap dari file latihan02.map:
# File: latihan02.map
MAP
NAME "Indonesia"
STATUS ON
EXTENT 92.5 -19.5 142.5 14.0
IMAGETYPE PNG
SIZE 450 300
SHAPEPATH "../data/indonesia/shp"
IMAGECOLOR 255 255 255
SYMBOLSET "../etc/symbols.sym"
WEB
IMAGEPATH "/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
LAYER
NAME "Propinsi"
DATA "ind_provinces.shp"
STATUS DEFAULT
TYPE POLYGON
CLASS
COLOR 225 200 100
OUTLINECOLOR 0 0 0

2012 Beni K.

[12]

Web-GIS dengan MapServer

END
END
LAYER
NAME "Kota"
DATA "ind_cities.shp"
STATUS DEFAULT
TYPE POINT
CLASS
NAME "kota1"
SYMBOL 7
SIZE 8
COLOR 255 0 0
END
END
END
Ketik di URL web browser sbb:
http://localhost:8000/cgibin/mapserv.exe?map=/ms4w/apps/latihan/map/latihan03.map&mode=map

2012 Beni K.

[13]

Web-GIS dengan MapServer

Menampilkan Label
Untuk menampilkan label, digunakan objek LABEL. Pada contoh ini, akan
ditampilkan label nama kota pada layer ind_cities.shp. Sisipkan definisi objek
LABEL berikut pada mapfile:
LABEL
FONT fritqat-italic
TYPE truetype
SIZE 7
POSITION AUTO
PARTIALS FALSE
OUTLINECOLOR 255 255 255
COLOR 0 0 255
END
Definisi objek LABEL di atas akan berada di dalam blok definisi objek CLASS
dari layer ind_cities.shp. Karena untuk menampilkan label diperlukan font, maka
harus disertakan sintaks berikut:
FONTSET ../etc/fonts.txt"
Sintaks di atas menyatakan bahwa definisi font yang dapat digunakan:
(diantaranya adalah font fritqat-italic" yang pada objek LABEL atas) terdapat
pada file fonts, txt yang berada pada direktori etc.
Simpan semua perubahan di atas ke file dalam latihan03.map, sehingga
menjadi seperti di bawah ini:
# File: latihan03.map
MAP
NAME "Indonesia"
STATUS ON
EXTENT 92.5 -19.5 142.5 14.0
IMAGETYPE PNG
SIZE 450 300
SHAPEPATH "../data/indonesia/shp"
IMAGECOLOR 255 255 255
SYMBOLSET "../etc/symbols.sym"
FONTSET "../etc/fonts.txt"
UNITS dd

2012 Beni K.

[14]

Web-GIS dengan MapServer

WEB
IMAGEPATH "/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
LOG "/ms_tmp/err.log"
END
LEGEND
POSITION lc
END
SCALEBAR
STYLE 1
UNITS kilometers
END
LAYER
NAME "Propinsi"
DATA "ind_provinces.shp"
STATUS DEFAULT
TYPE POLYGON
CLASS
Name "Batas Propinsi"
COLOR 225 200 100
OUTLINECOLOR 0 0 0
END
END
LAYER
NAME "Kota"
DATA "ind_cities.shp"
STATUS DEFAULT
TYPE POINT
LABELITEM "NAME"
CLASS
NAME "Kota Besar"
SYMBOL 7
SIZE 8
COLOR 255 0 0
LABEL
FONT fritqat-italic
2012 Beni K.

[15]

Web-GIS dengan MapServer

TYPE truetype
SIZE 7
POSITION AUTO
PARTIALS FALSE
OUTLINECOLOR 255 255 255
COLOR 0 0 255
END
END
END
END

Akses Data Menggunakan OGR


Library OGR digunakan pada MapServer untuk keperluan baca tulis berbagai
format data peta vektor dan beberapa data spasial dalam DBMS. Sekarang akan
mencoba memodifikasi file latihan01.map supaya dapat menampilkan file dalam
format Maplnfo, salah satu format data yangg didukung oleh OGR. Hal yang
harus berubah hanya pada bagian
DATA "ind_provinces.shp"
Diubah sehingga menjadi:
CONNECTIONTYPE OGR
CONNECTION "ind_provinces.tab"
Teks di atas memerintahkan MapServer untuk membuka file ind_provinces.tab
dengan memanfaatkan library OGR.
Jika diperlukan dapat disesuaikan path ke data dalam format Maplnfo. Untuk
keperluan ini, ubah di bagian SHAPEPATH berikut:
SHAPEPATH "../data/indonesia/shp"
nenjadi:
SHAPEPATH "../data/indonesia/tab"
Simpan semua perubahan tadi ke file latihan04.map. Isi lengkap file
latihan04.map adalah sebagai berikut:
# File: latihan04.map

2012 Beni K.

[16]

Web-GIS dengan MapServer

MAP
NAME "Indonesia"
STATUS ON
EXTENT 92.5 -19.5 142.5 14.0
IMAGETYPE PNG
SIZE 450 300
SHAPEPATH "../data/indonesia/tab"
IMAGECOLOR 255 255 255
WEB
IMAGEPATH "/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
LAYER
NAME "Propinsi"
CONNECTIONTYPE OGR
CONNECTION "ind_provinces.tab"
STATUS DEFAULT
TYPE POLYGON
CLASS
COLOR 225 200 100
OUTLINECOLOR 0 0 0
END
END
END

Menampilkan Peta Berformat Raster


MapServer memiliki kapabilitas untuk menampilkan peta dalam format raster,
baik sebagai fitur bawaan maupun dengan menggunakan library GDAL. File
raster dalam format GeoTIFF merupakan salah satu format yang dapat
digunakan pada MapServer. File dalam format GeoTIFF sebenarnya serupa
dengan file gambar biasa dalam format TIFF, dengan tambahan informasi
referensi geografis. Informasi ini disisipkanke ke dalam file TIFF tadi.

2012 Beni K.

[17]

Web-GIS dengan MapServer

Untuk menampilkan peta dari raster GEOTIFF


latihan05.map dengan isi seperti di bawah ini:

tersebut,

buat

file

# File: latihan05.map
MAP
NAME "Indonesia"
STATUS ON
EXTENT 92.5 -19.5 142.5 14.0
IMAGETYPE PNG
SIZE 450 300
SHAPEPATH "../data"
IMAGECOLOR 255 255 255
WEB
IMAGEPATH "/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
LAYER
NAME background
TYPE RASTER
STATUS DEFAULT
DATA "./indonesia/raster/geotiff/ind_back_geo.tif"
END
LAYER
NAME "Propinsi"
DATA "./indonesia/shp/ind_provinces.shp"
STATUS DEFAULT
TYPE POLYGON
CLASS
COLOR -1 -1 -1
OUTLINECOLOR 0 0 0
END
END

END

2012 Beni K.

[18]

Web-GIS dengan MapServer

Hasil tampilan di web browser:

Pada gambar di atas, dapat dilihat layer raster ind_back_geo.tiff dapat


ditumpuk dengan layer vektor ind_provinces.shp secara pas (match) karena
keduanya memiliki referensi geografis yang sama.

B. Struktur File Template


File template pada MapServer dapat digunakan untuk reberapa keperluan,
seperti mengatur tampilan dan user interface, atau untuk mengatur kenampakan
legenda. File template biasanya digunakan terutama pada penggunaan
MapServer sebagai program CGI. Bab ini akan membahas dua jenis file template,
yakni file template MapServer dan file template untuk pengaturan legenda.
Secara umum, file template berupa file HTML (dengan ekstensi *.html) yang
dapat digunakan untuk mengatur tampilan peta dan menambahkan fungsifungsi lain yang dibutuhkan, misalnya navigasi peta. File template mengandung
kata kunci berupa karakter-karakter khusus, yang diapit oleh tanda kurung siku
([....]). Berbagai kata kunci tersebut akan diganti oleh program MapServer setiap
kali file template tersebut diproses. Dengan penggantian seperti ini
memungkinkan berbagai informasi dikirimkan ke MapServer atau sebaliknya.

2012 Beni K.

[19]

Web-GIS dengan MapServer

File Template MapServer


File template MapServer digunakan untuk mengatur kenampakan peta.
Penggunaan MapServer sebagai program CGI, ditambah dengaj sebuah file
template, akan memungkinkan membentuk user interface sehingga pengguna
dapat secara interaktif menggunakan aplikasi peta yang telah kita buat.
Kata kunci yang dapat digunakan pada file template dibagi menjadi kategorikategori berikut:
1.
2.
3.
4.
5.
6.

Umum
File acuan
Geometri gambar
Geometri peta
Layer
Zoom (perbesaran atau pengecilan peta)

Harap diperhatikan bahwa kata kunci pada file template bersifat case sensitive,
(antara huruf kecil dengan huruf besar/kapital memiliki arti yang berbeda).

a. Kategori Umum
1. [version]
Kata kunci ini akan diganti dengan versi MapServer.
2. [id]
Identifikasi unik sesi koneksi.
3. [host]
Nama host tempat server web dijalankan.
4. [port]
Port yang digunakan web server.
5. [nama variabel post atau get]
Variabel ini akan digantikan oleh nilai parameter yang dikirimkan ke
MapServer. Misalnya, jika ketika memanggil MapServer dengan tambahan
parameter param1 =2000, maka nilai paramter param1 dapat diakses dengan
menggunakan kata kunci [paraml].
6. [web_metadata_web]
Kata kunci ini digunakan untuk mengakses metadata objek web, misalnya
[web_projection]. Projection merupakan salah satau metadata untuk objek
web.

2012 Beni K.

[20]

Web-GIS dengan MapServer

b. Kategori File Acuan


1. [img]
Path relatif ke direktori root web (misalnya direktori /var/www/htdocs pada
Slackware, atau c:\Inetpub\wwwroot pada Windows, menunjukkan lokasi file
gambar peta yang dibuat MapServer.
2. [ref]
Path relatif ke direktori root web, yang menunjukkan lokasi gambar peta
indeks.
3. [legend]
Path relatif ke direktori root web, tempat gambar legenda peta akan dibentuk
oleh MapServer. Sejak versi 3.5.1, didefinisikan sebuat file template untuk
manangani tampilan legenda peta.
4. [scalebar]
Path relatif terhadap direktori root web, tempat gambar skala grafis disimpan.
5. [queryfile]
Path ke tempat file query disimpan, jika parameter CGI savequery diset.
6. [map]
Path ke tempat file *.map disimpan, jika parameter CGI savemap diset.

c. Kategori Geometri Gambar Peta


1. [center]
Koordinat titik tengah gambar peta, dalam piksel.
2. [center_x] dan [center_y]
Absis dan ordinat titik tengah peta, dalam piksel.
3. [mapsize]
Ukuran gambar peta (lebar dan tinggi), dalam satuan piksel Kedua nilai
dipisahkan dengan karakter spasi.
4. [mapwidth] dan [mapheight]
Masing-masing mewakili lebar dan tinggi gambar peta, dalam piksel.
5. [scale]
Skala peta saat ini (saat file template diproses).
6. [cellsize]
Ukuran satu piksel di gambar peta, dinyatakan dalam satuan peta (misalnya
1 piksel mewakili 10 meter).

d. Kategori Geometri Peta


1. [mapx] dan [mapy]
Absis dan ordinat tempat klik mouse di atas gambar peta.
2. [mapext]

2012 Beni K.

[21]

Web-GIS dengan MapServer

3.
4.
5.

6.

7.
8.

9.

Koordinat batas peta, dengan masing-masing nilai dipisahkan dengan


karakter spasi.
[minx], [miny], [maxx], [maxy]
Nilai koordinat batas peta yang barn.
[dx] dan [dy]
Perbedaan antara koordinat batas peta lama dengan yang baru.
[rawext]
Koordinat batas peta, sebelum disesuaikan dengan ukuran window tempat
menggambar. Masing-masing nilai dipisahkan dengan karakter spasi.
[rawminx], [rawminy], [rawmaxx], [rawmaxy]
Masing-masing nilai menyatakan absis dan ordinat dari koordinat batas peta.
Kata kunci ini hanya berlaku untuk MapServer dengan dukungan proyeksi
(menggunakan libproj).
[maplon] dan [maplat]
Koordinat peta (bujur dan lintang), tempat klik mouse di atas gambar peta.
[mapext_latlon]
Koodinat batas terluar peta, jika digunakan sistem proyeksi tertentu, dan
MapServer menggunakan library libproj.
[minlon], [minlat], [maxlon], [maxlat]
Nilai koordinat bujur dan lintang yang menyatakan nilai koordinat batas
terluar peta. Kata-kunci ini hanya dapat digunakan pada MapServer yang
mendukung libproj.

e. Kategori Layer
1. [layers]
Daftar layer aktif, dipisahkan dengan karakter spasi.
2. [toggle_layers]
Daftar semua layer yang statusnya dapat diubah, misalnya semu; layer yang
terdefinisi pada file *.map dan statusnya bukan default
3. [nama_layer_check] atau [nama_layer_select]
Kata kunci ini akan diganti dengan string "checked" atau selected". Ganti
nama_layer dengan nama layer yang bersesuaian, sehingga misalnya menjadi
[jalan_check] atau [sungai_select].
4. [layer_metadata]
Kata kunci ini menyatakan metadata tertentu dari sebuah layer. Misalnya jika
layer jalan memiliki metadata arah, maka kata kunci menjadi [jalan_arah].
Antara nama layer dan metadata dipisahkai oleh karakter garis bawah
(underscore).

2012 Beni K.

[22]

Web-GIS dengan MapServer

f. Kategori Zoom
1. [zoom_nilaizoom_check] atau [zoom_nilaizoom_select]
Kata kunci yang digunakan untuk memeriksa nilai faktor skala perbesaran.
Nilai default faktor skala berkisar antara -25 sampai 25. Kata kunci ini akan
diganti dengan kata checked", selected atau bergantung nilai faktor skala
yang digunakan. Sebagai contoh, jika nilai faktor skala sekarang adalah 12,
maka kata kunci [zoom_12_select] akan diganti menjadi kata selected".
2. [zoomdir_-1|0| 1_check] atau [zoomdir_-1|0|1_select]
Kata kunci ini akan diganti dengan kata checked", "selected" atau bergantung
pada nilai arah zoom. Misalnya jika nilai arah zoom adalah 1, maka kata kunci
[zoomdir_l_check] akan diganti dengai kata checked".

File Template Query


File template query digunakan untuk mengatur tampilan keluaran intuk datadata hasil query. Kata kunci yang dapat digunakan pada file template query
adalah sebagai berikut:
1. [shpext]
Koordinat batas luar objek peta ditambah dengan buffer sebesar 5 persen.
Kata kunci ini hanya dapat digunakan ketika memroses hasil query.
2. [shpminx], [shpminx], [shpminx], [shpminx]
Absis/ordinat minimum dan maksimum dari sebuah objek peta. Kata kunci ini
hanya dapat digunakan ketika memroses hasil query.
3. [shpmid]
Koordinat titik tengah objek peta. Kata kunci ini hanya dapat digunakan
ketika memroses hasil query.
4. [shpmidx], [shpmidy]
Masing-masing menyatakan absis dan ordinat objek peta. Kata kunci ini
hanya dapat digunakan ketika memroses hasil query.
5. [shpidx]
Absis/ordinat minimum dan maksimum dari sebuah objek peta. Kata kunci ini
hanya dapat digunakan ketika memroses hasil query.
6. [shpclass]
Nilai indeks class objek peta. Kata kunci ini hanya dapat digunakan ketika
memroses hasil query.
7. [shpxy format]
Kata kunci ini digunakan untuk menampilkan daftar koordinat objek peta,
dengan format tertentu. Nilai default [shpxy] akan mengembalikan daftar
koordinat dalam bentuk xl, yl, x2, y2 dan seterusnya. Kata kunci ini hanya
dapat digunakan ketika memroses hasil query.

2012 Beni K.

[23]

Web-GIS dengan MapServer

Format dapat berupa:


a. cs =
Menyatakan separator koordinat, default adalah spasi.
b. xh =, xf =
Karakter yang akan ditampilkan sebelum dan sesudah absis (default xh
=, xf =)
c. yh =, yf =
Karakter yang akan ditampilkan sebelum dan sesuda ordinat (default
tanpa karakter)
d. ph =, pf =, ps =
Karakter yang akan ditampilkan sebelum dan sesuda separator antar
bagian objek peta (default tanpa karakter)
e. sh =, sf =
Karakter yang akan ditampilkan sebelum dan sesuda sebuah objek (defaut
tanpa karakter)
f. precision =
Jumlah desimal yang akan digunakan ketika menampilkan angka
koordinat (default 0, tanpa angka desimal)
g. proj =
Menampilkan definisi proyeksi peta (default tanpa keterangan proyeksi
peta)
Contoh penggunaan: [shpxy xh=( yf=)] akan menghasilkan daftar
koordinat berbentuk (xl yl),(x2 y2),(x3 y3) dan seterusnya.

8. [tileindex]
Nilai indeks dari file yang sekarang digunakan. Jika objek pet sekarang tidak
menggunakan tile, maka kata kunci ini aka diganti dengan -1. Kata kunci
ini hanya dapat digunaka ketika memproses hasil query.
9. [namaitemDBASE]
Nama field tabel atribut dari layer yang di-query.
10. [namajoin_namaitemDBASE]
Kata kunci ini digunakan untuk proses join satu ke satu. Nilai pertama adalah
nama join, sedangkan nilai kedua adalah nama field. Kata kunci ini hanya
dapat digunakan ketika memroses hasil query.
11. [join_namajoin]
Kata kunci ini digunakan untuk proses join satu ke banyak (one to many).
12. [metadata_kunci]
Nilai metadata dari layer yang di-query.

2012 Beni K.

[24]

Web-GIS dengan MapServer

13. Beberapa nilai substitusi lain di bawah ini dapat digunakan pada mode query
yang memungkinkan hasilnya lebih dari satu:
[nr]
Jumlah rekord hasil query.
[nl]
Jumlah layer yang di-guery dan mengembalikan keluaran.
[nlr]
Jumlah rekord hasil query dari layer aktif saat ini.
[rn]
Nomor rekord hasil query pada semua layer, dimulai dari 1.
[lrn]
Nomor rekord hasil query pada layer aktif saat ini
[cl]
Nama layer aktif saat ini.

File Template Legenda


File template untuk legenda peta juga berupa file HTML dengan tambahan tagtag khusus. Cara penulisan tag file template legenda tidak sama dengan cara
penulisan tag HTML. Tag HTML yang umum biasanya diapit karakter < dan
>, sedangkan tag legenda diapit oleh karakter kurung siku ([...]). Berbeda
dengan kata kunci pada file template MapServer, tag pada file template legenda
diawali dengan tag pembuka [...] dan diakhiri dengan tag penutup [/...].
File template legenda akan ditunjuk oleh parameter TEMPLATE pada objek
LEGEND. Contoh definisi objek LEGEND pada file *.map:
LEGEND
STATUS ON
KEYSIZE 18 12
# LABEL object
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 89
END
TEMPLATE "legenda.html"
END
Jika parameter TEMPLATE didefinisikan pada objek LEGEND, maka file
template akan dibaca dan diproses untuk menghasilkan file HTML berisi legenda
peta. Isi file HTML tersebut kemudian akan disisipkan pada file HTML utama

2012 Beni K.

[25]

Web-GIS dengan MapServer

(misalnya file template MapServer seperti dijelaskan pada bagian 9sebelumnya),


pada tempat di mana kata kunci [legend] berada.
Jika parameter TEMPLATE didefinisikan pada objek LEGEND, maka kata kunci
[legend] pada file template MapServer akan diganti dengan file HTML yang
berasal dari file template legenda. Contoh isi file template MapServer pada
kondisi ini, dapat dilihat di bawah ini:
<FONT SIZE=+1>
<B>Legenda</B>
</FONT>
<BR>
<HR>
[legend]
<HR>
Pada contoh tadi, baris tempat kata kunci [legend] berada, akan diganti dengan
hasil pemrosesan file template legenda.
Jika parameter TEMPLATE tidak didefinisikan pada objek LEGEND, maka kata
kunci [legend] pada file template MapServer akan diganti dengan path ke file
legenda dalam bentuk gambar. Berikut contoh isi file template MapServer pada
kondisi ini:
<FONT SIZE=+1>
<B>Legenda</B>
</FONT>
<BR>
<HR>
<IMG SRC="[legend]">
<HR>
Pada contoh di atas, baris tempat kata kunci [legend] akan diganti dengan path
ke file gambar hasil pemrosesan MapServer, sehingga (misalnya) menjadi
berbentuk:
<IMG SRC="/ms_tmp/11254020577060.gif">

Daftar tag pada file template legenda akan dijelaskan di bawah ini:
1. [leg_header_html]... [/leg_header_html]
Tag ini digunakan sebagai header legenda.
2. [leg_footer_html]...[/leg_footer_html]

2012 Beni K.

[26]

Web-GIS dengan MapServer

Tag ini digunakan sebagai footer legenda.


3. [leg_group_html parameter]... [/leg_group_html]
Tag ini digunakan untuk mengelompokkan layer jika layer perlu
dikelompokkan. Pengelompokan layer menjadi group-group tertentu
dimungkinkan dengan menggunakan parameter GROUP dari objek LAYER.
Parameter yang dapat digunakan pada tag ini (opsional):
opt_flag = bit mask
Parameter ini akan mengontrol tampilan group, dan berlaku untuk
seluruh layer pada group yang sama. Jika minimal ada satu layer yang
memenuhi syarat, maka group akan muncul pada legenda.
Bit mask dinyatakan dalam biner 4 bit (misalnya 1111, atau 1001, 1011
dan seterusnya). Jika keempat bit dinyatakan denga ABCD (dari kiri ke
kanan), maka:
A 0/1: tampil/sembunyikan group bertipe ANNOTATION
B 0/1: tampil/sembunyikan group bertipe QUERY
C 0/1: tampil/sembunyikan group dengan status OFF
D 0/1: tampil/sembunyikan group diluar skala
Contoh: jika opt_flag diberi nilai 12 (atau biner 1100), maka grup bertipe
ANNOTATION dan QUERY akan disembunyikan, sedangkan group
dengan status OFF atau di luar skala, akan ditampilkan.
Di dalam tag leg_group_html ini, kita dapat menggunaki beberapa kata
kunci berikut:
o [leg_layer_name]
Kata kunci ini akan diganti dengan nama layer.
o [leg_icon width = <lebar> height = <tinggi>]
Kata kunci ini dapat kita gunakan untuk menentukan lebar dan
tinggi gambar yang mewakili kelas pertama layer yang
bersangkutan. Nilai lebar dan tinggi bersifat opsional.
o [metadata name = <nama>]
Kata kunci ini akan digantikan oleh nilai metadata nama.

4. [leg_class_html parameter]... [/leg_header_html]


Tag ini digunakan untuk menampilkan kelas-kelas layer. Jika tidak
didefinisikan, maka hanya akan muncul nama layer, tanpa gambar yang
mewakili kelas. Parameter tag ini sama dengan parameter leg_group_html,
yakni opt_flag.

2012 Beni K.

[27]

Web-GIS dengan MapServer

Di dalam tag leg_class_html ini, kita dapat menggunakan beberapa kata kunci
berikut:
[leg_class_name]
Kata kunci ini akan diganti dengan nama kelas.
[leg_class_title]
Kata kunci ini akan diganti dengan judul kelas.
[leg_icon width = <lebar> height = <tinggi>]
Kata kunci ini dapat kita gunakan untuk menentukan lebar dan tinggi
gambar yang mewakili kelas pertama layer yang bersangkutan. Nilai lebar
dan tinggi bersifat opsional.
[metadata name = <nama >]
Kata kunci ini akan digantikan oleh nilai metadata nama.

5. [if name = field oper=eq|neq|isset|isnull value=nilai] ... [/if]


Tag ini dapat digunakan pada semua tag leg_*_html untuk keperluan seleksi
kondisi. Field dapat diganti dengan kata kunci, oper dapat berisi salah satu
dari eq (sama dengan), neq (tidak sama dengan), isset (punya nilai), atau isnull
(tidak punya nilai). Nilai akan diisi oleh sesuatu yang diperbandingkan
dengan kata kunci.
Daftar kata kunci pengganti field bergantung pada konteks tempat tag if
digunakan. Berikut tabel yang daftar kata kunci untuk masing-masing
konteks:

2012 Beni K.

[28]

Web-GIS dengan MapServer

Contoh-contoh penggunaan:
[if name=layer_type oper=eq value=2]
.....
[/if]
Contoh sintaks di atas akan menyeleksi apakah layer bertpe POLYGON atau
bukan. Jika tipe layer adalah POLYGON, ma bagian bertanda akan
diproses.

2012 Beni K.

[29]