You are on page 1of 5

WebgGIS dengan MapServer – MapLab – Chameleon - PostGIS

VII. MEMBUAT APLIKASI DEMO WEBGIS MAPSERVER - POSTGIS

Kita akan mengubah demo/sample aplikasi Web GIS yang sudah kita buat diatas,
menjadi aplikasi webgis mapserver yang mengambil data geometri dan atribut dari
postgreSQL server yang sudah mendukung POSTGIS. Aplikasi ini juga bisa di download di :
http://www.hatma.info/download/gis/Demo_MapServer_PostGIS.zip . Setelah download
selesai, ekstrak isi nya ke direktori yang sesuai, yaitu : apps, http.d dan Apache/htdocs .
Kemudian load data sql ke dalam database postgreSQL anda. Lalu restart Apache anda
dengan mengeksekusi apache-restart.bat . buka http://localhost dengan web browser,
kemudian klik link demo pada “ Hatma Suryotrisongko Demo Web GIS - PostGIS Spatial
Database URLs: “ : http://localhost/demo2/demo.phtml

Link URL demo program kedua, pada halaman utama

MENGUBAH FILE KONFIGURASI PERTA (CHAMELEON.MAP) DARI


SAMPLE/DEMO APLIKASI DIATAS, MENJADI APLIKASI WEBGIS YANG
MENGAMBIL DATA DARI SERVER DATABASE POSTGRESQL.

Kita akan merubah baris pemanggilan data shp pada baris definisi layer, sehingga
pengambilan data langsung dari database. Secara umum, kita akan mengubah dengan cara
sebagai berikut :

Langkah I. beri tanda komentar (#) pada baris definisi data


# DATA (data file shp)

Langkah II. Sisipkan definisi pengambilan data dari database


CONNECTIONTYPE POSTGIS
CONNECTION "user=[nama user] dbname=[nama database] host=[host database] port=[port database
: 5432] password=[password anda]"
DATA "[nama kolom geometry] FROM [nama table] USING UNIQUE [unique index / primary key]"
FILTER "[kondisi / persyaratan]"

www.hatma.info 1
WebgGIS dengan MapServer – MapLab – Chameleon - PostGIS

Harap diperhatikan, bahwa penulisan nama kolom, nama table HARUS menggunakan
huruf kecil, sedangkan untuk lainnya menggunakan huruf besar (perhatikan pada bagian
”DATA” dan ”FILTER” diatas), selain itu juga harus sesuai dengan penulisan perintah yang
dimengerti oleh database postgresql (pada definisi DATA tidak menggunakan syntax
SELECT, sedang pada definisi FILTER tidak menggunakan syntax WHERE). “USING
UNIQUE [unique index / primary key]” pada baris definisi DATA digunakan untuk
mempercepat query menggunakan index.

Langkah III. Sesuaikan baris definisi lain


LabelItem "name"
CLASSITEM "capital"
CLASS
EXPRESSION "1"
TEMPLATE "ttt_query.html"
SYMBOL 2
SIZE 8
NAME "Cities"
COLOR 0 0 0
END

Harap diperhatikan, bahwa penulisan nama kolom data atribut pada LABELITEM,
CLASSITEM, dan lain-lain harus menggunakan huruf kecil. Begitu juga dengan isi dari
definisi EXPRESSION, harus sesuai dengan penulisan perintah yang dimengerti oleh
database postgresql. Sehingga berikut ini perubahan yang terjadi pada file konfigurasi perta
(.map)

Layer land_fn
#DATA land_fn
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM tland_fn USING UNIQUE gid"

Layer park
#DATA park
CONNECTIONTYPE POSTGIS

www.hatma.info 2
WebgGIS dengan MapServer – MapLab – Chameleon - PostGIS

CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"


DATA "the_geom FROM tpark USING UNIQUE gid"

Layer drain_fn
#DATA drain_fn
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM tdrain_fn USING UNIQUE gid"
FILTER "poly_featu = 16 OR poly_featu = 21"
CLASSITEM "poly_featu"

Layer drainage
#DATA drainage
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM tdrainage USING UNIQUE gid"
FILTER "poly_featu = 0"
CLASSITEM "poly_featu"

Layer prov_bound
#DATA province
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM tprovince USING UNIQUE gid"

Layer fedlimit
#DATA fedlimit
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM tfedlimit USING UNIQUE gid"

Layer rail
#DATA rail
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM trail USING UNIQUE gid"

Layer road
#DATA road
CONNECTIONTYPE POSTGIS

www.hatma.info 3
WebgGIS dengan MapServer – MapLab – Chameleon - PostGIS

CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"


DATA "the_geom FROM troad USING UNIQUE gid"

Layer popplace
#DATA popplace
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM tpopplace USING UNIQUE gid"
FILTER "capital >= 1 AND capital <= 3"
LabelItem "name"
CLASSITEM "capital"

Layer "grid"
#DATA "grid"
CONNECTIONTYPE POSTGIS
CONNECTION "user=hatma_s dbname=dbspatialdemo host=localhost port=5432 password=2006bedogtelu"
DATA "the_geom FROM tgrid USING UNIQUE gid"
Beberapa perubahan pada file chameleon.php

Setelah file konfigurasi selesai dirubah, selanjutnya kita ujicoba apakah aplikasi yang sudah
kita buat dapat berjalan dengan baik, dan apakah data yang ditampilkan sama dengan data
yang ditampilkan pada aplikasi demo yang masih mengambil data dari file shp.

www.hatma.info 4
WebgGIS dengan MapServer – MapLab – Chameleon - PostGIS

Tampilan program dengan mengambil data dari database

www.hatma.info 5

You might also like