09
Des
13

[WebGIS 8] – ka-Map!

 

ka-Map! merupakan proyek open source yang tujuannya adalah menyediakan API javascript untuk membangun antarmuka web-mapping yang sangat interaktif menggunakan fitur-fitur yang terdapat pada web browser modern. ka-Map! dibangun oleh DM Solutions Group Inc. Alamat web resminya adalah http://ka-map.maptools.org/ .

ka-Map! dibangun dengan menggunakan AJAX (Asynchronous Javascript And XML) dan berkomunikasi dengan server secara asinkron, yang artinya, ketika Anda melakukan query pada peta Anda tidak harus menunggu sampai respon diberikan, tetapi sambil menunggu respon Anda dapat melakukan perintah-perintah lainnya seperti zooming, panning, dll.

Sebenarnya proyek ka-Map! ini sudah dihentikan sejak 2007, tetapi tujuan dari tulisan ini adalah untuk memperlihatkan bagaimana mudahnya pemrograman WebGIS yang interaktif jika menggunakan framework. Selain dari itu, ka-Map! merupakan salah satu framework yang paling mudah digunakan dan di masa keemasannya merupakan framework yang lumayan canggih. Begitu sudah tahu, Anda tidak akan menemui banyak kesulitan untuk berpindah ke framework lainnya (walaupun tergantung orang dan framework-nya juga sih Smile with tongue out).

 

Fitur

  • Dapat diinstal di sistem operasi Linux, Unix dan Windows yang sudah terpasang Apache, Mapserver, PHP dan PHP Mapscript
  • Continuous panning yang interaktif, tanpa perlu me-load ulang seluruh halaman
  • Pilihan navigasi (zoom, pan)
  • Mendukung scalebar, legend dan keymap
  • Query data pada layer melalui klik di peta
  • Dapat mencari data di suatu layer dan bisa di zoom ke lokasi data tersebut
  • Cocok untuk:
    • Peta berbasis data statis
    • Skala yang sudah ditentukan
    • Peta yang berdimensi besar (full screen)
    • Peta yang dapat diubah-ubah ukurannya secara dinamis
  • Tidak cocok untuk:
    • Data yang berubah-ubah
    • Banyak layer yang terpisah

 

Browser yang didukung

Browser

Windows

Linux

Mac OS X

Internet Explorer

Ya (6, 7)

Mozilla/Firefox

Ya (1.0+)

Ya (1.0+)

Ya (1.0+)

Netscape

Ya (7+)

Ya (7+)

Ya (7+)

Epiphany

Ya

Opera

Ya (7+)

Ya (7+)

Ya (7+)

Konqueror

Tidak

Safari

?

Ya

Instalasi ka-Map!

Seperti yang sudah dijelaskan sebelumnya bahwa ka-Map! membutuhkan PHP Mapscript milik Mapserver. Oleh karena itu, pastikan dulu Mapserver sudah terinstalasi dengan baik pada komputer Anda. Adapun langkah-langkah instalasi ka-Map! adalah sebagai berikut (dengan asumsi MapServer sudah terpasang baik):

  1. Download paket “GMap Sample MS4W” berikut ini dari http://dl.maptools.org/dl/ms4w/gmap_ms4w_ms410.zip
  2. Ekstrak file tersebut ke lokasi dimana MapServer Anda berada.
  3. Download paket “ka-Map MS4W” dari http://www.maptools.org/dl/ms4w/ka-map-ms4w-1.0.zip 
  4. Ekstrak juga file tersebut ke drive dimana MapServer Anda berada.
  5. Restart Apache dengan menggunakan file \ms4w\apache-restart.bat
  6. Sekarang Anda sudah dapat membuka ka-Map! melalui alamat http://localhost:1111/kamap/. Jika tidak ada masalah, tampilan browser harusnya sudah seperti di bawah ini.
  7. Untuk mengkonfigurasi ka-Map!, Anda bisa mengubah isi file config.php yang terdapat di folder /ms4w/apps/ka-map-1.0/include/. Semua dokumentasi untuk daftar parameter yang dapat diubah sudah ada di dalam file tersebut dalam bentuk komentar.

 

Fitur Standar ka-Map!

image

Tampilan default ka-Map!

 

Secara default, framework ka-Map! sudah dilengkapi dengan fitur navigasi peta standar seperti: rubber zoom, pan, zoom in/out, query, dll. Semuanya sudah disediakan fungsi-fungsinya. Dengan kata lain, kita tidak perlu membangun dengan PHP Mapscript-nya dari awal. Hanya siapkan data dan file konfigurasi (mapfile).

 

Menambah Peta Baru di ka-Map!

Seperti yang sudah dijelaskan di poin 7 pada bagian Instalasi ka-Map!, ka-Map! dapat dikonfigurasi melalui file config.php yang terdapat pada folder /ms4w/apps/ka-map-1.0/include/. Sekarang mari kita coba tambahkan peta ke dalam daftar peta yang terdapat pada ka-Map! melalui langkah-langkah berikut ini:

  1. Siapkan mapfile kabkota_label.map beserta file-file petanya yang terkait (file kabupaten.* dan raster.tif)
  2. Copy file kabkota_label.map ke direktori /ms4w/apps/gmap/htdocs/
  3. Copy file-file peta (file kabupaten.* dan raster.tif) ke direktori /ms4w/apps/gmap/data/
  4. Buka file /ms4w/apps/ka-map-1.0/include/config.php
  5. Buatlah array baru $aszIndonesia yang akan mendefinisikan peta baru kita sebagai berikut:

    $aszIndonesia = array (
       ‘title’ => ‘Indonesia’,
       ‘path’ => ‘../../gmap/htdocs/kabkota_label.map’,
       ‘scales’ => array( 25000000, 20000000, 17500000, 15000000, 10000000, 7500000, 5000000, 2500000, 1000000, 500000 ),
       ‘format’ =>’PNG’
    );

    image

  6. Masukkan array $aszIndonesia ke dalam array global $aszMapFiles sehingga isinya menjadi sebagai berikut:

    $aszMapFiles = array( ‘gmap’ => $aszGMap, ‘Indonesia’ => $aszIndonesia

  7. Simpanlah file config.php tersebut, kemudian buka file kabkota_label.map
  8. Ubahlah lokasi FONTSET sebagai berikut:

    FONTSET "../etc/fonts.txt"

  9. Masih di dalam file kabkota_label.map. Ubahlan SEMUA baris “FONT CALIBRI” menjadi sebagai berikut:

    FONT SANS

  10. Simpan file kabkota_label.map, kemudian kembali ke browser dan tekan tombol F5 untuk me-refresh tampilan ka-Map!

 

Jika tidak ada kesalahan, maka pada ka-Explorer! akan dapat memunculkan peta Indonesia seperti yang terlihat pada gambar di bawah.

image

Tampilan peta Indonesia (melalui mapfile kabkola_label.map) pada ka-Map!

 

Perlu diketahui juga bahwa ka-Map! akan gagal menampilkan peta jika:

  • Ada kesalahan sintaks di file config.php.
  • Ada kesalahan lokasi file map di file config.php.
  • Ada kesalahan sintaks di mapfile.

Untuk mengetahui pesan kesalahannya, Anda bisa buka file init.php melalui browser sebagai berikut: http://localhost:1111/kamap/init.php

Menambahkan Key/Reference Map

Pertama-tama kita persiapkan sebuah file gambar berukuran kecil (misal 202×126 pixel) yang diberi nama keymap_indonesia.png, kemudian file tersebut disimpan di direktori /ms4w/apps/gmap/htdocs/images/.

image

File "keymap_indonesia.png” untuk key/reference map

 

Selanjutnya pada file kabkota_label.map tambahkan baris kode berikut ini (yg ditulis tebal):


EXTENT 92.93 -16.38 142.59 11.10

REFERENCE
    IMAGE images/keymap_indonesia.png
    EXTENT 92.93 -16.38 142.59 11.10
    STATUS ON
    COLOR -1 -1 -1
    OUTLINECOLOR 255 0 0
    SIZE 202 126
END

LAYER
    NAME "Citra"
    DATA "raster.tif"
    STATUS ON
    TYPE RASTER
END

Setelah tampilan peta pada browser di refresh, maka akan muncul keymap seperti gambar berikut ini.

image

Tampilan peta Indonesia dengan key/reference map.

 

Tidak sulit kan? Tulisan berikutnya akan membahas struktur dari ka-Map! tersebut.

04
Des
13

[WebGIS 7] – Pustaka OGR

OGR merupakan pustaka yang bertujuan agar mapserver dapat membaca peta vektor dengan format selain dari format ESRI Shapefiles (.shp).

Dengan OGR, format selain ESRI Shapefiles dapat dibaca langsung tanpa harus melalui proses konversi terlebih dahulu.

Saat ini (http://mapserver.org/input/vector/ogr.html) format yang didukung oleh pustaka OGR adalah sebagai berikut:

· ArcInfo Binary Coverages

· INGRES

· ArcInfo E00 Coverages

· INTERLIS

· Atlas BNA

· KML

· Comma Separated Value (.csv)

· MapInfo files

· DODS/OPeNDAP

· Memory

· ESRI ArcSDE

· Microstation DGN files

· ESRI Personal GeoDatabase

· MySQL

· ESRI Shapefiles

· ODBC

· FMEObjects Gateway

· OGDI Vectors

· Géoconcept Export

· Oracle Spatial

· GeoJSON

· PostgreSQL

· GeoRSS

· SDTS

· GML

· SQLite

· GMT

· UK.NTF (National Transfer Format)

· GRASS

· US Census TIGER/Line

· GPX

· VRT – Virtual Datasource

· Informix DataBlade

· X-Plane/Flighgear aeronautical data

*untuk lebih detilnya dapat dilihat di http://www.gdal.org/ogr/ogr_formats.html

 

Skema MapFile

Untuk lebih memahami dalam pemanfaatan OGR, berikut adalah skema yang diperlukan.

MAP

     LAYER
     …
          CONNECTIONTYPE OGR
          CONNECTION "<datasource_name>"
          DATA "<layer_definition>"
     …
     END
END # AKHIR MAP

 

Contoh MapFile 1 Layer

Untuk contoh di bagian ini, kita akan mencoba menampilkan peta Indonesia dengan format TAB yang biasa dihasilkan oleh MapInfo. Asumsi terdapat file peta “indonesia.*” di direktori data\petamapinfo\. Mapfile sederhananya adalah sebagai berikut:

MAP
     NAME TES_OGR
     IMAGETYPE PNG
     STATUS ON
     UNITS DD
     SIZE 600 400
     SHAPEPATH "../data/"
     IMAGECOLOR 192 192 192
     EXTENT 95.009766 -11.001503 141.008115 5.906876

     LAYER
          NAME Indonesia
          TYPE POLYGON
          STATUS DEFAULT
          CONNECTIONTYPE OGR
          CONNECTION "petamapinfo/indonesia.tab"
          STYLEITEM "AUTO"
          CLASS
               NAME "Indonesia"
          END
     END # Layer
END

Simpanlah file tersebut dengan nama ogr1.map ke direktori \ms4w\apps\latih\map\

Sekarang, perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
     <title> Belajar Mapserver</title>
</head>
<body>
     <h1> Contoh-contoh Belajar Mapserver</h1>
     <h3>Menu</h3>
     <ul>
          <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
          <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
          <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
          <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
          <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
          <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
          <li><a href="contoh_07.html">Menampilkan Simbol Poligon</a></li>
          <li><a href="contoh_08.html">Menampilkan Simbol Gambar</a></li>
          <li><a href="contoh_09.html">Menampilkan Simbol Font</a></li>
          <li><a href="contoh_10.html">Menampilkan Font Sebagai Label</a></li>
          <li><a href="contoh_11.html">Menampilkan Peta Tematik</a></li>
          <li><a href="contoh_12.html">Menampilkan Peta Mapinfo</a></li>
     </ul>
</body>
</html>

Kemudian, untuk isi file contoh_12.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe? map=<drive>:\ms4w\apps\latih\map\ogr1.map&mode=map&layers=all">

image

 

Contoh MapFile 2 Layer

Untuk menampilkan 2 layer atau lebih, caranya sama saja dengan yang sudah dibahas sebelumnya. Asumsi terdapat file peta “jabar.*” di direktori data\petamapinfo\.

MAP
     NAME TES_OGR
     IMAGETYPE PNG
     STATUS ON
     UNITS DD
     SIZE 600 400
     SHAPEPATH "../data/"
     IMAGECOLOR 192 192 192
     EXTENT 95.009766 -11.001503 141.008115 5.906876

     LAYER
          NAME Indonesia
          TYPE POLYGON
          STATUS DEFAULT
          CONNECTIONTYPE OGR
          CONNECTION "petamapinfo/indonesia.tab"
          STYLEITEM "AUTO"
          CLASS
               NAME "Indonesia"
          END
     END # Layer

     LAYER
          NAME Jabar
          TYPE POLYGON
          STATUS DEFAULT
          CONNECTIONTYPE OGR
          CONNECTION "petamapinfo/jabar.tab"
          STYLEITEM "AUTO"
          CLASS
               NAME "Jabar"
          END
     END # Layer

END

Simpanlah file tersebut dengan nama ogr2.map ke direktori \ms4w\apps\latih\map\

Sekarang, perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
     <title> Belajar Mapserver</title>
</head>
<body>
     <h1> Contoh-contoh Belajar Mapserver</h1>
     <h3>Menu</h3>
     <ul>
          <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
          <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
          <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
          <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
          <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
          <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
          <li><a href="contoh_07.html">Menampilkan Simbol Poligon</a></li>
          <li><a href="contoh_08.html">Menampilkan Simbol Gambar</a></li>
          <li><a href="contoh_09.html">Menampilkan Simbol Font</a></li>
          <li><a href="contoh_10.html">Menampilkan Font Sebagai Label</a></li>
          <li><a href="contoh_11.html">Menampilkan Peta Tematik</a></li>
          <li><a href="contoh_12.html">Menampilkan Peta Mapinfo</a></li>
          <li><a href="contoh_13.html">Menampilkan Peta Mapinfo 2 Layer</a></li>
     </ul>
</body>
</html>

Kemudian, untuk isi file contoh_13.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe? map=<drive>:\ms4w\apps\latih\map\ogr2.map&mode=map&layers=all">

image

 

Gampang kan? Jadi ga ada bedanya dengan menampilkan shapefiles (thx to OGR). Daripada mesti cape2 konversi semua ke shapefiles. Open-mouthed smile

21
Jan
13

Instalasi PostgreSQL dan PostGIS secara tradisional (compile langsung dari tarball) di FreeBSD

 

Latar belakang

Sebenernya dalam kondisi normal, instalasi di mesin FreeBSD bisa dilakukan dengan mudah via ports (make install). Tapi apa daya, untuk kondisi tidak normal yang saya alami ini mengharuskan saya menggunakan cara tradisional. Kondisi tidak normal yang saya maksud ini adalah server yang hendak saya install tidak terkoneksi ke internet. Walaupun sebenernya bisa diakali dengan cara download source postgresql dan simpan ke folder /usr/ports/distfiles/postgresql, kemudian jalankan make install kembali. Tetapi, sialnya server yang ini tidak mau diajak bekerja sama. Dia diam seribu bahasa berjam-jam tanpa memberitahukan kabar apakah sedang memproses atau hang. Akhirnya saya Ctrl+C saja daripada menanti ketidakpastian (cowo juga harus gitu ya klo lagi deketin cewe, daripada menanti ketidakpastian… #lohkoqcurcol Surprised smile ).

 

Tahapan Instasi

Oke, kita langsung saja, sebelum masuk ke proses instalasi, diharapkan pada mesin yang bersangkutan sudah terintall sbb:

portaudit-0.5.17
portmaster-3.6.1

gmake-3.81_3 
gettext-0.17_1
libiconv-1.13.1_1
libtool-2.2.6b
perl-threaded-5.10.1_3
libxml2-2.7.7
libxslt-1.1.26_2

 

Oya, versi yang saya install adalah PostgreSQL 8.4.9 dan PostGIS 1.5.8 di mesin FreeBSD 7.3. Untuk versi lain seharusnya tidak banyak perubahan, tetapi pastikan Anda membaca dokumentasinya terlebih dahulu agar lebih yakin. Smile

 

PostgreSQL 8.4.9

Pertama-tama login terlebih dahulu ke server, buat direktori untuk menampung file source, download file postgresql-8.4.9.tar.gz di http://www.postgresql.org/ftp/source/v8.4.9/ kemudian simpan di folder tsb. Kurang lebih tahapannya sebagi berikut:

> mkdir /usr/home/admin/download/
> cd /usr/home/admin/download/
> wget
http://ftp.postgresql.org/pub/source/v8.4.9/postgresql-8.4.9.tar.gz 
> tar xzvf postgresql-8.4.9.tar.gz
> su root
> cdpostgresql-8.4.9
> ./configure \
–prefix=/usr/local \
–bindir=/usr/local/bin \
–sysconfdir=/usr/local/etc \
–libdir=/usr/local/lib/postgresql \
–enable-nls \
–with-perl \
–with-openssl \
–with-libxml \
–with-libxslt \
–with-segsize=4 \
–enable-thread-safety \
–with-system-tzdata=/usr/share/zoneinfo \
CFLAGS=’-O2 -pipe’

*siapkan cemilan yang banyak, lumayan nih nunggunya…*

Setelah selesai, lanjut perintah ini:

> gmake

*lumayan lama juga, semoga cemilannya masih tersisa…*

Setelah selesai, lanjutkan juga ini:

> gmake install

 

Setelah semuanya selesai, lanjutkan dengan membuat grup & user postgres khusus untuk menjalankan service postgresql sbb:

> pw groupadd postgres
> pw user add postgres -d /usr/home/postgres -s /usr/local/bin/bash -m
> pw user mod postgres -w postgres

Kemudian buatlah folder data untuk menyimpan database sbb (lokasi bisa disesuaikan dengan kebutuhan & selera Anda):

> mkdir /usr/home/postgres/data
> chown postgres /usr/home/postgres/data

Lanjutkan dengan konfigurasi PostgreSQL sbb:

> su postgres
> echo ‘postgresql_enable="YES"’>> /etc/rc.conf
> echo ‘postgresql_data="/usr/home/postgres/data"’>> /etc/rc.conf
> echo ‘postgresql_flags="-w -s -m fast"’>> /etc/rc.conf
> initdb -D /usr/home/postgres/data -E utf8

Pastikan semua direktori data dimiliki oleh user postgres :

> chown -R pgsql : pgsql /usr/home/postgresql

Edit konfigurasi untuk server Anda sesuai dengan kebutuhan ( postgresql.conf ) :

> edit /usr/home/postgresql/data/postgresql.conf

Cari baris ini:

#listen_addresses = ‘localhost’

Jika Anda ingin database PostgreSQL dapat diakses dari mesin lain, silahkan uncomment baris tersebut dengan cara mengeditnya jadi sbb:

listen_addresses = ‘*’

Atau biarkan saja (default) bila Anda ingin hanya localhost saja yang dapat melakukan koneksi (untuk alasan keamanan).

Secara default, koneksi dari localhost dibebaskan tanpa password. Tentu saja ini akan sangat berbahaya untuk keamanan, oleh karena itu silahkan edit konfigurasi untuk autentikasi user ( pg_hba.conf ) sbb:

> edit /usr/home/postgresql/data/pg_hba.conf

Pada bagian paling bawah, cari bagian “trust”, kemudian ganti dengan “password

Selanjutnya jalankan PostgreSQL sbb:

> /usr/local/bin/postmaster -D /usr/home/postgres/data

Jika tidak ada pesan error apapun, berarti Anda sudah berhasil melakukan instalasinya. Winking smile

 

PostGIS 1.5.8

Sekarang, lanjutkan dengan instalasi PostGIS 1.5.8 sebagai berikut:

> cd /usr/home/admin/download/
> wget
http://download.osgeo.org/postgis/source/postgis-1.5.8.tar.gz
> tar xzvf postgis-1.5.8.tar.gz
> cd postgis-1.5.8
> ./configure –with-libiconv=/usr/local –with-projdir=/usr/local
> make install

*siapin cemilan juga ya, lumayan nih pas “configure”-nya… *

Setelah selesai, untuk menguji instalasi Anda berjalan normal, silahkan dites untuk membuat database bernama "jalan" sbb (copas dari http://www.lontongcorp.com/2007/03/31/install-postgis) :

> createdb jalan -W -T template_postgis

CATATAN: Kalau ternyata muncul pesan error yang menyatakan "template_postgis" belum tersedia, silahkan lakukan langkah2 berikut ini untuk membuatnya:

> su -l postgres
> createdb template_postgis
> createlang plpgsql template_postgis
> psql -d template_postgis -f /usr/local/share/postgresql/contrib/postgis-1.5/postgis.sql
> psql -d template_postgis -f /usr/local/share/postgresql/contrib/postgis-1.5/spatial_ref_sys.sql

Setelah itu, silahkan coba lagi buat database "jalan" di atas.

Selamat mencoba. Winking smile

 

Referensi

28
Des
12

WinDirStat vs KDirStat vs Disk Inventory X

Jadi ceritanya waktu mau nge-review aplikasi WinDirStat (for Windows) untuk Majalah Infokomputer edisi Nopember 2012, sempat buka beberapa website yang akan dijadikan referensi. Tak disangka menemukan fakta unik yang melibatkan aplikasi KDirStat (for Linux) dan Disk Inventory X (for Mac).

Perlu diketahui bahwa WinDirStat merupakan alat bantu untuk menganalisa penggunaan media penyimpanan yang dibangun khusus untuk lingkungan sistem operasi Windows, ditampilkan secara grafis dengan cantik menggunakan metode treemapping (http://en.wikipedia.org/wiki/Treemapping). Fungsi utamanya sangat sederhana, menelurusi ukuran setiap berkas pada suatu direktori (beserta sub direktorinya) pada partisi yang terpilih dan menampilkannya dalam bentuk nested rectangle (kumpulan persegi panjang). Besarnya ukuran persegi panjang mencerminkan ukuran berkas pada partisi yang bersangkutan. Dari perbandingan ukuran persegi panjang tersebut Anda bisa melihat ada berapa persegi panjang yang ukurannya tidak wajar dibandingkan dengan ukuran persegi panjang lainnya.

Fakta unik yang saya dapatkan adalah bahwa WinDirStat (http://windirstat.info) sangat mirip dengan KDirStat (http://kdirstat.sourceforge.net/) maupun Disk Inventory X (http://www.derlien.com/), padahal pembuatnya berbeda. Ternyata hal tersebut dikarenakan pembuat WinDirStat (Bernhard Seifert) mengakui terinspirasi oleh KDirStat. Fungsionalitasnya pun dibuat semirip mungkin dengan KDirStat.

Sedangkan Disk Inventory X merupakan kloning dari WinDirStat untuk versi Macintosh. Uniknya pembuat Disk Inventory X yang bernama Tjark Derlien merupakan teman kuliah Bernhard Seifert. Dan ide membuat Disk Inventory X terbersit setelah Bernhard Seifert memperlihatkan WinDirStat padanya.

 

sw-wds

Tampilan WinDirStat for Windows

 

kdirstat-main

Tampilan KDirStat for Linux

 

diskinv-main

Tampilan Disk Inventory X

21
Mei
12

[WebGIS 6] – Pembuatan Peta Tematik

<< Artikel Sebelumnya: "Simbol dan Font"

Menyambung tutorial sebelumnya mengenai “Simbol dan Font” pada 15 Mei 2012 lalu , berikut akan dibahas mengenai cara pembuatan peta tematik.

Pada SIG berbasis web seperti MapServer ini, pembuatan tematik tidaklah semudah dan seinteraktif SIG berbasis desktop. Pada MapServer, setiap layer yang akan diklasifikasikan unsur-unsurnya perlu didefinisikan melalui suatu keyword tertentu satu per satu sesuai kriterianya.

 

Skema MapFile

Untuk lebih memahami dalam pembuatan peta tematik, berikut adalah skema yang diperlukan.

MAP

   LAYER
   …
      CLASSITEM … # nama field kelas
      CLASS
         EXPRESSION … # ekspresi 1
         STYLE
         …
         END # style 1
      END #class 1
      CLASS
         EXPRESSION … # ekspresi n
         STYLE
         …
         END # style n
      END #class n
   END # akhir layer

END # AKHIR MAP

 

Pemakaian EXPRESSION

Pada skema di atas, terdapat kata kunci EXPRESSION pada setiap kelas. Maksudnya adalah sebagai sarana untuk melakukan perbandingan suatu nilai atribut/field agar atribut-atribut tersebut dapat dikelompokan sesuai dengan kriteria yang kita tentukan.

 

Perbandingan String

Untuk perbandingan nilai atribut bertipe string, aturan yang berlaku adalah:

  • EXPRESSION “Bandung”
  • EXPRESSION (‘[kabupaten]’ eq ‘Bandung’)
  • EXPRESSION (‘[kabupaten]’ = ‘Bandung’)
  • EXPRESSION (“[kabupaten]” eq “Bandung”)
  • EXPRESSION (“[kabupaten]” = “Bandung”)
  • EXPRESSION (“[kabupaten]” = “Bandung” or [kabupaten]” = “Banten”)

 

image 

 

Ekspresi Logika

  • EXPRESSION ([kode_prov] = 11)
  • EXPRESSION ([kode_prov] = 32 or “[provinsi]” = “Jawa Barat”)
  • EXPRESSION ([kode_prov] = 12 and [luas_km2] >= 3000000)

 

image

Operator yang didukung selain yang di atas adalah: =, >, <, <=, >=, or, and, lt, gt, ge, le, eq, dan ne.

 

Contoh MapFile

Sekarang akan kita buat file map yang akan menampilkan terminal menggunakan simbol “BisMerah” dan “BisBiru” yang sudah dibuat pada bagian sebelumnya ( [webgis 5]–simbol dan font ) berdasarkan nilai pada field “tipe” yang terdapat pada file “terminal.dbf”. Terminal tipe A akan menggunakan simbol “BisMerah”, sedangkan terminal tipe B akan menggunakan simbol “BisBiru”.

 

MAP
   NAME TIPE_TERMINAL
   IMAGETYPE PNG
   STATUS ON
   UNITS DD
   SIZE 600 400
   SHAPEPATH "../data/"
   FONTSET "../fonts/font.dat"
   SYMBOLSET "../symbol/simbol.sym"
   IMAGECOLOR 192 192 192
   EXTENT 106.25 -7.87 108.92 -5.85

   LAYER
      NAME "Citra"
      DATA "raster.tif"
      STATUS ON
      TYPE RASTER
   END

   LAYER
      NAME ‘provinsi’
      TYPE POLYGON
      DATA ‘provinsi.shp’
      STATUS ON
      CLASS
         NAME ‘provinsi’
         STYLE
            SYMBOL 0
            SIZE 5
            OUTLINECOLOR 0 0 0
            COLOR 167 177 197
         END    # end of style
      END     # end of class
   END   # end of layer

   LAYER
      NAME ‘terminal’
      TYPE POINT
      DATA ‘terminal.shp’
      STATUS ON
      LABELITEM "TERMINAL"
      CLASS
         NAME ‘A’
         EXPRESSION ("[TIPE]" eq "A")
         STYLE
            SYMBOL ‘BisMerah’
         END
         LABEL
            SIZE medium
            COLOR 0 0 0
         END
      END
      CLASS
         NAME ‘B’
         EXPRESSION ("[TIPE]" eq "B")
         STYLE
            SYMBOL ‘BisBiru’
         END
         LABEL
            SIZE medium
            COLOR 0 0 0
         END
      END
   END
END

Simpanlah file tersebut dengan nama ekspresi1.map ke direktori c:\ms4w\apps\latih\map\

Sekarang, perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
      <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
      <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
      <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
      <li><a href="contoh_07.html">Menampilkan Simbol Poligon</a></li>
      <li><a href="contoh_08.html">Menampilkan Simbol Gambar</a></li>
      <li><a href="contoh_09.html">Menampilkan Simbol Font</a></li>
      <li><a href="contoh_10.html">Menampilkan Font Sebagai Label</a></li>
      <li><a href="contoh_11.html">Menampilkan Peta Tematik</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_11.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\ekspresi1.map&mode=map&layers=all">

 

image

15
Mei
12

[WebGIS 5]–Simbol dan Font

<< Artikel Sebelumnya: "Menggabungkan Peta Raster dan Vektor"

Menyambung tutorial sebelumnya mengenai “Menggabungkan Peta Raster dan Vektor” pada 14 Mei 2012 lalu , berikut akan dibahas mengenai cara penggunaan simbol dan font pada mapserver.

 

Simbol

Skema File Simbol

Untuk memanfaatkan simbol, MapServer memerlukan minimal sebuah file kontainer yang akan bertindak sebagai pustaka yang menyediakan daftar simbol yang dapat digunakan. Pada umumnya, file pustaka ini berekstensi *.sym. Berikut ini merupakan skema isi file simbol yang digunakan untuk merepresentasikan unsur-unsur spasial.

#
# BARIS KOMENTAR UNTUK DESKRIPSI SIMBOL
#
SYMBOL      # simbol pertama
     NAME "NamaSimbol1"
     TYPE TipeSimbol
     POINTS
          Daftar Koordinat
     END
     …
END

SYMBOL      # simbol kedua, dst
     NAME "NamaSimbol2"
     TYPE TipeSimbol
     POINTS
          Daftar Koordinat
     END
     …
END

Keterangan:

  • SYMBOL merupakan kata kunci sebagai awal dari pendefinisian sebuah simbol
  • NAME adalah nama dari simbol.
  • TYPE adalah tipe dari simbol, diantaranya: vector, ellipse, pixmap, truetype, simple dan cartoline.
  • POINTS merupakan definisi koordinat yang isinya sesuai dengan tipe dari simbol.

 

Simbol Titik

Simbol tipe titik ini merupakan simbol yang ditampilkan sebagai suatu simbol berdasarkan koordinat yang mewakili unsur suatu peta yang bertipe titik juga (point). Misalnya pada peta yang menyatakan terminal, simbol titik ini akan berguna untuk merepresentasikan terminal tersebut pada peta dengan bentuk yang dapat kita atur sedemikian rupa.

Berikut beberapa contoh simbol bertipe titik:

  • Simbol kotak

SYMBOL
     NAME "Kotak"
     TYPE Vector
     POINTS
          0 0 #P1
          1 0 #P2
          1 1 #P3
          0 1 #P4
          0 0 #AWAL=AKHIR
     END
     FILLED True
END

  • Simbol segitiga

SYMBOL
     NAME "Segitiga"
     TYPE vector
     FILLED true
     POINTS
          0 1 # P1
          .5 0 # P2
          1 1 # P3
          0 1 # Awal=Akhir
     END
END

  • Simbol lingkaran

SYMBOL
     NAME "Bulat"
     TYPE Ellipse
     POINTS
          1 1 #(R1,R2), R1=R2 ==> lingkaran
     END
     FILLED True
END

Untuk alasan kepraktisan, semua contoh definisi simbol tersebut lebih baik disatukan ke dalam sebuah file saja. Dalam contoh kita ini, simpanlah ke dalam file simbol.sym di direktori C:\ms4w\apps\latih\symbol\

Contoh mapfile yang terkait dengan file simbol titik:

MAP
   NAME TERMINAL
   IMAGETYPE PNG
   STATUS ON
   UNITS DD
   SIZE 600 400
   SHAPEPATH "../data/"
   SYMBOLSET "../symbol/simbol.sym"
   IMAGECOLOR 192 192 192
   EXTENT 92.93 -16.38 142.59 11.10

   LAYER
      NAME "Citra"
      DATA "raster.tif"
      STATUS ON
      TYPE RASTER
   END

   LAYER
      NAME ‘provinsi’
      TYPE POLYGON
      DATA ‘provinsi.shp’
        STATUS DEFAULT
        LABELITEM "PROVINSI"
        CLASS
            NAME ‘provinsi’
            STYLE
                OUTLINECOLOR 0 0 0
                COLOR 200 200 199
            END
            LABEL
                SIZE medium
                COLOR 0 0 0
            END
        END
    END # AKHIR DARI LAYER

    LAYER
        NAME ‘terminal’
        TYPE POINT
        DATA ‘terminal.shp’
        STATUS DEFAULT
        CLASS
            NAME ‘terminal’
            STYLE
                SYMBOL "Bulat"      # “name” pada file simbol
                SIZE 5      # ukuran simbol
                OUTLINECOLOR 255 0 0
                COLOR 200 200 199
            END
        END
    END # AKHIR DARI LAYER

END # AKHIR DARI MAP

Simpanlah file tersebut dengan nama terminal.map ke dalam direktori C:\ms4w\apps\latih\map\

Sekarang, perbahariulah file peta.html menjadi sebagai berikut ini:

<html>
<head>
    <title> Belajar Mapserver</title>
</head>
<body>
    <h1> Contoh-contoh Belajar Mapserver</h1>
    <h3>Menu</h3>
    <ul>
        <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
        <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
        <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
        <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
        <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
    </ul>
</body>
</html>

Kemudian, untuk isi file contoh_05.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\terminal.map&mode=map&layers=all">

 

image

Pada gambar di atas, simbol titik digunakan untuk merepresentasikan data terminal yang ada di seluruh Indonesia (yang tercatat di file terminal.shp).

 

Simbol Garis

Simbol tipe garis ini merupakan simbol yang ditampilkan sebagai perwakilan unsur suatu peta yang bertipe garis (LINE). Misalnya pada peta yang menyatakan jalan, simbol garis ini akan berguna untuk merepresentasikan jalan tersebut pada peta dengan warna dan ketebalan yang dapat kita atur sedemikian rupa.

Berikut beberapa contoh simbol bertipe garis:

  • Simbol garis normal

SYMBOL
   NAME "GarisNormal"
   TYPE Ellipse
   POINTS
      1 1 #(R1,R2), R1=R2 ==> lingkaran
   END
   FILLED True
END

  • Simbol garis yang dibentuk dari cartoline

SYMBOL
   NAME "Garis"
   TYPE Cartoline
   LINECAP butt
   LINEJOIN miter
   LINEJOINMAXSIZE 1
END

Contoh mapfile yang terkait dengan file simbol garis:

MAP
    NAME JALAN
    IMAGETYPE PNG
    STATUS ON
    UNITS DD
    SIZE 600 400
    SHAPEPATH "../data/"
    SYMBOLSET "../symbol/simbol.sym"
    IMAGECOLOR 192 192 192
    EXTENT 92.93 -16.38 142.59 11.10

    LAYER
        NAME "Citra"
        DATA "raster.tif"
        STATUS ON
        TYPE RASTER
    END

    LAYER
        NAME ‘provinsi’
        TYPE POLYGON
        DATA ‘provinsi.shp’
        STATUS DEFAULT
        LABELITEM "PROVINSI"
        CLASS
            NAME ‘provinsi’
            STYLE
                OUTLINECOLOR 0 0 0
                COLOR 200 200 199
            END
            LABEL
                SIZE medium
                COLOR 0 0 0
            END
        END
    END # AKHIR DARI LAYER

    LAYER
        NAME ‘JALAN’
        TYPE LINE
        DATA ‘vcr.shp’
        STATUS ON
        CLASS
            STYLE
                SYMBOL "GarisNormal"
                SIZE 1
                OUTLINECOLOR 255 0 255
            END
        END
    END # AKHIR DARI LAYER

END # AKHIR DARI MAP

Simpanlah file tersebut dengan nama jalan.map di direktori c:\ms4w\apps\latih\map\

Sekarang, perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
      <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
      <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
      <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_06.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\jalan.map&mode=map&layers=all">

 

image

Pada gambar di atas, simbol garis digunakan untuk merepresentasikan jalan di seluruh Indonesia (yang tercatat pada file vcr.shp).

 

Simbol Poligon

Simbol tipe poligon ini merupakan simbol yang ditampilkan sebagai perwakilan unsur suatu peta yang bertipe poligon (POLYGON). Misalnya pada peta propinsi, simbol poligon ini akan berguna untuk merepresentasikan propinsi tersebut pada peta dengan warna dan pola yang dapat kita atur sedemikian rupa.

Sebenarnya pengguna dapat menggunakan simbol bertipe titik dan garis yang sudah dibuat sebelumnya untuk diaplikasikan pada peta bertipe poligon.

Sebagai contoh, mari kita coba mapfile berikut ini.

MAP
   NAME PROPINSI
   IMAGETYPE PNG
   STATUS ON
   UNITS DD
   SIZE 600 400
   SHAPEPATH "../data/"
   SYMBOLSET "../symbol/simbol.sym"
   IMAGECOLOR 192 192 192
   EXTENT 92.93 -16.38 142.59 11.10

   LAYER
      NAME "Citra"
      DATA "raster.tif"
      STATUS ON
      TYPE RASTER
   END

   LAYER
      NAME ‘provinsi’
      TYPE POLYGON
      DATA ‘provinsi.shp’
      STATUS DEFAULT
      LABELITEM "PROVINSI"
      CLASS
         NAME ‘provinsi’
         STYLE
            SYMBOL "Bulat"
            SIZE 5
            OUTLINECOLOR 0 0 0
            COLOR 200 200 199
         END
         LABEL
            SIZE medium
            COLOR 0 0 0 
         END 
      END
   END # AKHIR DARI LAYER

END # AKHIR DARI MAP

Simpanlah file tersebut dengan nama prop_poligon.map di direktori \ms4w\apps\latih\map\

Kemudian perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
      <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
      <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
      <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
      <li><a href="contoh_07.html">Menampilkan Simbol Poligon</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_07.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\prop_poligon.map&mode=map&layers=all">

 

image

 

Simbol Gambar

Selain tipe bentukan seperti titik, garis atau poligon, kita juga dapat menggunakan gambar sebagai simbol untuk peta kita. Sehingga, dengan memanfaatkan gambar, peta yang dihasilkan akan lebih informatif untuk pengguna.

Untuk membuat definisinya di file simbol.sym, terlebih dahulu kita siapkan file gambar yang akan dijadikan simbol. Sebagai contoh, silahkan Anda download gambar berikut ini:

  • Nama file: ball.gray.gif –>  ball.gray 
  • Nama file: bis_biru.png –> bis_biru
  • Nama File: bis_merah.png –> bis_merah

Simpanlah semua file gambar tersebut di direktori c:\ms4w\apps\latih\symbol\

Sekarang kita definisikan simbol baru di file simbol.sym sebagai berikut:

SYMBOL
   NAME "Anotasi"
   TYPE Pixmap      # file image
   IMAGE "../symbol/ball.gray.gif"
END

SYMBOL
   NAME "BisMerah"
   TYPE Pixmap      # file image
   IMAGE "../symbol/bis_merah.png"
END

SYMBOL
   NAME "BisBiru"
   TYPE Pixmap      # file image
   IMAGE "../symbol/bis_biru.png"
END

Untuk mencobanya, mari kita buat mapfile berikut ini:

MAP
   NAME TERMINAL
   IMAGETYPE PNG
   STATUS ON
   UNITS DD
   SIZE 600 400
   SHAPEPATH "../data/"
   SYMBOLSET "../symbol/simbol.sym"
   IMAGECOLOR 192 192 192
   EXTENT 106.25 -7.87 108.92 -5.85

   LAYER
      NAME "Citra"
      DATA "raster.tif"
      STATUS ON
      TYPE RASTER
   END

   LAYER
      NAME ‘provinsi’
      TYPE POLYGON
      DATA ‘provinsi.shp’
      STATUS DEFAULT
      LABELITEM "PROVINSI"
      CLASS
         NAME ‘provinsi’
         STYLE
            OUTLINECOLOR 0 0 0
            COLOR 200 200 199
         END
         LABEL
            SIZE medium
            COLOR 0 0 0
         END
      END
   END # AKHIR DARI LAYER

   LAYER
      NAME ‘terminal’
      TYPE POINT
      DATA ‘terminal.shp’
      STATUS DEFAULT
      CLASS
         NAME ‘terminal’
         STYLE
            SYMBOL ‘BisMerah’
         END
         LABEL
            SIZE medium
            COLOR 0 0 0
         END
      END
   END # AKHIR DARI LAYER

END # AKHIR DARI MAP

Simpanlah file tersebut dengan nama terminal_gambar.map di direktori c:\ms4w\apps\latih\map\

Kemudian perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
      <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
      <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
      <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
      <li><a href="contoh_07.html">Menampilkan Simbol Poligon</a></li>
      <li><a href="contoh_08.html">Menampilkan Simbol Gambar</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_08.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\terminal_gambar.map&mode=map&layers=all">

 

image

Pada gambar di atas terlihat bahwa simbol gambar “BisMerah” digunakan untuk mewakili posisi terminal. Silahkan Anda bereksperimen dengan simbol gambar lainnya. Smile

 

Font

Tampilan label merupakan bagian yang sangat penting dalam suatu peta. Karena keberadaan label ini akan menjadi bagian dari keseluruhan deskripsi atau informasi lengkap milik unsur spasialnya.

Mendefinisikan Jenis Font

Untuk dapat menggunakan huruf-huruf tertentu pada peta, perlu dilakukan langkah-langkah berikut ini:

  • Kumpulkan file-file font (*.ttf) yang akan dipakai nantinya ke dalam suatu direktori, dalam artikel ini copy saja ke direktori c:\ms4w\apps\latih\fonts\
  • Di dalam direktori yang sama, buatlah sebuah file teks yang bernama font.dat yang isinya kurang lebih seperti gambar berikut ini (sesuaikan dengan nama filenya):

 

image

 

Karakter Sebagai Simbol

Selain sebagai label, font juga bisa dijadikan sebagai simbol. Berikut contoh definisinya.

SYMBOL
   NAME "H"
   TYPE TRUETYPE
   FONT "arial"
   CHARACTER "H"
   ANTIALIAS TRUE
   GAP 10
END

Penggunaannya sama saja dengan penggunaan simbol seperti yang sudah dibahas sebelumnya. Kita dapat memasukan definisi simbol huruf “H” tersebut ke dalam file simbol.sym yang sudah ada. Untuk lebih jelasnya silahkan coba buat mapfile baru sebagai berikut:

MAP
   NAME PROPINSI
   IMAGETYPE PNG
   STATUS ON
   UNITS DD
   SIZE 600 400
   SHAPEPATH "../data/"
   SYMBOLSET "../symbol/simbol.sym"
   FONTSET "../fonts/font.dat"
   IMAGECOLOR 192 192 192
   EXTENT 92.93 -16.38 142.59 11.10

   LAYER
      NAME "Citra"
      DATA "raster.tif"
      STATUS ON
      TYPE RASTER
   END

   LAYER
      NAME ‘provinsi’
      TYPE POLYGON
      DATA ‘provinsi.shp’
      STATUS DEFAULT
      LABELITEM "PROVINSI"
      CLASS
         NAME ‘provinsi’
         STYLE
            SYMBOL "H"
            SIZE 5
            COLOR 255 0 0
         END
         LABEL
            SIZE medium
            COLOR 0 0 0
         END
      END
END # AKHIR DARI LAYER

END # AKHIR DARI MAP

Simpanlah file tersebut dengan nama prop_font.map ke dalam direktori c:\ms4w\apps\latih\map\

Sekarang, perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
      <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
      <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
      <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
      <li><a href="contoh_07.html">Menampilkan Simbol Poligon</a></li>
      <li><a href="contoh_08.html">Menampilkan Simbol Gambar</a></li>
      <li><a href="contoh_09.html">Menampilkan Simbol Font</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_09.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\prop_font.map&mode=map&layers=all">

 

image

 

Font Sebagai Label

Untuk penggunaan font sebagai label sebenernya tidak jauh berbeda dengan penggunaan label pada bahasan-bahasan sebelumnya (yang melibatkan keyword LABEL). Hanya saja, kita dapat mendefinisikan jenis font yang akan digunakan.

Sebagai contoh, buatlah mapfile sebagai berikut:

MAP
   NAME KABKOTA_LABEL
   IMAGETYPE PNG
   STATUS ON
   UNITS DD
   SIZE 600 400
   SHAPEPATH "../data/"
   FONTSET "../fonts/font.dat"
   SYMBOLSET "../symbol/simbol.sym"
   IMAGECOLOR 192 192 192
   EXTENT 92.93 -16.38 142.59 11.10

   LAYER
      NAME "Citra"
      DATA "raster.tif"
      STATUS ON
      TYPE RASTER
   END

   LAYER
      NAME ‘kabupaten’
      TYPE POLYGON
      DATA ‘kabupaten.shp’
      STATUS ON
      LABELITEM "KABUPATEN"
      CLASS
         NAME ‘kabupaten’
         STYLE
            OUTLINECOLOR 0 0 0
            COLOR 209 136 85
         END
         LABEL
            FONT calibri
            TYPE truetype
            SIZE 10
            COLOR 0 0 0
         END
      END
   END # end of layer

END

Simpanlah file tersebut dengan nama kabkota_label.map ke dalam direktori c:\ms4w\apps\latih\map\

Sekarang, perbaharuilah file peta.html menjadi sebagai berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
      <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
      <li><a href="contoh_05.html">Menampilkan Simbol Titik</a></li>
      <li><a href="contoh_06.html">Menampilkan Simbol Garis</a></li>
      <li><a href="contoh_07.html">Menampilkan Simbol Poligon</a></li>
      <li><a href="contoh_08.html">Menampilkan Simbol Gambar</a></li>
      <li><a href="contoh_09.html">Menampilkan Simbol Font</a></li>
      <li><a href="contoh_10.html">Menampilkan Font Sebagai Label</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_10.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\kabkota_label.map&mode=map&layers=all">

 

image

Label nama kabupaten/kota dengan menggunakan font jenis Calibri.

14
Mei
12

[WebGIS 4] – Menggabungkan Peta Raster dan Vektor

<< Artikel Sebelumnya: "Menampilkan Layer Ganda"

 

Menyambung tutorial sebelumnya mengenai “Menampilkan Layer Ganda” pada 17 Oktober 2011 lalu ( fuih, sudah lama ya ternyata Smile with tongue out ), berikut akan dibahas mengenai cara menggabungkan peta raster dan vektor satu tampilan di browser.

Ada dua macam peta yang dapat kita gunakan dalam sistem berbasis GIS, yaitu peta vektor dan peta raster.

Peta Vektor, seperti dilihatkan pada contoh latihan sebelumnya, terdiri dari titik, garis, dan area poligon.

Peta Raster adalah peta yang diperoleh dari fotografi suatu areal, foto satelit atau foto permukaan bumi yang diperoleh dari komputer. Gambar di bawah menunjukan contoh peta raster yang diambil wikimapia.org dengan memanfaatkan Google Maps.

Salah satu varian dari peta raster adalah peta hasil scanner atau scan map. Sewaktu kita melakukan scan pada sebuah kertas maka terjadi proses konversi menjadi peta raster digital yang dapat digunakan sebagai sebuah layer pada peta.

 

image

 

Format Data Raster

Data raster memiliki banyak sekali formatnya. Untungnya, MS4W sudah mendukung banyak sekali format data raster. Untuk mengetahui format-format apa saja yang didukung, kita bisa memeriksanya dengan cara sebagai berikut ini:

  1. Melalui command prompt, jalankanlah file c:\ms4w\setenv.bat ( dengan asumsi MS4W di install di drive C:\ )
  2. Kemudian, jalankan c:\ms4w\tools\gdal-ogr\gdalinfo –formats
  3. Setelah itu, akan muncul daftar format data raster yang didukung seperti gambar berikut ini.

 

image

Bisa dilihat kan berapa banyak format data raster yang didukung oleh MS4W? Winking smile

 

Menampilkan Data Raster

Skema MapFile

MAP

     LAYER
          NAME …
          TYPE RASTER
          DATA …
          …
     END # AKHIR DEFINISI OBJEK LAYER

END # AKHIR MAP

Contoh MapFile

MAP
     NAME ALL_AREA
     IMAGETYPE PNG
     STATUS ON
     UNITS DD
     SIZE 600 400
     SHAPEPATH "../data/"
     IMAGECOLOR 192 192 192
    
     EXTENT 92.93 -16.38 142.59 11.10

#
# Mulai mendefinisikan layer
#
     LAYER
          NAME "Citra"
          DATA "raster.tif"
          STATUS ON
          TYPE RASTER
     END
END

Simpanlah file tersebut dengan nama raster.map dan simpanlah di direktori C:\ms4w\apps\latih\map\

Sekarang, ubahlah file peta.html menjadi sebagai berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_03.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\raster.map&mode=map&layers=all">

image

Boom… akhirnya peta raster bisa muncul di browser. Smile 

Menggabungkan Peta Raster & Vektor

Sebenarnya, untuk menggabungkan peta raster dengan vektor sama saja dengan ketika kita hendak menampilkan peta dengan layer ganda. Hanya saja ada hal yang perlu dicatat bahwa layer peta yang berupa raster harus diletakkan di awal, karena peta raster (biasanya) selalu dijadikan background untuk peta yang akan ditampilan bersama-sama dengan peta vektor.

Skema MapFile

MAP

   LAYER
      NAME …
      TYPE RASTER
      DATA …
      …
   END # AKHIR DEFINISI OBJEK LAYER

   LAYER
   …
      CLASS
      …
      END # AKHIR DEFINISI CLASS
   …
   END # AKHIR DEFINISI OBJEK LAYER

END # AKHIR MAP

Contoh MapFile

MAP
   NAME ALL_AREA
   IMAGETYPE PNG
   STATUS ON
   UNITS DD
   SIZE 600 400
   SHAPEPATH "../data/"
   IMAGECOLOR 192 192 192
   EXTENT 92.93 -16.38 142.59 11.10

   LAYER
      NAME "Citra"
      DATA "raster.tif"
      STATUS ON
      TYPE RASTER
   END

   LAYER
      NAME ‘provinsi’
      TYPE POLYGON
      DATA ‘provinsi.shp’
      STATUS DEFAULT
      LABELITEM "PROVINSI"
      CLASS
         NAME ‘provinsi’
         STYLE
            OUTLINECOLOR 0 0 0
            COLOR 200 200 199
         END
         LABEL
            SIZE medium
            COLOR 0 0 0
         END
      END
   END # AKHIR DARI LAYER

END # AKHIR DARI MAP

Simpanlah file tersebut dengan nama raster_vektor.map di direktori C:\ms4w\apps\latih\map\

Sekarang, perbaharuilah file peta.html menjadi seperti berikut ini:

<html>
<head>
   <title> Belajar Mapserver</title>
</head>
<body>
   <h1> Contoh-contoh Belajar Mapserver</h1>
   <h3>Menu</h3>
   <ul>
      <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
      <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
      <li><a href="contoh_03.html">Menampilkan Layer Raster</a></li>
      <li><a href="contoh_04.html">Menampilkan Gabungan Raster &amp; Vektor</a></li>
   </ul>
</body>
</html>

Kemudian, untuk isi file contoh_04.html adalah sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?
map=c:\ms4w\apps\latih\map\raster_vektor.map&mode=map&layers=all">

 

image

 

Pada tampilan peta di atas, selain menampilkan gabungan peta raster dan vektor, tampil juga teks yang menyatakan nama-nama propinsi. Teks tersebut muncul dikarenakan pada mapfile yang kita buat (raster_vektor.map), didefinisikan baris LABELITEM “PROVINSI” dan blok LABEL…END di dalam blok CLASS…END.

 

image

 

Baris LABELITEM “PROVINSI” pada blok LAYER provinsi menyatakan perintah untuk menampilkan data yang terdapat pada field PROVINSI. Data teks tersebut ditampilkan dengan ukuran medium dan warna hitam.

Untuk mengetahui data-data apa saja yang terdapat pada suatu shapefile (peta), kita buka saja file yang berekstensi .dbf-nya.

 

 

 

 

 

image

 

Untuk melihat isi file .dbf tersebut bisa digunakan Microsoft Excel atau bisa digunakan freeware ringan seperti DBFViewer, DBF Commander, dsb. Anda bisa mencarinya di internet untuk link download-nya.

17
Okt
11

[WebGIS 3] – menampilkan Layer Ganda

<< Artikel Sebelumnya: “Mapfile pada MapServer”

 

Menyambung tutorial sebelumnya mengenai “Mapfile pada Mapserver” pada 07 Februari 2011 lalu, berikut akan dibahas mengenai cara menampilkan peta yang terdiri dari lebih dari satu layer.

Pada kenyataannya, jarang sekali suatu peta hanya terdiri dari satu layer saja. Karena informasi geografis yang sesungguhnya adalah gabungan dari beberapa layer sehingga membentuk suatu informasi peta yang lengkap. Bagian ini akan membahas bagaimana caranya menampilkan beberapa layer dalam satu peta.

 

Skema MapFile Untuk Layer Ganda

MAP
...
  LAYER 1
  ...
    CLASS 1
    ...
      STYLE 1
      ...
      END    # AKHIR DEFINISI STYLE
      ...
      LABEL 1
      ...
      END   # AKHIR DEFINISI LABEL
    ...
    END   # AKHIR DEFINISI CLASS
   ...
  END  # AKHIR DEFINISI OBJEK LAYER
  ...
  ...
  LAYER N
  ...
    CLASS N
    ...
      STYLE N
      ...
      END    # AKHIR DEFINISI STYLE
      ...
      LABEL N
      ...
      END   # AKHIR DEFINISI LABEL
    ...
    END   # AKHIR DEFINISI CLASS
   ...
  END  # AKHIR DEFINISI OBJEK LAYER
...
END   # AKHIR MAP

 

Contoh MapFile

#
# Komentar untuk mapfile
#
MAP		# tanda awal mapfile
   NAME Indonesia		# nama mapfile
   IMAGETYPE JPEG		# bisa juga GIF, PNG
   EXTENT  73.33 -10.28 160.20 5.80	# B1,L1,B2,L2
   STATUS ON
   UNITS DD
   SIZE 600 400			# ukuran image yang dihasilkan
   SHAPEPATH  "../data/asean/"	# bisa juga “<drive>:\ms4w\......\data\asean\”
   IMAGECOLOR 108 166 205 	
   #
   # Mulai pendefinisian layer
   #
   LAYER				# tanda awal definisi layer
    NAME Asean			# nama layer
    DATA Asean-oceania		# nama shapefile “Acean-oceania.shp”
    STATUS ON			# layer dimunculkan
    TYPE POLYGON			# untuk tipe poligon
    CLASS
	NAME "Asean"
    	STYLE
      	  COLOR 255 255 255		# warna latar putih
	  OUTLINECOLOR 108 166 205	# warna batas luar poligon
	END	# akhir style
    END	#akhir class
   END		#akhir definisi layer

   LAYER
     NAME "Propinsi"
     DATA "Propinsi.shp"
     STATUS ON
     TYPE POLYGON
     STATUS ON
     CLASS
        NAME “Propinsi”
        STYLE
          COLOR 119 136 153	#warna abu-abu
          OUTLINECOLOR 0 0 0
        END
     END
   END
END 	# akhir mapfile

Simpanlah mapfile tersebut dengan nama kab_kota.map di direktori C:\ms4w\apps\latih\map\

 

Menampilkan Layer Ganda

Buka kembali file c:\ms4w\apps\latih\htdocs\peta.html dan ubahlah menjadi seperti berikut ini:

<html>
<head>
  <title> Belajar Mapserver</title>
</head>
<body>
  <h1> Contoh-contoh Belajar Mapserver</h1>
  <h3>Menu</h3>
  <ul>
    <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
    <li><a href="contoh_02.html">Menampilkan Layer Ganda</a></li>
  </ul>
</body>
</html>

 

Kemudian, buatlah file html baru dengan isinya sebagai berikut:

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?map=c:\ms4w\apps\latih\map\kab_kota.map&mode=map&layers=all">

Simpan file tersebut dengan nama contoh_02.html dan simpan di c:\ms4w\apps\latih\htdocs\. Pada browser bukalah alamat http://localhost:1111/latih/peta.html sehingga akan muncul tampilan seperti berikut ini.

 

image

 

Ketika link “Menampilkan Layer Ganda” di klik, akan muncul tampilan peta dengan 2 layer seperti gambar berikut ini.

 

image

 

Pada peta tersebut terlihat ada 2 peta yang ditampilkan, yaitu peta “Asean-oceania.shp” yang berlatar putih dan peta “Propinsi.shp” yang berlatar abu-abu.

Mudah kan?

Jika ingin menambahkan layer lagi, tinggal tambah saja blok LAYER … END pada mapfile sesuai kebutuhan. Selamat mencoba… Winking smile

07
Feb
11

[WebGIS 2] – MapFile pada MapServer

<< Artikel sebelumnya “Pengenalan WebGIS dan MapServer”

Untuk memanfaatkan fungsionalitasnya yang paling sederhana sekalipun, MapServer akan selalu membutuhkan minimal sebuah mapfile. Mapfile merupakan file teks biasa yang berekstensi *.map yang akan mendeskripsikan apa dan dimana sumber datanya, dan bagaimana cara data tersebut harus ditampilkan. Oleh karena itu, penting bagi kita untuk memahami struktur mapfile ini terlebih dahulu sebelum memasuki bahasan selanjutnya.

 

Tentang MapFile

Sebelum benar-benar menggunakan MapServer untuk pertama kalinya, pengguna harus membuat file teks yang berekstensi *.map. File yang disebut mapfile tersebut memiliki ketentuan-ketentuan penulisan sebagai berikut:

  • Teks pada mapfile tidak bersifat case-sensitive.
  • Penulisan string yang berisi campuran beberapa karakter non-alphanumerik (selain karakter huruf dan angka) atau keywords milik MapServer harus diapit oleh tanda petik ganda ( “ ).
  • Setiap mapfile dapat digunakan untuk mendefinisikan (secara default) maksimal 50 layer peta.
  • Penulisan path lokasi file bisa dilakukan secara absolut maupun relatif.
  • Susunan atau isi mapfile memiliki hierarki struktur dengan objek “MAP” sebagai “root”. Sementara objek-objek lainnya berada di bawah objek ini.
  • Pengguna dapat menambahkan baris-baris komentar di dalam mapfile dengan cara mengawali komentar tersebut dengan karakter pagar (#).

 

Contoh Pembuatan MapFile Sederhana

Sebagai contoh pertama kita, berikut ini adalah isi mapfile sederhana yang dapat digunakan untuk menampilkan sebuah layer peta di dalam program aplikasi browser internet. Namun sebelum itu silahkan download file data.zip yang ada di alamat http://www.4shared.com/file/cPDkWoIK/data.html, kemudian ekstrak ke direktori C:\ms4w\apps\latih\ sehingga pada direktori tersebut terdapat direktori “data”.

Silahkan Anda tulis isi mapfile berikut ini pada program editor teks sederhana seperti Notepad, kemudian simpan di direktori C:\ms4w\apps\latih\map\ dengan nama file asean.map:

#
# Komentar untuk mapfile
#
MAP        # tanda awal mapfile
   NAME Indonesia        # nama mapfile
   IMAGETYPE JPEG        # bisa juga GIF, PNG
   EXTENT  73.33 -10.28 160.20 5.80    # B1,L1,B2,L2
   STATUS ON
   UNITS DD
   SIZE 600 400            # ukuran image yang dihasilkan
   SHAPEPATH  “../data/asean/”    # bisa juga “<drive>:\ms4w\……\data\asean\”
   IMAGECOLOR 108 166 205    

   #
   # Mulai pendefinisian layer
   #
   LAYER                # tanda awal definisi layer
      NAME Asean            # nama layer
      DATA Asean-oceania        # nama shapefile “Acean-oceania.shp”
      STATUS ON            # layer dimunculkan
      TYPE POLYGON            # untuk tipe poligon
      CLASS
         NAME “Asean”
         STYLE
            COLOR 255 255 255        # warna latar putih
            OUTLINECOLOR 108 166 205    # warna batas luar poligon
         END    # akhir style
      END    #akhir class
   END        #akhir definisi layer
END     # akhir mapfile

 

Keterangan (sesuai urutan baris):

  • MapFile tersebut memiliki objek MAP yang bernama “Indonesia”
  • File sementara yang dihasilkan oleh MapServer nantinya berupa file JPEG (bisa juga berupa GIF maupun PNG).
  • Jangkauan batas koordinat peta adalah (73.33,-10.28); (160.20,5.80). Nilai-nilai tersebut diambil dari (sebagian) cakupan peta aslinya.
  • Semua layer dimunculkan (STATUS ON).
  • Satuan koordinat peta dalam derajat (DD). Digunakan untuk menentukan scalebar dan komputasi lainnya yang terkait dengan koordinat & skala.
  • Ukuran (resolusi) gambar yang dihasilkan adalah 600×400 pixel.
  • Data spasial yang digunakan berlokasi di “../data/asean” (relatif terhadap folder dimana mapfile berada).
  • Warna latar pada peta adalah warna biru muda (RGB: 108 166 205). Untuk memudahkan dalam memilih warna, Anda bisa menggunakan tool ColorPic yang dapat di download di internet.
  • Pada peta “Indonesia” tersebut, terdapat layer yang bernama “Asean”.
  • Nama shapefile yang digunakan untuk layer “Asean” tersebut adalah “Asean-oceania.shp”.
  • Layer tersebut statusnya dimunculkan (STATUS ON).
  • Di dalam layer “Asean” terdapat unsur-unsur spasial yang bertipe poligon dengan nama “Asean” juga.
  • Kelas “Asean” akan disajikan dengan warna latar putih (RGB: 255 255 255) dengan garis tepi warna biru muda yang sama dengan warna latar peta.

 

Objek-objek di dalam MapFile

Pada contoh sederhana di bagian sebelumnya, kita lihat bahwa secara garis besar mapfile terdiri dari 5 bagian: Map, Layer, Class, Label, dan Style. Kita akan bahas 5 bagian tersebut satu-per-satu.

 

Map

Objek ini mendefinisikan objek master milik mapfile, yang isinya adalah parameter-parameter global untuk peta yang akan ditampilkan.

#
# BARIS KOMENTAR UNTUK MAPFILE YANG BERSANGKUTAN
#
MAP
...
...
END # AKHIR MAP
 

Layer

Objek ini paling sering digunakan untuk mendefinisikan layer-layer yang kemudian membentuk peta. Urutan penempatan layer di peta adalah sesuai dengan urutan penulisannya. Artinya, layer yang paling dulu dituliskan akan ditempatkan di bagian paling bawah dari peta.

#
# BARIS KOMENTAR UNTUK MAPFILE YANG BERSANGKUTAN
#
MAP
...
  LAYER
  ...
  END # AKHIR DEFINISI OBJEK LAYER
...
END # AKHIR MAP

 

Class

Objek ini digunakan untuk mendefinisikan kelas tematik untuk suatu layer. Jadi bisa dikatakan, setiap layer pasti memiliki paling tidak satu kelas. Ketika layer memiliki lebih dari satu kelas, maka kelas-kelas tersebut dibedakan oleh nilai-nilai yang terkait beserta ekspresi yang digunakan untuk mengevaluasinya. Mengenai ekspresi akan dibahas di bagian selanjutnya.

#
# BARIS KOMENTAR UNTUK MAPFILE YANG BERSANGKUTAN
#
MAP
...
  LAYER
  ...
     CLASS
     ...
     END # AKHIR DEFINISI CLASS
  ...
  END # AKHIR DEFINISI OBJEK LAYER
...
END # AKHIR MAP

 

Label

Objek ini digunakan untuk mendefinisikan anotasi suatu unsur dalam peta. Selain itu, label juga dapat dijadikan sebagai simbol.

#
# BARIS KOMENTAR UNTUK MAPFILE YANG BERSANGKUTAN
#
MAP
...
  LAYER
  ...
     CLASS
     ...
       LABEL
       ...
       END # AKHIR DEFINISI LABEL
     ...
     END # AKHIR DEFINISI CLASS
  ...
  END # AKHIR DEFINISI OBJEK LAYER
...
END # AKHIR MAP

 

Style

Objek ini digunakan untuk menentukan parameter-parameter simbol yang dipakai. Dengan adanya objek ini, setiap kelas dapat memiliki simbol dengan tipe, ukuran, dan warna tersendiri.

#
# BARIS KOMENTAR UNTUK MAPFILE YANG BERSANGKUTAN
#
MAP
...
  LAYER
  ...
     CLASS
     ...
       STYLE
       ...
       END # AKHIR DEFINISI STYLE
       LABEL
       ...
       END # AKHIR DEFINISI LABEL
     ...
     END # AKHIR DEFINISI CLASS
  ...
  END # AKHIR DEFINISI OBJEK LAYER
...
END # AKHIR MAP

 

 

Menampilkan MapFile

Untuk menampilkan peta pertama kita, silahkan buka melalui browser dengan perintah:

http://localhost:1111/cgi-bin/mapserv.exe?map=<drive&gt;:\ms4w\apps\latih\map\asean.map&¿ mode=map&layers=all

gambar_3_contoh_tampilan_peta_asean

Atau, untuk lebih mudahnya kita buat suatu file html yang isinya adalah sebagai berikut:

 

<html>
<head>
<title> Belajar Mapserver</title>
</head>
<body>
  <h1> Contoh-contoh Belajar Mapserver</h1>
  <h3>Menu</h3>
  <ul>
    <li><a href="contoh_01.html">Menampilkan Peta Sederhana</a></li>
  </ul>
</body>
</html>

 

Simpanlah dengan nama file peta.html di direktori C:\ms4w\apps\latih\htdocs\

Selanjutnya, buatlah file html baru yang isinya adalah sebagai berikut:

 

<img border="1" src="http://localhost:1111/cgi-bin/mapserv.exe?map=c:\ms4w\apps\latih\map\asean.map&mode=map&layers=all">

 

Simpanlah dengan nama file contoh_01.html dan simpan di C:\ms4w\apps\latih\htdocs\. Pada browser bukalah alamat http://localhost:1111/latih/peta.html sehingga akan muncul tampilan seperti berikut ini.

gambar_4_tampilan_peta_html

Ketika link yang ada pada halaman tsb di klik, akan muncul tampilan peta seperti pada gambar sebelumnya.  Smile

Oke… selamat… sampai tahap ini Anda sudah berhasil menampilkan peta di browser… itu sudah disebut dengan “WebGIS” loh… tapi masih amat-sangat-sederhana-sekali… Winking smileWinking smileWinking smile

 

Tulisan selanjutnya akan membahas bagaimana menampilkan layer ganda… staytuned… (harusnya ga lama sih) Winking smile

05
Feb
11

[webgis 1] – Pengenalan WebGIS dan MapServer

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:

Saya lupa bagian mana & ngambil dari mana-nya… pokoknya itulah sumbernya… Open-mouthed smile

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.

 

gambar_1_contoh_tampilan_webgis

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:

  1. Memenuhi kebutuhan dan mendukung komunitas web-mapping yang open-source
  2. Memperluas komunitas pengguna MapServer
  3. 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… Winking smile

 

Instalasi MS4W

Baca terlebih dahulu instruksi berikut ini sebelum memulai instalasi.

  1. 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
  2. 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!
  3. 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.
  4. 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:

    gambar_2_cmd_webserver_install

    Artinya Apache itu sedang menjalankan dan di-install sebagai sebuah service.

  5. 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

     

  6. Untuk menguji apakah Apache sedang berjalan dengan baik, buka browser dan ketikan URL berikut:
  7. http://localhost:1111/

    Jika tidak ada pesan kesalahan pada browser, itu artinya Anda sudah berhasil menginstalasi MS4W.

  8. 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\
  9. 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… Open-mouthed smile Open-mouthed smile Open-mouthed smile




arioss

Arsip

Blog Stats

  • 92.279 hits

RSS Fokus ITB

  • Sebuah galat telah terjadi; umpan tersebut kemungkinan sedang anjlok. Coba lagi nanti.