PHP Mapscript Framework Solusi
Praktis Untuk
Sistem Informasi Geografis
Yudhi Kurniawan
1*1Fakultas Sains Dan Teknologi, Universitas Ma Chung,
Malang
*E-mail : yudhi.kurniawan@machung.ac.id
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
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
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.1Fitur 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 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
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
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
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.
1Gambar peta diambil dari situs
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
# File: peta.map
MAP
NAME "WilayahPesisir" STATUS ON
EXTENT 481906.6 9873957.1 570651.9 10010114.4
IMAGETYPE PNG SIZE 800 600
MINDISTANCE -1
TEMPLATE "legend.html" END
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
CLASS
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.
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.
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
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
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
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