Acara5 Pemrograman spasial

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