intro
Sudah lama ga update blog… ga tau dapat inspirasi darimana… pokoknya pengen nulis tentang “pemrograman dasar WebGIS menggunakan Mapserver for Windows dengan framework ka-Map!”. Semua bahannya berasal dari modul yang saya buat, hasil kompilasi dari beberapa sumber serta pengalaman waktu membuat Sigtatrawil dan Peta SilogKPU. Secara garis besar, referensi yang saya gunakan adalah sebagai berikut:
- Blog, http://dennycharter.wordpress.com
- Ka-Map Wiki, Official Website, http://ka-map.ominiverdi.org, 2008
- Prahasta, Eddy, "Membangun Aplikasi Web-based GIS dengan MapServer", 2007, Informatika Bandung
- UMN MapServer, Official Website, http://mapserver.gis.umn.edu, 2008
- Wikimapia, http://wikimapia.org
Saya lupa bagian mana & ngambil dari mana-nya… pokoknya itulah sumbernya… ![]()
Sebelum memulai, tentunya harus ada pengenalan dulu ya… tak kenal maka tak sayang… begitu kata pepatah… walaupun bagian pengenalan ini sebenarnya bisa didapat dengan mudah via mbah google… tapi ya sudah lah… saya masukkan saja agar terstruktur…
Pengenalan
Sistem Informasi Geografis (SIG) hingga saat ini merupakan sistem yang sangat menarik. Sistem yang (cenderung) selalu dibuat untuk interaktif ini dapat mengintegrasikan data spasial (peta vektor dan citra digital) dan atribut (tabel sistem basisdata) penting lainnya. Konsekuensi integrasi ini, sistem informasi tersebut memiliki fungsionalitas-fungsionalitas yang teradopsi dari sistem-sistem perangkat lunak di mana data-data tersebut berasal.
WebGIS
Secara umum, cara kerja aplikasi SIG yang berjalan pada sistem komputer desktop dan standalone adalah relatif sederhana. Ketika aplikasi dijalankan dan memunculkan user-interface, setiap pengguna dapat berinteraksi secara langsung dengan program aplikasi tersebut. Interaksi yang intens ini dapat berlangsung selama pengguna melakukan proses-proses masukan data, konversi format/data, query, analisis, dan akhirnya pementukan layout (kartografis) peta dan atau pembuatan laporan.
Hampir semua langkah ini dilakukan secara interaktif, dan pengguna secara langsung berhubungan dengan perangkat SIG yang bersangkutan. Jika perlu koneksi dengan basisdata, pengguna tinggal meng-install salah satu perangkat lunak DBMS yang dapat didukung oleh sistem komputer yang bersangkutan. Semua resource yang dibutuhkan terdapat pada sistem komputer tersebut dan hanya bisa diakses oleh satu pengguna saja dalam satu waktu, sehingga untuk menjalankan fungsi-fungsinya, semua perangkat pendukungnya harus sudah terpasang pada sistem komputer yang bersangkutan. Inilah yang menjadi keterbatasan SIG standalone.
Contoh tampilan WebGIS
Lain halnya dengan aplikasi-aplikasi yang dibuat dengan berbasis web (internet maupun intranet), sistem informasi dapat diakses secara bersamaan oleh beberapa pengguna sekaligus. Selain itu, sistem juga tidak terikat dengan sistem operasi tertentu. “Berbasis web” berarti bahwa sistem diakses melalui browser. Sehingga, otomatis dapat diakses oleh sistem operasi apa saja (Windows, Linux, MacOS, dll). Hal ini tentu saja menjadi nilai tambah tersendiri.
MapServer
MapServer merupakan salah satu lingkungan pengembangan perangkat lunak open-source yang dapat digunakan untuk mengembangan aplikasi-aplikasi berbasis internet yang melibatkan data spasial (peta digital). Pada awalnya, MapServer dikembangkan oleh beberapa personel dari Universitas Minnesota (UMN), di Amerika Serikat, yang pada saat itu tengah bekerja-sama di proyek ForNet dengan NASA sebagai penyandang dana. Proyek ForNet ini menghasilkan beberapa tools utama (MapServer dan ImageView) yang dapat diaplikasikan ke berbagai tipe permasalahan yang terkait dengan data spasial pada saat itu.
Karena kedua produknya sangat bermanfaat, “proyek MapServer” ini dilanjutkan sebagai bagian dari proyek “TerraSIP” yang merupakan proyek kerja sama (yang juga disponsori NASA) antara UMN dengan konsorium land management interests. Hingga pada akhir tahun 2005, melalui surat online dan terbuka, diumumkan bahwa telah terbentuk MapServer foundation. Yayasan yang independen dan non-profit ini dibentuk oleh para anggota komunitas MapServer dengan tujuan untuk:
- Memenuhi kebutuhan dan mendukung komunitas web-mapping yang open-source
- Memperluas komunitas pengguna MapServer
- Menyediakan supportive framework untuk pengembangan perangkat lunak geospasial yang terbuka dan kolaboratif.
MapServer for Windows (MS4W) adalah suatu paket perangkat lunak yang sangat memudahkan para pengguna di dalam menginstalasi MapServer pada platform sistem operasi Microsoft Windows. Tujuan utama pembuatan paket ini adalah untuk memudahkan semua pengguna, secepatnya terhindar dari segala detil yang rumit di dalam mempersiapkan lingkungan kerja yang diperlukan oleh MapServer di lingkungan Microsoft Windows. Selain itu, paket ini juga merupakan suatu cara yang sangat baik untuk memaketkan dan kemudian mendistribusikan aplikasi-aplikasi MapServer kepada pihak manapun.
Paket dasar MS4W terdiri dari beberapa komponen sebagai berikut:
- Webserver Apache
- PHP
- MapServer CGI
- PHP/Mapscript
- Program utiliti (pustaka) GDAL & OGR
- Program utiliti MapServer (shp2img, legend, scalebar, sortshp, sym2img, shptree, dan tile4ms)
- Ekstensi OGR/PHP
- OWTChart
Untuk sistem operasi Linux, bisa menggunakan FGS Linux Installer yang sudah teruji pada platform berikut:
- Fedora Core 2
- Debian Sarge
- Debian Etch
- Gentoo
- Centos 4
- Centos 5
- Ubuntu
Untuk selanjutnya saya akan menggunakan MS4W dalam membangun sistem informasinya. Porting ke Linux-nya ga susah koq, cuma beda ketika instalasinya saja… ![]()
Instalasi MS4W
Baca terlebih dahulu instruksi berikut ini sebelum memulai instalasi.
- Download paket MS4W di website http://www.maptools.org/ms4w/index.phtml?page=downloads.html . Sampai saat ini sudah sampai versi 3.0, tapi pada tulisan ini masih menggunakan versi 2.2.7
- Untuk menginstalasi, ekstrak file ms4w_2.2.7.zip menggunakan salah satu program kompresi (contoh 7zip, WinZip, WinRAR) ke root drive (misal C:\, D:\). Jika sukses, Anda akan mempunyai satu direktori baru dengan nama “ms4w” di root drive yang anda pilih (misal C:\ms4w).
INGAT: harus diekstrak ke root drive, jangan ke dalam folder lain! - Edit file C:\ms4w\Apache\conf\httpd.conf menggunakan editor teks (misal: notepad++). Carilah baris yang memuat pernyataan “Listen 80” (baris 46). Kemudian ganti menjadi “Listen 1111”. Hal ini dilakukan agar apache milik ms4w berjalan pada port yang berbeda dengan apache pada umumnya (port 80), sehingga tidak akan menyebabkan konflik jika ada 2 apache yang berjalan pada satu mesin. Jika sekiranya hanya apache milik ms4w saja yang ada, langkah ini abaikan saja.
- Jalankan web server Apache milik MS4W melalui file C:\ms4w\apache-install.bat (di command line atau dengan men double-klik itu). File ini menginstal Apache sebagai Windows service (disebut "’web server’ Apache") sehingga Apache akan otomatis dijalankan setiap Windows Anda di restart. Ketika dieksekusi akan muncul dengan pesan berikut:
Artinya Apache itu sedang menjalankan dan di-install sebagai sebuah service.
- Untuk menguji apakah Apache sedang berjalan dengan baik, buka browser dan ketikan URL berikut:
- Untuk mempersiapkan latihan kita, marilah kita buat folder untuk menyimpan file-file yang akan kita buat nantinya. Langkah-langkahnya adalah sebagai berikut:
a. Buatlah direktori “latih” di C:\ms4w\apps\
Catatan untuk pengguna Windows 95,98,ME:
Anda tidak akan bisa menginstal Apache sebagai sebuah service, sehingga sebagai gantinya Anda harus menjalankan Apache secara manual dengan cara meng-klik di C:\ms4w\Apache\bin\httpd.exe. Satu jendela DOS kosong akan membuka, yang berarti Apache sedang berjalan. Untuk menghentikan Apache anda cukup menutup jendela DOS kosong tersebut.
Catatan khusus untuk Microsoft Windows Vista:
Untuk menjalankan file apache-install.bat, Anda harus melakukan hal berikut:
· Di Windows Explorer, pergi ke lokasi file cmd.exe (C:/Windows/system32)
· Klik kanan cmd.exe dan pilih “Run as Administrator”
· Arahkan ke direktori ms4w Anda dalam prompt window dan jalankan apache-install.bat
http://localhost:1111/
Jika tidak ada pesan kesalahan pada browser, itu artinya Anda sudah berhasil menginstalasi MS4W.
b. Buatlah direktori “htdocs”, “data” dan “map” di C:\ms4w\apps\latih\
c. Buatlah file teks baru yang isinya sebagai berikut:
Alias /latih "/ms4w/apps/latih/htdocs/"
<Directory "/ms4w/apps/latih/htdocs/">
AllowOverride None
Options Indexes FollowSymLinks Multiviews
Order allow,deny
Allow from all
</Directory>
d. Simpanlah dengan nama file httpd_latih.conf dan simpan di direktori C:\ms4w\httpd.d\
e. Restart apache dengan cara menjalankan file C:\ms4w\apache-restart.bat
Sampai langkah ini kita masih belum ngapa-ngapain… itu cuma persiapan saja… tunggu tulisan selanjutnya…
![]()
Baru sempat baca bro…
Kesan: MANTAP!!!
Intinya sih dapat, cuma ada perlu tambahan yang berulangkali orang2 menanyakan pentingnya perbedaan data tekstual dan spasial dan kenapa butuh mapserver.
1) Data spasial adalah data vektor yg di SMP (klo ga salah) dibilang memiliki besaran dan arah
) tergeoreferensi
2) Citra digital merupakan data raster yg memiliki metadata (udah kya Roy Suryo aja nih
Sedangkan web merupakan interpreter yg ga bisa nampilin data vektor (VML merupakan Vektor Markup Languange, hanya sbg markup saja, bukan data vektor sesungguhnya) tapi bisa menampilkan data raster (JPEG, PNG, GIF, dll). Di situlah fungsinya Mapserver, konversi data vektor ke raster (Rasterisasi). sedangkan sebaliknya proses Vektorisasi atau biasa disebut Digitalisasi.
Data spasial maenan koordinat x,y (contohnya) satuan degree sedangkan web maenan koordinatnya dalam satuan piksel.
Informasi ini yg seringkali dilupakan padahal penting menurutku utk mempermudah pemahaman teknologi webgis.
*ngok* komen kok panjang2 amat yak *ngok*
busset… panjang amat… O_o
btw thx… butuh komentar ky gitu nih dari suhu-nya… ^_^
Mas mo sy mau nanya..apa memungkinkan kalau untuk memasukan/input data dibuat program interface dengan vb.net dan menampilkannya dengan mapserver (tampil di web sehingga bisa diakses banyak orang)?makasi atas infonya..
bisa2 saja… itu tergantung trik kita aja…
mas,, mo nanya.. peta q kan pake arcview.. trus dtampilkan ms4w t gk berhasil….. po syntak q yg salah..
extent->minx;
$GLOBALS["gfMinY"] = (float)$GLOBALS["goMap"]->extent->miny;
$GLOBALS["gfMaxX"] = (float)$GLOBALS["goMap"]->extent->maxx;
$GLOBALS["gfMaxY"] = (float)$GLOBALS["goMap"]->extent->maxy;
$image = $GLOBALS["goMap"]->draw();
$image_url = $image->saveWebImage(ms_JPG,1,1,0);
?>
<form method="post" action="”>
<input type="image" name="mapa" src="”>
bisa kasih saran gk..??? makasih…