Upload
fredi-satya-candra-rosaji
View
110
Download
0
Embed Size (px)
Citation preview
1
ACARA V BASIS DATA SIG VEKTOR
DASAR TEORI
Sistem informasi geografis (SIG) merupakan sistem berbasis komputer yang digunakan
untuk menyimpan dan memanipulasi informasi geografis. Teknologi ini telah berkembang
begitu cepat selama dua dekade terakhir dan sekarang telah diterima sebagai alat pokok untuk
penggunaan informasi geografis yang efektif (Aronof, 1989).
Format data pada SIG dibagi atas dua yaitu data raster dan vektor. Banyak tipe software
untuk mengelola data SIG vektor beserta tipe filenya masing-masing. Pada database SIG
vektor bertipe shape file, setiap layer peta/ feature class dikelola pada satu tabel. Sebuah
kolom Shape dalam setiap baris digunakan untuk menyimpan data geometri atau bentuk
masing-masing fitur.
Dalam konteks pemrograman spasial untuk dapat mengakses data spasial pada database
dapat dilakukan selayaknya mengakses cell pada pertemuan baris dan kolom dalam tabel
biasa, hanya saja pada database spasial cell tadi berisi data bertipe geomertri yang merupakan
bentuk masing-masing fitur dalam peta yang dapat diolah lebih lanjut untuk berbagai aplikasi
dalam SIG.
Membuat Program Latihan5
Program Latihan5 mempunyai kemampuan
1. Menambahkan data vektor 2. Merubah tampilan: Zoom In, Zoom Out, Full Extent, dan Pan 3. Mendapatkan nilai atribut pada data vektor 4. Mengganti nilai atribut pada data vektor
Tujuan latihan ini adalah
1. Berlatih menggunakan ActiveX Control MapWinGIS 2. Berlatih menangani database SIG vektor
2
LANGKAH KERJA
1. ActiveX Control MapWinGIS tidak ada pada control standard Microsoft Visual Basic 6 untuk itu silahkan install MapWinGIS pada komputer.
2. Tambahkan komponen MapWinGIS dengan cara klik kanan Toolbox kemudian klik Components. Maka akan muncul dialog Components, silahkan centang MapWinGIS Components.
3. Buatlah form dengan dilengkapi kontrol-kontrol sebagaimana gambar berikut:
3
Adapun properties pada kontrol-kontrol adalah sebagai berikut:
No Control Properties Value
1 Map Name Map1
2 CommandButton Name cmdOpenShapeFile
Caption Open Shape File
3 CommandButton Name cmdGetValue
Caption Get Value
4 TextBox Name Text1
Text
5 CommandButton Name cmdSetValue
Caption Set Value
6 ListBox Name List1
7 Frame Name Frame1
Caption Cursor Mode
8 OptionButton (sebanyak 5 buah dibuat dengan cara copy-paste)
Name optCursorMode
Index 0 1 2 3 4
Caption Zoom In
Zoom Out
Full Extent
Pan None
Value True False False False False
4. Tuliskan kode program sebagaimana tertulis pada Lampiran. 5. Jalankan program kemudian klik tombol Open Shape File maka akan muncul gambar
peta pada kontrol Map1. Pelajari scriptnya. 6. Klik tombol Get Value maka akan muncul daftar nilai pada kontrol List1. 7. Klik salah satu nilai pada List1 maka pada Text1 akan terisi dengan nilai yang sama, di
samping itu juga pada Map1 akan mengalami perbesaran pada data terpilih. Ganti nilai pada Text1 dan klik tombol Set Value maka data List1 juga ikut berubah, hali ini menandakan atribut peta telah berubah. Coba lihat peta yang telah Anda edit dengan software GIS yang lain (misal ArcGIS), check pada tabel atribut peta apakah sudah berubah. Pelajari scriptnya.
4
LAMPIRAN
Dim dataIndex As Long
Private Sub cmdOpenShapeFile_Click()
Dim sf As New MapWinGIS.Shapefile
sf.Open ("Data\states.shp")
'Keterangan: AddLayer(Object As Object, Visible As Boolean)
Map1.AddLayer sf, True
End Sub
Private Sub cmdGetValue_Click()
'Mengambil nilai pada tabel atribut dan
'memasukkan nilai ke dalam List1
Dim sf As New MapWinGIS.Shapefile
Set sf = Map1.GetObject(0)
Dim i As Integer
Dim txt As String
List1.Clear
For i = 0 To sf.NumShapes - 1
'Keterangan: CellValue(FieldIndex As Integer, ShapeIndex As Integer)
'Sesuaikan FieldIndex dangan kolom pada tabel atribut
txt = sf.CellValue(1, i)
List1.AddItem txt
Next
End Sub
Private Sub cmdSetValue_Click()
'Mengganti nilai dari objek yang dipilih pada List1
'dengan nilai yang ditulis pada Text1
Dim sf As New MapWinGIS.Shapefile
Set sf = Map1.GetObject(0)
'Keterangan: EditCellValue(FieldIndex As Integer,
' ShapeIndex As Integer, NewVal As Object)
sf.StartEditingTable
sf.EditCellValue 1, dataIndex, Text1.Text
sf.StopEditingTable True
'Update List1
Dim i As Integer
Dim txt As String
List1.Clear
For i = 0 To sf.NumShapes - 1
txt = sf.CellValue(1, i)
List1.AddItem txt
Next
Map1.Redraw
End Sub
5
Private Sub List1_Click()
'Memilih objek pada List1 dan zoom ke objek terpilih
dataIndex = List1.ListIndex
'Keterangan: ZoomToShape(LayerHandle As Integer, Shape As Integer)
Map1.ZoomToShape 0, dataIndex
'Update Text1 dengan nilai objek terpilih pada List1
Text1.Text = List1.List(dataIndex)
End Sub
Private Sub optCursorMode_Click(Index As Integer)
Select Case Index
Case 0
Map1.CursorMode = cmZoomIn
Case 1
Map1.CursorMode = cmZoomOut
Case 2
Map1.CursorMode = cmNone
Map1.ZoomToMaxExtents
Case 3
Map1.CursorMode = cmPan
Case 4
Map1.CursorMode = cmNone
End Select
End Sub