Syntax Load Peta dari Map info

 

 

 

Map info Logo

 

Pembahasan kali ini mengenai GIS Tutorial “seperti apakah sih syntax yang digunakan untuk memunculkan peta pada Map Info di aplikasi Visual Basic?” Sedikit mengulas tentang keterkaitan antara Map Info, MapBasic, dan Visual Basic yaitu ketiganya merupakan tiga bersaudara yang cukup solid kaitannya dengan pengembangan aplikasi GIS (Geographic Information System). Map Info merupakan aplikasi yang digunakan untuk pembuatan peta (baik data spasial maupun atribut) yang disimpan dalam suatu file berekstensi (.tab, .map, .id, .in, dan .dat). Sedangkan MapBasic merupakan bahasa yang didukung oleh Map Info sebagai interface penghubung dengan bahasa pemrograman lainnya. Nah, Visual Basic sebagai software yang digunakan untuk membuat aplikasi GIS dijembatani oleh MapBasic agar bisa berkomunikasi dengan Map Info.Bagaimanapun juga, keterkaitan antara 3Diva ini tidak bisa terpisahkan dan terelakkan..hehe.

 

 

Dalam pembuatan aplikasi GIS ini, tentunya ada suatu ritual yang berfungsi untuk memanggil peta yang sebelumnya pernah dibuat di Map Info agar bisa tampil di aplikasi yang dibangun dengan Visual Basic. Software Visual Basic yang digunakan ini masih versi 6, dan belum .NET. Ulasan kali ini membahas syntax yang ada di visual basic agar bisa memanggil atau meload peta ke aplikasi yang akan kita buat. Bagaimana syntaxnya?berikut ini menu untuk bahasan kali ini :

 

Public Mapinfo as object

Public openmap, apppath as string

Public gagalbukaobjek as integer

 

Private Sub Form_Load()

 

Set Mapinfo = CreateObject("MapInfo.Application")

    If gagalbukaobjek Then

        Set Mapinfo = CreateObject("MapInfo.Application")

    End If

    Mapinfo.do "set window info parent " & frmMain.semuagedung.hWnd

    apppath = LCase(App.Path)

    If (Right$(App.Path, 1) <> "\") Then

        apppath = apppath + "\"

    End If

    Mapinfo.do "Set Application Window " & frmMain.semuagedung.hWnd

 

     Mapinfo.do "Set Next Document Parent " & frmMain.semuagedung.hWnd & "style 1"

     openmap = "Run Application """ + apppath + "semuagedung.wor" + """"

     Mapinfo.do openmap

End Sub

 

Hmm, sekarang kita membahas penjelasannya yah :

 

- Baris 1-3

 

Pada baris 1 sampai 3 ini kita mendeklarasikan variabel yang nanti akan kita gunakan. Variabel “mapinfo” merupakan variabel bertipe objek karena kita akan memanggil objek lain (aplikasi lain) ke dalam aplikasi di form visual basic kita saat ini. Sedangkan variabel “openmap” dan “apppath” bertipe string. Kenapa?karena variabel openmap digunakan untuk menjalankan fungsi parameter mapbasic sedangkan apppath untuk mendefinisikan path atau folder kerja saat aplikasi ini nantinya akan dijalankan. Dan yang terakhir variabel “gagalbukaobjek” ini bertipe integer yaitu apabila nanti map info gagal dibuka (atau kalo dalam biner bernilai 0 (nol) berarti false sedangkan 1 berarti true), maka visual basic akan bersikeras mencoba untuk membangun hubungan silaturahmi dengan map info. Yah, gak cuma manusia, VB dan Map Info pun juga butuh sosialisasi dan silaturahmi agar terjalin hubungan atau komunikasi data antar keduanya.

 

- Baris 5

 

Baris ini merupakan event saat form dijalankan. Sehingga nantinya akan menjalankan kode yang diapit antara “Private Sub Form_Load()” dan “End Sub

 

Private Sub Form_Load()

 

'kode-kodenya diletakkan disini

 

End Sub

 

- Baris 7-10

 

Baris ini meminta agar visual basic membina hubungan dengan map info. VB meminta permisi untuk melakukan koneksi ke Map info dengan pemanggilan fungsi “CreateObject“. Jika ternyata masih “gagalbukaobjek” maka tetap si VB meminta izin agar bisa terhubung dengan Map info.

 

- Baris 11

 

Nah, tadi kita sudah mendefinisikan variabel “mapinfo” bukan?yang kode paling atas dimana tipe datanya object. Variabel ini nantinya akan meminta untuk MENGEKSEKUSI perintah-perintah MAPBASIC. Sedangkan “Set Window Info Parent ” merupakan perintah mapbasic untuk menampilkan semua tampilan informasi utama (layer, tematik, legenda, grafik, tabel, layout,dlsb) di dalam Mapinfo diletakkan di dalam sebuah window. Nah, sekarang yang perlu diperhatikan adalah

 

–> frmMain : Merupakan nama ojbek form saat ini.

 

–> semuagedung : Merupakan nama objek yaitu PICTUREBOX.

 

–> hWnd : handle window, fungsi API untuk mengatur tampilan dalam suatu window.

 

- Baris 12 -15

 

Untuk baris ini, kita mendefinisikan direktori/path dimana aplikasi ini kita simpan. “LCase” merupakan Lower Case yaitu fungsi Visual Basic untuk membuat suatu string memiliki huruf kecil semua. Sedangkan “App.Path” adalah fungsi bawaan VB untuk merefer ke direktori kerja dimana aplikasi projek (*.vbp) disimpan.

 

Bentuk Umum direktori : “C:\mydocuments\firmansyah\proyek“. Nah, apabila dalam direktori ini masih belum ada tanda backslash  “\” di akhir bentuk umum direktori seperti diatas, maka akan kita tambahkan sehingga menjadi “C:\mydocuments\firmansyah\proyek\”.

 

- Baris 16-18

 

Hampir sama seperti pada baris 11. Bedanya hanya pada perintah MapBasic apa yang dieksekusi. Kalau pada baris ini adalah “Set Application Window ” dan “Set Next Document Parent “.

 

- Baris 19

 

Nah, inti dari bagaimana membuka suatu peta (yang telah dibuah ke dalam ekstensi .wor atau workspace) ada pada bagian di baris 19 ini. Visual basic memerintahkan agar mapinfo memuat/menampilkan peta yang bernama “semuagedung.wor” di objek picturebox yang bernama “semuagedung” (pada syntax frmMain.semuagedung.hWnd – telah dibahas di baris 11).

 

- Baris 20

 

Ekseskusi perintah mapbasic. Perintah yang dieksekusi sudah tersimpan dalam variabel openmap, sehingga disini tinggal memanggil nama variabelnya saja.

 

Alhamdulillah, akhrnya selesai sudah tulisan ini dibuat. Jika nanti dari pembaca ada masukan maupun saran, silakan saja bisa sharing disini. Semoga tulisan yang sedikit ini bisa memberikan manfaat yang besar bagi pembaca sekalian. Sekiranya ada kesalahan konsep atau pemikiran saya, mohon untuk dikoreksi dari rekan-rekan semuanya.

 

Salam Perubahan. “Jadikan Hidup lebih BERMAKNA dengan knowledge sharing”.

 

(sumber : http://firmansyah.web.id/syntax-load-peta-dari-mapinfo.html)

 

 

 

Go to top