Kali ni saya nak tunjukkan salah satu fungsi asas di dalam GIS iaitu Query atau fungsi Carian. Kalau anda belajar definasi asas GIS, tentu anda tahu kan fungsi-fungsi asas GIS adalah :-
Proses Query sebenarnya adalah proses yang anda akan lakukan apabila anda ingin mencari sesuatu maklumat di dalam mana-mana sistem pangkalan data, tidak semestinya di dalam aplikasi GIS. Contohnya katalah saya menggunakan RDBMS SQL Server, saya boleh menaip arahan SELECT seperti di bawah untuk menyenaraikan atribut yang terdapat di dalam table LOT.
Contoh query menggunakan SELECT statement di dalam MS SQL Server |
So, nampaknya kalau macam contoh kat atas ni, mungkin ada yang
tertanya, kalau nak buat query, tak payah guna GIS pun boleh buat. Tapi apa
kelebihan kalau proses query ni di buat dalam GIS? Haaa.. kalau macam contoh di
atas tu, memanglah kita boleh buat query dan dapatkan hasil, tapi dia tak dapat
tunjukkan di mana lokasi terdapatnya maklumat tersebut. Itulah salah satu
kelebihan dalam GIS, selain kita boleh buat query untuk listkan maklumat, GIS
juga boleh menunjukkan dimanakah lokasi hasil query tersebut. Dengan itu, ia
boleh membantu kita di dalam membuat keputusan, melihat pola taburan dan hubung
kaitan dengan maklumat-maklumat lain di atas peta.
OK stop
cerita intro pasal query. Sekarang saya akan fokuskan pada dua jenis query
dalam GIS iaitu :-
- Attribute Query (yang ni tak pakai GIS pun boleh buat)
- Spatial
Query (haaa yang ni special... software GIS je boleh buat)
Cuba lihat
dulu sample data di bawah ni :-
Data tu menunjukkan taburan sungai dan point-point kampung di dalam
Lembangan Sungai Langat. Secara ringkas, atribut yang terdapat di dalam
kedua-dua layer tu adalah :-
i) Sungai :
nama-nama sungai
ii) Kampung
: nama-nama kampung
Daripada maklumat yang diberikan tu, bermakna saya boleh mencari
dimanakah nama sungai tertentu yang saya kehendaki untuk layer sungai. Untuk
layer kampung pula, saya boleh cari nama-nama kampung yang saya nak. OK katakan
saya nak buat query senario berikut :-
"Tunjukkan
pada saya nama-nama kampung yang di dalam lingkungan 1km dari Sungai
Langat"
Hmmm, macamana nak buat tu? Sungai Langat mungkin saya boleh query
sebab dalam layer sungai ada atribut nama-nama sungai. Nama kampung pula saya
boleh cari kalau saya tahu apa nama kampung yang saya nak. Tapi dalam kes ni,
saya tak tahu pun jarak setiap kampung dari sungai kerana dalam layer kampung saya, hanya ada atribut nama-nama kampung je, tak ada pun
maklumat jarak.
Haa, kat sinilah powernya
analisis Spatial Query dalam GIS. OK sekarang saya akan tunjukkan step macamana
nak buat query dari senario tadi. Di sini saya nak bagi tip, untuk memudahkan
kerja, kita kena fahamkan betul-betul
dulu objektif senario tadi. Cari dulu keyword dalam senario analisis tu. Macam
dalam contoh tadi : "Tunjukkan pada saya nama-nama kampung yang di dalam
lingkungan 1km dari Sungai Langat". Keywordnya adalah :-
i) Nama-nama kampung
ii) Jarak lingkungan 1KM
iii) Jarak tu hanya dari Sungai Langat
Mula-mula kita kena cari dulu kat mana Sungai Langat dari dalam layer
sungai tu. Cara mudah nak buat ni, gunakan saja Attribute Query sebab dalam
layer sungai dah memang ada senarai nama-nama sungai.
Attribute Query
Untuk step nak buat Attribute Query, rujuk pada gambar di bawah ni.
Penerangan gambar di atas :
1) Klik pada menu Selection > Select by Attributes dalam ArcMap.
2) Pilih layer sungai
3) Klik field mana dalam layer sungai tu yang menyimpan maklumat
nama-nama sungai
4) Double-clik butang Get Unique Value untuk mendapatkan senarai
nama-nama sungai
5) Apabila nama sungai dah dipaparkan, double-click nama Sungai
Langat.
6) Klik OK.
Hasil query yang ditunjukkan pada data saya adalah seperti di bawah.
Garisan warna biru cerah tu menunjukkan Sungai Langat.
Hasil query : Sg Langat |
Selesai satu problem. Sekarang macamana pula nak cari kampung dalam
lingkungan 1KM dari Sungai Langat tadi. Yang ni kita tak boleh guna Attribue
Query sebab maklumat jarak 1KM tu takda dalam table kampung. Penyelesaiannya
gunakan kaedah Spatial Query.
Spatial Query
Untuk step nak buat Spatial Query, rujuk pada gambar di bawah ni.
Penerangan gambar di atas :
1) Klik pada menu Selection > Select by Location dalam ArcMap.
2) Pilih layer Kampung dalam ruangan Target Layer.
3) Pilih layer Sungai dalam ruangan Source Layer.
4) Pastikan anda klik check-box Use selected features. Dengan cara ni
analisis akan fokus pada selected sungai sahaja (dalam kes ni, Sungai Langat)
5) Pilih Target layer(s)
features are within the Source layer feature. Ini merujuk pada analisis
jarak lingkungan. Ada banyak lagi senarai kalau anda klik dropdown box kat
ruangan Spatial selection method tu.
6) Taipkan
jarak dan unit. (1 kilometer)
7) Klik
butang OK.
Tadaaa...
hasilnya seperti di bawah. Nampak tak dot-dot biru cerah sepanjang Sungai
Langat tu? Itulah kampung-kampung yang terlibat.
Hasil query: Taburan kampung 1KM dari Sg Langat |
Kalau saya
nak lihat senarai nama-nama kampung yang terlibat, saya buka saja table untuk
layer kampung tu dan lihat pada ruangan Selected.
Hasil query : Senarai kampung 1KM dari Sg Langat |
OK. Harap
anda faham sekarang bila kes-kes yang sesuai nak gunakan Attribute Query dan
bila masa sesuai nak guna Spatial Query. Selamat mencuba.