Pada artikel sebelumnya, saya pernah membahas "menampilkan map atau peta dari file shp/shape". Tapi untuk saat ini, saya akan membahas artikel "menampilkan map atau peta dari database dengan postgresql". Untuk langkah-langkahnya dapat anda ikuti di bawah ini :
- Copypaste sourcecode di bawah ini ke dalam notepad dan ganti extensinya menjadi map. Contoh : mapcom.map
- Copypaste sourcecode dibawah ini ke dalam notepad dan ganti ekstensinya menjadi php. Contoh: show.php.
- Buka web browser, lalu akses file show.php di localhost. Hasilnya akan seperti gambar di bawah ini.
MAP
NAME PADANG # nama peta
IMAGETYPE PNG # file yang dihasilakn akan berformat PNG
EXTENT 112.28791809082 -1.13623702526093 112.512008666992 -0.785094976425171
STATUS ON
UNITS DD # satuan koordinat peta dalam derajat
SIZE 3000 3000 # ukuran file atau citra berukuran 384x204
SHAPEPATH "..\shp" # tempat menyimpan shp
FONTSET "..\etc\font\font.dat"
SYMBOLSET "..\etc\simbol\simbol.sym"
IMAGECOLOR 255 255 255 # warna latar belakang peta
LEGEND
KEYSIZE 18 12
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 89
END
STATUS ON
END
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
QUERYMAP
STYLE HILITE
COLOR 255 0 0
END
PROJECTION
'init=epsg:4326'
END
LAYER
NAME Jalan
TYPE POLYGON
STATUS DEFAULT
CONNECTIONTYPE POSTGIS
CONNECTION 'user=postgres password=mapcom123 dbname=mapcom host=localhost port=5432'
DATA 'the_geom FROM (SELECT jalan.the_geom as the_geom,jalan.nama as nama,jalan.gid as gid from jalan) as jalan USING UNIQUE gid USING SRID=-1'
LABELITEM 'nama'
CLASS
TEMPLATE 'ttt_query.html'
LABEL
FONT arial
TYPE TRUETYPE
SIZE 8
POSITION CR # posisi label tengah-tengah
COLOR 50 50 50
END # label
COLOR 0 255 0
OUTLINECOLOR 0 255 0
END
END
END
NAME PADANG # nama peta
IMAGETYPE PNG # file yang dihasilakn akan berformat PNG
EXTENT 112.28791809082 -1.13623702526093 112.512008666992 -0.785094976425171
STATUS ON
UNITS DD # satuan koordinat peta dalam derajat
SIZE 3000 3000 # ukuran file atau citra berukuran 384x204
SHAPEPATH "..\shp" # tempat menyimpan shp
FONTSET "..\etc\font\font.dat"
SYMBOLSET "..\etc\simbol\simbol.sym"
IMAGECOLOR 255 255 255 # warna latar belakang peta
LEGEND
KEYSIZE 18 12
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 89
END
STATUS ON
END
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
QUERYMAP
STYLE HILITE
COLOR 255 0 0
END
PROJECTION
'init=epsg:4326'
END
LAYER
NAME Jalan
TYPE POLYGON
STATUS DEFAULT
CONNECTIONTYPE POSTGIS
CONNECTION 'user=postgres password=mapcom123 dbname=mapcom host=localhost port=5432'
DATA 'the_geom FROM (SELECT jalan.the_geom as the_geom,jalan.nama as nama,jalan.gid as gid from jalan) as jalan USING UNIQUE gid USING SRID=-1'
LABELITEM 'nama'
CLASS
TEMPLATE 'ttt_query.html'
LABEL
FONT arial
TYPE TRUETYPE
SIZE 8
POSITION CR # posisi label tengah-tengah
COLOR 50 50 50
END # label
COLOR 0 255 0
OUTLINECOLOR 0 255 0
END
END
END
Keterangan :
- Yang perlu diperhatikan yaitu FONTSET dan SYMBOLSET, pastikan lokasi filenya benar.
- Pada bagian CONNECTION, pastikan (user, password, dbname, host dan port) diisi dengan benar.
- Pada bagian DATA, pastikan select tabelnya dilakukan dengan benar, terutama select the_geom dan gid. Dan pastikan juga, tabel yang di select itu ada. Kalau pada contoh, saya select tabel jalan.
- LABELITEM, berguna untuk menampilkan label pada item yang akan ditampilkan. Contohnya saya menampilkan layer jalan, jadi akan terlihat nama-nama jalan dibeberapa lokasi, seperti : jl.S.parman, jl.A.yani. Data itu didapat dari "jalan.nama as nama" pada select tabel. Jadi nama saya jadikan label item. Makanya LABELITEM 'nama'.
<img border="0" src="http://localhost/cgi-bin/mapserv.exe?map=C:\ms4w\apache\htdocs\andre\map\andre.map&mode=map">
Keterangan :
Ganti "C:\ms4w\apache\htdocs\andre\map\andre.map" dengan lokasi dimana file map anda berada.
0 Komentar
Terimakasih telah berkomentar