|
Membuat Aplikasi SIG dengan MapObjects Bagian I: Fungsi-fungsi Standar |
|
|
|
|
Written by Administrator
|
|
Monday, 30 April 2007 |
|
Page 10 of 10 IX. Measuring
Salah satu keuntungan penggunaan data spatial adalah kita tidak perlu menyimpan nilai panjang dan luas, karena secara otomatis sudah dapat diambil dari data yang berbentuk vektor ini. Seperti sudah digunakan pada saat identify yang mengeluarkan panjang jalan dan luas propinsi dengan tinggal mengambil property length dan Area. Fungsi pemgambilan panjang dan Luas ini dapat kita manfaatkan juga untuk pengukuran panjang suatu rute tertentu atau pengukuran luas suatu bidang bebentuk tertentu di peta yang dalam Arcview disebut dengan measure.
Untuk melakukan measure ini kita perlu menambahkan lagi tombol untuk pengukuran panjang dan pengukuran luas seperti pada gambar 17 dibawah.
Gambar 17. Desain tampilan yang sudah dilengkapi Pengukuran jarak dan Luas
Sama seperti Identify, proses pencarian jarak dan luas juga dilakukan saat event MouseDown pada object Peta. Jadi harus diberi mode dan bentuk pointer tertentu.
Private Sub Command8_Click() pMode = "jarak" Map1.MousePointer = moCross End Sub
Private Sub Command9_Click() pMode = "luas" Map1.MousePointer = moCross End Sub
Sebelum menambahkan kode pada event MouseDown, ada yang perlu disiapkan lagi. Yaitu bentuk dari rute dan bidang yang akan dibuat diatas peta. Membuat gambar diatas peta memerlukan object TrackingLayer. Object trackinglayer ini mempunyai koleksi simbol-simbol untuk menggambar bentuk tertentu yang disimpan dalam property Symbol dan jumlah simbolnya dalam property SymbolCount. Isi dari property symbol sama dengan isi property symbol pada object maplayer. Symbol-symbol ini harus didefinisikan terlebih dahulu, dan akan ditambahkan dalam event form_load. Disini symbol pertama digunakan untuk menggambar rute, sedang simbol kedua untuk menggambar bidang.
Map1.TrackingLayer.SymbolCount = 2 With Map1.TrackingLayer.Symbol(0) .SymbolType = moLineSymbol .Color = moRed .Size = 3 End With With Map1.TrackingLayer.Symbol(1) .SymbolType = moFillSymbol .OutlineColor = moRed .Color = moCyan End With
Setelah bentuk symbol siap, dilanjutkan dengan menambahkan case untuk jarak dan luas. Jika sebelumnya kita mengenal TrackRectangle saat zoom in untuk memaksa pengguna membuat rectangle, maka untuk pengukuran jarak dan luas ini kita akan memaksa pengguna untuk membuat polyline dan polygon. Masing-masing dengan fungsi TrackLine dan TrackPolygon. Setelah pengguna membuat garis/polygon, bentuk garis/polygon ini kemudian dimasukkan dalam trackinglayer dengan fungsi AddEvent dan digambar dengan simbol yang sudah kita set sebelumnya. Setelah digambar, keterangan panjang/luas ditampilkan dengan messagebox dengan terlebh dulu dikalikan dengan konstanta derajat ke km. Setelah messagebox ditutup, gambar garis/polygon ini akan dihapus dengan ClearEvent. Berikut kode yang harus ditambahkan pada event mouseMove.
Case "jarak" Dim Ln As mapobjects2.Line Set Ln = Map1.TrackLine Map1.TrackingLayer.AddEvent Ln, 0 MsgBox "Panjang=" & Ln.Length * 110 & " Km" Map1.TrackingLayer.ClearEvents Case "luas" Dim Pl As mapobjects2.Polygon Set Pl = Map1.TrackPolygon Map1.TrackingLayer.AddEvent Pl, 1 MsgBox "Luas=" & Pl.Area * 110 * 110 & " Km2" Map1.TrackingLayer.ClearEvents
Gambar 18 dan 19 berturut-turut menunjukkan contoh hasil dari fungsi pengukuran panjang dan luas ini.
Gambar 18. Contoh tampilan saat melakukan pengukuran panjang
Gambar 19. Contoh hasil saat melakukan pengukuran luas
BERSAMBUNG KE BAGIAN II : FUNGSI-FUNGSI ADVANCE
|
|
Last Updated ( Thursday, 26 July 2007 )
|
Kuliah TKI - Blog da...
mm Apparently, 21,000 boots imported by
Clas-class php yang ...
mm Apparently, 21,000 boots imported by
Kuliah TK Internet :...
mm Apparently, 21,000 boots imported by
The Power of GIS - U...
mm Apparently, 21,000 boots imported by
Kuliah TK Internet :...
mm Apparently, 21,000 boots imported by
JPGraph - membuat gr...
timberland - mm Apparently, 21,000 bo...
Kuliah TKI : Ajax - ...
mm Apparently, 21,000 boots imported by
Banner spesial untuk...
mm Apparently, 21,000 boots imported by