ISB Atma Luhur Pangkalpinang

Membuat Applikasi GIS Desktop

Akan dibuat applikasi GIS desktop sederhana, 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

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 :

 

  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

sekian dari saya terima kasih…

NAMA : RIZKI FARADILLA

NIM     : 1211500061

KEL    : TT

SUMBER : https://dennycharter.wordpress.com/2008/05/24/membuat-applikasi-gis-desktop-1/

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *