2012 Beni K.
[1]
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]
#
MAP
...
LAYER
...
CLASS
...
END
...
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]
#
#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
2012 Beni K.
[4]
2012 Beni K.
[5]
2012 Beni K.
[6]
2012 Beni K.
[7]
[8]
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.
2012 Beni K.
[9]
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]
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.
2012 Beni K.
[11]
2012 Beni K.
[12]
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]
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
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]
TYPE truetype
SIZE 7
POSITION AUTO
PARTIALS FALSE
OUTLINECOLOR 255 255 255
COLOR 0 0 255
END
END
END
END
2012 Beni K.
[16]
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
2012 Beni K.
[17]
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]
2012 Beni K.
[19]
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]
2012 Beni K.
[21]
3.
4.
5.
6.
7.
8.
9.
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]
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".
2012 Beni K.
[23]
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]
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.
2012 Beni K.
[25]
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]
2012 Beni K.
[27]
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.
2012 Beni K.
[28]
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]