php mapscript framework solusi praktis untuk sistem informasi geografis
TRANSCRIPT
PHP Mapscript Framework Solusi
Praktis Untuk
Sistem Informasi Geografis
Yudhi Kurniawan1*
1Fakultas Sains Dan Teknologi, Universitas Ma Chung,
Malang *E-mail : [email protected]
ABSTRAK
Sistem Informasi mempunyai fungsi untuk mengolah data
menjadi informasi yang berguna bagi stakeholder yang
membutuhkan, informasi yang di sajikan tidak selalu dalam
bentuk data tabular melainkan bisa berbentuk data visual
seperti grafik, peta, multimedia atau juga yang lainnya.
Dalam paper ini akan di kaji lebih dalam tentang metode
dan penggunaan framework phpmapscript sebagai salah
satu metode yang digunakan untuk membangun Sistem
Informasi Geografis berbasis web dengan tujuan
merepresentasikan data – data spasial untuk menghasilkan
informasi yang berbasis geografis secara rieltime dan
akurat serta mudah di akses dimana saja. Key Words : Sistem Informasi, Grafik, Peta, Data Spasial,
Framework, PHPMapscript.
1. PENDAHULUAN
GIS adalah Sistem Informasi Geografis, yang
menggabungkan antara perangkat keras (hardware),
Perangkat Lunak (Software), dan data untuk kegiatan
input data, penyimpanan data, integrasi data yang
dapat di ubah dan dianalisa serta di bagikan serta
diatur dan ditampilkan secara geografis (Chang 2008).
Font: Times Size: 9pt
Style: Italic
Dengan tujuan utama adalah ntuk mempermudah
pengambilan keputusan dari identifikasi data yang direkam
dari sebuah lokasi tertentu sesuai dengan kebutuhan yang
sudah didefinisikan.
Dengan GIS user dapat melihat secara luas, memahami dan
menginterprestasikan data dalam berbagi hubungan dan
pola, dalam sebuah visualisasi data berupa peta, laporan
dan juga bisa dilengkapi dengan grafik sebagai bentuk lain
untuk memudahkan pemahaman dan pengambilan
keputusan
.
Gambar 1 : Komponen GIS
2. APLIKASI MAP SERVER
Mapserver merupakan aplikasi freeware dan
opensource yang meungkinkan kita menampilkan data
spasial (peta) dalam platform web (Ruslan 2005).
Aplikasi ini pertama kali dikembangkan oleh
Universitas Minesota, Amerika Serikat untuk proyek
For Net (sebuah proyek untuk sumber daya alam )
yang disponsori oleh NASA (National Aeronautics
and Space Administration). Support NASA dilanjutkan
dan dikembangkan proyek TerraSIP untuk manajemen
data lahan. Saat ini karena sifatnya yang terbuka (open
source), pengembangan mapserver dilakukan oleh
pengembang dari berbagai Negara
Pada bentuk paling dasar, MapServer berupa sebuah
program CGI (Common Gateway Interface). Program
tersebut di eksekusi pada sebuah webserver dengan
konfigurasi peta yang disimpan dalam sebuah file
*.MAP, kemudian kirim dan ditampilkan oleh
webbrowser baik dalam bentuk gambar peta atau
bentuk yang lain.
Gambar 2 : Ilustrasi Aplikasi MapServer Request And View
process
2.1 Fitur MapServer
Ada beberapa fitur utama yang ada dalam
mapserver untuk mendukung fungsi sebagai server
GIS berbasis web antara lain adalah :
Menampilkan data spasial dalam format vector
seperti : Shapefile (ESRI), ArcSDE (ESRI),
PostGis dan berbagai format data vector lain
dengan dukungan penggunaan library OGR.
Menampilkan data spasial dalam format raster
seperti TIFF/GeoTIFF, EPPL7 dan berbagai
format data raster lain dengan menggunakan
library GDAL.
Menggunakan Quadtree dalam indexing data
spasial, sehingga operasi-operasi spasial dapat
dilakukan dengan cepat.
Dapat dikembangkan, dengan tampilan
keluaran yang dapat diatur menggunakan file-
file template.
Dapat melakukan seleksi obyek berdasar nilai,
titik, area, atau berdasar sebuah obyek spesial
tertentu.
Mendukung rendering karakter berupa font
TrueType.
Mendukung penggunaan data raster maupun
vector dengan mode tiled (dibagi – bagi
menjadi sub bagian yang lebih kecil sehingga
proses untuk mengambil data dan
menampilkan dapat dipercepat).
Dapat menggambarkan elemen peta secara
otomatis, skala grafis, peta indeks dan legenda
peta.
Dapat menggambarkan peta tematik yang
dibangun menggunakan ekspresi lojik maupun
ekspresi regular.
Dapat menampilkan label dari objek spasial,
dengan label dapat diatur sedemikian rupa
sehingga tidak saling tumpang tindih.
Konfigurasi dapat diatur secara on the fly
melalui parameter yang ditentukan pada URL.
Dapat menangani beragam sistem proyeksi
dalam jaringan internet.
2.2 Arsitektur MapServer
Secara umum model arsitektur yang digunakan oleh
mapserver dapat di gambarkan sebagai berikut
Gambar 3 : Arsitektur Aplikasi Peta berbasis Web
Pola interaksi yang digunakan antara klien dan server
berdasarkan skenario request dan respon. Web
browser di sisi klien mengirim request ke server web.
Karena server web tidak memiliki kemampuan untuk
memproses data spasial, maka request berkaitan
dengan pemrosesan peta akan dikerjakan oleh
mapserver sesuai dengan register yang diberikan oleh
webserver terkait alokasi task dan resource.
Hasil dari pemrosesan yang sudah dilakukan akan di
replay melalui server web yang dibungkus dalam
sebuah file dalam bentuk HTML atau applet
Gambar 4 : Perbandingan thin and thick client
Mapserver menggunakan pendekatan thin client.
Semua pemrosesan dilakukan di sisi server. Informasi
peta dikirimkan ke web browser di sisi klien dalam
bentuk file gambar (JPG, PNG, GIF atau TIFF).
Kelebihan aplikasi dengan konsep thin client ini
adalah sudah beragamnya aplikasi pendukung dalam
bentuk framework jadi seperti Chameleon atau
cartoweb.
3. KOMPONEN TEKNIS
Komponen yang ada pada sebuah aplikasi GIS
mempunyai fungsi utama untuk membaca dan menulis
data spasial, baik yang tersimpan dalam sebuah
shapefile (*.shp) atau tersimpan ke dalam sebuah
database (Eddy 2006).
Dalam MapServer yang sudah berjalan ada beberapa
Komponen utama yang digunakan secara peneuh untuk
menjalankan Aplikasi GIS untuk menangani data
spasial baik yang tersimpan dalam sebuah flat file atau
juga dalam DBMS yaitu :
1. SHAPELIB
Shapelib merupakan library yang ditulis
menggunakan bahasa pemrograman C yang
digunakan untuk melakukan proses read terhadap
Shapefile (*.shp) yang sudah didefinisikan ESRI
(Environmental System Research Institute).
Format dalam shapefile umum digunakan untuk
menyimpan data vector simple (tanpa topologi)
dengan atribut, shapefile merupakan format data
default yang digunakan dalam GIS.
2. GDAL.OGR
GDAL (Geographic Data Abstraction Library),
merupakan library yang berfungsi sebagai
penerjemah untuk berbagi format data raster, dan
sangat dimungkinkan untuk semua abstraksi dari
semua data format yang didukung, sehingga
beragam format data yang ada akan menghasilkan
satu format baku yang dapat digunakan untuk
pengembang dalam menampilkan bentuk/format
peta yang sesuai semisal akses data untuk yang
direpresentasikan dalam . gif, .tif, .img, .adf, .hdr
dst
3. LIBPNG/LIBJPG
Setelah data dipastikan ditulis dalam
bentuk/format yang standard yaitu .jpg atau. Png
maka komponen salanjutnya yang tidak kalah
penting adalah LIBPNG/JPG yang berfungsi untuk
menampilkan peta dalam layar dengan format
.JPG atau .PNG sehingga attribute peta bisa tampil
sesuai dengan topologi peta yang sudah di
gunakan.
4. GD/PROJECTION
Library ini digunakan sebagai media untuk
identifikasi jenis peta yang ditampilkan, biasanya
peta akan ditampilkan per layer sesuai dengan
penamaan layer masing – masing. Fungsi ini
digunakan untuk menggambar obyek geografis
yang ada seperti garis, polygon, atau bentuk
geometris lainnya.
Selain itu fungsi ini digunakna sebagai fungsi
untuk memproyeksikan peta menentukan
bagaimana objek-objek di permukaan bumi (yang
sebenarnya tidak datar) dipindahkan atau
diproyeksikan pada permukaan peta yaitu di
sebuah bidang datar, ilustrasi sebagai berikut 1
Gambar 5 : Contoh Proyeksi Peta
4. PHP/MAPSCRIPT FRAMEWORK Php/Mapscript, atau sering disebut Mapscript saja,
adalah sebuah modul yang digunakan untuk membuat
fungsi-fungsi dan class-class MapServer agar dapat
dijalankan di PHP3/PHP4.
1 Gambar peta diambil dari situs
http://www.progonos.com/furuti/MapProj/Dither/ProjCyl/projCyl.html
Secara garis besar proses pengolahan yang ditangani
oleh mapscript adalah sebagai berikut
Gambar 6 : Proses MapScript pada Web Server
Proses diawali dengan request dari client ke server.
Web Server akan menjalankan fungsi fungsi yang ada
di library Mapscript.
Data spatial yang akan digunakan berupa data bertipe
shapefile, yang merupakan file spatial standar dari
ESRI. Dengan perantara MapFile, sebagai pengatur
setting dari data yang akan ditampilkan, MapScript
akan membaca data spatial dishapefile ini,
memprosesnya sesuai permintaan dari client, kemudian
menyimpannya kedalam bentuk file gambar (GIF,JPG,
atau PNG).
File gambar ini kemudian akan diload ke client dalam
bentuk object Image HTML. Karena bentuk peta yang
ditampilkan merupakan file gambar maka kerja client
tidak berat, terutama jika dibandingkan dengan cara
lain yang menggunakan activeX.
4.1 Map File
Mapscript memerlukan sebuah file text yang berisi
setting layer-layer peta yang akan ditampilkan.
File ini disebut Mapfile dengan extensi .map
Dalam file in berisikan beberapa konfigurasi stats
dan dinamis tergantung dari konsep mapserver
yang dibangun, beberapa parameter konfigurasi
adalah sebagai berikut :
# File: peta.map
MAP
NAME "WilayahPesisir"
STATUS ON
EXTENT 481906.6 9873957.1 570651.9
10010114.4
IMAGETYPE PNG
SIZE 800 600
SHAPEPATH "../shp"
IMAGECOLOR 255 255 255
UNITS dd
WEB
IMAGEPATH "/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
REFERENCE
COLOR -1 -1 -1
EXTENT 92.5 -19.5 142.5 14.0
IMAGE "id_index.jpg"
OUTLINECOLOR 255 0 0
SIZE 120 80
STATUS ON
END
LEGEND
IMAGECOLOR 255 255 255
KEYSIZE 18 12
KEYSPACING 5 5
LABEL
SIZE MEDIUM
TYPE BITMAP
BUFFER 0
COLOR 0 0 89
FORCE FALSE
MINDISTANCE -1
MINFEATURESIZE -1
OFFSET 0 0
PARTIALS TRUE
END
POSITION LL
STATUS ON
TEMPLATE "legend.html"
END
QUERYMAP
COLOR 0 0 255
SIZE -1 -1
STATUS OFF
STYLE HILITE
END
SCALEBAR
STYLE 1
UNITS kilometers
END
LAYER
NAME "Kecamatan"
DATA "6kec_wil_pesisir.shp"
STATUS DEFAULT
TYPE POLYGON
METADATA
"DESCRIPTION" "Kecamatan"
"RESULT_FIELDS" "FID;KECAMATAN"
"DESC_FIELDS" "Kecamatan"
END
TEMPLATE "prop_query.html"
TOLERANCE 0
TOLERANCEUNITS PIXELS
CLASS
Name "Batas Kecamatan"
COLOR 225 200 100
OUTLINECOLOR 0 0 0
END
END
END
Tabel 1 : Struktur Parameter File .Map
Struktur file .Map yang digunakan berisi
konfigurasi dari peta yang akan di tampilkan
isinya memuat beberapa bagian penting yang
menjadi kelas utama untuk diproses, bagian –
bagian ini disebut dengan parameter yang
nantinya akan di proses oleh map script obyek
untuk penanganan obyek yang akan disajikan
dalam sebuah website.
NAME
STATUS
EXTENT
IMAGETYPE
SIZE
SHAPEPATH
IMAGECOLOR
UNITS
WEB
REFERENCE
LEGEND
QUERYMAP
SCALEBAR
LAYER
CLASS
4.2 Map Script Obyek
Modul MapScript disusun menggunakan
pendekatan pemrograman berorientasi obyek
(Object Oriented Programming) atau biasa
disingkat OOP yang sering menggunakan kelas
(class) yang akan bekerja dengan berbagai kelas
yang ada disamping fungsi dan variable khusus
juga.
Mapscript digunakan sebagai script/code program
untuk menjalankan fungsi utama dari aplikasi GIS
sehingga peta dan attributenya bisa ditampilkan
pada website.
Berikut deskripsi singkat kelas kelas pada
mapscript :
a. ClassObj
fungsi yang digunakan untuk mengatur kelas-
kelas pada sebuah obyek(layer).
b. ColorObj
Fungsi yang digunakan untuk mengatur warna
dasar dari sebuah layer dengan konsep RGB.
c. ErrorObj
Fungsi yang digunakan untuk menajemen
kesalahan (Error). Map server akan secara
otomatis menginisiasi ErrorObj ketika terjadi
kesalahan
d. GridObj
fungsi yang digunakan untuk mengatur
tampilan dari bentuk standard menjadi bentu
grid
e. ImageObj
Fungsi yang digunakan untuk menggambarkan
peta pada sebuah file semisal JPG, GIF, PNG
f. LabelCacheObj
Fungsi yang digunakan untuk membersihkan
memori yang dialokasikan sebagai cache label
dari peta yang ditampilkan
g. LabelObj
Fungsi yang digunakan untuk pengaturan
tampak label dari masing – masing layer yang
aktif dalam viewer.
h. LayerObj
fungsi yang digunakan untuk mengatur
operasi-operasi yang berhubungan dengan
pembuatan layer, penggambaran, dan query
data dari layer yang aktif.
i. LegendObj
fungsi yang digunakan untuk menampilkan
legend (table yang berisi tentang layer – layer
yang digunakan didalam peta).
Gambar 6 : Contoh Penulisan LegendObj
Dalam Script
j. LineObj
Fungsi yang digunakan untuk manampilkan
layer peta yang bertipe garis.
k. MapObj
fungsi yang digunakan untuk menampilkan
karakterristik peta yang akan ditampilkan
(fungsi utama untuk menampilkan peta).
Gambar 7 : Contoh Penulisan Fungsi MapObj
Dalam Script
l. OutputFormatObj
Fungsi yang digunakan untuk menentukan
format peta yang ditampilkan dalam jendela
viewer.
m. PointObj
Fungsi yang digunakan untuk manampilkan
layer peta yang bertipe titik
n. ProjectionObj
Fungsi yang digunakan untuk mengatur
penggunaan sistem proyeksi pada peta.
o. RectObj
Fungsi yang digunakan untuk manampilkan
layer peta yang bertipe kotak.
p. ReferenceMapObj
Fungsi yang digunakan untuk mengatur
karakteristik peta yang ditapilkan di indeks.
q. ResultCacheMemberObj
Fungsi yang digunakan untuk mengatur objek-
objek dari hasil query data attribut peta.
r. ScalebarObj
Fungsi yang digunakan untuk mengatur
karakteristik skala grafis ketika peta
ditampilkan
Gambar 8 : Contoh Penulisan Fungsi
ScalebarObj Dalam Script
s. ShapefileObj
Kelas yang digunakan untuk bekerja dengan
data peta dalam format shapefile (*.shp)
t. ShapeObj
Kelas yang digunakan untuk bekerja dengan
data peta lebih detail terutama untuk
menangani tipe dari peta misal titik, garis,
polygon.
u. StyleObj
Kelas yang digunakan untuk bekerja dengan
data peta lebih detail terutama untuk
menangani penggunaan obyek style pada peta.
v. SymbolObj
Kelas yang digunakan untuk bekerja dengan
data peta lebih detail terutama untuk
menangani penggunaan obyek simbol pada
peta.
w. WebObj
fungsi yang digunakan untuk mengatur opsi –
opsi yang berhubungan dengan web misalnya
logging aktivitas
5. KESIMPULAN PHP Map Script Framework adalah salah satu dari
sekian banyak framework yang dapat digunakan untuk
mengembangkan aplikasi GIS, dukungan sifat dari
framework ini yaitu opensource menjadi nilai tambah
ketika developer sistem bekerja karena banyaknya
dokumentasi atau forum yang dapat digunakan sebagai
referensi.
Selain itu juga ada beberapa kelebihan dasar yang
menjadi framework ini sangat penting antara lain
1. Membuat gambar peta menjadi lebih dinamis.
2. Mendukung beberapa bahasa pemrograman web
yaitu PHP, Perl, Phyton, dan Java.
REFERENCES
Kang-Tsung Chang, 2008. Introduction to Geographic
Information Systems. Fourth edition. McGraw-Hill
International Edition.
Nuryadin, Ruslan. 2005. Panduan MapServer. Bandung:
Informatika..
Prahasta, Eddy. 2006. Membangun Aplikasi Web-based
GIS Dengan MapSever. Bandung: Informatika.
University Consortium for Geographic Information
Science, 2006. Geographic Information Science and
Technology Body of Knowledge. Available at:
http://www.aag.org/bok/ AAGKnowledge_Flyer.pdf
(Akses February 2010).