Membuat Applikasi GIS Desktop-1

Akan dibuat applikasi GIS desktop sederhana yakni GIS Kota Bandung. Applikasi ini dibuat dengan menggunakan MapInfo Professional 8.0, Ms. Visual Basic untuk perancangan User Interfacenya dan MapBasic sebagai interface antara MapInfo dan Visual Basic. Disini MapBasic berfungsi sebagai DDE (Dynamic Data Exchange).DDE adalah interprocess communication method untuk OS (Operating System) Windows yang berisi passing data antara proses dan sinkronisasi event. DDE menggunakan shared memory untuk mengubah data anatara applikasi dan protokol untuk melakukan sinkronisasi passing data. Peta yangdigunakan adalah peta Kota Bandung dapat segera di download disini.

Tool yang juga digunakan oleh kedua aplikasi yaitu file info.mbx yang merupakan aplikasi dari mapbasic. Cara membuat file info.mbx :

  1. Buka Map Basic, kemudian klik File > New

  2. Ketikkan source code seperti pada tabel -1 berikut kedalam file

  3. Simpan dengan nama info.mb, kemudian klik File > Compile from file sehingga didapatkan file info.mbx

Langkah pertama untuk membuat aplikasi ini adalah pembuatan form utama, caranya :

Gambar 2. Tampilan Menu Utama

  1. Buka Visual Basic. Buat form baru yang akan kita gunakan sebagai form utama. Isi property dari form sebagai berikut :

  2. Letakan PictureBox pada daerah yang akan kita letakan workspace dari MapInfo, set property yang sesuai beri nama mapframe

  3. Letakan tombol-tombol sesuai dengan kebutuhan aplikasi GIS yang kita buat, set propertinya dengan yang sesuai. sebagai contoh buat sesuai dengan gambar 2.

  4. Klik dua kali form lalu ketikan program berikut :

Keterangan :

Inisialisasi lingkungan peta

Langkah pertama dalam pembuatan aplikasi GIS ini adalah menghubungkan dengan Program MapInfo. Perintah CreateObject() digunakan untuk memasukan MapInfo ke background Visual Basic ketika Mapinfo belum dibuka.

Set mapinfo = CreateObject(“MapInfo.Application”)

Jika Mapinfo sudah dibuka ( dan belum dimasukan dengan perintah CreateObject) kita harus menggunakan perintah berikut :

Set mapinfo = GetObject(, “MapInfo.Application”)

Didalam program diatas yang menjalankan fungsi untuk inisialisasi peta adalah :

Mengirimkan perintah ke MapInfo

Ketika MapInfo sudah terinisialisasi kita sudah siap untuk mengirimkan perintah ke MapInfo. Pekerjaan ini dengan menggunakan syntak yang ada di MapBasic dikirimkan ke MapInfo melalui OLE dengan menggunkan metode Do, sebagai contoh untuk membuka workspace diaplikasi ini kita gunakan :

Szstr = “Run Application “”bandung.wor””

Mapinfo.do szstr

Atau dengan menggunakan :

Mapinfo.do “Run Application “”bandung.wor”””

Perintah lain dari MapInfo yang meminta nilai adalah dengan perintah Eval. Sebagai contoh untuk mendapatkan window ID dari front active Window Mapinfo :

Szstr = mapinfo.eval(“FrontWindow()”)

Sebagai contoh dibawah ini adalah kombinasi perintah Do dan Eval :

Reparenting MapInfo Windows

Reparenting adalah masalah yang penting untuk bisa menampilkan MapInfo di aplikasi Visual Basic. Ketika window di reparent maka Mapinfo menjadi child windows dari aplikasi Visual Basic. Perintah dibawah ini berarti dialog box Mapinfo dan pesan kesalahan menjadi tanggung jawab program gabungan (integrated mapping)

Mapinfo.do “set application window” & MapViewform.hwnd

Dalam pengesetam diatas , mapviewform adalah nama dari form utama dari aplikasi visual basic (VB). Semua window MapInfo juga harus di reparented jika kita ingin memasukan kedalam penggunaan di aplikasi VB. Nama window dari MapInfo yang mungkin untuk digunakan program aplikasi adalah : MapBasic, Help, Statistics, Legend, Info, Ruler, Message. Sebagai contoh untuk me-reparent ruler window :

Mapinfo.do “set Window ruler parent “ & Mapviewform.hwnd

Menggunakan tombol toolbar

Tombol MapInfo dapat direparent. Untuk membuat fungsi dari tombol MapInfo di program aplikasi dengan menggunakan perintah seperti dibawah ini :

Private Sub ZoomIn_Click()

mapinfo.RunMenuCommand 1705

End Sub

1705 adalah nomor dari tool zoom in di mapbasic.bas . Kita dapat menggunakan fungsi yang lain yang tersedia di menu.def, icons.def, mapbasic.def

    1. Klik dua kali tombol geser layar, isikan kode berikut

    mapinfo.runmenucommand 1702

    2. Klik dua kali tombol Kursor panah, isikan kode berikut

mapinfo.runmenucommand 1701

    3. Klik dua kali tombol zoom in, isikan kode berikut

mapinfo.runmenucommand 1705

    4. Klik dua kali tombol zoom out, isikan kode berikut

mapinfo.runmenucommand 1706

    5. Klik dua kali tombol ruler, isikan kode berikut

mapinfo.runmenucommand 1710

    6. Klik dua kali tombol Info, isikan kode berikut

Dim Direc, Embex As String

Embex = “info”

Direc = “Run Application “”” + Mapviewform.gszAppDir + Embex & “.mbx”””

Mapviewform.mapinfo.do Direc

    7. Klik dua kali tombol Radius, isikan kode berikut

mapinfo.runmenucommand 1703

    8. Klik dua kali tombol layer, isikan kode berikut

mapinfo.runmenucommand 801

    9. Klik dua kali tombol find, isikan kode

formfind.Visible = True

    10. Klik dua kali tombol select, isikan kode berikut

Mapviewform.mapinfo.runmenucommand 301

    11. Klik dua kali tombol thematic, isikan kode berikut

Mapviewform.mapinfo.runmenucommand 307

    12. Klik dua kali tombol EXIT, isikan kode berikut

End

Kemudian kita tambahkan module pada project window, dalam program ini kita beri 3 module yang juga digunakan pada aplikasi emergency GIS. Untuk pengembangan bisa ditambah dengan module yang lain.

Ikuti langkah berikut :

1.Tambah Modul, beri nama MapBasic. Isi Modul MapBasic ini dengan isi dari MapBasic.def

2. Tambah Modul Browser, isi dengan kode berikut :

3. Tambah Modul PrintOut, isi kode berikut :

Setelah pembuatan form utama, berikutnya yang akan dibuat adalah form find, yang terdiri dari tombol-tombol pilihan pencarian. Langkah-langkahnya :

  1. Pertama kita akan membuat form menu find utama. Pada window project klik kanan kemudian pilih add > form. Tambah form tersebut dengan tombol dan text, serta label, ComboBox sehingga akan berbentuk seperti gambar 3.

Gambar 3. Tampilan Find

isi propertinya seperti berikut :

Buat tombol seperti gambar dan berinama tombol tersebut :

2. Klik Tombol FIND JALAN dua kali, isikan kodenya seperti berikut :

Private Sub Cmdjalan_Click()

Formfind.Visible = False

Formfindjalan.Visible = True

End Sub

3. Klik tombol FIND UNIVERSITAS dua kali, isikan kodenya seperti berikut :

Private Sub Cmduniv_Click()

Formfind.Visible = False

Formfinduniv.Visible = True

End Sub

4. Klik tombol FIND HOTEL dua kali, isikan kodenya seperti berikut :

Private Sub Cmdhotel_Click()

Formfind.Visible = False

Formfindhotel.Visible = True

End Sub

5. Klik tombol EXIT dua kali, isikan kodenya sebagai berikut :

Private Sub Cmdexit_Click()

Formfind.Visible = False

End

Dengan demikian kita telah membuat form find, selanjutnya akan dibuat form find jalan, find universitas, dan find hotel.

to be continued…. (selanjutnya find jalan)

10 thoughts on “Membuat Applikasi GIS Desktop-1

  1. Mas, denny
    Baru sekali ini saya lihat ada tutorial SIG dengan MapInfo & VB di internet. Apa ada versi lengkapnya, mas? saya baru belajar nih, jadi senang banget ada yang kasih tutorial.

    terima kasih

  2. hallo mas denny,
    tutorial nya keren nih mas,
    tp kok ga’ lengkap ya tabel-tabel nya
    di upload lagi dounk mas tabel nya
    biar lengkap.
    klo bisa tambahin lagi tutorial tentang map basic nya mas….
    biar kami para newbie bisa lebih banyak belajar….
    hehehe…..

    Terima Kasih

  3. Bener tuh mas denny,
    klo bisa di upload lagi dounk tutorial lengkap nya…..
    biar tambah maknyos, buat pembelajaran bagi kita-kita para newbie..
    hehehehehe…..

    Tengkiu

  4. hallo mas denny,
    tutorial nya luarbiasa mas,
    cuma untuk tabel-tabel nya Mohon
    di upload lagi.
    Trus untuk mapbasic nya minta pencerahan lagi
    belum mudeng nh….:)
    trims sblmnya…

  5. mas..salam kenal….
    saya mau nanya ni…klo yg diatas kan aplikasi dekstop gis pake mapinfo dan visual basic…..
    klo pake acgis9.3 dan visualbasic tu gmna…????punya tutorial nya g..>?????

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s