Latar Belakang
Dalam tulisan saya terdahulu menjelaskan cara import peta digital dari QuantumGIS ke database Postgre. sekarang menjelaskan bagaimana caranya menampilkan peta digital yang tersimpan dalam database postgre tersebut dengan bantuan library postgis.
Dalam konsep GIS web base yang saya tau, peta digital itu dapat disimpan dalam file SHP dapat juga disimpan dalam sebuah database. dalam project saya waktu penulisan ilmiah, saya menggunakan teknik pertama yaitu menyimpan peta digital kedalam kumpulan file-file SHP. untuk pengembangannya sekarang saya mempelajari teknik menyimpan peta digital kedalam sebuah database postgre menggunakan library postgis.
Tahap Persiapan
yang harus disiapkan dalam percobaan ini adalah file peta_db.map yang berisi script mapserver yang digunakan untuk melakukan koneksi ke database postgre. dan menjalankan query untuk menampilkan peta digital yang ada didalam tabel distrik yang sebelumnya sudah terbuat dan sudah berisi data.
Tahap Coding
kita membuat sebuah file peta_db.map yang sisimpan dalam folder C:\ms4w\apps\map\
#
# Komentar untuk mapfile ybs.
#
MAP # tanda awal mapfile
NAME District #
IMAGETYPE JPEG # bisa PNG, GIF, dll
EXTENT -119.88000 36.53000 -119.33000 36.89000 # B1,L1; B2,L2
STATUS ON #
UNITS DD # satuan derajat
SIZE 350 400 # ukuran image
SHAPEPATH “\ms4w\apps\map\shp”
IMAGECOLOR 255 255 255
#
# Mulai pendefinisian layers
#
LAYER
NAME District
STATUS ON
TYPE POLYGONCONNECTIONTYPE POSTGIS
CONNECTION “host=localhost dbname=testgis user=postgres password=shugaru7 port=5432”
DATA “the_geom from distrik”CLASS
NAME “District”
STYLE
COLOR 179 243 251
OUTLINECOLOR 0 0 0
END # style
END # class
END # Akhir definisi layer
#
END # Akhir mapfile
Membuat Halaman Web
kita membuat sebuah file index_db.html yang sisimpan dalam folder C:\ms4w\Apache\htdocs\web\
Menampilkan Peta dari Postgis-Mapserver
<img border=”1″ src=”http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/map/peta_db.map&layer=District&mode=map“>
Tahap Testing
Untuk menjalankannya kita menggunakan sebuah web browser dan mengetikan alamat url :
- http://localhost/web/index_db.html
- Anda juga dapat menggunakan alamat URL langsung menuju file mapservernya http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/map/peta_db.map&layer=District&mode=mapsehingga hasilnya akan tampil seperti dibawah ini :
Sekian artikel dari saya semoga bermanfaat untuk teman-teman dan anda semua…aamiin
Depok, 13-06-2011
KangAgus
Filed under: Website | Tagged: dari, digital, ke, mapserver, menampilkan, peta, Postgis |
pak.agus rajin nih bikin artikel nya.hehe
mw tanya klo utk CREATE dan query nya gmna??
saya bikin GIS php-mysql, tpi trnyata mysql kurng mndukung utk data spasialnya. nahh skrng saya lgi mncari pmbelajaran utk php-postgis. tpi saya gg tau utk CREATE dll nya. mohon dgn sangat (^.^’) ilmu dri p.agus nihh ttng php-postgis ini.thanx
LikeLike
Mz, HELP me….
Aq ud nulis script CONNECTION yang sama dengan script yg di t4 mu itu & juga yg memang banyak dicontohkan di berbagai tutorial. TAPI,,,,, conection nya selalu gagal >.<
PADAHAL script nya ud sama persis.
APA memang ada setting-an lain di mapserver, ataupun setting-an yg lain??
Mohon bantuannya, aq ud bener2 pusink ni….
mksi, mz 🙂
LikeLike
ass mas..
sdh sy ikuti contohnya mas….
tp kok muncul bgini….
msDrawMap(): Image handling error. Failed to draw layer named ‘District’. prepare_database(): Query error. Error declaring cursor: ERROR: function force_2d(geometry) does not exist LINE 1: …INARY CURSOR FOR SELECT asbinary(force_collection(force_2d(t… ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. With query string: DECLARE mycursor BINARY CURSOR FOR SELECT asbinary(force_collection(force_2d(the_geom)),’NDR’),OID::text from “fdistrict” WHERE the_geom && setSRID(‘BOX3D(-119.88 36.3956017191977,-119.33 37.0243982808023)’::BOX3D, find_srid(”,'”fdistrict”‘,’the_geom’) ) msPOSTGISLayerRetrievePGVersion(): Query error. Error executing POSTGIS statement (msPOSTGISLayerRetrievePGVersion():select substring(version() from 12 for (position(‘on’ in version()) – 13))
LikeLike
mas kalok misalkan sy mnggunakan arcview 3.3 kemudian sy mengkonvertnya menggunakan cara sperti pengkonverttan mapserver yg langsung masuk ke database, apakah scripnya sama dengan yg diatas?
LikeLike
kenapa setelah di upload data map nya, tidak muncul, koneksinya dari alamatnya gimana yah setelah di upload
LikeLike
terima kasih artikelnya sangat bermanfaat untuk seorang pemula seperti saya untuk sedikit manambah ilmu walau saya belum sempatg mencobanya…
Kunjungi website saya juga ya https://haryono.mahasiswa.atmaluhur.ac.id/
dan website kampus saya : http://www.atmaluhur.ac.id/
LikeLike