|
Data Tabular dari file peta shapefile adalah berupa DBF. Banyak developer mapObject yang tidak begitu suka untuk membuat data-data pendukung untuk data peta dalam bentuk dbf ini. Alasannya mungkin karena untuk memanipulasi database yang berupa dbf tidak bgitu se-flexible jika dengan Access atau SQLServer. Tapi kesulitannya adalah jika database-nya berupa database eksternal, maka akan susah dalam menuangkan nilai-nilai field-nya kedalam rendering peta. Misal untuk membuat warna yang gradasi menurut jumlah penduduk, padahal jumlah penduduk disimpan di database eksternal.
Maka biasanya database untuk data-data tabular tetap dalam database ‘normal’, sedang untuk menghubungkan antara database ini dengan data peta-nya, melalui dbf. Kunci-nya adalah dibuat sebuah field sebagai key di dbf dan juga di database eksternal, dimana melalui field inilah nanti data spatial di dbf diupdate berdasar nilai di database eksternal. Sebagai contoh, misal terdapat peta Kabupaten-kabupaten Jawa Timur. Kemudian database eksternal yang digunakan adalah Ms. Access. Terdapat field Kabupaten yang digunkan sebagai key untuk menyambung antara data dbf dengan data eksternal. Dan terdapat field temporary di dbf untuk menyimpan data perhitungan yang nantinya akan digunakan untuk rendering peta. Seperti terlihat pada gambar 1 dan 2.
 Gambar 1. Tabel di file DBF ( tabel internal)
 Gambar 2. Tabel di file Access (eksternal)
Didalam Program VB-nya, dibuat editor untuk pengaksesan dan pengubahan nilai untuk database eksternal. Untuk mudahnya, disini saya menggunakan component Microsoft ADO Data Control 6.0 (OLEDB) dan Microsoft Datagrid Control 6.0 (OLEDB). Yang selain tinggal klak klik juga memungkinkan untuk diganti dengan database lain seperti SQL Server atau Oracle. Kemudian ditambahkan conponent Map untuk melihat peta yang nantinya akan dirender berdasar nilai di database Access ini. Dimana dalam contoh ini akan dirender dalam 10 kelompok bernilai 0 sampai 100 denga warna gradasi dari kuning ke merah. Bagian yang penting adalah saat sinkronisasi data. Disini perlu dilakukan pengaksesan pada kedua tabel (di dbf dan di mdb) yang jika nilai field Kabupatennya sama, maka nilai di dbf diupdate dengan nilai di mdb.Gambar 3 adalah hasilnya.
Berikut adalah kode programnya:  Gambar 3. Contoh tampilan dan berikut adalah kode programnya: Private Sub Command1_Click() 'sinkronisasi data Dim rs As MapObjects2.Recordset Dim rs2 As ADODB.Recordset Dim L As MapLayer Set rs2 = Adodc1.Recordset Set L = Map1.Layers(0) Set rs = L.Records rs2.MoveFirst While Not rs2.EOF rs.MoveFirst While Not rs.EOF If rs2.Fields("Kabupaten").Value = rs.Fields("Kabupaten").Value Then rs.Edit rs.Fields("Temp").Value = rs2.Fields("nilai").Value rs.Update End If rs.MoveNext Wend rs2.MoveNext Wend Map1.Layers.Clear ShowMap End Sub Private Sub Form_Load() dc.Database = App.Path dc.Connect ShowMap End Sub Private Sub ShowMap() 'tampilkan peta render Dim L As New MapLayer Dim cb As New ClassBreaksRenderer Dim i As Long Set L.GeoDataset = dc.FindGeoDataset("jatim") cb.Field = "temp" cb.BreakCount = 10 For i = 0 To cb.BreakCount - 1 cb.Break(i) = i * 10 Next cb.RampColors moYellow, moRed Set L.Renderer = cb Map1.Layers.Add L End Sub
|
Kuliah TKI - Blog da...
mm Apparently, 21,000 boots imported by
Clas-class php yang ...
mm Apparently, 21,000 boots imported by
Kuliah TK Internet :...
mm Apparently, 21,000 boots imported by
The Power of GIS - U...
mm Apparently, 21,000 boots imported by
Kuliah TK Internet :...
mm Apparently, 21,000 boots imported by
JPGraph - membuat gr...
timberland - mm Apparently, 21,000 bo...
Kuliah TKI : Ajax - ...
mm Apparently, 21,000 boots imported by
Banner spesial untuk...
mm Apparently, 21,000 boots imported by