Home arrow News - Articles arrow Behind the Scene arrow Membuat Aplikasi SIG dengan MapObjects Bagian I: Fungsi-fungsi Standar
 
  XnRnXZvLpO www.danielhp.com
Membuat Aplikasi SIG dengan MapObjects Bagian I: Fungsi-fungsi Standar PDF Print E-mail
Written by Administrator   
Monday, 30 April 2007
Article Index
Membuat Aplikasi SIG dengan MapObjects Bagian I: Fungsi-fungsi Standar
Page 2
Page 3
Page 4
Page 5
Page 6
Page 7
Page 8
Page 9
Page 10
 

 II. Menampilkan Peta

Untuk menampilkan sebuah Peta dalam commponent Map, kita membutuhkan 2 object lagi selain component tersebut. Yang pertama adalah object DataConnection yang digunakan untuk mengkoneksikan database peta, dan yang kedua adalah object MapLayer yang digunakan untuk menyimpan Informasi untuk sebuah Layer Peta.
Ketiga object ini nanti akan dipakai untuk membuat program pertama kita yang bertujuan untuk menampilkan peta Mexico.

Pertama, taruh componen Map ke dalam Form.
Berikutnya. Object DataConnection di deklarasikan sebagai berikut, ditaruh dalam variable private agar dapat diakses dari berbagai sub dalam form ini.

Dim dc as new MapObjects2.DataConnection.

Dalam object DataConnection terdapat property Database untuk menentukan di direktori mana data-data peta berada. Dan juga terdapat fungsi Connect untuk memulai koneksi data. Contoh penggunaannya adalah sebagai berikut:

dc.Database = "c:\shapefile\mexico"
If dc.Connect Then
    ‘lakukan perintah2 jika data berhasil connect
Else
    ‘lakukan perintah-perintah jika tidak berhasil connect
End If

Object DataConnection juga mempunyai fungsi FindGeoDataset yang bertujuan untuk mencari peta tertentu dan mengembalikannya sebagai class Geodataset, yaitu class yang menyimpan informasi-informasi spatial dan non-spatial dari data peta. Class Geodataset inilah yang merupakan data peta yang diperlukan oleh object MapLayer.
Pastikan dalam direktori yang disetkan pada dc.database terdapat nama file (dengan extension .shp, shx, dan dbf) yang dimasukkan dalam fungsi FindGeoDataset ini. Contoh penggunaan dari findgeodataset sampai digunakan oleh mapLayer adalah sebagai berikut.

Dim L1 As mapobjects2.MapLayer
Set L1 = New Mapobejcts2.MapLayer
L1.GeoDataset = dc.FindGeoDataset("states")

Dimana “States” adalah peta propinsi-propinsi di Mexico yang akan kita tampilkan.

Setelah object MapLayer terbentuk, maka object ini dapat dimasukkan ke dalam component Map untuk ditampilkan ke layar. Component Map menyimpan layer-layernya dalam collection class Layers. Dimana dalam class ini terdapat method Add untuk menambahkan anggotanya. Peta akan disusun dengan layer yang ditambahkan terakhir berada di tumpukan paling atas. Jadi jika peta Jalan dimasukkan dalam map.layers, kemudian dilanjutkan dengan menambahkan peta State, maka peta Jalan tadi akan tertutup oleh peta State.
Contoh kode untuk menambahkan maplayer kedalam Map.Layers adalah sebagai berikut:

Map1.Layers.Add L1

Ini adalah perintah terakhir yang dibutuhkan dalam program pertama kita. Dengan asumsi peta akan di-load pada saat Form_load, kode lengkapnya adalah sebagai berikut:

Dim dc As New DataConnection
Private Sub Form_Load()
    dc.Database = "c:\shapefile\mexico"
    If dc.Connect Then
        Dim L1 As Mapobjects2.MapLayer
        Set L1 = New Mapobjects2.MapLayer
         L1.GeoDataset = dc.FindGeoDataset("states")
        Map1.Layers.Add L1
    Else
        MsgBox "direktori peta tidak ditemukan"
    End If
 End Sub

Jadi, setelah menaruh component Map ke Form ( namanya menjadi Map1 ) dan dengan menuliskan perintah-perintah diatas, kemudian menjalankan Run, kita akan mendapatkan sebuah form yang didalamnya terdapat peta Mexico yang terbagi dalam propinsi-propinsi.

Apabila anda belum berhasil atau peta tidak keluar, coba periksa lagi lokasi peta dan nama petanya. Program pertama ini harus berhasil dulu sebelum melangkah ke program-program selanjutnya.
 
Selanjutnya, dengan cara yang sama seperti  saat menambahkan layer ‘States’ tambahkan layer ‘Roads’ dan ‘Cities’ sehingga bagian didalam    If dc.Connect Then adalah sebagai berikut :

If dc.Connect Then
        Dim L1 As Mapobjects2.MapLayer
        Set L1 = New Mapobjects2.MapLayer
         L1.GeoDataset = dc.FindGeoDataset("states")
        Map1.Layers.Add L1
       
        Set L1 = New Mapobjects2.MapLayer
         L1.GeoDataset = dc.FindGeoDataset("roads")
        Map1.Layers.Add L1
       
        Set L1 = New Mapobjects2.MapLayer
         L1.GeoDataset = dc.FindGeoDataset("cities")
        Map1.Layers.Add L1
Else ….
….

Setelah ditambahkan layer ‘Roads’ dan ‘Cities’ maka saat di Run akan tampil peta yang berisi peta negara propinsi di Mexico, diatasnya terdapat Jalan, dan diatas jalan ada titik-titik yang menunjukkan kota-kota di Mexico. Contoh hasilnya dapat dilihat pada gambar 3 dibawah.

Jika dicermati, setiap kali aplikasi ini dijalankan, maka warna States, Roads, dan Cities akan berubah-ubah. Hal ini disebabkan karena kita belum melakukan setting tampilan pada tiap layer ini. Jika belum di set, default warnanya adalah random. Bab berikutnya akan menunjukkan bagaimana cara untuk memodifikasi tampilan Layer.

 
Gambar 3. Contoh tampilan program ‘menampilkan peta’



Last Updated ( Thursday, 26 July 2007 )
 
< Prev   Next >
 
 
(C) 2012 daniel hary prasetyo
Free Joomla Template designed by funky-visions.de
 

articles (a-z order)