|
Membuat Aplikasi SIG dengan MapObjects Bagian I: Fungsi-fungsi Standar |
|
|
|
|
Written by Administrator
|
|
Monday, 30 April 2007 |
|
Page 9 of 10 VIII. Searching
Identify digunakan untuk melihat keterangan dari suatu lokasi yang ingin diketahui data attributnya. Atau bisa juga untuk melihat data foto atau video jika di-link-kan ke suatu object. Jadi pengguna melihat data non spatial dari data spatial. Tapi kadang juga pengguna yang tidak begitu hapal dengan peta yang dilihatnya lebih memilih melakukan pencarian data spatial dari data nonspatialnya. Untuk keperluan inilah disediakan tool Searching.
Proses searching dilakukan pada isi attribut-atrribut dari layer. Pada contoh program berikutnya, layer yang akan dicari adalah layer propinsi atau layer kota. Keduanya akan dicari pada isi dari field Name-nya. Program akan mengambil record-record yang isi field name ini yang mengandung suatu string yang dimasukkan pengguna dan dimasukkan dalam sebuah listbox. Kemudian dari listbox tadi, pengguna dapat memilih salah satu nama propinsi (atau kota) dan melihat posisinya dalam peta. Pada layer propinsi, peta akan fokus ke propinsi yang ingin dilihat dan propinsi ini akan berkedap-kedip, sedang untuk kota hanya akan berkedap-kedip saja.
Berikut adalah modifikasi tampilan untuk menambahkan fungsi searching
Gambar14. Desain tampilan yang telah ditambah proses searching
Terdapat combobox di bagian kanan atas yang telah disiapkan pilihannya yaitu propinsi dan kota. Textbox dibawahnya digunakan untuk menerima input dari pengguna. Tombol dibawahnya untuk memulai pencarian yang hasilnya dimasukkan dalam listbox dibawahnya. Setelah terdapat hasil di listbox, isi listbox dapat digunkan untuk memilih kota / propinsi tertentu untuk dilihat dipeta lewat tombol Fokus dibawah list.
Untuk melakukan searching berdasar nilai non spatial dapat dilakukan dengan fungsi SearchExpression. Sama dengan SearchByDistance, fungsi ini juga mengembalikan sebuah recordset. Parameter untuk fungsi SearchExpression ini adalah sebuah kalimat query tapi hanya kalimat yang berada setelah “where”. Jadi semisal jika query yang biasanya untuk mencari propinsi yang nama propinsinya adalah ‘tabasco’ adalah “SELECT * FROM states WHERE name=’tabasco’”, dalam fungsi ini cukup ditulis “name=’tabasco’” saja.
Berikut adalah program saat pengguna melakukan pengisian pada textbox, dilanjutkan klik pada tombol Mulai.
Private Sub Command7_Click() Dim L As MapLayer Dim LName As String Dim rec As mapobjects2.Recordset List1.Clear Set L = Map1.Layers(Combo1.Text) Set rec = L.SearchExpression("Name Like '%" & Text1.Text & "%'") While Not rec.EOF List1.AddItem rec.Fields("Name").ValueAsString rec.MoveNext Wend End Sub
Berikutnya setelah isi list berisi nama propinsi/kota yang sesuai kriteria, pengguna dapat memilih salah satu dan menekan tombol fokus untuk melihat lokasinya di peta. Untuk melakukan ini data nonspatial pada layer di query lagi, hanya kali ini tidak menggunakan LIKE tetapi menggunakan “=” agar hasil yang terlihat dipeta adalah benar-benar object yang bernama persis seperti yang dipilih. Query ini akan menghasilkan recordset juga dan akan diambil bentuk spatialnya untuk di fokuskan dan di kelap-kelipkan. Untuk membuat peta menjadi fokus ke object terpilih dapat dilakukan dengan cara mengubah extent peta menjadi extent object terpilih. Sedang untuk membuat kelap-kelip digunakan perintah FlashShape yang mempunyai parameter object apa yang akan dibuat kalp-kelip, dan berapa kali kelap-kelip akan terjadi. Berikut adalah kode pada tombol Mulai:
Private Sub Command6_Click() Dim pilih As String Dim rec As mapobjects2.Recordset pilih = List1.List(List1.ListIndex) Set L = Map1.Layers(Combo1.Text) Set rec = L.SearchExpression("Name='" & pilih & "'") While Not rec.EOF If Combo1.Text = "propinsi" Then Map1.Extent = rec.Fields("Shape").Value.Extent Map1.Refresh Map1.FlashShape rec.Fields("Shape").Value, 3 rec.MoveNext Wend End Sub
Contoh Hasil dari proses searching yang kemudian dilanjutkan dengan melihat lokasi object hasil searching dapat dilihat pada gambar 16 berikut:
Gambar 16. Contoh hasil proses searching
|
|
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