LATAR BELAKANG
Teknologi GIS (Georaphic Information System) telah berkembang pesat. Saat ini
telah dikenal istilah-istilah Desktop GIS, WebGIS, dan Database Spatial yang merupakan
wujud perkembangan teknologi Sistem Informasi Geografis, untuk mengakomodir kebutuhan
solusi atas berbagai permasalahan yang hanya dapat dijawab dengan tekhnologi GIS ini.
Saat ini ada beberapa teknologi yang dapat digunakan untuk membangun sistem
WebGIS. Salah satu yang paling populer adalah MapServer, yang menggunakan konsep
Open Source. Sedangkan untuk pilihan teknologi Database Spatial, PostgreSQL merupakan
pilihan database Open Source yang paling populer, dengan dukungan ekstensi spatial yang
bernama POSTGIS.
Oleh karena itu, kali ini kami akan mencoba melakukan riset sedherhana tentang
bagaimana mengembangkan aplikasi WebGIS dengan MapServer PostGIS, yang hasilnya
akan kami publikasikan di internet. Dengan harapan tutorial dan sample aplikasi WebGIS
yang kami kembangkan akan dapat bermanfaat bagai rekan-rekan sesama pengembang
teknologi informasi untuk dapat lebih mudah menguasai bagaimana membangun sistem
WebGIS dengan MapServer PostGIS. Sehingga dapat bermanfaat bagi kemajuan teknologi
informasi di Indonesia.
Hasil dari penelitian ini akan dituliskan menjadi delapan bab yang masing-masingnya dapat
didownload secara bebas pada situs www.hatma.info/download/gis/webgis/ , yaitu :
I . LATAR BELAKANG
II. PENDAHULUAN
III. INSTALASI MS4W, MAPLAB DAN CHAMELEON
IV. MEMBUAT APLIKASI DEMO WEBGIS MAPSERVER
V. INSTALASI POSTGRESQL DAN SEKILAS TENTANG POSTGIS
II. PENDAHULUAN
MS4W (MapServer For Windows) adalah bundle instalasi MapServer untuk platform
Windows. Dimana MapServer ( http://mapserver.gis.umn.edu ) merupakan aplikasi freeware
dan Open Source untuk dapat menampilkan Sistem Informasi Geografis di web.
Saat ini, selain dapat mengakses MapServer sebagai program CGI, kita dapat
mengakses MapServer sebagai modul MapScript, melalui berbagai bahasa pemrograman,
seperti PHP, Perl, Python, Java dan lain sebagainya. Akses fungsi-fungsi MapServer melalui
skrip akan lebih memudahkan pengembangan aplikasi WebGIS.
PostgreSQL adalah database Open Source yang cukup populer, karena ketangguhan
dan kemampuannya dalam mengelola data. PostgreSQL mempunyai ekstensi PostGIS, yang
menawarkan kemampuan untuk mengelola data spatial untuk aplikasi Sistem Informasi
Geografis. Informasi mengenai PostgreSQL dapat diperoleh pada situs www.postgresql.org .
Sedang informasi untuk PostGIS dapat diperoleh dari situs http://postgis.refraction.net .
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
www.hatma.info 1
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
MS4W
MS4W dapat di download di www.maptools.org . Di dalamnya sudah menyatu
aplikasi Apache Web Server, PHP, Map Server dan berbagai library yang dibutuhkan untuk
membangun sistem WebGIS. Ada dua buah versi yang MS4W yang dapat didownload, versi
1.x dan versi 2.x .Akan tetapi jika kita hendak menggunakan framework chameleon, lebih
baik pilih MS4W versi 1.x (yang digunakan saat ini adalah versi 1.6) karena Chameleon
belum mendukung secara sempurna PHP5 pada paket MS4W versi 2.x .
PHP MapScript
Untuk mengaktifkan modul PHP/Mapscript, kita harus melakukan sedikit perubahan
pada konfiurasi php.ini yang terletak di D:\ms4w\Apache\cgi-bin\php.ini. hilangkan karakter
; pada ;extension=php_mapscript_4.10.0.dll. Kemudian restart Apache dengan
mengeksekusi apache-restart.bat.
www.hatma.info 1
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
Msinfo.php
www.hatma.info 2
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
Untuk lebih mudahnya, kita akan menggunakan demo aplikasi Web GIS berbasis
MapServer dan framework Chameleon yang dapat di download di
http://www.hatma.info/download/gis/Demo_MapServer.zip . Setelah download selesai,
ekstrak isi nya ke direktori yang sesuai, yaitu : apps, http.d dan Apache/htdocs, pada direktori
ms4w anda. Kemudian restart Apache dengan mengeksekusi apache-restart.bat. Buka
http://localhost dengan web browser, kemudian klik link demo pada Hatma Suryotrisongko
Demo Web GIS URLs: ( http://localhost/demo/demo.phtml )
www.hatma.info 1
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
demo.html
Berisi template untuk interface aplikasi, dengan kode program/tag HTML standard dan
program/tag framework chameleon, dengan ciri-ciri dibuka dekan tag <cwc2 ...> dan ditutup
dengan </cwc2>
<body onLoad="myOnLoad()">
<form method="post">
............................... dst ...................................
<!-- include the javascript code that manages the DHTML layers -->
<script language="JavaScript" src="sample.js" type="text/javascript"></script>
</form>
</body>
</html>
demo.phtml
Berisi pemanggilan class utama chameleon, mendefinisikan file template dan file map
<?php
include( "../../htdocs/chameleon.php" );
www.hatma.info 2
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
$szTemplate = "./demo.html";
$szMapFile = "../map/chameleon.map";
DATA SHP
Data spatial peta disimpan dengan format ESRI shp pada direktori
D:\ms4w\apps\demo\samples\data .
o image raster : layer bathymetry (bath_mapserver.tif)
o polygon : layer land_fn (land_fn.shp); layer park (park.shp); layer drain_fn
(drain_fn.shp); layer drainage (drainage.shp)
o line : layer prov_bound (province.shp); layer fedlimit (fedlimit.shp); layer rail (rail.shp);
layer road (road.shp);
o point : layer popplace (popplace.shp);
o grid : layer grid (grid.shp)
definisi umum
#
# Start of map file
#
# Sample map file for a chameleon app.
www.hatma.info 3
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
#
NAME DEMO
STATUS ON
SIZE 400 300
SYMBOLSET ../etc/symbols.sym
EXTENT -2594561 -712631 3467361 3840000
UNITS METERS
SHAPEPATH "../data"
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
TRANSPARENT FALSE
peta referensi
#
# Start of reference map
#
REFERENCE
IMAGE images/keymap.gif
EXTENT -2594561 -712631 3467361 3840000
STATUS ON
COLOR -1 -1 -1
OUTLINECOLOR 255 0 0
SIZE 120 90
END
skala
#
# Start of scalebar
#
www.hatma.info 4
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
COLOR 0 0 0
SIZE SMALL
END
SIZE 150 5
COLOR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS kilometers
INTERVALS 5
STATUS ON
END
Definisi Layer:
layer bathymetry (bath_mapserver.tif), raster image
LAYER
GROUP "Raster"
NAME bathymetry
METADATA
"DESCRIPTION" "Elevation/Bathymetry"
"GROUP" "Raster"
"LAYER" "bathymetry"
END
TYPE RASTER
STATUS ON
DATA bath_mapserver.tif
PROJECTION
"init=epsg:42304"
END
END
www.hatma.info 5
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
LAYER
GROUP "Polygon"
NAME land_fn
METADATA
"DESCRIPTION" "Foreign Lands"
"GROUP" "Polygon"
"LAYER" "land_fn"
END
TYPE POLYGON
STATUS ON
DATA land_fn
CLASS
NAME "Foreign Lands"
COLOR 240 240 240
OUTLINECOLOR 199 199 199
END
PROJECTION
"init=epsg:42304"
END
END
www.hatma.info 6
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
"RESULT_FIELDS" "NAME"
"GROUP" "Point"
"LAYER" "popplace"
END
TYPE POINT
STATUS ON
DATA popplace
LabelItem "Name"
CLASSITEM "Capital"
CLASS
EXPRESSION "1"
TEMPLATE "ttt_query.html"
SYMBOL 2
SIZE 8
NAME "Cities"
LABEL
COLOR 255 0 0
FONT fritqat-italic
TYPE truetype
SIZE 8
POSITION AUTO
PARTIALS FALSE
OUTLINECOLOR 255 255 255
END
COLOR 0 0 0
END
CLASS
EXPRESSION /2|3/
TEMPLATE "ttt_query.html"
SYMBOL 7
SIZE 6
NAME "Cities"
LABEL
COLOR 0 0 0
FONT fritqat
TYPE truetype
SIZE 8
POSITION AUTO
PARTIALS FALSE
OUTLINECOLOR 255 255 255
END
COLOR 0 0 0
END
TOLERANCE 5
PROJECTION
"init=epsg:42304"
END
END
www.hatma.info 7
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
www.hatma.info 8
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
MapEdit sedang membuka file konfigurasi peta dari sample web GIS diatas
Tes konfigurasi yang telah kita buat, dengan klik tombol preview
www.hatma.info 9
V. INSTALASI POSTGRESQL DAN SEKILAS TENTANG POSTGIS
Bagian ini akan mengulas secara sederhana tentang POSTGIS (ekstensi spasial untuk
database PostgreSQL). Database yang digunakan : postgresql-8.2.3-1 ; pada platform
Windows
OBJEK SPASIAL
PostGIS mendukung semua objek spasial yang di spesifikasikan oleh OpenGIS Consortium
(http://www.opengis.org) pada dokumen Simple Features for Specification for SQL
(http://www.opengis.org/techno/specs/99-049.pdf). Postgis juga mengembangkan
kapabilitasnya dengan 3DZ, 3DM dan 4D koordinat.
Contoh WKT :
POINT(0 0)
LINESTRING(0 0,1 1,1 2)
POLYGON((0 0,4 0,4 4,0 4,0 0),(1 1, 2 1, 2 2, 1 2,1 1))
MULTIPOINT(0 0,1 2)
MULTILINESTRING((0 0,1 1,1 2),(2 3,3 2,5 4))
MULTIPOLYGON(((0 0,4 0,4 4,0 4,0 0),(1 1,2 1,2 2,1 2,1 1)), ((-1 -1,-1 -2,-2 -2,-2 -1,-1 -1)))
GEOMETRYCOLLECTION(POINT(2 3),LINESTRING((2 3,3 4)))
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
Input data pada database biasanya menggunakan format WKT seperti diatas. Akan tetapi data
spasial disimpan pada database dengan format heksadesimal. Kita dapat memanipulasi format
Input/Output, sebagai berikut:
www.hatma.info 1
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
Jika tidak ingin pusing dengan SRID (Spatial Reference ID), berikan nilai SRID = -1. Misal:
Perhatikan bahwa OGC geometries tidak memperbolehkan nilai Z atau M. Sehingga bagian
dimension cukup kita beri nilai 2.
isvalid | isvalid
---------+---------
t |f
Ada cara untuk mempermudah kita menjaga data supaya tetap memenuhi standar, yaitu
dengan membuat satu check constraint . Misal :
ALTER TABLE mytable ADD CONSTRAINT geometry_valid_check CHECK (isvalid(the_geom));
check constraint juga akan dibuat secara otomatis apabila kita menambahkan kolom
geometris dengan perintah AddGeometryColumn().
www.hatma.info 2
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
BEGIN;
INSERT INTO ROADS_GEOM (ID,GEOM,NAME ) VALUES
(1,GeomFromText(LINESTRING(191232 243118,191108 243242),-1),Jeff Rd);
INSERT INTO ROADS_GEOM (ID,GEOM,NAME ) VALUES
(2,GeomFromText(LINESTRING(189141 244158,189265 244817),-1),Geordie Rd);
INSERT INTO ROADS_GEOM (ID,GEOM,NAME ) VALUES
(3,GeomFromText(LINESTRING(192783 228138,192612 229814),-1),Paul St);
INSERT INTO ROADS_GEOM (ID,GEOM,NAME ) VALUES
(4,GeomFromText(LINESTRING(189412 252431,189631 259122),-1),Graeme Ave);
INSERT INTO ROADS_GEOM (ID,GEOM,NAME ) VALUES-
(5,GeomFromText(LINESTRING(190131 224148,190871 228134),-1),Phil Tce);
INSERT INTO ROADS_GEOM (ID,GEOM,NAME ) VALUES-
(6,GeomFromText(LINESTRING(198231 263418,198213 268322),-1),Dave Cres);
COMMIT;
MENGGUNAKAN SHP2PGSQL
Jika kita telah mempunyai file shp yang berisi data-data spasial kita, lebih mudah
menggunakan shp2pgsql data loader yang akan mengkonversi file ESRI shp ke dalam SQL.
Shp2pgsql dapat kita jalankan pada "psql" SQL terminal monitor. Misal :
www.hatma.info 3
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
o &&
Mengatakan apakah batas luar geometry sebuah objek intersects / beririsan dengan batas
luar geometry objek lain.
o ~=
Mengetes apakah 2 buah geometry adalah identik. Misal, apakah POLYGON((0 0,1 1,1
0,0 0)) identik dengan POLYGON((0 0,1 1,1 0,0 0)) (ya).
o =
Mengetes apakah batas luar 2 buah geometry adalah identik
Contoh :
SELECT ID, NAME
FROM ROADS_GEOM
WHERE GEOM ~= GeomFromText(LINESTRING(191232 243118,191108 243242),-1);
MENGGUNAKAN PGSQL2SHP
Kita dapat menggunakan pgsql2shp untuk mengkonversi tabel (atau data spasial tertentu pada
database kita) ke dalam format file ESRI .shp
Tabel dengan 1 juta barisdata, pada mesin 300MHz Solaris, membutuhkan waktgu komputasi
1 jam.
www.hatma.info 4
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
Kemudian eksekusi perintah untuk membuat / mengupdate geometry statistic yang sangat
penting, untuk optimasi eksekusi query oleh database.
Sebaiknya Vacuum Database dilakukan secara rutin, seperti pada kebanyakan PostgreSQL
DBA melakukan VACUUM dengan cron job secara periodic, untuk menjaga agar index
dapat berfungsi secara baik dalam mempercepat query.
COMPLEX QUERIES
Kita dapat menggunakan fungsi-fungsi geometry dalam perintah query kita. Misalkan fungsi
distance() yang digunakan untuk mengukur jarak antar 2 buah objek geometry.
Kita dapat menggunakan fungsi expand() untuk menemukan objek geometri dalam radius
dari suatu objek:
www.hatma.info 5
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
www.hatma.info 6
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
Atau
SELECT max(area(the_geom)/10000) AS LUAS_HEKTAR
FROM bc_municipality ;
6. Buat table baru dengan isi : semua jalan pada kota AREA PERTAMA dengan tambahan
kolom panjang jalan tersebut disemua kota , dan titik perpotongannya dengan kota AREA
PERTAMA.
CREATE TABLE pg_roads AS
SELECT r.*,
ASTEXT( INTERSECTION(r.the_geom, m.the_geom)) AS "PERPOTONGAN DI :",
LENGTH(r.the_geom)/1000 AS "PANJANG ASLI JALAN (KM)"
FROM bc_roads r, bc_municipality m
WHERE r.the_geom && m.the_geom
AND CONTAINS(m.the_geom, r.the_geom)
AND m.name = 'AREA PERTAMA' ;
www.hatma.info 7
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
Pada pembahasan diatas kita telah mempunyai beberapa data shp yang digunakan dalam
sample/demo WebGIS, antara lain :
o image raster : layer bathymetry (bath_mapserver.tif)
o polygon : layer land_fn (land_fn.shp); layer park (park.shp); layer drain_fn
(drain_fn.shp); layer drainage (drainage.shp)
o line : layer prov_bound (province.shp); layer fedlimit (fedlimit.shp); layer rail (rail.shp);
layer road (road.shp);
o point : layer popplace (popplace.shp);
o grid : layer grid (grid.shp)
Selanjutnya kita akan mengubah data shp diatas menjadi bentuk tabel didalam database
PostgreSQL.
www.hatma.info 1
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
www.hatma.info 2
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
4. Copy file-file shp yang ada digunakan pada aplikasi sample demo WebGIS diatas, dari
folder D:\ms4w\apps\demo\samples\data ke dalam direktori bin pada instalasi server
PostgreSQL (C:\Program Files\PostgreSQL\8.2\bin ).
5. Kemudian jalankan "psql" SQL terminal monitor, dan lakukan konversi dari semua file
shp diatas kedalam bentuk *.sql. Sehingga diperoleh sepuluh file sql.
www.hatma.info 3
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
6. Amati file sql, yang isinya akan membuat table dan isinya sesuai dengan file shp.
contoh isi file sql (road.sql) :
BEGIN;
CREATE TABLE "troad" (gid serial PRIMARY KEY,
"fnode_" int8,
"tnode_" int8,
"lpoly_" int8,
"rpoly_" int8,
"length" float8,
"road_" int8,
"road_id" int8,
"f_code" int2,
"name_e" varchar(26),
"name_f" varchar(26));
SELECT AddGeometryColumn('','troad','the_geom','-1','MULTILINESTRING',2);
INSERT INTO "troad" ("fnode_","tnode_","lpoly_","rpoly_","length","road_","road_id","f_code","name_e","name_f",the_geom)
VALUES
('65','70','3','3','31779.260','1','1','74',NULL,NULL,'01050000000100000001020000000400000000000000164F414100000060EB773
341000000A0EC494141000000808A71334100000080DF2B414100000080CE3E334100000000C41F414100000000E0273341');
.
7. load semua file sql tersebut kedalam database postgreSQL dengan cara mengeksekusi
perintah dengan format psql -d [target_database] -f [file_sql] pada SQL terminal
monitor
o psql -d dbspatialdemo -f road.sql
o psql -d dbspatialdemo -f rail.sql
o psql -d dbspatialdemo -f province.sql
o psql -d dbspatialdemo -f popplace.sql
o psql -d dbspatialdemo -f park.sql
o psql -d dbspatialdemo -f land_fn.sql
o psql -d dbspatialdemo -f grid.sql
o psql -d dbspatialdemo -f fedlimit.sql
o psql -d dbspatialdemo -f drainage.sql
o psql -d dbspatialdemo -f drain_fn.sql
Amati hasilnya.
Kolom geometry bertipe POINT terdapat pada tabel : tpopplace
Kolom geometry bertipe MULTILINESTRING terdapat pada tabel : troad ; trail ;
tgrid ; tfedlimit
www.hatma.info 4
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
8. Buat index GIST pada masing-masing kolom yang bertipe geometry pada masing-masing
tabel. Kemudian lakukan vacuum analyze, untuk mengupdate statistik geometry (lakukan
vacuum secara rutin, terlebih ketika ada perubahan pada data spatial)
9. Buat gid index pada masing-masing table. Karena untuk mempercepat query, maka
diperlukan suatu kolom yang unique pada suatu table geometry, dengan index yang telah
didefinisikan padanya :
www.hatma.info 5
WebgGIS dengan MapServer MapLab Chameleon - PostGIS
10. Lihat pada pgAdmin, apakah sepuluh table dan isinya telah masuk dalam database. Jika
benar, maka anda telah berhasil memasukkan data shp ke dalam table di database.
www.hatma.info 6
WebgGIS dengan MapServer MapLab Chameleon - 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
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 :
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.
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
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
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
www.hatma.info 5
VIII. KESIMPULAN
Penelitian ini berhasil mengembangkan 2 buah aplikasi demo WebGis. Aplikasi yang
pertama memperagakan WebGis MapServer dengan pengambilan data dari file ESRI shp
dan table dbf (http://www.hatma.info/download/gis/Demo_MapServer.zip). Sedangkan
aplikasi kedua memperagakan WebGis MapServer PostGIS dengan pengambilan data
dari database (http://www.hatma.info/download/gis/Demo_MapServer_PostGIS.zip).
Sedangkan hasil dari penelitian sederhana ini telah berhasil dipulikasikan di internet
pada situs http://www.hatma.info. Dengan harapan untuk dapat memberikan sumbangsih
pada dunia pendidikan teknologi informasi di indonesia, supaya dapat lebih mudah
memahami dan menguasai pengembangan Sistem Informasi Geografis berbasis Web
(WebGIS). Apabila ada masukan ataupun pertanyaan, jangan sungkan-sungkan menghubungi
penulis di hatma_s@yahoo.com.sg. Publikasi tersebut dapat dilihat pada link sebagai berikut
http://hatma.info/?p=96